KR20200077577A - 조정된 인트라 모드 목록에 기초한 비디오 데이터를 코딩하기 위한 디바이스 및 방법 - Google Patents

조정된 인트라 모드 목록에 기초한 비디오 데이터를 코딩하기 위한 디바이스 및 방법 Download PDF

Info

Publication number
KR20200077577A
KR20200077577A KR1020207015648A KR20207015648A KR20200077577A KR 20200077577 A KR20200077577 A KR 20200077577A KR 1020207015648 A KR1020207015648 A KR 1020207015648A KR 20207015648 A KR20207015648 A KR 20207015648A KR 20200077577 A KR20200077577 A KR 20200077577A
Authority
KR
South Korea
Prior art keywords
modes
intra prediction
block
implementation
intra
Prior art date
Application number
KR1020207015648A
Other languages
English (en)
Other versions
KR102391834B1 (ko
Inventor
야오전 창
후이위 장
Original Assignee
에프쥐 이노베이션 컴퍼니 리미티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 에프쥐 이노베이션 컴퍼니 리미티드 filed Critical 에프쥐 이노베이션 컴퍼니 리미티드
Publication of KR20200077577A publication Critical patent/KR20200077577A/ko
Application granted granted Critical
Publication of KR102391834B1 publication Critical patent/KR102391834B1/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
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • 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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • H04N19/197Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters including determination of the initial value of an encoding parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

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

Abstract

전자 디바이스에 의해 비트스트림을 디코딩하는 방법이 제공된다. 블록 높이 및 블록 폭을 갖는 블록 유닛이 비트스트림에 따라 이미지 프레임으로부터 결정된다. 블록 유닛을 재구성하기 위해 복수의 인트라 모드를 포함하는 모드 목록이 결정된다. 블록 높이와 블록 폭 사이의 비교에 기초하여 모드 목록으로부터 인트라 모드들 중 적어도 하나가 선택되고, 모드 목록으로부터 제거되어 복수의 선택되지 않은 모드를 포함하는 조정된 목록을 생성한다. 이미지 프레임에 포함된 블록 유닛은 조정된 목록에 기초하여 재구성된다.

Description

조정된 인트라 모드 목록에 기초한 비디오 데이터를 코딩하기 위한 디바이스 및 방법
관련 출원(들)에 대한 상호참조.
본 출원은 2017년 11월 17일 출원된 발명의 명칭이 "Intra Prediction Generation Method"이고 변호사 도켓 번호 US72311(이하, "US72311 출원"이라고 칭함)인 미국 특허 출원 번호 제62/587,676호의 우선권을 주장한다. US72311 출원의 개시내용은, 참조에 의해 본 출원의 개시내용에 완전히 포함된다.
본 개시내용은 대체로 비디오 코딩에 관한 것으로, 더 구체적으로는 조정된 인트라 모드 목록(adjusted intra mode list)에 기초한 인트라 예측 기술에 관한 것이다.
인트라 예측은 비디오 코딩 방법에서의 코딩 툴이다. 종래의 비디오 코딩 방법에서, 인코더 및 디코더는 코딩 블록에 인접한 가장 가까운 픽셀 라인에서의 이전에 재구성된 픽셀들만을 이용하여 배향을 따라 코딩 블록을 예측하거나 재구성하기 위한 기준 픽셀 및 예측자를 생성한다. 그러나, 이 배향은 미리정의된 모드 목록에 포함된 복수의 인트라 모드로부터 선택된다. 따라서, 인코더는 상이한 코딩 블록들을 적응시키기 위해 미리정의된 모드 목록을 조정할 필요가 있다. 인코더가 상이한 코딩 블록들을 적응시키기 위해 미리정의된 모드 목록을 조정할 때, 디코더는 동일한 방식으로 상이한 코딩 블록들을 적응시키기 위해 미리정의된 모드 목록을 조정할 필요가 있다.
본 개시내용은, 복수의 기준 라인에 기초하여 비디오 데이터를 코딩하기 위한 디바이스 및 방법에 관한 것이다.
예시적인 본 개시내용의 양태들은 첨부된 도면들을 참조하여 판독할 때 이하의 상세한 설명으로부터 최상으로 이해된다. 다양한 피처들은 축척비율대로 도시된 것은 아니며, 다양한 피처들의 치수는 논의의 명료성을 위해 임의로 증가 또는 감소될 수 있다.
도 1은 본 개시내용의 하나 이상의 기술에 따른 비디오 데이터를 인코딩 및 디코딩하도록 구성된 시스템의 예시적인 구현의 블록도이다.
도 2는 도 1의 시스템에서 목적지 디바이스의 디코더 모듈의 예시적인 구현의 블록도이다.
도 3은 인트라 예측을 위한 모드 목록 조정의 제1 예시적인 구현에 따른 플로차트를 도시한다.
도 4는 인트라 예측을 위한 모드 목록 조정의 제2 예시적인 구현에 따른 플로차트를 도시한다.
도 5는 인트라 예측을 위한 모드 목록 조정의 제3 예시적인 구현에 따른 플로차트를 도시한다.
도 6a, 도 6b 및 도 6c는 4개의 인트라 예측 영역 및 6개의 인트라 예측 영역으로 분할된 블록 유닛의 인트라 모드의 예시적인 구현의 개략도이다.
도 7은 인트라 예측을 위한 모드 목록 조정의 제4 예시적인 구현에 따른 플로차트를 도시한다.
도 8은 블록 유닛의 6개의 인트라 예측 영역 및 2개의 대체된 영역의 예시적인 구현의 개략도이다.
도 9a 및 도 9b는 인트라 예측을 위한 모드 목록 조정의 예시적인 제5 및 제6 구현들에 따른 플로차트를 도시한다.
도 10은 도 1의 시스템에서 소스 디바이스의 인코더 모듈의 예시적인 구현의 블록도이다.
이하의 설명은 본 개시내용의 예시적인 구현에 관한 특정한 정보를 포함한다. 본 개시내용의 도면들 및 그들의 상세한 설명은 단지 예시적인 구현들에 관한 것이다. 그러나, 본 개시내용은 단지 이들 예시적인 구현들로 제한되지 않는다. 본 개시내용의 다른 변형 및 구현은 본 기술분야의 통상의 기술자에게서 발생할 것이다. 달리 언급되지 않는 한, 도면들 중 유사하거나 대응하는 요소들은 유사하거나 대응하는 참조 번호들로 표시될 수 있다. 더욱이, 본 개시내용의 도면 및 예시는 일반적으로 축척비율대로 그려진 것은 아니고, 실제의 상대적 치수에 대응하도록 의도되지 않았다.
일관성 및 이해의 용이성을 위해, 예시적인 도면들에서 유사한 피처들은(일부 예들에서는 도시되지 않았지만) 숫자로 식별된다. 그러나, 상이한 구현들에서의 피처들은 다른 점들에서 상이할 수 있으므로, 도면에 도시된 것으로 좁게 한정되지 않아야 한다.
본 설명은 "한 구현에서" 또는 "일부 구현들에서"라는 문구를 사용하는데, 이것은, 각각이, 동일하거나 상이한 구현들 중 하나 이상을 지칭할 수 있다. 용어 "결합된"은, 직접이든 또는 개재된 컴포넌트들을 통한 간접이든, 접속된 것으로 정의되며, 반드시 물리적 접속으로 제한되는 것은 아니다. 용어 "포함하는"은, 사용될 때, "포함하지만, 반드시 이것으로 제한되는 것은 아닌"을 의미한다; 이것은, 구체적으로, 개방형 포함 또는 그와 같이 기술된 조합, 그룹, 시리즈 및 균등물의 멤버십을 나타낸다.
또한, 설명 및 비제한의 목적으로, 설명되는 기술의 이해를 제공하기 위해, 기능 엔티티, 기술, 프로토콜, 표준 등의 특정한 상세사항이 개시된다. 다른 예들에서, 공지된 방법, 기술, 시스템, 아키텍처 등의 상세한 설명은, 불필요한 상세사항으로 설명을 모호하게 하지 않기 위해 생략된다.
본 기술분야의 통상의 기술자라면, 본 개시내용에 설명된 임의의 코딩 기능(들) 또는 알고리즘(들)이 하드웨어, 소프트웨어 또는 소프트웨어 및 하드웨어의 조합에 의해 구현될 수 있다는 것을 즉시 인식할 것이다. 모듈에 대응할 수 있는 설명된 기능은, 소프트웨어, 하드웨어, 펌웨어 또는 이들의 임의의 조합일 수 있다. 소프트웨어 구현은, 메모리 또는 다른 유형의 저장 디바이스 등의, 컴퓨터 판독가능한 매체에 저장된 컴퓨터 실행가능한 명령어를 포함할 수 있다. 예를 들어, 통신 처리 능력을 갖는 하나 이상의 마이크로프로세서 또는 범용 컴퓨터는, 대응하는 실행가능 명령어로 프로그래밍될 수 있고 설명된 네트워크 기능(들) 또는 알고리즘(들)을 실행할 수 있다. 마이크로프로세서 또는 범용 컴퓨터는, 주문형 집적 회로(ASIC), 프로그래머블 로직 어레이, 및/또는 하나 이상의 디지털 신호 프로세서(DSP)로 형성될 수 있다. 본 명세서에 설명된 예시적인 구현들 중 일부는, 컴퓨터 하드웨어 상에 설치되고 실행되는 소프트웨어에 관한 것이지만, 그럼에도 불구하고, 펌웨어로서 또는 하드웨어로서 또는 하드웨어 및 소프트웨어의 조합으로서 구현된 대안적인 예시적인 구현은 역시 본 개시내용의 범위 내에 있다.
컴퓨터 판독가능한 매체는, 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 소거가능하고 프로그램가능한 판독 전용 메모리(EPROM), 전기적으로 소거가능하고 프로그램가능한 판독 전용 메모리(EEPROM), 플래시 메모리, 콤팩트 디스크 판독 전용 메모리(CD ROM), 자기 카세트, 자기 테이프, 자기 디스크 스토리지, 또는 컴퓨터 판독가능한 명령어를 저장할 수 있는 기타 임의의 균등한 매체를 포함하지만, 이것으로 제한되는 것은 아니다.
도 1은 본 개시내용의 하나 이상의 기술에 따른 비디오 데이터를 인코딩 및 디코딩하도록 구성될 수 있는 시스템의 예시적인 구현의 블록도이다. 이 구현에서, 시스템은, 소스 디바이스(11), 목적지 디바이스(12), 및 통신 매체(13)를 포함한다. 적어도 하나의 구현에서, 소스 디바이스(11)는, 비디오 데이터를 인코딩하고 인코딩된 비디오 데이터를 통신 매체(13)에 전송하도록 구성된 임의의 디바이스를 포함할 수 있다. 적어도 하나의 구현에서, 목적지 디바이스(12)는 통신 매체(13)를 통해 인코딩된 비디오 데이터를 수신하고 인코딩된 비디오 데이터를 디코딩하도록 구성된 임의의 디바이스를 포함할 수 있다.
적어도 하나의 구현에서, 소스 디바이스(11)는 통신 매체(13)를 통해 목적지 디바이스(12)와 유선 및/또는 무선으로 통신할 수 있다. 소스 디바이스(11)는, 소스 모듈(111), 인코더 모듈(112), 및 제1 인터페이스(113)를 포함할 수 있다. 목적지 디바이스(12)는, 디스플레이 모듈(121), 디코더 모듈(122), 및 제2 인터페이스(123)를 포함할 수 있다. 적어도 하나의 구현에서, 소스 디바이스(11)는 비디오 인코더일 수 있고, 목적지 디바이스(12)는 비디오 디코더일 수 있다.
적어도 하나의 구현에서, 소스 디바이스(11) 및/또는 목적지 디바이스(12)는, 모바일 전화, 태블릿, 데스크탑, 노트북, 또는 다른 전자 디바이스일 수 있다. 도 1은 단지 소스 디바이스(11) 및 목적지 디바이스(12)의 한 예를 도시하고, 다른 구현에서, 소스 디바이스(11) 및 목적지 디바이스(12)는 도시된 것보다 많거나 적은 수의 컴포넌트를 포함하거나, 상이한 구성의 다양한 컴포넌트들을 가질 수 있다.
적어도 하나의 구현에서, 소스 디바이스(11)의 소스 모듈(111)은, 새로운 비디오를 캡처하기 위한 비디오 캡처 디바이스, 이전에 캡처된 비디오를 저장하는 비디오 아카이브, 및/또는 비디오 콘텐츠 제공자로부터 비디오를 수신하기 위한 비디오 피드 인터페이스를 포함할 수 있다. 적어도 하나의 구현에서, 소스 디바이스(11)의 소스 모듈(111)은, 컴퓨터 그래픽 기반 데이터를, 소스 비디오로서, 또는 라이브 비디오, 아카이브된 비디오, 및 컴퓨터 생성된 비디오의 조합으로서 생성할 수 있다. 적어도 하나의 구현에서, 비디오 캡처 디바이스는, CCD(charge-coupled device) 이미지 센서, CMOS(complementary metal-oxide-semiconductor) 이미지 센서, 또는 카메라일 수 있다.
적어도 하나의 구현에서, 인코더 모듈(112) 및 디코더 모듈(122) 각각은, 하나 이상의 마이크로프로세서, 중앙 처리 유닛(CPU), 그래픽 처리 유닛(GPU), SoC(system on chip), DSP(digital signal processor), ASIC(application specific integrated circuit), FPGA(Field Programmable Gate Array), 개별 로직, 소프트웨어, 하드웨어, 펌웨어 또는 이들의 임의의 조합 등의, 다양한 적절한 인코더/디코더 회로 중 임의의 것으로 구현될 수 있다. 기술이 부분적으로 소프트웨어로 구현될 때, 디바이스는 그 소프트웨어를 위한 명령어를 적절한 비일시적인 컴퓨터 판독가능한 매체에 저장하고, 하나 이상의 프로세서를 이용하여 하드웨어에서 명령어를 실행하여 본 개시내용의 기술을 수행할 수 있다. 적어도 하나의 구현에서, 인코더 모듈(112) 및 디코더 모듈(122) 각각은 하나 이상의 인코더 또는 디코더에 포함될 수 있고, 이들 중 임의의 것은 상응하는 디바이스 내의 조합된 인코더/디코더(CODEC)의 일부로서 통합될 수 있다.
적어도 하나의 구현에서, 제1 인터페이스(113) 및 제2 인터페이스(123)는 맞춤화된 프로토콜을 채택하거나 이더넷, IEEE 802.11 또는 IEEE 802.15 시리즈, 무선 USB, 또는 GSM, CDMA2000, TD-SCDMA, WiMAX, 3GPP-LTE 또는 TD-LTE를 포함하지만 이것으로 제한되지 않는 통신 표준을 포함한 그러나 이것으로 제한되지 않는 기존의 표준 또는 사실상의 표준을 따를 수 있다. 적어도 하나의 구현에서, 제1 인터페이스(113) 및 제2 인터페이스(123) 각각은, 호환 비디오 비트스트림을 통신 매체(13)에 전송 및/또는 저장하고 통신 매체(13)로부터 호환 비디오 비트스트림을 수신하도록 구성된 임의의 디바이스를 포함할 수 있다. 적어도 하나의 구현에서, 제1 인터페이스(113) 및 제2 인터페이스(123)는 호환 비디오 비트스트림이 저장 디바이스에 저장되거나 저장 디바이스로부터 수신될 수 있게 할 수 있는 컴퓨터 시스템 인터페이스를 포함할 수 있다. 예를 들어, 제1 인터페이스(113) 및 제2 인터페이스(123)는, PCI(Peripheral Component Interconnect) 및 PCIe(Peripheral Component Interconnect Express) 버스 프로토콜, 전용 버스 프로토콜, USB(Universal Serial Bus) 프로토콜, I2C, 또는 피어 디바이스들을 상호접속하는데 이용될 수 있는 기타 임의의 논리적 및 물리적 구조를 지원하는 칩셋을 포함할 수 있다.
적어도 하나의 구현에서, 디스플레이 모듈(121)은, 액정 디스플레이(LCD) 기술, 플라즈마 디스플레이 기술, 유기 발광 다이오드(OLED) 디스플레이 기술, 또는 발광 폴리머 디스플레이(LPD) 기술을 이용하는 디스플레이를 포함할 수 있지만, 다른 구현에서는 다른 디스플레이 기술이 이용될 수 있다. 적어도 하나의 구현에서, 디스플레이 모듈(121)은 고화질 디스플레이 또는 초고화질 디스플레이를 포함할 수 있다.
도 2는 도 1의 시스템에서 목적지 디바이스(12)의 디코더 모듈(122)의 예시적인 구현을 나타내는 디코더 모듈(222)의 블록도이다. 적어도 하나의 구현에서, 디코더 모듈(222)은, 엔트로피 디코딩 유닛(2221), 예측 프로세스 유닛(2222), 역양자화/역변환 유닛(2223), 제1 합산기(2224), 필터링 유닛(2225), 및 디코딩된 픽처 버퍼(2226)를 포함한다. 적어도 하나의 구현에서, 디코더 모듈(222)의 예측 프로세스 유닛(2222)은, 인트라 예측 유닛(22221) 및 인터 예측 유닛(22222)을 더 포함한다. 적어도 하나의 구현에서, 디코더 모듈(222)은 비트스트림을 수신하고, 비트스트림을 디코딩하여 디코딩된 비디오를 출력한다.
적어도 하나의 구현에서, 엔트로피 디코딩 유닛(2221)은 도 1의 제2 인터페이스(123)로부터 복수의 신택스 요소를 포함하는 비트스트림을 수신하고, 비트스트림에 관해 파싱 동작(parsing operation)을 수행하여 비트스트림으로부터 신택스 요소들을 추출할 수 있다. 파싱 동작 수행의 일부로서, 엔트로피 디코딩 유닛(2221)은 비트스트림을 엔트로피 디코딩하여 양자화된 변환 계수, 양자화 파라미터, 변환 데이터, 움직임 벡터, 인트라 모드, 파티션 정보, 및 기타의 신택스 정보를 생성할 수 있다. 적어도 하나의 구현에서, 엔트로피 디코딩 유닛(2221)은, 컨텍스트 적응형 가변 길이 코딩(context adaptive variable length coding)(CAVLC), 컨텍스트 적응형 2진 산술 코딩(context adaptive binary arithmetic coding)(CABAC), 신택스-기반 컨텍스트 적응형 2진 산술 코딩(syntax-based context-adaptive binary arithmetic coding)(SBAC), 확률 간격 파티셔닝 엔트로피(probability interval partitioning entropy)(PIPE) 코딩 또는 또 다른 엔트로피 코딩 기술을 수행하여 양자화된 변환 계수를 생성할 수 있다. 적어도 하나의 구현에서, 엔트로피 디코딩 유닛(2221)은, 양자화된 변환 계수, 양자화 파라미터, 및 변환 데이터를 역양자화/역변환 유닛(2223)에 제공하고, 움직임 벡터, 인트라 모드, 파티션 정보, 및 기타의 신택스 정보를 예측 프로세스 유닛(2222)에 제공한다.
적어도 하나의 구현에서, 예측 프로세스 유닛(2222)은, 엔트로피 디코딩 유닛(2221)으로부터 움직임 벡터, 인트라 모드, 파티션 정보, 및 기타의 신택스 정보 등의 신택스 요소들을 수신할 수 있다. 적어도 하나의 구현에서, 예측 프로세스 유닛(2222)은, 파티션 정보를 포함하는 신택스 요소들을 수신한 다음, 파티션 정보에 따라 이미지 프레임들을 분할할 수 있다. 적어도 하나의 구현에서, 이미지 프레임들 각각은 파티션 정보에 따라 적어도 하나의 이미지 블록으로 분할될 수 있다. 적어도 하나의 이미지 블록은, 복수의 휘도 샘플을 재구성하기 위한 휘도 블록, 및 복수의 색차 샘플을 재구성하기 위한 적어도 하나의 색차 블록을 포함할 수 있다. 휘도 블록 및 적어도 하나의 색차 블록은 추가로 분할되어, 매크로블록, 코딩 트리 유닛(CTU), 코딩 블록(CB), 그 세분, 및/또는 또 다른 균등한 코딩 유닛을 생성할 수 있다.
적어도 하나의 구현에서, 디코딩 프로세스 동안, 예측 프로세스 유닛(2222)은 이미지 프레임들 중 특정한 프레임의 특정한 이미지 블록에 대한 움직임 벡터 또는 인트라 모드를 포함한 예측된 데이터를 수신한다. 현재 이미지 블록은 특정한 이미지 프레임에서 휘도 블록과 적어도 하나의 색차 블록 중 하나일 수 있다.
적어도 하나의 구현에서, 인트라 예측 유닛(22221)은, 인트라 모드에 관련된 신택스 요소들에 기초하여 현재 블록 유닛과 동일한 프레임 내의 하나 이상의 이웃 블록에 관한 현재 블록 유닛의 인트라 예측 코딩을 수행하여 예측된 블록을 생성할 수 있다. 적어도 하나의 구현에서, 인트라 모드는 현재 프레임 내의 이웃 블록들로부터 선택된 기준 샘플들의 위치를 명시할 수 있다.
적어도 하나의 구현에서, 인트라 예측 유닛(22221)은, 현재 블록의 루마 성분들이 예측 프로세스 유닛(2222)에 의해 재구성될 때, 현재 블록 유닛의 복수의 루마 성분에 기초하여 현재 블록 유닛의 복수의 크로마 성분을 재구성할 수 있다.
적어도 하나의 구현에서, 인터 예측 유닛(22222)은, 움직임 벡터에 관련된 신택스 요소들에 기초하여 하나 이상의 기준 이미지 블록 내의 하나 이상의 블록에 관한 현재 블록 유닛의 인터 예측 코딩을 수행하여 예측된 블록을 생성할 수 있다. 적어도 하나의 구현에서, 움직임 벡터는, 기준 이미지 블록 내의 기준 블록 유닛에 관한 현재 이미지 블록 내의 현재 블록 유닛의 변위를 나타낼 수 있다. 기준 블록 유닛은 현재 블록 유닛과 가깝게 정합하는 것으로 결정된 블록이다. 적어도 하나의 구현에서, 인터 예측 유닛(22222)은 디코딩된 픽처 버퍼(2226)에 저장된 기준 이미지 블록을 수신하고 수신된 기준 이미지 블록에 기초하여 현재 블록 유닛을 재구성한다.
적어도 하나의 구현에서, 역양자화/역변환 유닛(2223)은 역양자화 및 역변환을 적용하여 픽셀 영역에서 잔차 블록을 재구성할 수도 있다. 적어도 하나의 구현에서, 역양자화/역변환 유닛(2223)은 잔차 양자화된 변환 계수에 역양자화를 적용하여 잔차 변환 계수를 생성한 다음, 잔차 변환 계수에 역변환을 적용하여 픽셀 영역에서 잔차 블록을 생성할 수도 있다. 적어도 하나의 구현에서, 역변환은, 이산 코사인 변환(DCT), 이산 사인 변환(DST), 적응형 다중 변환(AMT), 모드 의존 비분리형 2차 변환(MDNSST), 하이퍼큐브-기븐 변환(hypercube-givens transform)(HyGT), 신호 의존 변환, Karhunen-Lo
Figure pct00001
ve 변환(KLT), 웨이블릿 변환, 정수 변환, 서브대역 변환 또는 개념적으로 유사한 변환 등의 변환 프로세스에 역으로 적용될 수 있다. 적어도 하나의 구현에서, 역변환은, 잔차 정보를 주파수 영역(frequency domain) 등의 변환 영역(transform domain)으로부터 픽셀 영역(pixel domain)으로 다시 변환할 수 있다. 적어도 하나의 구현에서, 역양자화의 정도는 양자화 파라미터를 조정함으로써 수정될 수 있다.
적어도 하나의 구현에서, 제1 합산기(2224)는, 재구성된 잔차 블록을 예측 프로세스 유닛(2222)으로부터 제공된 예측된 블록에 추가하여 재구성된 블록을 생성한다.
적어도 하나의 구현에서, 필터링 유닛(2225)은, 재구성된 블록으로부터 블록화 아티팩트를 제거하기 위해, 디블로킹 필터, 샘플 적응형 오프셋(SAO) 필터, 양방향 필터, 및/또는 적응형 루프 필터(ALF)를 포함할 수 있다. 디블로킹 필터, SAO 필터, 양방향 필터 및 ALF 외에도 (루프 내에서 또는 루프 이후에) 추가적인 필터가 이용될 수도 있다. 이러한 필터들은, 간결성을 위해 도시되지 않았지만, 원한다면 제1 합산기(2224)의 출력을 필터링할 수 있다. 적어도 하나의 구현에서, 필터링 유닛(2225)은, 필터링 유닛(2225)이 특정한 이미지 프레임의 재구성된 블록들에 대한 필터링 프로세스를 수행한 후, 디코딩된 비디오를 디스플레이 모듈(121) 또는 다른 비디오 수신 유닛에 출력할 수 있다.
적어도 하나의 구현에서, 디코딩된 픽처 버퍼(2226)는, 예를 들어 인터 코딩 모드에서 예측 프로세스 유닛(2222)에 의해 비트스트림을 디코딩하는데 이용하기 위한 기준 블록을 저장하는 기준 픽처 메모리일 수 있다. 디코딩된 픽처 버퍼(2226)는, 동기식 DRAM(SDRAM), 자기 저항성 RAM(MRAM), 저항성 RAM(RRAM), 또는 기타 유형의 메모리 디바이스를 포함한, DRAM 등의 다양한 메모리 디바이스들 중 임의의 것에 의해 형성될 수 있다. 적어도 하나의 구현에서, 디코딩된 픽처 버퍼(2226)는 디코더 모듈(222)의 다른 컴포넌트들과 온칩이거나, 이들 컴포넌트들에 관해 오프 칩일 수 있다.
도 3은 인트라 예측을 위한 모드 목록 조정의 제1 예시적인 구현에 따른 플로차트를 도시한다. 이 예시적인 방법은, 이 방법을 실행하는 다양한 방식들이 존재하기 때문에, 단지 예로서 제공되는 것이다. 후술되는 방법은, 예를 들어, 도 1 및 도 2에 도시된 구성을 이용하여 실행될 수 있고, 이들 도면들의 다양한 요소들은 예시적인 방법을 설명하는데 있어서 참조된다. 도 3에 도시된 각각의 블록은, 예시적인 방법에서 실행되는 하나 이상의 프로세스, 방법, 또는 서브루틴을 나타낸다. 또한, 블록들의 순서는 단지 예시적인 것이며 변경될 수 있다. 본 개시내용을 벗어나지 않고 추가 블록들이 추가되거나 더 적은 수의 블록들이 이용될 수도 있다.
블록 31에서, 디코더 모듈(222)은 이미지 프레임에서 블록 크기를 갖는 블록 유닛을 비디오 데이터로부터 결정한다.
적어도 하나의 구현에서, 비디오 데이터는 비트스트림일 수 있다. 목적지 디바이스(12)는, 목적지 디바이스(12)의 제2 인터페이스(123)를 통해, 소스 디바이스(11) 등의 인코더로부터 비트스트림을 수신할 수 있다. 제2 인터페이스(123)는 비트스트림을 디코더 모듈(222)에 제공한다. 디코더 모듈(222)은 비트스트림에 기초하여 이미지 프레임을 결정하고, 이미지 프레임을 분할하여 비트스트림에서의 복수의 파티션 표시에 따라 블록 유닛을 결정한다. 예를 들어, 디코더 모듈(222)은 이미지 프레임을 분할하여 복수의 코딩 트리 유닛을 생성할 수 있고, 코딩 트리 유닛들 중 하나를 추가로 분할하여, 임의의 비디오 코딩 표준에 기초해 파티션 표시에 따라 블록 크기를 갖는 블록 유닛을 결정할 수 있다. 적어도 하나의 구현에서, 블록 크기는 블록 높이 및 블록 폭을 포함할 수 있다.
적어도 하나의 구현에서, 엔트로피 디코딩 유닛(2221)은 비트스트림을 디코딩하여 블록 유닛에 대한 복수의 예측 표시를 결정할 수 있고, 디코더 모듈(222)은 또한, 예측 표시에 기초하여 블록 유닛을 재구성할 수 있다. 적어도 하나의 구현에서, 예측 표시는 복수의 플래그 및 복수의 인덱스를 포함할 수 있다.
블록 32에서, 인트라 예측 유닛(22221)은 복수의 인트라 모드를 포함하는 모드 목록을 결정한다.
적어도 하나의 구현에서, 모드 목록 내의 인트라 모드들은 목적지 디바이스(12) 및 소스 디바이스(11)에서 미리정의될 수 있다. 예를 들어, 인트라 모드들은, 평면 모드, DC 모드, 및/또는 복수의 방향 모드로서 미리정의될 수 있다. 적어도 하나의 구현에서, 디코더 모듈(222)이 HEVC(high efficiency video coding)에서 비트스트림을 디코딩할 때, 방향 모드들의 수는 33과 같을 수 있다. 적어도 하나의 구현에서, 디코더 모듈(222)이 다목적 비디오 코딩(versatile video coding)(VVC) 테스트 모델(VTM)에서 비트스트림을 디코딩할 때, 방향 모드들의 수는 65와 같을 수 있다.
적어도 하나의 구현에서, 인트라 모드들 각각은 제1 인트라 예측 인덱스를 갖는다. 한 구현에서, 디코더 모듈(222)이 HEVC에서 비트스트림을 디코딩할 때, 인트라 모드들의 제1 인트라 예측 인덱스들은 0 내지 34와 같을 수 있다. 이 구현에서, 평면 모드들 및 DC 모드의 제1 인트라 예측 인덱스들은 0 및 1과 같을 수 있고, 방향 모드들의 제1 인트라 예측 인덱스들은 2 내지 33과 같을 수 있다. 한 구현에서, 디코더 모듈(222)이 VTM에서 비트스트림을 디코딩할 때, 인트라 모드들의 제1 인트라 예측 인덱스들은 0 내지 66과 같을 수 있다. 이 구현에서, 평면 모드들 및 DC 모드의 제1 인트라 예측 인덱스들은 0 및 1과 같을 수 있고, 방향 모드들의 제1 인트라 예측 인덱스들은 2 내지 66과 같을 수 있다.
블록 33에서, 인트라 예측 유닛(22221)은 블록 크기에 기초하여 인트라 모드들 중 적어도 하나를 선택한다.
적어도 하나의 구현에서, 인트라 예측 유닛(22221)은 블록 크기에 기초하여 선택된 인트라 모드들을 결정할 수 있다. 적어도 하나의 구현에서, 인트라 예측 유닛(22221)은 블록 크기를 미리정의된 크기와 비교하고, 블록 크기와 미리정의된 크기 사이의 비교에 기초하여 선택된 인트라 모드들을 결정할 수 있다. 블록 크기가 미리정의된 크기보다 클 때, 선택된 인트라 모드들은 인트라 예측 유닛(22221)에 의해 선택된 적어도 하나의 제1 선택된 모드일 수 있다. 블록 크기가 미리정의된 크기보다 작을 때, 선택된 인트라 모드들은 인트라 예측 유닛(22221)에 의해 선택된 적어도 하나의 제2 선택된 모드일 수 있다. 이 구현에서, 적어도 하나의 제2 선택된 모드 각각은, 적어도 하나의 제1 선택된 모드와는 상이할 수 있다.
적어도 하나의 구현에서, 인트라 예측 유닛(22221)은 블록 폭과 블록 높이를 비교하고, 블록 폭과 블록 높이 사이의 비교에 기초하여 선택된 인트라 모드들을 결정할 수 있다. 블록 폭이 블록 높이보다 길 때, 선택된 인트라 모드들은 인트라 예측 유닛(22221)에 의해 선택된 적어도 하나의 제3 선택된 모드일 수 있다. 블록 폭이 블록 높이보다 짧을 때, 선택된 인트라 모드들은 인트라 예측 유닛(22221)에 의해 선택된 적어도 하나의 제4 선택된 모드일 수 있다. 이 구현에서, 적어도 하나의 제4 선택된 모드 각각은, 적어도 하나의 제3 선택된 모드와는 상이할 수 있다.
블록 34에서, 인트라 예측 유닛(22221)은 인트라 모드들 중 선택된 적어도 하나를 모드 목록으로부터 제거하여 선택되지 않은 인트라 모드들 각각을 포함하는 조정된 목록을 생성한다.
적어도 하나의 구현에서, 인트라 예측 유닛(22221)이 모드 목록으로부터 선택된 인트라 모드들 모두를 제거할 때, 모드 목록 내의 복수의 잔여 인트라 모드는 선택되지 않은 인트라 모드들일 수 있다. 이 구현에서, 인트라 예측 유닛(22221)은 선택되지 않은 인트라 모드들을 포함하는 조정된 목록을 생성할 수 있다. 적어도 하나의 구현에서, 인트라 예측 유닛(22221)은 블록 크기에 기초하여 복수의 추가 모드를 조정된 목록에 추가할 수 있다.
적어도 하나의 구현에서, 인트라 예측 유닛(22221)은 선택되지 않은 인트라 모드들 각각에 대해 제2 인트라 예측 인덱스를 설정할 수 있다. 이 구현에서, 선택되지 않은 인트라 모드들의 제2 인트라 예측 인덱스들은 선택되지 않은 인트라 모드들의 제1 인트라 예측 인덱스들과 동일하거나 상이할 수 있다. 적어도 하나의 구현에서, 인트라 예측 유닛(22221)은 추가 모드들 각각에 대해 제2 인트라 예측 인덱스를 설정할 수 있다.
블록 35에서, 인트라 예측 유닛(22221)은 조정된 목록에 기초하여 블록 유닛에 대한 복수의 예측자를 생성한다.
적어도 하나의 구현에서, 인트라 예측 유닛(22221)은 비트스트림으로부터 예측 표시를 결정할 수 있다. 한 구현에서, 인트라 예측 유닛(22221)은, 예측 표시들 중 특정한 하나에 기초하여, 블록 크기에 따라 도출된 조정된 목록 내의 선택되지 않은 인트라 모드들 중 하나를 결정할 수 있다. 또 다른 구현에서, 인트라 예측 유닛(22221)은, 특정한 예측 표시에 기초하여, 블록 크기에 따라 도출된 조정된 목록 내의 선택되지 않은 인트라 모드들 및 추가 모드들 중 하나를 결정할 수 있다. 적어도 하나의 구현에서, 특정한 예측 표시는, 결정된 모드의 제2 인트라 예측 인덱스와 동일한 모드 인덱스를 표시한다. 따라서, 인트라 예측 유닛(22221)은 모드 인덱스에 기초하여 결정된 모드를 도출할 수 있다. 적어도 하나의 구현에서, 특정한 예측 표시에 의해 표시된 모드 인덱스는 결정된 모드의 제1 인트라 예측 인덱스와 동일할 수 있다.
적어도 하나의 구현에서, 블록 유닛은 복수의 블록 요소를 포함할 수 있다. 이 구현에서, 블록 요소들 각각은 픽셀 요소일 수 있다. 적어도 하나의 구현에서, 인트라 예측 유닛(22221)은, 블록 유닛에 대해 도출된 결정된 모드의 배향을 따라, 블록 요소들 각각에 대해 블록 유닛과 이웃하는 복수의 이웃 블록에 기초하여 예측자들 중 하나를 결정할 수 있다. 한 구현에서, 결정된 모드는 블록 크기에 따라 도출된 조정된 목록 내의 선택되지 않은 인트라 모드들 중 결정된 하나일 수 있다. 또 다른 구현에서, 결정된 모드는, 블록 크기에 따라 도출된 조정된 목록 내의 선택되지 않은 인트라 모드들 및 추가 모드들 중 결정된 하나일 수 있다.
적어도 하나의 구현에서, 목적지 디바이스(12) 내의 디코더 모듈(222)의 제1 합산기(2224)는, 결정된 모드에 기초하여 도출된 예측자를 비트스트림으로부터 결정된 복수의 잔차 샘플에 추가하여 블록 유닛을 재구성할 수 있다. 또한, 디코더 모듈(222)은 이미지 프레임 및 비디오를 재구성하기 위해 이미지 프레임 내의 다른 블록 유닛들 모두를 재구성할 수 있다.
도 4는 인트라 예측을 위한 모드 목록 조정의 제2 예시적인 구현에 따른 플로차트를 도시한다. 이 예시적인 방법은, 이 방법을 실행하는 다양한 방식들이 존재하기 때문에, 단지 예로서 제공되는 것이다. 후술되는 방법은, 예를 들어, 도 1 및 도 2에 도시된 구성을 이용하여 실행될 수 있고, 이들 도면들의 다양한 요소들은 예시적인 방법을 설명하는데 있어서 참조된다. 도 4에 도시된 각각의 블록은, 예시적인 방법에서 실행되는 하나 이상의 프로세스, 방법, 또는 서브루틴을 나타낸다. 또한, 블록들의 순서는 단지 예시적인 것이며 변경될 수 있다. 본 개시내용을 벗어나지 않고 추가 블록들이 추가되거나 더 적은 수의 블록들이 이용될 수도 있다.
블록 41에서, 디코더 모듈(222)은 비디오 데이터로부터 이미지 프레임 내의 블록 유닛을 결정하고, 블록 유닛과 이웃하는 복수의 이웃 블록을 결정한다.
적어도 하나의 구현에서, 비디오 데이터는 비트스트림일 수 있다. 목적지 디바이스(12)는, 목적지 디바이스(12)의 제2 인터페이스(123)를 통해, 소스 디바이스(11) 등의 인코더로부터 비트스트림을 수신할 수 있다. 제2 인터페이스(123)는 비트스트림을 디코더 모듈(222)에 제공한다. 디코더 모듈(222)은 비트스트림에 기초하여 이미지 프레임을 결정하고, 이미지 프레임을 분할하여 비트스트림에서의 복수의 파티션 표시에 따라 블록 유닛을 결정한다. 예를 들어, 디코더 모듈(222)은 이미지 프레임을 분할하여 복수의 코딩 트리 유닛을 생성할 수 있고, 코딩 트리 유닛들 중 하나를 더 분할하여, 임의의 비디오 코딩 표준에 기초해 파티션 표시에 따라 블록 크기를 갖는 블록 유닛을 결정할 수 있다.
적어도 하나의 구현에서, 엔트로피 디코딩 유닛(2221)은 비트스트림을 디코딩하여 블록 유닛에 대한 복수의 예측 표시를 결정할 수 있고, 그 후 디코더 모듈(222)은 예측 표시에 기초하여 블록 유닛을 추가로 재구성할 수 있다. 적어도 하나의 구현에서, 예측 표시는 복수의 플래그 및 복수의 인덱스를 포함할 수 있다.
적어도 하나의 구현에서, 목적지 디바이스(12)의 예측 프로세스 유닛(2222)은 블록 유닛과 이웃하는 이웃 블록을 결정한다. 이 구현에서, 이웃 블록들은 복수의 기준 라인에 포함될 수 있다. 이 구현에서, 기준 라인들 중 제1 라인의 이웃 블록들은 블록 유닛에 인접하고, 기준 라인들 중 제2 라인의 이웃 블록들은 제1 기준 라인의 이웃 블록들에 인접한다. 적어도 하나의 구현에서, 이웃 블록들은, 이웃 블록들이 블록 유닛을 재구성하기 위한 복수의 기준 샘플이 될 수 있도록 블록 유닛을 재구성하기 전에 재구성될 수 있다. 적어도 하나의 구현에서, 블록 유닛은, 인트라 예측 유닛(22221)이 재구성된 이웃 블록들과 패딩함으로써 재구성되지 않은 이웃 블록들에 대한 블록 유닛의 기준 샘플들을 생성할 수 있도록 이웃 블록들 중 일부를 재구성하기 전에 재구성될 수 있다.
블록 42에서, 인트라 예측 유닛(22221)은 복수의 인트라 모드를 포함하는 모드 목록을 결정하고, 이웃 블록들의 예측 정보를 결정한다.
적어도 하나의 구현에서, 모드 목록 내의 인트라 모드는 목적지 디바이스(12) 및 소스 디바이스(11)에서 미리정의될 수 있다. 예를 들어, 인트라 모드는, 평면 모드, DC 모드, 및 복수의 방향 모드로서 미리정의될 수 있다. 적어도 하나의 구현에서, 디코더 모듈(222)이 HEVC에서 비트스트림을 디코딩할 때, 방향 모드들의 수는 33과 같을 수 있다. 적어도 하나의 구현에서, 디코더 모듈(222)이 VTM에서 비트스트림을 디코딩할 때, 방향 모드들의 수는 65와 같을 수 있다.
적어도 하나의 구현에서, 인트라 모드들 각각은 제1 인트라 예측 인덱스를 갖는다. 한 구현에서, 디코더 모듈(222)이 HEVC에서 비트스트림을 디코딩할 때, 인트라 모드들의 제1 인트라 예측 인덱스들은 0 내지 34와 같을 수 있다. 이 구현에서, 평면 모드들 및 DC 모드의 제1 인트라 예측 인덱스들은 0 및 1과 같을 수 있고, 방향 모드들의 제1 인트라 예측 인덱스들은 2 내지 33과 같을 수 있다. 한 구현에서, 디코더 모듈(222)이 VTM에서 비트스트림을 디코딩할 때, 인트라 모드들의 제1 인트라 예측 인덱스들은 0 내지 66과 같을 수 있다. 이 구현에서, 평면 모드들 및 DC 모드의 제1 인트라 예측 인덱스들은 0 및 1과 같을 수 있고, 방향 모드들의 제1 인트라 예측 인덱스들은 2 내지 66과 같을 수 있다.
적어도 하나의 구현에서, 이웃 블록들의 예측 정보는 이웃 블록들의 복수의 디코딩된 모드를 포함할 수 있다. 한 구현에서, 이웃 블록들의 디코딩된 모드들이 인트라 예측일 때, 예측 정보는 이웃 블록들의 복수의 예측 모드를 더 포함할 수 있다. 이 구현에서, 예측 모드들은 이웃 블록들을 재구성하기 위해 모드 목록 내의 인트라 모드들로부터 선택된다. 적어도 하나의 구현에서, 인트라 예측 유닛(22221)은 이웃 블록의 예측 모드를 체크하고, 블록 유닛에 대한 이웃 블록의 예측 모드에 기초하여 복수의 가장 가능성있는 모드(most probable mode)(MPM)를 결정할 수 있다. 한 구현에서, 인트라 예측 유닛(22221)은, 특정한 이웃 블록의 디코딩된 모드가 인터 예측일 때, 이웃 블록들 중 특정한 블록을 바이패스하고 다른 이웃 블록들의 디코딩된 모드들을 체크할 수 있다.
적어도 하나의 구현에서, 이웃 블록들의 예측 정보는, 이웃 블록들이 재구성되는지를 결정하는데 이용되는 임의의 정보일 수 있다. 예를 들어, 인트라 예측 유닛(22221)은 제1 합산기(2224)에 의해 생성된 이웃 블록들의 복수의 재구성된 성분들을 직접 수신할 수 있다. 인트라 예측 유닛(22221)이 이웃 블록들의 재구성된 성분들을 수신할 때, 인트라 예측 유닛(22221)은, 이웃 블록들이 블록 유닛을 재구성하기 전에 재구성된다고 결정할 수 있다. 인트라 예측 유닛(22221)이 이웃 블록들의 재구성된 성분들을 수신하지 않을 때, 인트라 예측 유닛(22221)은, 이웃 블록들이 블록 유닛을 재구성하기 전에 재구성되지 않는다고 결정할 수 있다. 한 구현에서, 이웃 블록들의 재구성된 성분들은, 블록 유닛을 재구성하기 전에 모든 이웃 블록들이 재구성될 때, 블록 유닛의 복수의 기준 샘플을 생성하는데 이용될 수 있다. 다른 구현들에서, 이웃 블록들 중 특정한 이웃 블록은, 그 특정한 이웃 블록이 블록 유닛을 재구성하는 동안 재구성되지 않았을 때, 기준 샘플들을 생성하는데 이용되지 않을 수 있다. 이 구현에서, 인트라 예측 유닛(22221)은 다른 이웃 블록들과 패딩함으로써 특정한 이웃 블록에 대응하는 기준 샘플들 중 특정한 샘플을 생성할 수 있다.
블록 43에서, 인트라 예측 유닛(22221)은 이웃 블록들의 예측 정보에 기초하여 인트라 모드들 중 적어도 하나를 선택한다.
적어도 하나의 구현에서, 인트라 예측 유닛(22221)은 이웃 블록들의 예측 정보에 기초하여 선택된 인트라 모드들을 결정할 수 있다. 이 구현에서, 방향 모드들 각각은 배향을 포함한다. 적어도 하나의 구현에서, 인트라 예측 유닛(22221)은 MPM들의 배향들을 방향 모드들의 배향들과 비교하고, MPM들의 배향들과 방향 모드들의 배향들 사이의 비교에 기초하여 선택된 인트라 모드들을 결정할 수 있다. 예를 들어, 특정한 방향 모드가 MPM으로부터 멀리 있다면, 방향 모드들 중 특정한 하나는 선택된 인트라 모드들 중 하나일 수 있다. 한 구현에서, 인트라 모드들 각각은 복수의 모드 그룹으로 분할될 수 있다. 모드 그룹들 중 특정한 하나가 MPM을 포함하지 않을 때, 인트라 예측 유닛(22221)은 특정한 모드 그룹으로부터 특정한 방향 모드를 선택하고 특정한 방향 모드를 선택된 인트라 모드들로서 설정할 수 있다.
적어도 하나의 구현에서, 인트라 예측 유닛(22221)은 블록 유닛을 재구성하는 동안 이웃 블록들 중 어느 것이 재구성되지 않았는지를 결정할 수 있다. 이 구현에서, 인트라 예측 유닛(22221)은 인트라 모드들 중 어느 것이 블록 유닛으로부터 결정된 이웃 블록들로 향하는지를 추가로 결정할 수 있다. 적어도 하나의 구현에서, 인트라 예측 유닛(22221)은 결정된 인트라 모드들을 선택된 인트라 모드들로서 설정할 수 있다.
블록 44에서, 인트라 예측 유닛(22221)은 인트라 모드들 중 선택된 적어도 하나를 모드 목록으로부터 제거하여 선택되지 않은 인트라 모드들 각각을 포함하는 조정된 목록을 생성한다.
적어도 하나의 구현에서, 인트라 예측 유닛(22221)이 모드 목록으로부터 선택된 인트라 모드들 모두를 제거할 때, 모드 목록 내의 복수의 잔여 인트라 모드는 선택되지 않은 인트라 모드들일 수 있다. 이 구현에서, 인트라 예측 유닛(22221)은 선택되지 않은 인트라 모드들을 포함하는 조정된 목록을 생성할 수 있다. 적어도 하나의 구현에서, 인트라 예측 유닛(22221)은 블록 크기에 기초하여 복수의 추가 모드를 조정된 목록에 추가할 수 있다.
적어도 하나의 구현에서, 인트라 예측 유닛(22221)은 선택되지 않은 인트라 모드들 각각에 대해 제2 인트라 예측 인덱스를 설정할 수 있다. 이 구현에서, 선택되지 않은 인트라 모드들의 제2 인트라 예측 인덱스들은 선택되지 않은 인트라 모드들의 제1 인트라 예측 인덱스들과 동일하거나 상이할 수 있다. 적어도 하나의 구현에서, 인트라 예측 유닛(22221)은 추가 모드들 각각에 대해 제2 인트라 예측 인덱스를 설정할 수 있다.
블록 45에서, 인트라 예측 유닛(22221)은 조정된 목록에 기초하여 블록 유닛에 대한 복수의 예측자를 생성한다.
적어도 하나의 구현에서, 인트라 예측 유닛(22221)은 비트스트림으로부터 예측 표시를 결정할 수 있다. 한 구현에서, 인트라 예측 유닛(22221)은, 예측 표시들 중 특정한 하나에 기초하여, 이웃 블록들의 예측 정보에 따라 도출된 조정된 목록 내의 선택되지 않은 인트라 모드들 중 하나를 결정할 수 있다. 또 다른 구현에서, 인트라 예측 유닛(22221)은, 특정한 예측 표시에 기초하여, 이웃 블록들의 예측 정보에 따라 도출된 조정된 목록 내의 선택되지 않은 인트라 모드들 및 추가 모드들 중 하나를 결정할 수 있다. 적어도 하나의 구현에서, 특정한 예측 표시는, 결정된 모드의 제2 인트라 예측 인덱스와 동일한 모드 인덱스를 표시한다. 따라서, 인트라 예측 유닛(22221)은 모드 인덱스에 기초하여 결정된 모드를 도출할 수 있다. 적어도 하나의 구현에서, 특정한 예측 표시에 의해 표시된 모드 인덱스는 결정된 모드의 제1 인트라 예측 인덱스와 동일할 수 있다.
적어도 하나의 구현에서, 블록 유닛은 복수의 블록 요소를 포함할 수 있다. 이 구현에서, 블록 요소들 각각은 픽셀 요소일 수 있다. 적어도 하나의 구현에서, 인트라 예측 유닛(22221)은, 블록 유닛에 대해 도출된 결정된 모드의 배향들 중 특정한 배향을 따라, 블록 요소들 각각에 대해 블록 유닛과 이웃하는 이웃 블록들에 기초하여 예측자들 중 하나를 결정할 수 있다. 한 구현에서, 결정된 모드는 이웃 블록들의 예측 정보에 따라 도출된 조정된 목록 내의 선택되지 않은 인트라 모드들 중 결정된 하나일 수 있다. 또 다른 구현에서, 결정된 모드는 이웃 블록들의 예측 정보에 따라 도출된 조정된 목록 내의 선택되지 않은 인트라 모드들 및 추가 모드들 중 결정된 것일 수 있다.
적어도 하나의 구현에서, 목적지 디바이스(12) 내의 디코더 모듈(222)의 제1 합산기(2224)는, 결정된 모드에 기초하여 도출된 예측자를 비트스트림으로부터 결정된 복수의 잔차 샘플에 추가하여 블록 유닛을 재구성할 수 있다. 또한, 디코더 모듈(222)은 이미지 프레임 및 비디오를 재구성하기 위해 이미지 프레임 내의 다른 블록 유닛들 모두를 재구성할 수 있다.
도 5는 인트라 예측을 위한 모드 목록 조정의 제3 예시적인 구현에 따른 플로차트를 도시한다. 이 예시적인 방법은, 이 방법을 실행하는 다양한 방식들이 존재하기 때문에, 예로서 제공되는 것이다. 후술되는 방법은, 예를 들어, 도 1 및 도 2에 도시된 구성을 이용하여 실행될 수 있고, 이들 도면들의 다양한 요소들은 예시적인 방법을 설명하는데 있어서 참조된다. 도 5에 도시된 각각의 블록은, 예시적인 방법에서 실행되는 하나 이상의 프로세스, 방법, 또는 서브루틴을 나타낸다. 또한, 블록들의 순서는 단지 예시적인 것이며 변경될 수 있다. 본 개시내용을 벗어나지 않고 추가 블록들이 추가되거나 더 적은 수의 블록들이 이용될 수도 있다. 적어도 하나의 구현에서, 도 5는 도 3의 블록 33 및/또는 도 4의 블록 43의 상세한 예시적인 구현일 수 있다.
블록 531에서, 인트라 예측 유닛(22221)은 복수의 인트라 모드를 복수의 인트라 예측 영역들로 분할한다.
적어도 하나의 구현에서, 모드 목록 내의 인트라 모드들은 목적지 디바이스(12) 및 소스 디바이스(11)에서 미리정의될 수 있다. 예를 들어, 인트라 모드는, 평면 모드, DC 모드, 및 복수의 방향 모드로서 미리정의될 수 있다. 적어도 하나의 구현에서, 디코더 모듈(222)이 HEVC에서 비트스트림을 디코딩할 때, 방향 모드들의 수는 33과 같을 수 있다. 적어도 하나의 구현에서, 디코더 모듈(222)이 VTM에서 비트스트림을 디코딩할 때, 방향 모드들의 수는 65와 같을 수 있다.
적어도 하나의 구현에서, 인트라 모드들 각각은 제1 인트라 예측 인덱스를 갖는다. 한 구현에서, 디코더 모듈(222)이 HEVC에서 비트스트림을 디코딩할 때, 인트라 모드들의 제1 인트라 예측 인덱스들은 0 내지 34와 같을 수 있다. 이 구현에서, 평면 모드들 및 DC 모드의 제1 인트라 예측 인덱스들은 0 및 1과 같을 수 있고, 방향 모드들의 제1 인트라 예측 인덱스들은 2 내지 33과 같을 수 있다. 한 구현에서, 디코더 모듈(222)이 VTM에서 비트스트림을 디코딩할 때, 인트라 모드들의 제1 인트라 예측 인덱스들은 0 내지 66과 같을 수 있다. 이 구현에서, 평면 모드들 및 DC 모드의 제1 인트라 예측 인덱스들은 0 및 1과 같을 수 있고, 방향 모드들의 제1 인트라 예측 인덱스들은 2 내지 66과 같을 수 있다.
적어도 하나의 구현에서, 방향 모드들 각각은 배향을 갖는다. 적어도 하나의 구현에서, 인트라 예측 유닛(22221)은 방향 모드를 인트라 예측 영역들로 분할할 수 있다. 이 구현에서, 인트라 예측 영역들의 수는 목적지 디바이스(12) 및 소스 디바이스(11)에서 미리정의될 수 있다. 예를 들어, 인트라 예측 영역들의 수는, 4, 6 또는 13과 같을 수 있다. 도 6a, 도 6b 및 도 6c는 4개의 인트라 예측 영역(631-634) 또는 6개의 인트라 예측 영역(641-646)으로 분할된 블록 유닛(61)의 인트라 모드(62)의 예시적인 구현의 개략도이다. 적어도 하나의 구현에서, 인트라 예측 영역(631-634) 중 제1 영역은 인트라 예측 인덱스들 2 내지 17을 갖는 인트라 모드를 포함할 수 있고, 인트라 예측 영역(631-634) 중 마지막 영역은 인트라 예측 인덱스들 51 내지 66을 갖는 인트라 모드를 포함할 수 있고, 인트라 예측 영역들(631-634) 중 다른 것들은 인트라 예측 인덱스들 18 내지 50을 갖는 인트라 모드를 포함할 수 있다. 적어도 하나의 구현에서, 인트라 예측 영역(641-646) 중 제1 영역은 인트라 예측 인덱스들 2 내지 11을 갖는 인트라 모드를 포함할 수 있고, 인트라 예측 영역(641-646) 중 마지막 영역은 인트라 예측 인덱스들 57 내지 66을 갖는 인트라 모드를 포함할 수 있고, 인트라 예측 영역들(641-646) 중 다른 것들은 인트라 예측 인덱스들 12 내지 56을 갖는 인트라 모드를 포함할 수 있다. 적어도 하나의 구현에서, 인트라 예측 영역(632-633) 및 인트라 예측 영역(642-645)은 복수의 중간 영역으로서 설정될 수 있다.
블록 532에서, 인트라 예측 유닛(22221)은, 블록 유닛의 블록 크기 및 이웃 블록들의 예측 정보 중 하나에 기초하여 인트라 예측 영역들로부터 선택된 제거가능한 영역을 결정한다.
적어도 하나의 구현에서, 인트라 예측 유닛(22221)이 블록 유닛의 블록 크기에 기초하여 제거가능한 영역을 결정할 때, 블록 크기는 미리정의된 크기와 비교될 수 있다. 이 구현에서, 인트라 예측 유닛(22221)은 블록 크기와 미리정의된 크기 사이의 비교에 기초하여 제거가능한 영역을 결정할 수 있다. 한 구현에서, 블록 크기가 미리정의된 크기보다 클 때, 제거가능한 영역은 제1 인트라 예측 영역 및 마지막 인트라 예측 영역들 중 적어도 하나를 포함하도록 미리정의될 수 있다. 또 다른 구현에서, 블록 크기가 미리정의된 크기보다 클 때, 제거가능한 영역은 인트라 예측 영역들 중 적어도 하나를 포함하도록 미리정의될 수 있다. 또한, 블록 크기가 미리정의된 크기보다 작을 때, 제거가능한 영역은 중간 영역들 중 적어도 하나를 포함하도록 미리정의될 수 있다. 또 다른 구현에서, 블록 크기가 미리정의된 크기보다 작을 때, 제거가능한 영역은 인트라 예측 영역들 중 적어도 하나를 포함하도록 미리정의될 수 있다.
적어도 하나의 구현에서, 인트라 예측 유닛(22221)이 블록 유닛의 블록 크기에 기초하여 제거가능한 영역을 결정할 때, 블록 크기의 블록 폭이 블록 크기의 블록 높이와 비교될 수 있다. 적어도 하나의 구현에서, 인트라 예측 유닛(22221)은 블록 폭과 블록 높이 사이의 비교에 기초하여 제거가능한 영역을 결정할 수 있다. 적어도 하나의 구현에서, 블록 폭이 블록 높이보다 길 때, 제거가능한 영역은 제1 인트라 예측 영역(641) 내지 제3 인트라 예측 영역(643) 중 적어도 하나를 포함하도록 미리정의될 수 있다. 또 다른 구현에서, 블록 폭이 블록 높이보다 짧을 때, 제거가능한 영역은 제4 인트라 예측 영역(644) 내지 제6 인트라 예측 영역(646) 중 적어도 하나를 포함하도록 미리정의될 수 있다. 예를 들어, 블록 폭이 블록 높이보다 길 때, 제거가능한 영역은 제1 인트라 예측 영역(641)을 포함하도록 미리정의될 수 있다. 또한, 블록 폭이 블록 높이보다 짧을 때, 제거가능한 영역은 제6 인트라 예측 영역(646)을 포함하도록 미리정의될 수 있다. 적어도 하나의 구현에서, 블록 폭이 블록 높이보다 길 때, 제거가능한 영역은 제1 인트라 예측 영역(631) 및 제2 인트라 예측 영역(632) 중 적어도 하나를 포함하도록 미리정의될 수 있다. 또 다른 구현에서, 블록 폭이 블록 높이보다 짧을 때, 제거가능한 영역은 제3 인트라 예측 영역(633) 및 제4 인트라 예측 영역(634) 중 적어도 하나를 포함하도록 미리정의될 수 있다.
적어도 하나의 구현에서, 블록 폭이 블록 높이보다 길 때, 인트라 예측 영역들 중 제1 특정한 영역은 제거가능한 영역으로서 미리정의될 수 있다. 또한, 블록 폭이 블록 높이보다 짧을 때, 제1 특정한 인트라 예측 영역과는 상이한 인트라 예측 영역들 중 제2 특정한 영역이 제거가능한 영역으로 미리정의될 수 있다. 이 구현에서, 수평 방향과 제1 특정한 인트라 예측 영역의 복수의 인트라 모드 각각 사이의 제1 각도는 45도 이하이고, 수직 방향과 제2 특정한 인트라 예측 영역의 복수의 인트라 모드 각각 사이의 제2 각도는 45도 이하이다.
적어도 하나의 구현에서, 인트라 예측 유닛(22221)이 이웃 블록들의 예측 정보에 기초하여 제거가능한 영역을 결정할 때, 인트라 예측 유닛(22221)은, 블록 유닛과 이웃하는 이웃 블록들의 복수의 예측 모드에 기초하여 복수의 가장 가능성있는 모드(MPM)를 결정할 수 있다. 이 구현에서, 예측 정보는 이웃 블록들의 예측 모드들을 포함할 수 있고, 예측 모드들 각각은 배향을 갖는다. 적어도 하나의 구현에서, 인트라 예측 유닛(22221)은 MPM들의 배향들을 방향 모드들의 배향들과 비교하고, MPM들의 배향들과 방향 모드들의 배향들 사이의 비교에 기초하여 제거가능한 영역을 결정할 수 있다. 한 구현에서, 인트라 예측 영역들 중 특정한 영역은, 그 특정한 인트라 예측 영역이 블록 유닛의 MPM을 포함하지 않을 때, 제거가능한 영역으로 결정될 수 있다.
적어도 하나의 구현에서, 인트라 예측 유닛(22221)은, 그 인트라 예측 유닛(22221)이 이웃 블록들의 예측 정보에 기초하여 제거가능한 영역을 결정할 때, 블록 유닛을 재구성하는 동안 어떤 이웃 블록들이 재구성되지 않았는지를 결정할 수 있다. 적어도 하나의 구현에서, 인트라 예측 유닛(22221)은 또한, 인트라 모드들 중 어느 것이 블록 유닛으로부터 결정된 이웃 블록들로 향하고, 인트라 예측 영역들 중 어느 것이 결정된 인트라 모드들을 포함하는지를 결정할 수 있다. 적어도 하나의 구현에서, 결정된 인트라 예측 영역은 제거가능한 영역으로서 결정될 수 있다.
블록 533에서, 인트라 예측 유닛(22221)은 제거가능한 영역에 포함된 인트라 모드들 중 적어도 하나를 인트라 모드들 중 선택된 적어도 하나로서 설정한다.
적어도 하나의 구현에서, 인트라 예측 유닛(22221)은 어느 인트라 모드가 제거가능한 영역에 포함되는지를 체크하고, 제거가능한 영역에 포함된 인트라 모드를 복수의 제거가능한 모드로서 설정할 수 있다. 적어도 하나의 구현에서, 인트라 예측 유닛(22221)은 제거가능한 모드들 중 적어도 하나를 모드 목록으로부터 제거하기 위한 인트라 모드들 중 선택된 적어도 하나로서 설정할 수 있다. 적어도 하나의 구현에서, 제거가능한 영역으로부터 생성된 인트라 모드들 중 선택된 적어도 하나는 목적지 디바이스(12) 및 소스 디바이스(11)에서 미리정의될 수 있다.
적어도 하나의 구현에서, 디코더 모듈(222)이 비트스트림을 HEVC, VTM 또는 다른 비디오 코딩 표준으로 디코딩할 때, 블록 유닛은 쿼드-트리 분할 방법 및 2진-트리 분할 방법 중 적어도 하나에 의해 분할된다. 따라서, 블록 폭이 블록 높이보다 길 때, 블록 폭을 블록 높이로 나눔으로써 획득되는 몫은 2 이상일 수 있다. 또한, 블록 폭이 블록 높이보다 짧을 때, 몫은 1/2 이하일 수 있다.
적어도 하나의 구현에서, 제1 특정한 인트라 예측 영역에 포함된 인트라 모드들은, 블록 폭을 블록 높이로 나눔으로써 획득되는 몫이 2이상일 때 인트라 모드들 중 선택된 적어도 하나로서 설정된다. 적어도 하나의 구현에서, 제2 특정한 인트라 예측 영역에 포함된 인트라 모드들은, 블록 폭을 블록 높이로 나눔으로써 획득되는 몫이 1/2 이하일 때, 인트라 모드들 중 선택된 적어도 하나로서 설정된다.
도 7은 인트라 예측을 위한 모드 목록 조정의 제4 예시적인 구현에 따른 플로차트를 도시한다. 이 예시적인 방법은, 이 방법을 실행하는 다양한 방식들이 존재하기 때문에, 예로서 제공되는 것이다. 후술되는 방법은, 예를 들어, 도 1 및 도 2에 도시된 구성을 이용하여 실행될 수 있고, 이들 도면들의 다양한 요소들은 예시적인 방법을 설명하는데 있어서 참조된다. 도 7에 도시된 각각의 블록은, 예시적인 방법에서 실행되는 하나 이상의 프로세스, 방법, 또는 서브루틴을 나타낸다. 또한, 블록들의 순서는 단지 예시적인 것이며 변경될 수 있다. 본 개시내용을 벗어나지 않고 추가 블록들이 추가되거나 더 적은 수의 블록들이 이용될 수도 있다. 적어도 하나의 구현에서, 도 7은 도 3의 블록 34 및/또는 도 4의 블록 44의 상세한 예시적인 구현일 수 있다.
블록 741에서, 인트라 예측 유닛(22221)은 모드 목록으로부터 복수의 선택된 인트라 모드들을 제거한다.
적어도 하나의 구현에서, 인트라 예측 유닛(22221)은, 블록 유닛의 블록 크기 및 이웃 블록들의 예측 정보 중 하나에 기초하여 인트라 모드들 중 적어도 하나를 선택할 수 있다. 한 구현에서, 인트라 예측 유닛(22221)은 블록 크기를 미리정의된 크기와 비교하고, 블록 크기와 미리정의된 크기 사이의 비교에 기초하여 선택된 인트라 모드들을 결정할 수 있다. 한 구현에서, 인트라 예측 유닛(22221)은 블록 크기의 블록 폭을 블록 크기의 블록 높이와 비교하고, 블록 폭과 블록 높이 사이의 비교에 기초하여 선택된 인트라 모드들을 결정할 수 있다. 한 구현에서, 인트라 예측 유닛(22221)은 모드 목록으로부터 복수의 MPM을 결정하고, MPM들의 배향들을 인트라 모드들에 포함된 방향 모드들의 배향들과 비교하고, MPM들의 배향들과 방향 모드들의 배향들 사이의 비교에 기초하여 선택된 인트라 모드들을 결정할 수 있다. 한 구현에서, 인트라 예측 유닛(22221)은 어떤 이웃 블록이 재구성되지 않았는지를 결정하고, 어떤 인트라 모드가 블록 유닛으로부터 결정된 이웃 블록들로 향하는지를 결정하고, 결정된 인트라 모드들을 선택된 인트라 모드들로서 설정할 수 있다.
적어도 하나의 구현에서, 인트라 예측 유닛(22221)은 모드 목록으로부터 선택된 인트라 모드들을 제거할 수 있다. 적어도 하나의 구현에서, 인트라 예측 유닛(22221)이 모드 목록으로부터 선택된 인트라 모드들 모두를 제거할 때, 선택되지 않은 인트라 모드들은 모드 목록 내의 잔여 인트라 모드이다.
블록 742에서, 인트라 예측 유닛(22221)은 조정된 모드 목록을 생성하기 위해 선택되지 않은 인트라 모드들과 결합하기 위한 복수의 추가 모드를 결정한다.
적어도 하나의 구현에서, 인트라 예측 유닛(22221)은 블록 유닛의 블록 크기에 기초하여 추가 모드들을 결정한다. 적어도 하나의 구현에서, 인트라 예측 유닛(22221)은 이웃 블록들의 예측 정보에 기초하여 추가 모드들을 결정한다. 적어도 하나의 구현에서, 제거된 모드들의 수는 추가 모드들의 수와 같다. 따라서, 모드 목록 내의 인트라 모드들의 수는 조정된 목록 내의 추가 모드들 및 잔여 인트라 모드들의 수와 같다.
적어도 하나의 구현에서, 인트라 예측 유닛(22221)은 블록 크기와 미리정의된 크기 사이의 비교에 기초하여 추가 모드들을 결정할 수 있다. 한 구현에서, 추가 모드들은, 블록 크기가 미리정의된 크기보다 클 때, 복수의 제1 대체형 모드일 수 있다. 또 다른 구현에서, 추가 모드들은, 블록 크기가 미리정의된 크기보다 작을 때, 복수의 제2 대체형 모드일 수 있다. 이 구현에서, 제2 대체형 모드들 각각은 제1 대체형 모드와는 상이할 수 있다.
적어도 하나의 구현에서, 인트라 예측 유닛(22221)은 블록 폭과 미리정의된 높이 사이의 비교에 기초하여 추가 모드들을 결정할 수 있다. 한 구현에서, 블록 폭이 블록 높이보다 길 때, 추가 모드들은 복수의 제3 대체형 모드일 수 있다. 또 다른 구현에서, 블록 폭이 블록 높이보다 짧을 때, 추가 모드들은 복수의 제4 대체형 모드일 수 있다. 이 구현에서, 제3 대체형 모드들 각각은 제4 대체형 모드와는 상이할 수 있다.
적어도 하나의 구현에서, 인트라 예측 유닛(22221)은 MPM들의 배향들과 방향 모드들의 배향들 사이의 비교에 기초하여 추가 모드들을 결정할 수 있다. 한 구현에서, MPM 모드에 가까운 새로운 방향 모드가 생성될 수 있다.
적어도 하나의 구현에서, 인트라 예측 유닛(22221)은 어떤 이웃 블록이 재구성되지 않았는지를 결정하고, 어떤 인트라 모드가 블록 유닛으로부터 결정된 이웃 블록들로 향하는지를 결정할 수 있다. 이 구현에서, 인트라 예측 유닛(22221)은 결정된 인트라 모드들의 배향들과 방향 모드들의 배향들 사이의 비교에 기초하여 추가 모드들을 결정할 수 있다. 한 구현에서, 결정된 인트라 모드들로부터 먼 새로운 방향 모드가 생성될 수 있다.
적어도 하나의 구현에서, 인트라 모드들 각각은 제1 인트라 예측 인덱스를 갖는다. 한 구현에서, 디코더 모듈(222)이 HEVC에서 비트스트림을 디코딩할 때, 인트라 모드들의 제1 인트라 예측 인덱스들은 0 내지 34와 같을 수 있다. 이 구현에서, 평면 모드들 및 DC 모드의 제1 인트라 예측 인덱스들은 0 및 1과 같을 수 있고, 방향 모드들의 제1 인트라 예측 인덱스들은 2 내지 33과 같을 수 있다. 한 구현에서, 디코더 모듈(222)이 VTM에서 비트스트림을 디코딩할 때, 인트라 모드들의 제1 인트라 예측 인덱스들은 0 내지 66과 같을 수 있다. 이 구현에서, 평면 모드들 및 DC 모드의 제1 인트라 예측 인덱스들은 0 및 1과 같을 수 있고, 방향 모드들의 제1 인트라 예측 인덱스들은 2 내지 66과 같을 수 있다.
적어도 하나의 구현에서, 인트라 예측 유닛(22221)은 방향 모드들을 복수의 인트라 예측 영역으로 분할할 수 있다. 이 구현에서, 인트라 예측 영역들의 수는 목적지 디바이스(12) 및 소스 디바이스(11)에서 미리정의될 수 있다. 예를 들어, 인트라 예측 영역의 수는 4, 6 또는 13과 같을 수 있다. 한 구현에서, 도 6c에서, 인트라 예측 영역(641-646) 중 제1 영역은 제1 인트라 예측 인덱스들 2 내지 11을 갖는 인트라 모드를 포함할 수 있고, 인트라 예측 영역(641-646) 중 마지막 영역은 제1 인트라 예측 인덱스들 57 내지 66을 갖는 인트라 모드를 포함할 수 있고, 인트라 예측 영역들(641-646) 중 다른 것들은 제1 인트라 예측 인덱스들 12 내지 56을 갖는 인트라 모드를 포함할 수 있다.
적어도 하나의 구현에서, 인트라 예측 유닛(22221)은 블록 크기와 미리정의된 크기 사이의 비교에 기초하여 삽입된 영역을 결정하고, 삽입된 영역에 기초하여 추가 모드들을 생성할 수 있다. 한 구현에서, 블록 크기가 미리정의된 크기보다 작을 때, 삽입된 영역은 제1 인트라 예측 영역(641) 및 마지막 인트라 예측 영역(646) 중 적어도 하나를 포함하도록 미리정의될 수 있다. 또 다른 구현에서, 블록 크기가 미리정의된 크기보다 클 때, 삽입된 영역은 제2 인트라 예측 영역(642) 내지 제5 인트라 예측 영역(645) 중 적어도 하나를 포함하도록 미리정의될 수 있다.
적어도 하나의 구현에서, 인트라 예측 유닛(22221)은 블록 폭과 블록 높이 사이의 비교에 기초하여 삽입된 영역을 결정하고 삽입된 영역에 기초하여 추가 모드들을 생성할 수 있다. 한 구현에서, 블록 폭이 블록 높이보다 짧을 때, 삽입된 영역은 제1 인트라 예측 영역(641) 내지 제3 인트라 예측 영역(643) 중 적어도 하나에 기초하여 미리정의될 수 있다. 또 다른 구현에서, 블록 폭이 블록 높이보다 길 때, 삽입된 영역은 제4 인트라 예측 영역(644) 내지 제6 인트라 예측 영역(646) 중 적어도 하나에 기초하여 미리정의될 수 있다. 예를 들어, 블록 폭이 블록 높이보다 짧을 때, 삽입된 영역은 제1 인트라 예측 영역(641)에 기초하여 미리정의될 수 있다. 또한, 블록 폭이 블록 높이보다 길 때, 삽입된 영역은 제6 인트라 예측 영역(646)에 기초하여 미리정의될 수 있다. 적어도 하나의 구현에서, 블록 폭이 블록 높이보다 짧을 때, 제1 인트라 예측 영역(641)에 이웃하는 제1 대체된 영역이 삽입된 영역으로서 미리정의될 수 있다. 또한, 블록 폭이 블록 높이보다 길 때, 제6 인트라 예측 영역(646)에 이웃하는 제1 대체된 영역은 삽입된 영역으로서 미리정의될 수 있다. 이 구현에서, 제2 대체된 영역은 제1 대체된 영역과는 상이하다. 도 8은 블록 유닛(81)의 6개의 인트라 예측 영역(841-846) 및 2개의 대체된 영역(851 및 856)의 예시적인 구현의 개략도이다. 적어도 하나의 구현에서, 블록 폭이 블록 높이보다 길 때, 제3 대체형 모드가 대체된 영역(856)에서 생성될 수 있다. 또한, 블록 폭이 블록 높이보다 짧을 때, 제4 대체형 모드가 대체된 영역(851)에서 생성될 수 있다.
적어도 하나의 구현에서, 인트라 예측 유닛(22221)은 MPM들의 배향들과 방향 모드들의 배향들 사이의 비교에 기초하여 삽입된 영역을 결정하고 삽입된 영역에 기초하여 추가 모드들을 생성할 수 있다. 한 구현에서, 특정한 인트라 예측 영역이 블록 유닛의 MPM의 대부분을 포함할 때, 삽입된 영역은 인트라 예측 영역(641-646) 중 특정한 하나를 포함하도록 설정될 수 있다.
적어도 하나의 구현에서, 인트라 예측 유닛(22221)은 어떤 이웃 블록이 재구성되지 않았는지를 결정하고, 어떤 인트라 모드가 블록 유닛으로부터 결정된 이웃 블록들로 향하는지를 결정할 수 있다. 이 구현에서, 인트라 예측 유닛(22221)은 또한, 인트라 예측 영역들 중 어느 것이 결정된 인트라 모드들을 포함하는지를 결정할 수 있다. 한 구현에서, 삽입된 영역은 결정된 인트라 예측 영역과는 상이할 수 있다. 예를 들어, 블록 유닛(81)의 좌측에 있는 이웃 블록들은, 블록 유닛(81)이 디코딩 중에 있을 때 디코딩되지 않는다. 이 구현에서, 블록 유닛으로부터 이웃 블록들로 향하는 결정된 인트라 모드들의 배향은 수평 배향과 유사할 수 있다. 따라서, 수평 배향으로부터 멀리 떨어진 삽입된 영역은 대체된 영역(851)일 수 있다. 다른 구현에서, 블록 유닛으로부터 이웃 블록들로 향하는 결정된 인트라 모드들의 배향이 수직 배향과 유사할 때, 수직 배향으로부터 멀리 떨어진 삽입된 영역은 대체된 영역(856)일 수 있다.
블록 743에서, 인트라 예측 유닛(22221)은, 조정된 모드 목록 내의 선택되지 않은 인트라 모드들 및 추가 모드들 각각에 대한 모드 인덱스를 설정한다.
적어도 하나의 구현에서, 인트라 모드들 각각은 제1 인트라 예측 인덱스를 갖는다. 적어도 하나의 구현에서, 인트라 모드들은, 0 내지 N-1로 설정된 제1 인트라 예측 인덱스들을 갖는 N개의 비방향 모드, 및 N 내지 (N-1)+M으로 설정된 제1 인트라 예측 인덱스들을 갖는 M개의 방향 모드를 포함할 수 있다.
적어도 하나의 구현에서, 인트라 모드는, HEVC에서 N이 2와 같고 M이 32와 같을 때, 0 및 1로 설정된 제1 인트라 예측 인덱스들을 갖는 2개의 비방향 모드, 및 2 내지 33으로 설정된 제1 인트라 예측 인덱스들을 갖는 32개의 방향 모드를 포함할 수 있다. 적어도 하나의 구현에서, 인트라 모드는, VTM에서 N이 2와 같고 M이 65와 같을 때, 0 및 1로서 설정된 제1 인트라 예측 인덱스들을 갖는 2개의 비방향 모드, 및 2 내지 66으로서 설정된 제1 인트라 예측 인덱스들을 갖는 65개의 방향 모드를 포함할 수 있다.
적어도 하나의 구현에서, 인트라 예측 유닛(22221)은 선택되지 않은 인트라 모드들의 제1 인트라 예측 인덱스들을 변경하지 않은 채로 유지할 수 있다. 따라서, 선택되지 않은 인트라 모드들의 모드 인덱스는 선택되지 않은 인트라 모드들의 제1 인트라 예측 인덱스들과 동일할 수 있다. 한 구현에서, 선택되지 않은 인트라 모드들의 모드 인덱스는, 제1 인트라 예측 인덱스들 2 내지 11을 갖는 선택된 인트라 예측 모드가 제거될 때, 12 내지 66과 같을 수 있다.
적어도 하나의 구현에서, 추가 모드들의 수가 K와 같을 때, 추가 모드들에 대해 복수의 제2 인트라 예측 인덱스가 N+M 내지 (N+M-1)+K로 설정될 수 있다. 한 구현에서, HEVC에서 M이 32와 같을 때, 제2 인트라 예측 인덱스들은 N+32 내지 N+K+31로 설정될 수 있다. 한 구현에서, VTM에서 M이 65와 같을 때, 제2 인트라 예측 인덱스들은 N+65 내지 N+K+64로 설정될 수 있다. 예를 들어, 제1 인트라 예측 인덱스들 2 내지 11을 갖는 선택된 인트라 예측 모드가 제거될 때, 추가 모드들의 수 K는 10과 같을 수 있다. 따라서, VTM에서 N이 2와 같고 M이 65와 같을 때, 추가 모드들의 제2 인트라 예측 인덱스들은 67 내지 76과 같을 수 있다.
적어도 하나의 구현에서, 방향 모드들 중 R번째 모드의 제1 인트라 예측 인덱스는, M개의 방향 모드들의 제1 인트라 예측 인덱스들이 N 내지 (N-1)+M으로 설정되기 때문에, (N-1)+R과 같을 수 있다. 한 구현에서, VTM에서 N이 2와 같을 때, R번째 방향 모드들의 제1 인트라 예측 인덱스들은 R+1과 같다. 적어도 하나의 구현에서, 방향 모드들 중 Q번째 모드의 제2 인트라 예측 인덱스는, 추가 모드들에 대해 복수의 제2 인트라 예측 인덱스가 N+M 내지 (N+M-1)+K로 설정될 수 있기 때문에, (N+M-1)+Q와 같다. 한 구현에서, VTM에서 N이 2와 같고 M이 65와 같을 때, Q번째 추가 모드의 제2 인트라 예측 인덱스는 65+(Q+1)과 같다.
블록 744에서, 인트라 예측 유닛(22221)은 블록 유닛의 예측자들을 생성하기 위한 모드 인덱스들 중 특정한 하나를 결정한다.
적어도 하나의 구현에서, 인트라 예측 유닛(22221)은, 블록 유닛이 조정된 목록 내의 선택되지 않은 인트라 모드들 중 특정한 모드 및 특정한 모드 인덱스에 대응하는 추가 모드들에 기초하여 예측될 때, 특정한 모드 인덱스를 나타내는 예측 표시를 수신할 수 있다. 한 구현에서, 인트라 예측 유닛(22221)은, 특정한 모드의 배향을 따라, 블록 요소들 각각에 대해 블록 유닛과 이웃하는 이웃 블록들에 기초하여 생성된 기준 샘플들로부터 예측자들 중 하나를 결정할 수 있다.
적어도 하나의 구현에서, 예측 표시가 나타내는 특정한 모드 인덱스가 선택되지 않은 인트라 모드들의 제1 인트라 예측 인덱스들 중 하나와 동일할 때, 특정한 모드 인덱스는 0 이상이고 N+M보다 작을 수 있다. 적어도 하나의 구현에서, 특정한 모드 인덱스가 선택되지 않은 인트라 모드들의 제1 인트라 예측 인덱스들과 상이할 때, 특정한 모드 인덱스는 N+M 이상이다.
도 9a는 인트라 예측을 위한 모드 목록 조정의 제5 예시적인 구현에 따른 플로차트를 도시한다. 이 예시적인 방법은, 이 방법을 실행하는 다양한 방식들이 존재하기 때문에, 단지 예로서 제공되는 것이다. 후술되는 방법은, 예를 들어, 도 1 및 도 2에 도시된 구성을 이용하여 실행될 수 있고, 이들 도면들의 다양한 요소들은 예시적인 방법을 설명하는데 있어서 참조된다. 도 9a에 도시된 각각의 블록은, 예시적인 방법에서 실행되는 하나 이상의 프로세스, 방법, 또는 서브루틴을 나타낸다. 또한, 블록들의 순서는 단지 예시적인 것이며 변경될 수 있다. 본 개시내용을 벗어나지 않고 추가 블록들이 추가되거나 더 적은 수의 블록들이 이용될 수도 있다.
블록 911에서, 디코더 모듈(222)은 이미지 프레임에서 블록 크기를 갖는 블록 유닛을 비디오 데이터로부터 결정한다.
적어도 하나의 구현에서, 비디오 데이터는 비트스트림일 수 있다. 목적지 디바이스(12)는, 목적지 디바이스(12)의 제2 인터페이스(123)를 통해, 소스 디바이스(11) 등의 인코더로부터 비트스트림을 수신할 수 있다. 제2 인터페이스(123)는 비트스트림을 디코더 모듈(222)에 제공한다. 디코더 모듈(222)은 비트스트림에 기초하여 이미지 프레임을 결정하고, 이미지 프레임을 분할하여 비트스트림에서의 복수의 파티션 표시에 따라 블록 유닛을 결정한다. 예를 들어, 디코더 모듈(222)은 이미지 프레임을 분할하여 복수의 코딩 트리 유닛을 생성할 수 있고, 코딩 트리 유닛들 중 하나를 더 분할하여, 임의의 비디오 코딩 표준에 기초해 파티션 표시에 따라 블록 크기를 갖는 블록 유닛을 결정할 수 있다. 적어도 하나의 구현에서, 블록 크기는 블록 높이 및 블록 폭을 포함할 수 있다.
적어도 하나의 구현에서, 엔트로피 디코딩 유닛(2221)은 비트스트림을 디코딩하여 블록 유닛에 대한 복수의 예측 표시를 결정할 수 있고, 디코더 모듈(222)은 또한, 예측 표시에 기초하여 블록 유닛을 재구성할 수 있다. 적어도 하나의 구현에서, 예측 표시는 복수의 플래그 및 복수의 인덱스를 포함할 수 있다.
블록 912에서, 인트라 예측 유닛(22221)은 복수의 인트라 모드를 포함하는 모드 목록을 결정한다.
적어도 하나의 구현에서, 모드 목록 내의 인트라 모드들은 목적지 디바이스(12) 및 소스 디바이스(11)에서 미리정의될 수 있다. 예를 들어, 인트라 모드는, 평면 모드, DC 모드, 및 복수의 방향 모드로서 미리정의될 수 있다. 적어도 하나의 구현에서, 디코더 모듈(222)이 HEVC에서 비트스트림을 디코딩할 때, 방향 모드들의 수는 33과 같을 수 있다. 적어도 하나의 구현에서, 디코더 모듈(222)이 VTM에서 비트스트림을 디코딩할 때, 방향 모드들의 수는 65와 같을 수 있다.
적어도 하나의 구현에서, 인트라 모드들 각각은 제1 인트라 예측 인덱스를 갖는다. 한 구현에서, 디코더 모듈(222)이 HEVC에서 비트스트림을 디코딩할 때, 인트라 모드들의 제1 인트라 예측 인덱스들은 0 내지 34와 같을 수 있다. 이 구현에서, 평면 모드들 및 DC 모드의 제1 인트라 예측 인덱스들은 0 및 1과 같을 수 있고, 방향 모드들의 제1 인트라 예측 인덱스들은 2 내지 33과 같을 수 있다. 한 구현에서, 디코더 모듈(222)이 VTM에서 비트스트림을 디코딩할 때, 인트라 모드들의 제1 인트라 예측 인덱스들은 0 내지 66과 같을 수 있다. 이 구현에서, 평면 모드들 및 DC 모드의 제1 인트라 예측 인덱스들은 0 및 1과 같을 수 있고, 방향 모드들의 제1 인트라 예측 인덱스들은 2 내지 66과 같을 수 있다.
블록 913에서, 인트라 예측 유닛(22221)은 블록 크기에 기초하여 복수의 추가 모드를 결정한다.
적어도 하나의 구현에서, 인트라 예측 유닛(22221)은 블록 크기를 미리정의된 크기와 비교하고, 블록 크기와 미리정의된 크기 사이의 비교에 기초하여 추가 모드들을 결정할 수 있다. 한 구현에서, 추가 모드들은, 블록 크기가 미리정의된 크기보다 클 때, 복수의 제1 추가형 모드일 수 있다. 또 다른 구현에서, 추가 모드들은, 블록 크기가 미리정의된 크기보다 작을 때, 복수의 제2 추가형 모드일 수 있다. 이 구현에서, 제2 추가형 모드들 각각은 제1 추가형 모드와는 상이할 수 있다.
한 구현에서, 인트라 예측 유닛(22221)은 블록 유닛의 블록 폭을 블록 유닛의 블록 높이와 비교하고, 블록 폭과 블록 높이 사이의 비교에 기초하여 추가 모드들을 결정할 수 있다. 한 구현에서, 블록 폭이 블록 높이보다 길 때, 추가 모드들은 복수의 제3 추가형 모드일 수 있다. 또 다른 구현에서, 블록 폭이 블록 높이보다 짧을 때, 추가 모드들은 복수의 제4 추가형 모드일 수 있다. 이 구현에서, 제3 추가형 모드들 각각은 제4 추가형 모드와는 상이할 수 있다.
적어도 하나의 구현에서, 인트라 예측 유닛(22221)은 복수의 인트라 모드를 복수의 인트라 예측 영역으로 분할할 수 있다. 적어도 하나의 구현에서, 인트라 예측 유닛(22221)은 방향 모드를 인트라 예측 영역들로 분할할 수 있다. 한 구현에서, 도 6c에서, 인트라 예측 영역(641-646) 중 제1 영역은 인트라 예측 인덱스들 2 내지 11을 갖는 인트라 모드를 포함할 수 있고, 인트라 예측 영역(641-646) 중 마지막 영역은 인트라 예측 인덱스들 57 내지 66을 갖는 인트라 모드를 포함할 수 있고, 인트라 예측 영역들(641-646) 중 다른 것들은 인트라 예측 인덱스들 12 내지 56을 갖는 인트라 모드를 포함할 수 있다.
적어도 하나의 구현에서, 인트라 예측 유닛(22221)은 블록 크기와 미리정의된 크기 사이의 비교에 기초하여 삽입된 영역을 결정하고, 삽입된 영역에 기초하여 추가 모드들을 생성할 수 있다. 한 구현에서, 블록 크기가 미리정의된 크기보다 작을 때, 삽입된 영역은 제1 인트라 예측 영역(641) 및 마지막 인트라 예측 영역(646) 중 적어도 하나를 포함하도록 미리정의될 수 있다. 또 다른 구현에서, 블록 크기가 미리정의된 크기보다 클 때, 삽입된 영역은 제2 인트라 예측 영역(642) 내지 제5 인트라 예측 영역(645) 중 적어도 하나를 포함하도록 미리정의될 수 있다.
적어도 하나의 구현에서, 인트라 예측 유닛(22221)은 블록 폭과 블록 높이 사이의 비교에 기초하여 삽입된 영역을 결정하고 삽입된 영역에서 추가 모드들을 생성할 수 있다. 한 구현에서, 블록 폭이 블록 높이보다 짧을 때, 삽입된 영역은 제1 인트라 예측 영역(641) 내지 제3 인트라 예측 영역(643) 중 적어도 하나에 기초하여 미리정의될 수 있다. 또 다른 구현에서, 블록 폭이 블록 높이보다 길 때, 삽입된 영역은 제4 인트라 예측 영역(644) 내지 제6 인트라 예측 영역(646) 중 적어도 하나에 기초하여 미리정의될 수 있다. 예를 들어, 블록 폭이 블록 높이보다 짧을 때, 삽입된 영역은 제1 인트라 예측 영역(641)에 기초하여 미리정의될 수 있다. 또한, 블록 폭이 블록 높이보다 길 때, 삽입된 영역은 제6 인트라 예측 영역(646)에 기초하여 미리정의될 수 있다. 적어도 하나의 구현에서, 블록 폭이 블록 높이보다 짧을 때, 제1 인트라 예측 영역(641)에 이웃하는 제1 추가된 영역이 삽입된 영역으로서 미리정의될 수 있다. 또한, 블록 폭이 블록 높이보다 길 때, 제6 인트라 예측 영역(646)에 이웃하는 제2 추가된 영역이 삽입된 영역으로서 미리정의될 수 있다. 이 구현에서, 제2 추가된 영역은 제1 추가된 영역과는 상이할 수 있다. 적어도 하나의 구현에서, 도 8에서, 블록 폭이 블록 높이보다 길 때, 제3 추가형 모드가 추가된 영역(856)에서 생성될 수 있다. 또한, 블록 폭이 블록 높이보다 짧을 때, 제4 추가형 모드가 추가된 영역(851)에서 생성될 수 있다.
블록 914에서, 인트라 예측 유닛(22221)은 추가 모드들을 모드 목록에 추가하여 인트라 모드들 각각을 포함하는 조정된 목록을 생성한다.
적어도 하나의 구현에서, 인트라 예측 유닛(22221)은, 추가 모드들이 모드 목록에 추가될 때, 추가 모드들 각각에 대해 제2 인트라 예측 인덱스를 설정할 수 있다. 적어도 하나의 구현에서, 인트라 모드들 각각은 제1 인트라 예측 인덱스를 갖는다. 적어도 하나의 구현에서, 인트라 모드들은, 0 내지 N-1로 설정된 제1 인트라 예측 인덱스들을 갖는 N개의 비방향 모드, 및 N 내지 N+M-1로 설정된 제1 인트라 예측 인덱스들을 갖는 M개의 방향 모드를 포함할 수 있다.
적어도 하나의 구현에서, 인트라 모드는, HEVC에서 N이 2와 같고 M이 32와 같을 때, 0 및 1로 설정된 제1 인트라 예측 인덱스들을 갖는 2개의 비방향 모드, 및 2 내지 33으로 설정된 제1 인트라 예측 인덱스들을 갖는 32개의 방향 모드를 포함할 수 있다. 적어도 하나의 구현에서, 인트라 모드는, VTM에서 N이 2와 같고 M이 65와 같을 때, 0 및 1로서 설정된 제1 인트라 예측 인덱스들을 갖는 2개의 비방향 모드, 및 2 내지 66으로서 설정된 제1 인트라 예측 인덱스들을 갖는 65개의 방향 모드를 포함할 수 있다.
적어도 하나의 구현에서, 추가 모드들의 수가 K와 같을 때, 제2 인트라 예측 인덱스들이 N+M 내지 N+M+K로 설정될 수 있다. 한 구현에서, HEVC에서 M이 32와 같을 때, 제2 인트라 예측 인덱스들은 N+32 내지 N+K+32로 설정될 수 있다. 한 구현에서, VTM에서 M이 65와 같을 때, 제2 인트라 예측 인덱스들은 N+65 내지 N+K+64로 설정될 수 있다. 예를 들어, 제1 인트라 예측 인덱스들 2 내지 11을 갖는 선택된 인트라 예측 모드가 제거될 때, 추가 모드들의 수 K는 10과 같을 수 있다. 따라서, VTM에서 N이 2이고 M이 65와 같을 때, 추가 모드들의 제2 인트라 예측 인덱스들은 67 내지 76과 같을 수 있다.
블록 915에서, 인트라 예측 유닛(22221)은 조정된 목록에 기초하여 블록 유닛에 대한 복수의 예측자를 생성한다.
적어도 하나의 구현에서, 인트라 예측 유닛(22221)은 비트스트림으로부터 예측 표시를 결정할 수 있다. 적어도 하나의 구현에서, 인트라 예측 유닛(22221)은, 예측 표시들 중 특정한 하나에 기초하여, 블록 크기에 따라 도출된 조정된 목록 내의 인트라 모드들 및 추가 모드들 중 하나를 결정할 수 있다. 적어도 하나의 구현에서, 특정한 예측 표시는, 결정된 모드의 제2 인트라 예측 인덱스와 동일한 모드 인덱스를 표시한다. 따라서, 인트라 예측 유닛(22221)은 모드 인덱스에 기초하여 결정된 모드를 도출할 수 있다. 적어도 하나의 구현에서, 특정한 예측 표시에 의해 표시된 모드 인덱스는 결정된 모드의 제1 인트라 예측 인덱스와 동일할 수 있다.
적어도 하나의 구현에서, 블록 유닛은 복수의 블록 요소를 포함할 수 있다. 이 구현에서, 블록 요소들 각각은 픽셀 요소일 수 있다. 적어도 하나의 구현에서, 인트라 예측 유닛(22221)은, 블록 유닛에 대해 도출된 결정된 모드의 배향을 따라, 블록 요소들 각각에 대해 블록 유닛과 이웃하는 복수의 이웃 블록에 기초하여 예측자들 중 하나를 결정할 수 있다. 한 구현에서, 결정된 모드는, 블록 크기에 따라 도출된 조정된 목록 내의 인트라 모드들 및 추가 모드들 중 결정된 하나일 수 있다.
적어도 하나의 구현에서, 목적지 디바이스(12) 내의 디코더 모듈(222)의 제1 합산기(2224)는, 결정된 모드에 기초하여 도출된 예측자를 비트스트림으로부터 결정된 복수의 잔차 샘플에 추가하여 블록 유닛을 재구성할 수 있다. 또한, 디코더 모듈(222)은 이미지 프레임 및 비디오를 재구성하기 위해 이미지 프레임 내의 다른 블록 유닛들 모두를 재구성할 수 있다.
도 9b는 인트라 예측을 위한 모드 목록 조정의 제6 예시적인 구현에 따른 플로차트를 도시한다. 이 예시적인 방법은, 이 방법을 실행하는 다양한 방식들이 존재하기 때문에, 단지 예로서 제공되는 것이다. 후술되는 방법은, 예를 들어, 도 1 및 도 2에 도시된 구성을 이용하여 실행될 수 있고, 이들 도면들의 다양한 요소들은 예시적인 방법을 설명하는데 있어서 참조된다. 도 9b에 도시된 각각의 블록은, 예시적인 방법에서 실행되는 하나 이상의 프로세스, 방법, 또는 서브루틴을 나타낸다. 또한, 블록들의 순서는 단지 예시적인 것이며 변경될 수 있다. 본 개시내용을 벗어나지 않고 추가 블록들이 추가되거나 더 적은 수의 블록들이 이용될 수도 있다.
블록 921에서, 디코더 모듈(222)은 비디오 데이터로부터 이미지 프레임 내의 블록 유닛을 결정하고, 블록 유닛과 이웃하는 복수의 이웃 블록을 결정한다.
적어도 하나의 구현에서, 비디오 데이터는 비트스트림일 수 있다. 목적지 디바이스(12)는, 목적지 디바이스(12)의 제2 인터페이스(123)를 통해, 소스 디바이스(11) 등의 인코더로부터 비트스트림을 수신할 수 있다. 제2 인터페이스(123)는 비트스트림을 디코더 모듈(222)에 제공한다. 디코더 모듈(222)은 비트스트림에 기초하여 이미지 프레임을 결정하고, 이미지 프레임을 분할하여 비트스트림에서의 복수의 파티션 표시에 따라 블록 유닛을 결정한다. 예를 들어, 디코더 모듈(222)은 이미지 프레임을 분할하여 복수의 코딩 트리 유닛을 생성할 수 있고, 코딩 트리 유닛들 중 하나를 더 분할하여, 임의의 비디오 코딩 표준에 기초해 파티션 표시에 따라 블록 크기를 갖는 블록 유닛을 결정할 수 있다.
적어도 하나의 구현에서, 엔트로피 디코딩 유닛(2221)은 비트스트림을 디코딩하여 블록 유닛에 대한 복수의 예측 표시를 결정할 수 있고, 디코더 모듈(222)은 또한, 예측 표시에 기초하여 블록 유닛을 재구성할 수 있다. 적어도 하나의 구현에서, 예측 표시는 복수의 플래그 및 복수의 인덱스를 포함할 수 있다.
적어도 하나의 구현에서, 목적지 디바이스(12)의 예측 프로세스 유닛(2222)은 블록 유닛과 이웃하는 이웃 블록을 결정한다. 이 구현에서, 이웃 블록들은 복수의 기준 라인에 포함될 수 있다. 이 구현에서, 기준 라인들 중 제1 라인의 이웃 블록들은 블록 유닛에 인접하고, 기준 라인들 중 제2 라인의 이웃 블록들은 제1 기준 라인의 이웃 블록들에 인접한다. 적어도 하나의 구현에서, 이웃 블록들은, 이웃 블록들이 블록 유닛을 재구성하기 위한 복수의 기준 후보가 될 수 있도록 블록 유닛을 재구성하기 전에 재구성될 수 있다. 적어도 하나의 구현에서, 블록 유닛은, 인트라 예측 유닛(22221)이 재구성된 이웃 블록들과 패딩함으로써 재구성되지 않은 이웃 블록들에 대한 블록 유닛의 기준 샘플들을 생성할 수 있도록 이웃 블록들 중 일부를 재구성하기 전에 재구성될 수 있다.
블록 922에서, 인트라 예측 유닛(22221)은 복수의 인트라 모드를 포함하는 모드 목록을 결정하고, 이웃 블록들의 예측 정보를 결정한다.
적어도 하나의 구현에서, 모드 목록 내의 인트라 모드들은 목적지 디바이스(12) 및 소스 디바이스(11)에서 미리정의될 수 있다. 예를 들어, 인트라 모드는, 평면 모드, DC 모드, 및 복수의 방향 모드로서 미리정의될 수 있다. 적어도 하나의 구현에서, 디코더 모듈(222)이 HEVC에서 비트스트림을 디코딩할 때, 방향 모드들의 수는 33과 같을 수 있다. 적어도 하나의 구현에서, 디코더 모듈(222)이 VTM에서 비트스트림을 디코딩할 때, 방향 모드들의 수는 65와 같을 수 있다.
적어도 하나의 구현에서, 인트라 모드들 각각은 제1 인트라 예측 인덱스를 갖는다. 한 구현에서, 디코더 모듈(222)이 HEVC에서 비트스트림을 디코딩할 때, 인트라 모드들의 제1 인트라 예측 인덱스들은 0 내지 34와 같을 수 있다. 이 구현에서, 평면 모드들 및 DC 모드의 제1 인트라 예측 인덱스들은 0 및 1과 같을 수 있고, 방향 모드들의 제1 인트라 예측 인덱스들은 2 내지 33과 같을 수 있다. 한 구현에서, 디코더 모듈(222)이 VTM에서 비트스트림을 디코딩할 때, 인트라 모드들의 제1 인트라 예측 인덱스들은 0 내지 66과 같을 수 있다. 이 구현에서, 평면 모드들 및 DC 모드의 제1 인트라 예측 인덱스들은 0 및 1과 같을 수 있고, 방향 모드들의 제1 인트라 예측 인덱스들은 2 내지 66과 같을 수 있다.
적어도 하나의 구현에서, 이웃 블록들의 예측 정보는 이웃 블록들의 복수의 디코딩된 모드를 포함할 수 있다. 한 구현에서, 이웃 블록들의 디코딩된 모드들이 인트라 예측일 때, 예측 정보는 이웃 블록들의 복수의 예측 모드를 더 포함할 수 있다. 이 구현에서, 예측 모드들은 이웃 블록을 재구성하기 위해 모드 목록 내의 인트라 모드들로부터 선택된다. 적어도 하나의 구현에서, 인트라 예측 유닛(22221)은 이웃 블록의 예측 모드를 체크하고, 블록 유닛에 대한 이웃 블록의 예측 모드에 기초하여 복수의 가장 가능성있는 모드(MPM)를 결정할 수 있다. 한 구현에서, 인트라 예측 유닛(22221)은, 특정한 이웃 블록의 디코딩된 모드가 인터 예측일 때, 이웃 블록들 중 특정한 블록을 바이패스하고 다른 이웃 블록들의 디코딩된 모드를 체크할 수 있다.
적어도 하나의 구현에서, 이웃 블록들의 예측 정보는, 이웃 블록들이 재구성되는지를 결정하는데 이용되는 임의의 정보일 수 있다. 예를 들어, 인트라 예측 유닛(22221)은 제1 합산기(2224)에 의해 생성된 이웃 블록들의 복수의 재구성된 성분들을 직접 수신할 수 있다. 인트라 예측 유닛(22221)이 이웃 블록들의 재구성된 성분들을 수신할 때, 인트라 예측 유닛(22221)은, 이웃 블록들이 블록 유닛을 재구성하기 전에 재구성된다고 결정할 수 있다. 인트라 예측 유닛(22221)이 이웃 블록들의 재구성된 성분들을 수신하지 않을 때, 인트라 예측 유닛(22221)은, 이웃 블록들이 블록 유닛을 재구성하기 전에 재구성되지 않는다고 결정할 수 있다. 한 구현에서, 이웃 블록들의 재구성된 성분들은, 블록 유닛을 재구성하기 전에 모든 이웃 블록들이 재구성될 때, 블록 유닛의 복수의 기준 샘플을 생성하는데 이용될 수 있다. 다른 구현들에서, 이웃 블록들 중 특정한 이웃 블록은, 그 특정한 이웃 블록이 블록 유닛을 재구성하는 동안 재구성되지 않았을 때, 기준 샘플들을 생성하는데 이용되지 않을 수 있다. 이 구현에서, 인트라 예측 유닛(22221)은 다른 이웃 블록들과 패딩함으로써 특정한 이웃 블록에 대응하는 기준 샘플들 중 특정한 샘플을 생성할 수 있다.
블록 923에서, 인트라 예측 유닛(22221)은 이웃 블록들의 예측 정보에 기초하여 복수의 추가 모드를 결정한다.
적어도 하나의 구현에서, MPM 및 방향 모드를 포함하는 인트라 모드들 각각은 배향을 포함한다. 적어도 하나의 구현에서, 인트라 예측 유닛(22221)은 MPM들의 배향들을 방향 모드들의 배향들과 비교할 수 있다. 적어도 하나의 구현에서, 인트라 예측 유닛(22221)은 MPM들의 배향들과 방향 모드들의 배향들 사이의 비교에 기초하여 추가 모드들을 결정할 수 있다. 한 구현에서, MPM 모드에 가까운 새로운 방향 모드가 생성될 수 있다.
적어도 하나의 구현에서, 인트라 예측 유닛(22221)은 어떤 이웃 블록이 재구성되지 않았는지를 결정하고, 어떤 인트라 모드가 블록 유닛으로부터 결정된 이웃 블록들로 향하는지를 결정할 수 있다. 이 구현에서, 인트라 예측 유닛(22221)은 결정된 인트라 모드들의 배향들과 방향 모드들의 배향들 사이의 비교에 기초하여 추가 모드들을 결정할 수 있다. 한 구현에서, 결정된 인트라 모드들로부터 먼 새로운 방향 모드가 생성될 수 있다.
적어도 하나의 구현에서, 인트라 예측 유닛(22221)은 방향 모드들을 복수의 인트라 예측 영역으로 분할할 수 있다. 이 구현에서, 인트라 예측 영역들의 수는 목적지 디바이스(12) 및 소스 디바이스(11)에서 미리정의될 수 있다. 예를 들어, 인트라 예측 영역의 수는 4, 6 또는 13과 같을 수 있다. 한 구현에서, 도 6c에서, 인트라 예측 영역(641-646) 중 제1 영역은 인트라 예측 인덱스들 2 내지 11을 갖는 인트라 모드를 포함할 수 있고, 인트라 예측 영역(641-646) 중 마지막 영역은 인트라 예측 인덱스들 57 내지 66을 갖는 인트라 모드를 포함할 수 있고, 인트라 예측 영역들(641-646) 중 다른 것들은 인트라 예측 인덱스들 12 내지 56을 갖는 인트라 모드를 포함할 수 있다.
적어도 하나의 구현에서, 인트라 예측 유닛(22221)은 MPM들의 배향들과 방향 모드들의 배향들 사이의 비교에 기초하여 삽입된 영역을 결정하고 삽입된 영역에 기초하여 추가 모드들을 생성할 수 있다. 한 구현에서, 특정한 인트라 예측 영역이 블록 유닛의 MPM의 대부분을 포함할 때, 삽입된 영역은 인트라 예측 영역(641-646) 중 특정한 하나를 포함하도록 설정될 수 있다.
적어도 하나의 구현에서, 인트라 예측 유닛(22221)은 어떤 이웃 블록이 재구성되지 않았는지를 결정하고, 어떤 인트라 모드가 블록 유닛으로부터 결정된 이웃 블록들로 향하는지를 결정할 수 있다. 이 구현에서, 인트라 예측 유닛(22221)은 또한, 인트라 예측 영역들 중 어느 것이 결정된 인트라 모드들을 포함하는지를 결정할 수 있다. 한 구현에서, 삽입된 영역은 결정된 인트라 예측 영역과는 상이할 수 있다. 또 다른 구현에서, 삽입된 영역은 결정된 인트라 예측 영역으로부터 멀리 떨어져 있을 수 있다. 예를 들어, 블록 유닛(81)의 좌측에 있는 이웃 블록들은, 블록 유닛(81)이 디코딩 중에 있을 때 디코딩되지 않는다. 이 구현에서, 블록 유닛으로부터 이웃 블록들로 향하는 결정된 인트라 모드들의 배향은 수평 배향과 유사할 수 있다. 따라서, 수평 배향으로부터 멀리 떨어진 삽입된 영역은 도 8의 제1 추가된 영역(851)일 수 있다. 다른 구현에서, 블록 유닛으로부터 이웃 블록들로 향하는 결정된 인트라 모드들의 배향이 수직 배향과 유사할 때, 수직 배향으로부터 멀리 떨어진 삽입된 영역은 제2 추가된 영역(856)일 수 있다.
블록 924에서, 인트라 예측 유닛(22221)은 추가 모드들을 모드 목록에 추가하여 인트라 모드들 각각을 포함하는 조정된 목록을 생성한다.
적어도 하나의 구현에서, 인트라 예측 유닛(22221)은, 추가 모드들이 모드 목록에 추가될 때, 추가 모드들 각각에 대해 제2 인트라 예측 인덱스를 설정할 수 있다. 적어도 하나의 구현에서, 인트라 모드들 각각은 제1 인트라 예측 인덱스를 갖는다. 적어도 하나의 구현에서, 인트라 모드들은, 0 내지 N-1로 설정된 제1 인트라 예측 인덱스들을 갖는 N개의 비방향 모드, 및 N 내지 N+M-1로 설정된 제1 인트라 예측 인덱스들을 갖는 M개의 방향 모드를 포함할 수 있다.
적어도 하나의 구현에서, 인트라 모드는, HEVC에서 N이 2와 같고 M이 32와 같을 때, 0 및 1로 설정된 제1 인트라 예측 인덱스들을 갖는 2개의 비방향 모드, 및 2 내지 33으로 설정된 제1 인트라 예측 인덱스들을 갖는 32개의 방향 모드를 포함할 수 있다. 적어도 하나의 구현에서, 인트라 모드는, VTM에서 N이 2와 같고 M이 65와 같을 때, 0 및 1로서 설정된 제1 인트라 예측 인덱스들을 갖는 2개의 비방향 모드, 및 2 내지 66으로서 설정된 제1 인트라 예측 인덱스들을 갖는 65개의 방향 모드를 포함할 수 있다.
적어도 하나의 구현에서, 추가 모드들의 수가 K와 동일할 때, 제2 인트라 예측 인덱스들이 N+M 내지 N+M+K로 설정될 수 있다. 한 구현에서, HEVC에서 M이 32와 같을 때, 제2 인트라 예측 인덱스들은 N+32 내지 N+K+32로 설정될 수 있다. 한 구현에서, VTM에서 M이 65와 같을 때, 제2 인트라 예측 인덱스들은 N+65 내지 N+K+64로 설정될 수 있다. 예를 들어, 제1 인트라 예측 인덱스들 2 내지 11을 갖는 선택된 인트라 예측 모드들이 제거될 때, 추가 모드들의 수 K는 10과 같다. 따라서, 추가 모드들의 제2 인트라 예측 인덱스들은 67 내지 76과 같을 수 있다.
블록 925에서, 인트라 예측 유닛(22221)은 조정된 목록에 기초하여 블록 유닛에 대한 복수의 예측자를 생성한다.
적어도 하나의 구현에서, 인트라 예측 유닛(22221)은 비트스트림으로부터 예측 표시를 결정할 수 있다. 한 구현에서, 인트라 예측 유닛(22221)은, 예측 표시들 중 특정한 하나에 기초하여, 이웃 블록들의 예측 정보에 따라 도출된 조정된 목록 내의 인트라 모드들 및 추가 모드들 중 하나를 결정할 수 있다. 적어도 하나의 구현에서, 특정한 예측 표시는, 결정된 모드의 제2 인트라 예측 인덱스와 동일한 모드 인덱스를 표시한다. 따라서, 인트라 예측 유닛(22221)은 모드 인덱스에 기초하여 결정된 모드를 도출할 수 있다. 적어도 하나의 구현에서, 특정한 예측 표시에 의해 표시된 모드 인덱스는 결정된 모드의 제1 인트라 예측 인덱스와 동일할 수 있다.
적어도 하나의 구현에서, 블록 유닛은 복수의 블록 요소를 포함할 수 있다. 이 구현에서, 블록 요소들 각각은 픽셀 요소일 수 있다. 적어도 하나의 구현에서, 인트라 예측 유닛(22221)은, 블록 유닛에 대해 도출된 결정된 모드의 배향들 중 특정한 배향을 따라, 블록 요소들 각각에 대해 블록 유닛과 이웃하는 이웃 블록들에 기초하여 예측자들 중 하나를 결정할 수 있다. 한 구현에서, 결정된 모드는 이웃 블록들의 예측 정보에 따라 도출된 조정된 목록 내의 인트라 모드들 및 추가 모드들 중 결정된 것일 수 있다.
적어도 하나의 구현에서, 목적지 디바이스(12) 내의 디코더 모듈(222)의 제1 합산기(2224)는, 결정된 모드에 기초하여 도출된 예측자를 비트스트림으로부터 결정된 복수의 잔차 샘플에 추가하여 블록 유닛을 재구성할 수 있다. 또한, 디코더 모듈(222)은 이미지 프레임 및 비디오를 재구성하기 위해 이미지 프레임 내의 다른 블록 유닛들 모두를 재구성할 수 있다.
도 10은, 도 1의 시스템에서의 소스 디바이스(11)의 인코더 모듈(1012)의 예시적인 구현을 나타내는 인코더 모듈(1012)의 블록도이다. 적어도 하나의 구현에서, 인코더 모듈(1012)은, 예측 프로세스 유닛(10121), 제1 합산기(10122), 변환/양자화 유닛(10123), 역양자화/역변환 유닛(10124), 제2 합산기(10125), 필터링 유닛(10126), 디코딩된 픽처 버퍼(10127), 및 엔트로피 인코딩 유닛(10128)을 포함한다. 적어도 하나의 구현에서, 인코더 모듈(1012)의 예측 프로세스 유닛(10121)은, 파티션 유닛(101211), 인트라 예측 유닛(101212), 및 인터 예측 유닛(101213)을 더 포함한다. 적어도 하나의 구현에서, 인코더 모듈(1012)은 소스 비디오를 수신하고, 소스 비디오를 인코딩하여 비트스트림을 출력한다.
적어도 하나의 구현에서, 인코더 모듈(1012)은 복수의 이미지 프레임을 포함하는 소스 비디오를 수신한 다음, 코딩 구조에 따라 이미지 프레임을 분할할 수 있다. 적어도 하나의 구현에서, 이미지 프레임들 각각은 적어도 하나의 이미지 블록으로 분할될 수 있다. 적어도 하나의 이미지 블록은, 복수의 휘도 샘플을 갖는 휘도 블록, 및 복수의 색차 샘플을 갖는 적어도 하나의 색차 블록을 포함할 수 있다. 휘도 블록 및 적어도 하나의 색차 블록은 추가로 분할되어, 매크로블록, 코딩 트리 유닛(CTU), 코딩 블록(CB), 그 세분, 및/또는 또 다른 균등한 코딩 유닛을 생성할 수 있다. 적어도 하나의 구현에서, 인코더 모듈(1012)은 소스 비디오의 추가적인 세분(sub-division)을 수행할 수 있다. 여기서 설명되는 개시내용은, 소스 비디오가 인코딩 이전 및/또는 인코딩 동안 어떻게 분할되는지에 관계없이, 비디오 코딩에 일반적으로 적용가능하다는 점에 유의해야 한다.
적어도 하나의 구현에서, 인코딩 프로세스 동안, 예측 프로세스 유닛(10121)은 이미지 프레임들 중 특정한 프레임의 현재 이미지 블록을 수신한다. 현재 이미지 블록은 특정한 이미지 프레임에서 휘도 블록과 적어도 하나의 색차 블록 중 하나일 수 있다. 파티션 유닛(101211)은 현재 이미지 블록을 복수의 블록 유닛으로 분할한다. 인트라 예측 유닛(101212)은, 현재 블록 유닛과 동일한 프레임에서 하나 이상의 이웃 블록에 관한 현재 블록 유닛의 인트라 예측 코딩을 수행하여 공간 예측을 제공할 수 있다. 인터 예측 유닛(101213)은, 하나 이상의 기준 이미지 블록에서 하나 이상의 블록에 관한 현재 블록 유닛의 인터 예측 코딩을 수행하여 시간적 예측을 제공할 수 있다.
적어도 하나의 구현에서, 예측 프로세스 유닛(10121)은, 비용 함수 등의 모드 선택 방법에 기초하여 인트라 예측 유닛(101212) 및 인터 예측 유닛(101213)에 의해 생성된 코딩 결과들 중 하나를 선택할 수 있다. 적어도 하나의 구현에서, 모드 선택 방법은 레이트-왜곡 최적화(rate-distortion optimization)(RDO) 프로세스일 수 있다. 예측 프로세스 유닛(10121)은 선택된 코딩 결과를 결정하고, 선택된 코딩 결과에 대응하는 예측된 블록을, 잔차 블록을 생성하기 위한 제1 합산기(10122) 및 인코딩된 블록 유닛을 재구성하기 위한 제2 합산기(10125)에 제공한다. 적어도 하나의 구현에서, 예측 프로세스 유닛(10121)은 또한, 움직임 벡터, 인트라 모드 표시자, 파티션 정보, 및 다른 신택스 정보 등의 신택스 요소들을 엔트로피 인코딩 유닛(10128)에 제공할 수 있다.
적어도 하나의 구현에서, 인트라 예측 유닛(101212)은 현재 블록 유닛을 인트라 예측할 수 있다. 적어도 하나의 구현에서, 인트라 예측 유닛(101212)은 현재 블록 유닛을 인코딩하기 위해 현재 블록 유닛에 이웃하는 재구성된 샘플 쪽으로 향하는 인트라 예측 모드를 결정할 수 있다. 적어도 하나의 구현에서, 인트라 예측 유닛(101212)은 다양한 인트라 예측 모드를 이용하여 현재 블록 유닛을 인코딩할 수 있고, 인트라 예측 유닛(101212) 또는 예측 프로세스 유닛(10121)은 테스트된 모드들로부터 적절한 인트라 예측 모드를 선택할 수 있다. 적어도 하나의 구현에서, 인트라 예측 유닛(101212)은, 현재 블록 유닛의 루마 성분들에 기초하여 현재 블록 유닛의 2개의 크로마 성분들 중 하나를 예측하기 위해 교차 성분 예측 모드(cross component prediction mode)를 이용하여 현재 블록 유닛을 인코딩할 수 있다. 또한, 인트라 예측 유닛(101212)은 현재 블록 유닛의 2개의 크로마 성분 중 다른 하나에 기초하여 현재 블록 유닛의 2개의 크로마 성분 중 제1 크로마 성분을 예측할 수 있다.
적어도 하나의 구현에서, 인터 예측 유닛(101213)은, 전술된 바와 같이, 인트라 예측 유닛(101212)에 의해 수행된 인트라 예측에 대한 대안으로서 현재 블록 유닛을 인터 예측할 수 있다. 인터 예측 유닛(101213)은 움직임 추정을 수행하여 움직임 벡터를 생성하기 위한 현재 블록 유닛의 움직임을 추정할 수 있다. 움직임 벡터는, 기준 이미지 블록 내의 기준 블록 유닛에 관한 현재 이미지 블록 내의 현재 블록 유닛의 변위를 나타낼 수 있다. 적어도 하나의 구현에서, 인터 예측 유닛(101213)은 디코딩된 픽처 버퍼(10127)에 저장된 적어도 하나의 기준 이미지 블록을 수신하고, 수신된 기준 이미지 블록에 기초하여 움직임을 추정하여 움직임 벡터를 생성한다.
적어도 하나의 구현에서, 제1 합산기(10122)는 원래의 현재 블록 유닛으로부터 예측 프로세스 유닛(10121)에 의해 결정된 예측 블록을 감산함으로써 잔차 블록을 생성한다. 제1 합산기(10122)는 이 감산 연산을 수행하는 컴포넌트 또는 컴포넌트들을 나타낸다.
적어도 하나의 구현에서, 변환/양자화 유닛(10123)은 잔차 블록에 변환을 적용하여 잔차 변환 계수를 생성한 다음, 잔차 변환 계수를 양자화하여 비트 레이트를 추가로 감소시킨다. 적어도 하나의 구현에서, 변환은, DCT, DST, AMT, MDNSST, HyGT, 신호 의존 변환, KLT, 웨이블릿 변환, 정수 변환, 부-대역 변환 또는 개념적으로 유사한 변환일 수 있다. 적어도 하나의 구현에서, 변환은, 잔차 정보를 픽셀 값 영역으로부터 주파수 영역 등의 변환 영역으로 변환할 수 있다. 적어도 하나의 구현에서, 양자화의 정도는 양자화 파라미터를 조정함으로써 수정될 수 있다. 적어도 하나의 구현에서, 변환/양자화 유닛(10123)은 양자화된 변환 계수를 포함하는 매트릭스의 스캔을 수행할 수 있다. 대안으로서, 엔트로피 인코딩 유닛(10128)은 스캔을 수행할 수 있다.
적어도 하나의 구현에서, 엔트로피 인코딩 유닛(10128)은, 양자화 파라미터, 변환 데이터, 움직임 벡터, 인트라 모드, 파티션 정보, 및 기타의 신택스 정보를 포함한 복수의 신택스 요소를, 예측 프로세스 유닛(10121), 및 변환/양자화 유닛(10123)으로부터 수신하고, 신택스 요소들을 비트스트림으로 인코딩한다. 적어도 하나의 구현에서, 엔트로피 인코딩 유닛(10128)은 양자화된 변환 계수를 엔트로피 인코딩한다. 적어도 하나의 구현에서, 엔트로피 인코딩 유닛(10128)은, CAVLC, CABAC, SBAC, PIPE 코딩 또는 또 다른 엔트로피 코딩 기술을 수행하여 인코딩된 비트스트림을 생성할 수 있다. 적어도 하나의 구현에서, 인코딩된 비트스트림은 또 다른 디바이스(예를 들어, 목적지 디바이스(12))에 전송되거나 나중의 전송 또는 회수를 위해 아카이브될 수 있다.
적어도 하나의 구현에서, 역양자화/역변환 유닛(10124)은 역양자화 및 역변환을 적용하여 기준 블록으로서의 나중의 이용을 위해 픽셀 영역에서 잔차 블록을 재구성할 수 있다. 적어도 하나의 구현에서, 제2 합산기(10125)는 예측 프로세스 유닛(10121)으로부터 제공된 예측 블록에 재구성된 잔차 블록을 추가하여 디코딩된 픽처 버퍼(10127)에 저장하기 위한 재구성된 블록을 생성한다.
적어도 하나의 구현에서, 필터링 유닛(10126)은 재구성된 블록으로부터 블록화 아티팩트를 제거하기 위한 디블로킹 필터, SAO 필터, 양방향 필터, 및/또는 ALF를 포함할 수 있다. 디블로킹 필터, SAO 필터, 양방향 필터 및 ALF 외에도 (루프 내에서 또는 루프 이후에) 추가적인 필터가 이용될 수도 있다. 이러한 필터들은, 간결성을 위해 도시되지 않았지만, 원한다면 제2 합산기(10125)의 출력을 필터링할 수 있다.
적어도 하나의 구현에서, 디코딩된 픽처 버퍼(10127)는, 예를 들어 인트라 또는 인터 코딩 모드에서, 인코더 모듈(1012)에 의해 비디오를 인코딩하는데 이용하기 위한 기준 블록을 저장하는 기준 픽처 메모리일 수 있다. 디코딩된 픽처 버퍼(10127)는, SDRAM, MRAM, RRAM을 포함한 DRAM 또는 다른 유형의 메모리 디바이스 등의, 다양한 메모리 디바이스들 중 임의의 것에 의해 형성될 수 있다. 적어도 하나의 구현에서, 디코딩된 픽처 버퍼(10127)는 인코더 모듈(1012)의 다른 컴포넌트들과 온칩이거나, 이들 컴포넌트들에 관해 오프 칩일 수 있다.
적어도 하나의 구현에서, 인코더 모듈(1012)은 도 3에 도시된 바와 같이 인트라 예측을 위한 모드 목록 조정 방법을 수행할 수 있다. 도 3의 방법은, 예를 들어, 도 1 및 도 10에 도시된 구성을 이용하여 실행될 수 있고, 이들 도면들의 다양한 요소들은 예시적인 방법을 설명하는데 있어서 참조된다. 또한, 도 3에서 블록들의 순서는 단지 예시적인 것이며 변경될 수 있다. 본 개시내용을 벗어나지 않고 추가 블록들이 추가되거나 더 적은 수의 블록들이 이용될 수도 있다.
블록 31에서, 인코더 모듈(1012)은 이미지 프레임에서 블록 크기를 갖는 블록 유닛을 비디오 데이터로부터 결정한다.
적어도 하나의 구현에서, 비디오 데이터는 비디오일 수 있다. 소스 디바이스(11)는 소스 모듈(111)에 의해 비디오를 수신할 수 있다. 인코더 모듈(1012)은 비디오로부터 이미지 프레임을 결정하고, 이미지 프레임을 분할하여 블록 유닛을 결정한다.
적어도 하나의 구현에서, 소스 디바이스(11)의 예측 프로세스 유닛(10121)은 파티션 유닛(101211)을 통해 비디오로부터 블록 유닛을 결정한 다음, 인코더 모듈(1012)은 파티션 유닛(101211)의 파티션 결과에 기초하여 복수의 파티션 표시를 비트스트림 내에 제공한다. 적어도 하나의 구현에서, 블록 크기는 블록 높이 및 블록 폭을 포함할 수 있다.
블록 32에서, 인트라 예측 유닛(101212)은 복수의 인트라 모드를 포함하는 모드 목록을 결정한다.
적어도 하나의 구현에서, 모드 목록 내의 인트라 모드들은 목적지 디바이스(12) 및 소스 디바이스(11)에서 미리정의될 수 있다. 예를 들어, 인트라 모드는, 평면 모드, DC 모드, 및 복수의 방향 모드로서 미리정의될 수 있다.
블록 33에서, 인트라 예측 유닛(101212)은 블록 크기에 기초하여 인트라 모드들 중 적어도 하나를 선택한다.
적어도 하나의 구현에서, 인트라 예측 유닛(101212)은, 블록 크기와 미리정의된 크기 사이의 비교에 기초하여, 선택된 인트라 모드들을 결정할 수 있다. 블록 크기가 미리정의된 크기보다 클 때, 선택된 인트라 모드들은 적어도 하나의 제1 선택된 모드일 수 있다. 블록 크기가 미리정의된 크기보다 작을 때, 선택된 인트라 모드들은 적어도 하나의 제1 선택된 모드와는 상이한 적어도 하나의 제2 선택된 모드일 수 있다.
적어도 하나의 구현에서, 인트라 예측 유닛(101212)은, 블록 폭과 블록 높이 사이의 비교에 기초하여, 선택된 인트라 모드들을 결정할 수 있다. 블록 폭이 블록 높이보다 길 때, 선택된 인트라 모드들은 적어도 하나의 제3 선택된 모드일 수 있다. 블록 폭이 블록 높이보다 짧을 때, 선택된 인트라 모드들은 적어도 하나의 제3 선택된 모드와는 상이한 적어도 하나의 제4 선택된 모드일 수 있다.
블록 34에서, 인트라 예측 유닛(101212)은 선택된 적어도 하나의 인트라 모드를 모드 목록으로부터 제거하여 선택되지 않은 인트라 모드들 각각을 포함하는 조정된 목록을 생성한다.
적어도 하나의 구현에서, 인트라 예측 유닛(101212)이 모드 목록으로부터 선택된 인트라 모드들 모두를 제거할 때, 선택되지 않은 인트라 모드들은 모드 목록 내의 복수의 잔여 인트라 모드일 수 있다. 이 구현에서, 인트라 예측 유닛(101212)은 선택되지 않은 인트라 모드들을 포함하는 조정된 목록을 생성할 수 있다. 적어도 하나의 구현에서, 인트라 예측 유닛(101212)은 블록 크기에 기초하여 복수의 추가 모드를 조정된 목록에 추가할 수 있다. 적어도 하나의 구현에서, 인트라 예측 유닛(101212)은 선택되지 않은 인트라 모드들 및 추가 모드들 각각에 대해 제2 인트라 예측 인덱스를 설정할 수 있다.
블록 35에서, 인트라 예측 유닛(101212)은 조정된 목록에 기초하여 블록 유닛에 대한 복수의 예측자를 생성한다.
적어도 하나의 구현에서, 블록 유닛은 복수의 블록 요소를 포함할 수 있다. 이 구현에서, 블록 요소들 각각은 픽셀 요소일 수 있다. 적어도 하나의 구현에서, 인트라 예측 유닛(101212)은, 블록 유닛에 대한 조정된 목록으로부터 도출된 배향을 따라, 블록 요소들 각각에 대해 블록 유닛과 이웃하는 복수의 이웃 블록에 기초하여 예측자들 중 하나를 결정할 수 있다. 한 구현에서, 배향은 조정된 목록 내의 선택되지 않은 인트라 모드들 중 하나로부터 도출될 수 있다. 또 다른 구현에서, 배향은 조정된 목록 내의 선택되지 않은 인트라 모드들 및 추가 모드들 중 하나로부터 도출될 수 있다. 이 구현에서, 인코더 모듈(1012)은 블록 유닛을 예측하여 예측자들에 기초하여 복수의 잔차 샘플을 생성하고, 잔차 샘플들에 대응하는 복수의 계수를 포함하는 비트스트림을 제공한다.
적어도 하나의 구현에서, 인코더 모듈(1012)은 도 4에 도시된 바와 같이 인트라 예측을 위한 모드 목록 조정 방법을 수행할 수 있다. 도 4의 방법은, 예를 들어, 도 1 및 도 10에 도시된 구성을 이용하여 실행될 수 있고, 이들 도면들의 다양한 요소들은 예시적인 방법을 설명하는데 있어서 참조된다. 또한, 도 4에서 블록들의 순서는 단지 예시적인 것이며 변경될 수 있다. 본 개시내용을 벗어나지 않고 추가 블록들이 추가되거나 더 적은 수의 블록들이 이용될 수도 있다.
블록 41에서, 인코더 모듈(1012)은 비디오 데이터로부터 이미지 프레임 내의 블록 유닛을 결정하고, 블록 유닛과 이웃하는 복수의 이웃 블록을 결정한다.
적어도 하나의 구현에서, 비디오 데이터는 비디오일 수 있다. 소스 디바이스(11)는 소스 모듈(111)에 의해 비디오를 수신할 수 있다. 인코더 모듈(1012)은 비디오로부터 이미지 프레임을 결정하고, 이미지 프레임을 분할하여 파티션 유닛(101211)을 통해 블록 유닛을 결정한 다음, 인코더 모듈(1012)은 파티션 유닛(101211)의 파티션 결과에 기초하여 복수의 파티션 표시를 비트스트림 내에 제공한다.
적어도 하나의 구현에서, 소스 디바이스(11)의 예측 프로세스 유닛(10121)은 블록 유닛과 이웃하고 적어도 하나의 기준 라인에 포함된 이웃 블록들을 결정한다. 적어도 하나의 구현에서, 이웃 블록들은, 이웃 블록들이 블록 유닛을 재구성하기 위한 복수의 기준 샘플이 될 수 있도록 블록 유닛을 재구성하기 전에 재구성될 수 있다. 적어도 하나의 구현에서, 블록 유닛은, 인트라 예측 유닛(101212)이 재구성된 이웃 블록들과 패딩함으로써 재구성되지 않은 이웃 블록들에 대한 블록 유닛의 기준 샘플들을 생성할 수 있도록 이웃 블록들 중 일부를 재구성하기 전에 재구성될 수 있다.
블록 42에서, 인트라 예측 유닛(101212)은 복수의 인트라 모드를 포함하는 모드 목록을 결정하고, 이웃 블록들의 예측 정보를 결정한다.
적어도 하나의 구현에서, 모드 목록 내의 인트라 모드들은 목적지 디바이스(12) 및 소스 디바이스(11)에서 미리정의될 수 있다. 예를 들어, 인트라 모드는, 평면 모드, DC 모드, 및 복수의 방향 모드로서 미리정의될 수 있다. 또한, 인코더 모듈(1012)이 비디오를 HEVC 또는 VTM으로 인코딩할 때, 방향 모드들의 수는 33 또는 65와 같을 수 있다.
적어도 하나의 구현에서, 이웃 블록들의 예측 정보는 이웃 블록들의 복수의 디코딩된 모드를 포함할 수 있다. 한 구현에서, 이웃 블록들의 디코딩된 모드들이 인트라 예측일 때, 예측 정보는 이웃 블록들의 복수의 예측 모드를 더 포함할 수 있다. 적어도 하나의 구현에서, 인트라 예측 유닛(101212)은, 블록 유닛에 대한 이웃 블록의 예측 모드에 기초하여 복수의 가장 가능성있는 모드(MPM)를 결정할 수 있다.
적어도 하나의 구현에서, 이웃 블록들의 예측 정보는, 이웃 블록들이 재구성되는지를 결정하는데 이용되는 임의의 정보일 수 있다. 예를 들어, 인트라 예측 유닛(101212)은, 제2 합산기(10125)에 의해 생성된 이웃 블록들의 복수의 재구성된 성분을 직접 수신하여 어떤 이웃 블록이 재구성되었는지를 결정할 수 있다. 한 구현들에서, 인트라 예측 유닛(101212)이 특정한 이웃 블록의 재구성된 성분들을 수신하지 않을 때, 이웃 블록들 중 특정한 블록은 복수의 기준 샘플을 생성하는데 이용되지 않을 수도 있다. 이 구현에서, 인트라 예측 유닛(101212)은 다른 이웃 블록들과 패딩함으로써 특정한 이웃 블록에 대응하는 기준 샘플을 생성할 수 있다.
블록 43에서, 인트라 예측 유닛(101212)은 이웃 블록들의 예측 정보에 기초하여 인트라 모드들 중 적어도 하나를 선택한다.
적어도 하나의 구현에서, 방향 모드들 각각은 배향을 포함한다. 적어도 하나의 구현에서, 인트라 예측 유닛(101212)은 MPM들의 배향들을 방향 모드들의 배향들과 비교하고, MPM들의 배향들과 방향 모드들의 배향들 사이의 비교에 기초하여 선택된 인트라 모드들을 결정할 수 있다. 예를 들어, 특정한 방향 모드가 MPM으로부터 멀리 있다면, 방향 모드들 중 특정한 하나는 선택된 인트라 모드들 중 하나일 수 있다.
적어도 하나의 구현에서, 인트라 예측 유닛(101212)은 블록 유닛을 재구성하는 동안 이웃 블록들 중 어느 것이 재구성되지 않았는지를 결정할 수 있다. 이 구현에서, 인트라 예측 유닛(101212)은 인트라 모드들 중 어느 것이 블록 유닛으로부터 결정된 이웃 블록들로 향하는지를 더 결정할 수 있다. 적어도 하나의 구현에서, 인트라 예측 유닛(101212)은 결정된 인트라 모드들을 선택된 인트라 모드들로서 설정할 수 있다.
블록 44에서, 인트라 예측 유닛(101212)은 선택된 적어도 하나의 인트라 모드를 모드 목록으로부터 제거하여 선택되지 않은 인트라 모드들 각각을 포함하는 조정된 목록을 생성한다.
적어도 하나의 구현에서, 인트라 예측 유닛(101212)이 모드 목록으로부터 선택된 인트라 모드들 모두를 제거할 때, 모드 목록 내의 복수의 잔여 인트라 모드는 선택되지 않은 인트라 모드들일 수 있다. 이 구현에서, 인트라 예측 유닛(101212)은 선택되지 않은 인트라 모드들을 포함하는 조정된 목록을 생성할 수 있다. 적어도 하나의 구현에서, 인트라 예측 유닛(101212)은 블록 크기에 기초하여 복수의 추가 모드를 조정된 목록에 추가할 수 있다. 적어도 하나의 구현에서, 인트라 예측 유닛(101212)은 선택되지 않은 인트라 모드들 각각에 대해 제2 인트라 예측 인덱스를 설정할 수 있다.
블록 45에서, 인트라 예측 유닛(101212)은 조정된 목록에 기초하여 블록 유닛에 대한 복수의 예측자를 생성한다.
적어도 하나의 구현에서, 블록 유닛은 복수의 블록 요소를 포함할 수 있다. 이 구현에서, 블록 요소들 각각은 픽셀 요소일 수 있다. 적어도 하나의 구현에서, 인트라 예측 유닛(101212)은, 블록 유닛에 대한 조정된 목록으로부터 도출된 배향을 따라, 블록 요소들 각각에 대해 블록 유닛과 이웃하는 복수의 이웃 블록에 기초하여 예측자들 중 하나를 결정할 수 있다. 한 구현에서, 배향은 조정된 목록 내의 선택되지 않은 인트라 모드들 중 하나로부터 도출될 수 있다. 또 다른 구현에서, 배향은 블록 크기에 따라 도출된 조정된 목록 내의 선택되지 않은 인트라 모드들 중 및 추가 모드들 중 하나로부터 도출될 수 있다. 이 구현에서, 인코더 모듈(1012)은 블록 유닛을 예측하여 예측자들에 기초하여 복수의 잔차 샘플을 생성하고, 잔차 샘플들에 대응하는 복수의 계수를 포함하는 비트스트림을 제공한다.
적어도 하나의 구현에서, 인코더 모듈(1012)은 도 5 및 도 7에 도시된 바와 같이 인트라 예측을 위한 다중-기준 라인 예측 방법을 수행할 수 있다. 도 5 및 도 7의 방법들은, 예를 들어, 도 1 및 도 10에 도시된 구성을 이용하여 실행될 수 있고, 이들 도면들의 다양한 요소들은 예시적인 방법을 설명하는데 있어서 참조된다. 또한, 도 1 및 도 10에 도시된 구성을 이용하여 실행된 도 5의 방법에 대한 절차 및 결과는, 도 1 및 도 2에 도시된 구성을 이용하여 실행된 도 5의 방법에 대한 것들과 동일하고, 도 1 및 도 10에 도시된 구성을 이용하여 실행된 도 7의 방법에 대한 절차 및 결과는, 도 1 및 도 2에 도시된 구성을 이용하여 실행된 도 7의 방법에 대한 것들과 동일하다. 또한, 인코더 모듈(1012)에 대한 도 5 및 도 7의 블록 순서는 단지 예시적인 것이며 변경될 수 있다. 본 개시내용을 벗어나지 않고 추가 블록들이 추가되거나 더 적은 수의 블록들이 이용될 수도 있다.
적어도 하나의 구현에서, 인코더 모듈(1012)은 도 9a에 도시된 바와 같이 인트라 예측을 위한 모드 목록 조정 방법을 수행할 수 있다. 도 9a의 방법은, 예를 들어, 도 1 및 도 10에 도시된 구성을 이용하여 실행될 수 있고, 이들 도면들의 다양한 요소들은 예시적인 방법을 설명하는데 있어서 참조된다. 또한, 도 9a에서 블록들의 순서는 단지 예시적인 것이며 변경될 수 있다. 본 개시내용을 벗어나지 않고 추가 블록들이 추가되거나 더 적은 수의 블록들이 이용될 수도 있다.
블록 911에서, 인코더 모듈(1012)은 이미지 프레임에서 블록 크기를 갖는 블록 유닛을 비디오 데이터로부터 결정한다.
적어도 하나의 구현에서, 비디오 데이터는 비디오일 수 있다. 소스 디바이스(11)는 소스 모듈(111)에 의해 비디오를 수신할 수 있다. 인코더 모듈(1012)은 비디오로부터 이미지 프레임을 결정하고, 이미지 프레임을 분할하여 블록 유닛을 결정한다.
적어도 하나의 구현에서, 소스 디바이스(11)의 예측 프로세스 유닛(10121)은 파티션 유닛(101211)을 통해 비디오로부터 블록 유닛을 결정한 다음, 인코더 모듈(1012)은 파티션 유닛(101211)의 파티션 결과에 기초하여 복수의 파티션 표시를 비트스트림 내에 제공한다. 적어도 하나의 구현에서, 블록 크기는 블록 높이 및 블록 폭을 포함할 수 있다.
블록 912에서, 인트라 예측 유닛(101212)은 복수의 인트라 모드를 포함하는 모드 목록을 결정한다.
적어도 하나의 구현에서, 모드 목록 내의 인트라 모드들은 목적지 디바이스(12) 및 소스 디바이스(11)에서 미리정의될 수 있다. 예를 들어, 인트라 모드는, 평면 모드, DC 모드, 및 복수의 방향 모드로서 미리정의될 수 있다.
블록 913에서, 인트라 예측 유닛(101212)은 블록 크기에 기초하여 복수의 추가 모드를 결정한다.
적어도 하나의 구현에서, 인트라 예측 유닛(101212)에 의해 결정된 추가 모드들은, 인트라 예측 유닛(101212)이 블록 크기가 미리정의된 크기보다 크다고 결정할 때, 목적지 디바이스(12)에 의해 결정된 추가 모드들과 동일한 복수의 제1 추가형 모드로서 설정될 수 있다. 적어도 하나의 구현에서, 인트라 예측 유닛(101212)에 의해 결정된 추가 모드들은, 인트라 예측 유닛(101212)이 블록 크기가 미리정의된 크기보다 작다고 결정할 때, 목적지 디바이스(12)에 의해 결정된 추가 모드들과 동일한 복수의 제2 추가형 모드로서 설정될 수 있다. 이 구현에서, 제2 추가형 모드들 각각은 제1 추가형 모드와는 상이할 수 있다. 적어도 하나의 구현에서, 인트라 예측 유닛(101212)에 의해 결정된 추가 모드들은, 인트라 예측 유닛(101212)이 블록 폭이 블록 높이보다 길다고 결정할 때, 목적지 디바이스(12)에 의해 결정된 추가 모드들과 동일한 복수의 제3 추가형 모드로서 설정될 수 있다. 적어도 하나의 구현에서, 인트라 예측 유닛(101212)에 의해 결정된 추가 모드들은, 인트라 예측 유닛(101212)이 블록 크기가 미리정의된 크기보다 작다고 결정할 때, 목적지 디바이스(12)에 의해 결정된 추가 모드들과 동일한 복수의 제4 추가형 모드로서 설정될 수 있다. 이 구현에서, 제4 추가형 모드들 각각은 제3 추가형 모드와는 상이할 수 있다.
적어도 하나의 구현에서, 인트라 예측 유닛(101212)은 방향 모드들을 복수의 인트라 예측 영역으로 분할할 수 있다. 적어도 하나의 구현에서, 인트라 예측 유닛(101212)은 블록 크기와 미리정의된 크기 사이의 비교에 기초하여 삽입된 영역을 결정하고, 삽입된 영역에 기초하여 추가 모드들을 생성할 수 있다. 이 구현에서, 인트라 예측 유닛(101212)에 의해 결정된 삽입된 영역은 목적지 디바이스(12)에 의해 결정된 삽입된 영역과 동일하다. 적어도 하나의 구현에서, 도 8에서, 블록 폭이 블록 높이보다 길 때, 제3 추가형 모드가 제1 추가된 영역(856)에서 생성될 수 있다. 또한, 블록 폭이 블록 높이보다 짧을 때, 제4 추가형 모드가 제2 추가된 영역(851)에서 생성될 수 있다.
블록 914에서, 인트라 예측 유닛(101212)은 추가 모드들을 모드 목록에 추가하여 인트라 모드들 각각을 포함하는 조정된 목록을 생성한다.
적어도 하나의 구현에서, 인트라 예측 유닛(101212)은, 추가 모드들이 모드 목록에 추가될 때, 추가 모드들 각각에 대해 제2 인트라 예측 인덱스를 설정할 수 있다. 적어도 하나의 구현에서, 인트라 모드들 각각은 제1 인트라 예측 인덱스를 갖는다. 적어도 하나의 구현에서, 인트라 모드들은, 0 내지 N-1로 설정된 제1 인트라 예측 인덱스들을 갖는 N개의 비방향 모드, 및 N 내지 N+M-1로 설정된 제1 인트라 예측 인덱스들을 갖는 M개의 방향 모드를 포함할 수 있다. 적어도 하나의 구현에서, 인트라 모드는, VTM에서 N이 2와 같고 M이 65와 같을 때, 0 및 1로서 설정된 제1 인트라 예측 인덱스들을 갖는 2개의 비방향 모드, 및 2 내지 66으로서 설정된 제1 인트라 예측 인덱스들을 갖는 65개의 방향 모드를 포함할 수 있다.
적어도 하나의 구현에서, 추가 모드들의 수가 K와 같을 때, 제2 인트라 예측 인덱스들이 N+M 내지 N+M+K로 설정될 수 있다. 한 구현에서, VTM에서 M이 65와 같을 때, 제2 인트라 예측 인덱스들은 N+65 내지 N+K+64로 설정될 수 있다.
블록 915에서, 인트라 예측 유닛(101212)은 조정된 목록에 기초하여 블록 유닛에 대한 복수의 예측자를 생성한다.
적어도 하나의 구현에서, 블록 유닛은 복수의 블록 요소를 포함할 수 있다. 이 구현에서, 블록 요소들 각각은 픽셀 요소일 수 있다. 적어도 하나의 구현에서, 인트라 예측 유닛(101212)은, 블록 유닛에 대한 조정된 목록으로부터 도출된 배향을 따라, 블록 요소들 각각에 대해 블록 유닛과 이웃하는 복수의 이웃 블록에 기초하여 예측자들 중 하나를 결정할 수 있다. 한 구현에서, 배향은 조정된 목록 내의 인트라 모드들 및 추가 모드들 중 하나로부터 도출될 수 있다. 이 구현에서, 인코더 모듈(1012)은 블록 유닛을 예측하여 예측자들에 기초하여 복수의 잔차 샘플을 생성하고, 잔차 샘플들에 대응하는 복수의 계수를 포함하는 비트스트림을 제공한다.
적어도 하나의 구현에서, 인코더 모듈(1012)은 도 9b에 도시된 바와 같이 인트라 예측을 위한 모드 목록 조정 방법을 수행할 수 있다. 도 9b의 방법은, 예를 들어, 도 1 및 도 10에 도시된 구성을 이용하여 실행될 수 있고, 이들 도면들의 다양한 요소들은 예시적인 방법을 설명하는데 있어서 참조된다. 또한, 도 9b에서 블록들의 순서는 단지 예시적인 것이며 변경될 수 있다. 본 개시내용을 벗어나지 않고 추가 블록들이 추가되거나 더 적은 수의 블록들이 이용될 수도 있다.
블록 921에서, 인코더 모듈(1012)은 비디오 데이터로부터 이미지 프레임 내의 블록 유닛을 결정하고, 블록 유닛과 이웃하는 복수의 이웃 블록을 결정한다.
적어도 하나의 구현에서, 비디오 데이터는 비디오일 수 있다. 소스 디바이스(11)는 소스 모듈(111)에 의해 비디오를 수신할 수 있다. 인코더 모듈(1012)은 비디오로부터 이미지 프레임을 결정하고, 이미지 프레임을 분할하여 파티션 유닛(101211)을 통해 블록 유닛을 결정한 다음, 인코더 모듈(1012)은 파티션 유닛(101211)의 파티션 결과에 기초하여 복수의 파티션 표시를 비트스트림 내에 제공한다.
적어도 하나의 구현에서, 소스 디바이스(11)의 예측 프로세스 유닛(10121)은 블록 유닛과 이웃하고 적어도 하나의 기준 라인에 포함된 이웃 블록들을 결정한다. 적어도 하나의 구현에서, 이웃 블록들은, 이웃 블록들이 블록 유닛을 재구성하기 위한 복수의 기준 샘플이 될 수 있도록 블록 유닛을 재구성하기 전에 재구성될 수 있다. 적어도 하나의 구현에서, 블록 유닛은, 인트라 예측 유닛(101212)이 재구성된 이웃 블록들과 패딩함으로써 재구성되지 않은 이웃 블록들에 대한 블록 유닛의 기준 샘플들을 생성할 수 있도록 이웃 블록들 중 일부를 재구성하기 전에 재구성될 수 있다.
블록 922에서, 인트라 예측 유닛(101212)은 복수의 인트라 모드를 포함하는 모드 목록을 결정하고, 이웃 블록들의 예측 정보를 결정한다.
적어도 하나의 구현에서, 모드 목록 내의 인트라 모드들은 목적지 디바이스(12) 및 소스 디바이스(11)에서 미리정의될 수 있다. 예를 들어, 인트라 모드는, 평면 모드, DC 모드, 및 복수의 방향 모드로서 미리정의될 수 있다.
적어도 하나의 구현에서, 이웃 블록들의 예측 정보는 이웃 블록들의 복수의 디코딩된 모드를 포함할 수 있다. 한 구현에서, 이웃 블록들의 디코딩된 모드들이 인트라 예측일 때, 예측 정보는 이웃 블록들의 복수의 예측 모드를 더 포함할 수 있다. 적어도 하나의 구현에서, 인트라 예측 유닛(101212)은, 블록 유닛에 대한 이웃 블록의 예측 모드에 기초하여 복수의 가장 가능성있는 모드(MPM)를 결정할 수 있다.
적어도 하나의 구현에서, 이웃 블록들의 예측 정보는, 이웃 블록들이 재구성되는지를 결정하는데 이용되는 임의의 정보일 수 있다. 예를 들어, 인트라 예측 유닛(101212)은 제2 합산기(10125)에 의해 생성된 이웃 블록들의 복수의 재구성된 성분들을 직접 수신할 수 있다. 한 구현들에서, 인트라 예측 유닛(101212)이 특정한 이웃 블록의 재구성된 성분들을 수신하지 않을 때, 이웃 블록들 중 특정한 블록은 복수의 기준 샘플을 생성하는데 이용되지 않을 수도 있다. 이 구현에서, 인트라 예측 유닛(101212)은 다른 이웃 블록들과 패딩함으로써 특정한 이웃 블록에 대응하는 기준 샘플을 생성할 수 있다.
블록 923에서, 인트라 예측 유닛(101212)은 이웃 블록들의 예측 정보에 기초하여 복수의 추가 모드를 결정한다.
적어도 하나의 구현에서, MPM 및 방향 모드를 포함하는 인트라 모드들 각각은 배향을 포함한다. 적어도 하나의 구현에서, 인트라 예측 유닛(101212)은 MPM들의 배향들을 방향 모드들의 배향들과 비교할 수 있다. 적어도 하나의 구현에서, 인트라 예측 유닛(101212)은 MPM들의 배향들과 방향 모드들의 배향들 사이의 비교에 기초하여 추가 모드들을 결정할 수 있다. 한 구현에서, MPM 모드에 가까운 새로운 방향 모드가 생성될 수 있다.
적어도 하나의 구현에서, 인트라 예측 유닛(101212)은 어떤 이웃 블록이 재구성되지 않았는지를 결정하고, 어떤 인트라 모드가 블록 유닛으로부터 결정된 이웃 블록들로 향하는지를 결정할 수 있다. 이 구현에서, 인트라 예측 유닛(101212)은 결정된 인트라 모드들의 배향들과 방향 모드들의 배향들 사이의 비교에 기초하여 추가 모드들을 결정할 수 있다. 한 구현에서, 결정된 인트라 모드들로부터 먼 새로운 방향 모드가 생성될 수 있다.
적어도 하나의 구현에서, 인트라 예측 유닛(101212)은 방향 모드들을 복수의 인트라 예측 영역으로 분할할 수 있다. 적어도 하나의 구현에서, 인트라 예측 유닛(101212)은 MPM들의 배향들과 방향 모드들의 배향들 사이의 비교에 기초하여 삽입된 영역을 결정하고 삽입된 영역에 기초하여 추가 모드들을 생성할 수 있다. 한 구현에서, 특정한 인트라 예측 영역이 블록 유닛의 MPM의 대부분을 포함할 때, 삽입된 영역은 인트라 예측 영역들 중 특정한 하나를 포함하도록 설정될 수 있다.
적어도 하나의 구현에서, 인트라 예측 유닛(101212)은 어떤 이웃 블록이 재구성되지 않았는지를 결정하고, 어떤 인트라 모드가 블록 유닛으로부터 결정된 이웃 블록들로 향하는지를 결정할 수 있다. 이 구현에서, 인트라 예측 유닛(101212)은 추가로, 인트라 예측 영역들 중 어느 것이 결정된 인트라 모드들을 포함하는지를 결정할 수 있다. 한 구현에서, 삽입된 영역은 결정된 인트라 예측 영역과는 상이할 수 있다. 또 다른 구현에서, 삽입된 영역은 결정된 인트라 예측 영역으로부터 멀리 떨어져 있을 수 있다.
블록 924에서, 인트라 예측 유닛(101212)은 추가 모드들을 모드 목록에 추가하여 인트라 모드들 각각을 포함하는 조정된 목록을 생성한다.
적어도 하나의 구현에서, 인트라 예측 유닛(101212)은, 추가 모드들이 모드 목록에 추가될 때, 추가 모드들 각각에 대해 제2 인트라 예측 인덱스를 설정할 수 있다. 적어도 하나의 구현에서, 인트라 모드들 각각은 제1 인트라 예측 인덱스를 갖는다. 적어도 하나의 구현에서, 인트라 모드들은, 0 내지 N-1로 설정된 제1 인트라 예측 인덱스들을 갖는 N개의 비방향 모드, 및 N 내지 N+M-1로 설정된 제1 인트라 예측 인덱스들을 갖는 M개의 방향 모드를 포함할 수 있다. 적어도 하나의 구현에서, 인트라 모드는, VTM에서 N이 2와 같고 M이 65와 같을 때, 0 및 1로서 설정된 제1 인트라 예측 인덱스들을 갖는 2개의 비방향 모드, 및 2 내지 66으로서 설정된 제1 인트라 예측 인덱스들을 갖는 65개의 방향 모드를 포함할 수 있다.
적어도 하나의 구현에서, 추가 모드들의 수가 K와 같을 때, 제2 인트라 예측 인덱스들이 N+M 내지 N+M+K로 설정될 수 있다. 한 구현에서, VTM에서 M이 65와 같을 때, 제2 인트라 예측 인덱스들은 N+65 내지 N+K+64로 설정될 수 있다.
블록 925에서, 인트라 예측 유닛(101212)은 조정된 목록에 기초하여 블록 유닛에 대한 복수의 예측자를 생성한다.
적어도 하나의 구현에서, 블록 유닛은 복수의 블록 요소를 포함할 수 있다. 이 구현에서, 블록 요소들 각각은 픽셀 요소일 수 있다. 적어도 하나의 구현에서, 인트라 예측 유닛(101212)은, 블록 유닛에 대한 조정된 목록으로부터 도출된 배향을 따라, 블록 요소들 각각에 대해 블록 유닛과 이웃하는 복수의 이웃 블록에 기초하여 예측자들 중 하나를 결정할 수 있다. 한 구현에서, 배향은 조정된 목록 내의 인트라 모드들 및 추가 모드들 중 하나로부터 도출될 수 있다. 이 구현에서, 인코더 모듈(1012)은 블록 유닛을 예측하여 예측자들에 기초하여 복수의 잔차 샘플을 생성하고, 잔차 샘플들에 대응하는 복수의 계수를 포함하는 비트스트림을 제공한다.
상기 설명으로부터, 본 출원에 설명된 개념들을 이들 개념들의 범위를 벗어나지 않고 구현하기 위해 다양한 기술이 이용될 수 있다는 것이 명백하다. 더욱이, 이 개념들이 소정의 구현을 구체적으로 참조하여 설명되었지만, 본 기술분야의 통상의 기술자라면 이들 개념들의 범위를 벗어나지 않고 형태 및 세부사항에 있어서 변경이 이루어질 수 있다는 것을 인식할 것이다. 따라서, 설명된 구현들은 모든 점에서 예시적이고 제한적이지 않은 것으로 간주되어야 한다. 또한, 본 출원은 전술된 특정한 구현으로 제한되지 않으며, 본 개시내용의 범위를 벗어나지 않으면서 많은 재배치, 수정 및 대체가 가능하다는 것을 이해해야 한다.

Claims (20)

  1. 전자 디바이스에 의해 비트스트림을 디코딩하는 방법으로서,
    상기 비트스트림에 따라 이미지 프레임으로부터 블록 유닛을 결정하는 단계 - 상기 블록 유닛은 블록 높이 및 블록 폭을 가짐 -;
    복수의 인트라 모드를 포함하는 모드 목록(mode list)을 결정하는 단계;
    상기 블록 높이와 상기 블록 폭 사이의 비교에 기초하여 상기 모드 목록으로부터 상기 복수의 인트라 모드 중 적어도 하나를 선택하는 단계;
    상기 복수의 인트라 모드 중 상기 선택된 적어도 하나를 제거하여 복수의 선택되지 않은 모드를 포함하는 조정된 목록을 생성하는 단계; 및
    상기 조정된 목록에 기초하여 상기 이미지 프레임의 블록 유닛을 재구성하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서, 상기 복수의 인트라 모드 각각은 제1 인트라 예측 인덱스(intra prediction index)를 갖는 방법.
  3. 제2항에 있어서,
    상기 비트스트림으로부터 상기 블록 유닛의 제1 인트라 예측 표시를 결정하는 단계 - 상기 제1 인트라 예측 표시는 상기 복수의 선택되지 않은 모드 중 특정한 하나에 대응하는 복수의 제1 인트라 예측 인덱스 중 하나를 나타냄 -; 및
    상기 복수의 선택되지 않은 모드 중 상기 특정한 하나에 기초하여 상기 블록 유닛을 갖는 상기 이미지 프레임을 재구성하는 단계
    를 더 포함하는 방법.
  4. 제2항에 있어서,
    복수의 추가 모드를 상기 조정된 목록에 추가하는 단계;
    상기 복수의 추가 모드 각각에 대한 제2 인트라 예측 인덱스를 결정하는 단계;
    상기 비트스트림으로부터 상기 블록 유닛의 제2 인트라 예측 표시를 결정하는 단계 - 상기 제2 인트라 예측 표시는 상기 복수의 선택되지 않은 모드 및 상기 복수의 추가 모드 중 특정한 하나에 대응하는 상기 복수의 제1 인트라 예측 인덱스 및 제2 인트라 예측 인덱스 중 하나를 나타냄 -; 및
    상기 복수의 선택되지 않은 모드 및 상기 복수의 추가 모드 중 상기 특정한 하나에 기초하여 상기 블록 유닛을 갖는 상기 이미지 프레임을 재구성하는 단계
    를 더 포함하는 방법.
  5. 제4항에 있어서, 상기 복수의 제거된 모드들의 수는 상기 복수의 추가 모드들의 수와 같은 방법.
  6. 제4항에 있어서, 상기 복수의 인트라 모드가 0 내지 N-1로 설정된 상기 복수의 제1 인트라 예측 인덱스를 갖는 N개의 비방향(non-directional) 모드들 및 N 내지 (N-1)+M으로 설정된 상기 복수의 제1 인트라 예측 인덱스를 갖는 M개의 방향 모드들을 포함할 때, 상기 복수의 추가 모드의 제2 인트라 예측 인덱스들은 N+M으로 설정되는 방법.
  7. 제6항에 있어서, 상기 M개의 방향 모드들의 수가 65와 같고 상기 복수의 추가 모드의 수가 K와 같을 때, 상기 복수의 추가 모드의 제2 인트라 예측 인덱스들은 N+65 내지 N+(K+64)로 설정되는 방법.
  8. 제1항에 있어서,
    상기 복수의 인트라 모드를 복수의 인트라 예측 영역으로 분할하는 단계;
    상기 블록 폭이 상기 블록 높이보다 클 때, 상기 복수의 인트라 모드 중 상기 선택된 적어도 하나가 상기 복수의 인트라 예측 영역 중 제1 영역으로부터 선택된다고 결정하는 단계; 및
    상기 블록 높이가 상기 블록 폭보다 클 때, 상기 복수의 인트라 모드 중 상기 선택된 적어도 하나가 상기 복수의 인트라 예측 영역 중 상기 제1 영역과는 상이한 상기 복수의 인트라 예측 영역 중 제2 영역으로부터 선택된다고 결정하는 단계
    를 더 포함하는 방법.
  9. 제8항에 있어서, 상기 복수의 인트라 예측 영역 중 상기 제1 영역에서 수평 방향과 상기 복수의 인트라 모드 각각 사이의 제1 각도는 45도 이하이고, 상기 복수의 인트라 예측 영역 중 상기 제2 영역에서 수직 방향과 상기 복수의 인트라 모드 각각 사이의 제2 각도는 45도 이하인 방법.
  10. 비트스트림을 디코딩하기 위한 전자 디바이스로서,
    적어도 하나의 프로세서; 및
    상기 적어도 하나의 프로세서에 결합되고 복수의 명령어를 저장한 저장 디바이스
    를 포함하고, 상기 복수의 명령어는, 상기 적어도 하나의 프로세서에 의해 실행될 때 상기 적어도 하나의 프로세서로 하여금:
    상기 비트스트림에 따라 이미지 프레임으로부터 블록 유닛을 결정하게 하고 - 상기 블록 유닛은 블록 높이 및 블록 폭을 가짐 -;
    복수의 인트라 모드를 포함하는 모드 목록을 결정하게 하며;
    상기 블록 유닛의 예측된 모드를 나타내기 위한 인트라 예측 표시를 상기 비트스트림으로부터 결정하게 하고;
    상기 블록 높이와 상기 블록 폭을 비교하게 하며;
    상기 예측된 모드를 결정하기 위해, 상기 인트라 예측 표시 및 상기 블록 높이와 상기 블록 폭 사이의 상기 비교에 기초하여, 상기 예측된 모드가 상기 복수의 인트라 모드로부터 선택되는지를 결정하게 하고;
    상기 예측된 모드에 기초하여 상기 이미지 프레임의 블록 유닛을 재구성하게 하는 전자 디바이스.
  11. 제10항에 있어서, 상기 복수의 명령어는 추가로, 상기 적어도 하나의 프로세서에 의해 실행될 때 상기 적어도 하나의 프로세서로 하여금:
    상기 블록 폭이 상기 블록 높이와 상이할 때, 상기 모드 목록으로부터 제거된 복수의 제거된 모드 및 상기 모드 목록에 유지되는 복수의 잔여 모드를 결정하게 하고;
    상기 블록 폭이 상기 블록 높이와 상이할 때, 상기 모드 목록에 추가된 복수의 추가 모드를 결정하게 하고 - 상기 복수의 제거된 모드, 상기 복수의 잔여 모드, 및 상기 복수의 추가 모드 각각은 인트라 예측 인덱스를 가짐 -;
    예측된 인덱스를 나타내는 상기 인트라 예측 표시에 기초하여 상기 복수의 인트라 예측 인덱스 중 특정한 하나를 도출하게 하고;
    상기 복수의 인트라 예측 인덱스 중 상기 특정한 하나에 기초하여 상기 예측된 모드를 결정하게 하는 전자 디바이스.
  12. 제11항에 있어서, 상기 복수의 인트라 모드는 N개의 비방향 모드 및 M개의 방향 모드를 포함하는 전자 디바이스.
  13. 제12항에 있어서, 상기 예측된 인덱스가 상기 복수의 잔여 모드 중 하나에 대응하는 상기 복수의 인트라 예측 인덱스 중 하나와 동일할 때, 상기 복수의 인트라 예측 인덱스 중 상기 특정한 하나는 0 이상이고 N+M보다 작은 전자 디바이스.
  14. 제12항에 있어서, 상기 예측된 인덱스가 상기 복수의 잔여 모드에 대응하는 상기 복수의 인트라 예측 인덱스 각각과 상이할 때, 상기 복수의 인트라 예측 인덱스 중 상기 특정한 하나는 N+M 이상인 전자 디바이스.
  15. 제12항에 있어서, 상기 복수의 추가 모드의 수가 K와 같고 M이 65와 같을 때, 상기 N개의 비방향 모드의 상기 복수의 인트라 예측 인덱스는 0 내지 N-1로 설정되고, 상기 M개의 방향 모드의 상기 복수의 인트라 예측 인덱스는 N 내지 N+64로 설정되며, 상기 복수의 추가 모드의 상기 인트라 예측 인덱스들은 N+65 내지 N+(K+64)로 설정되는 전자 디바이스.
  16. 제11항에 있어서, 상기 모드 목록 내의 상기 복수의 인트라 모드의 수는 상기 복수의 추가 모드의 수와 상기 복수의 잔여 모드의 수의 합과 같은 전자 디바이스.
  17. 전자 디바이스에 의해 비트스트림을 디코딩하는 방법으로서,
    상기 비트스트림에 따라 이미지 프레임으로부터 블록 유닛을 결정하는 단계 - 상기 블록 유닛은 블록 높이 및 블록 폭을 가짐 -;
    복수의 인트라 모드를 포함하는 모드 목록을 결정하는 단계;
    상기 블록 유닛의 예측된 모드를 나타내기 위한 인트라 예측 표시를 상기 비트스트림으로부터 결정하는 단계;
    상기 블록 높이와 상기 블록 폭을 비교하는 단계;
    상기 예측된 모드를 결정하기 위해, 상기 인트라 예측 표시 및 상기 블록 높이와 상기 블록 폭 사이의 상기 비교에 기초하여, 상기 예측된 모드가 상기 복수의 인트라 모드로부터 선택되는지를 결정하는 단계; 및
    상기 예측된 모드에 기초하여 상기 이미지 프레임의 블록 유닛을 재구성하는 단계
    를 포함하는 방법.
  18. 제17항에 있어서,
    상기 블록 폭이 상기 블록 높이와 상이할 때, 상기 모드 목록으로부터 제거된 복수의 제거된 모드 및 상기 모드 목록에 유지되는 복수의 잔여 모드를 결정하는 단계;
    상기 모드 목록에 추가된 복수의 추가 모드를 결정하는 단계 - 상기 복수의 제거된 모드, 상기 복수의 잔여 모드, 및 상기 복수의 추가 모드 각각은 인트라 예측 인덱스를 갖고, 상기 모드 목록 내의 상기 복수의 인트라 모드의 수는 상기 복수의 추가 모드의 수와 상기 복수의 잔여 모드의 수의 합과 같음 -;
    예측된 인덱스를 나타내는 상기 인트라 예측 표시에 기초하여 상기 복수의 인트라 예측 인덱스 중 특정한 하나를 도출하는 단계; 및
    상기 복수의 인트라 예측 인덱스 중 상기 특정한 하나에 기초하여 상기 예측된 모드를 결정하는 단계
    를 더 포함하는 방법.
  19. 제18항에 있어서, 상기 복수의 인트라 모드는 N개의 비방향 모드 및 M개의 방향 모드를 포함하는 방법.
  20. 제19항에 있어서, 상기 예측된 인덱스가 상기 복수의 잔여 모드 중 하나에 대응하는 상기 복수의 인트라 예측 인덱스 중 하나와 동일할 때, 상기 복수의 인트라 예측 인덱스 중 상기 특정한 하나는 0 이상이고 N+M보다 작으며, 상기 예측된 인덱스가 상기 복수의 잔여 모드에 대응하는 상기 복수의 인트라 예측 인덱스 각각과는 상이할 때, 상기 복수의 인트라 예측 인덱스 중 상기 특정한 하나는 N+M 이상인 방법.
KR1020207015648A 2017-11-17 2018-11-15 조정된 인트라 모드 목록에 기초한 비디오 데이터를 코딩하기 위한 디바이스 및 방법 KR102391834B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201762587676P 2017-11-17 2017-11-17
US62/587,676 2017-11-17
PCT/CN2018/115713 WO2019096221A1 (en) 2017-11-17 2018-11-15 Device and method for coding video data based on adjusted intra mode list

Publications (2)

Publication Number Publication Date
KR20200077577A true KR20200077577A (ko) 2020-06-30
KR102391834B1 KR102391834B1 (ko) 2022-04-27

Family

ID=66534616

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207015648A KR102391834B1 (ko) 2017-11-17 2018-11-15 조정된 인트라 모드 목록에 기초한 비디오 데이터를 코딩하기 위한 디바이스 및 방법

Country Status (6)

Country Link
US (1) US10965942B2 (ko)
EP (1) EP3711294A4 (ko)
JP (1) JP7165192B2 (ko)
KR (1) KR102391834B1 (ko)
CN (2) CN111316640B (ko)
WO (1) WO2019096221A1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10567752B2 (en) * 2018-07-02 2020-02-18 Tencent America LLC Method and apparatus for intra prediction for non-square blocks in video compression
EP3709644A1 (en) * 2019-03-12 2020-09-16 Ateme Method for image processing and apparatus for implementing the same
US11095885B2 (en) * 2018-10-05 2021-08-17 Tencent America LLC Mode list generation for multi-line intra prediction
US11012711B2 (en) * 2018-11-29 2021-05-18 Tencent America LLC Adaptive most probable modes for multiple reference line intra prediction
CN114342408A (zh) * 2019-08-26 2022-04-12 北京字节跳动网络技术有限公司 视频编码中帧内编码模式的扩展
WO2022095918A1 (en) * 2020-11-05 2022-05-12 FG Innovation Company Limited Device and method for coding video data

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105915902B (zh) * 2011-03-08 2017-09-22 Jvc 建伍株式会社 动图像编码装置以及动图像编码方法
KR101677003B1 (ko) * 2011-06-17 2016-11-16 가부시키가이샤 제이브이씨 켄우드 화상 부호화 장치, 화상 부호화 방법 및 화상 부호화 프로그램, 및 화상 복호 장치, 화상 복호 방법 및 화상 복호 프로그램
US8903814B2 (en) 2011-07-07 2014-12-02 International Business Machines Corporation Indexing timestamp with time zone value
US9787982B2 (en) * 2011-09-12 2017-10-10 Qualcomm Incorporated Non-square transform units and prediction units in video coding
US9154796B2 (en) 2011-11-04 2015-10-06 Qualcomm Incorporated Intra-mode video coding
WO2013085282A1 (ko) * 2011-12-05 2013-06-13 엘지전자 주식회사 인트라 예측 방법 및 장치
US9426473B2 (en) * 2013-02-01 2016-08-23 Qualcomm Incorporated Mode decision simplification for intra prediction
CN104581181B (zh) 2013-10-11 2017-12-05 中国科学院深圳先进技术研究院 一种基于备选模式列表优化的帧内编码方法
WO2016178880A1 (en) * 2015-05-06 2016-11-10 NGCodec Inc. Intra prediction processor with reduced cost block partitioning and refined intra mode selection
CN115134591A (zh) 2015-06-05 2022-09-30 杜比实验室特许公司 图像编解码方法、比特流存储方法
US11463689B2 (en) * 2015-06-18 2022-10-04 Qualcomm Incorporated Intra prediction and intra mode coding
US20160373770A1 (en) * 2015-06-18 2016-12-22 Qualcomm Incorporated Intra prediction and intra mode coding
US20160373782A1 (en) * 2015-06-18 2016-12-22 Qualcomm Incorporated Intra prediction and intra mode coding
US10142627B2 (en) * 2015-06-18 2018-11-27 Qualcomm Incorporated Intra prediction and intra mode coding
US20160373742A1 (en) * 2015-06-18 2016-12-22 Qualcomm Incorporated Intra prediction and intra mode coding
US10841593B2 (en) * 2015-06-18 2020-11-17 Qualcomm Incorporated Intra prediction and intra mode coding
US10547854B2 (en) * 2016-05-13 2020-01-28 Qualcomm Incorporated Neighbor based signaling of intra prediction modes
FI20175006A1 (en) * 2017-01-03 2019-02-15 Nokia Technologies Oy Video and image coding using wide-angle intra-prediction
US10764587B2 (en) * 2017-06-30 2020-09-01 Qualcomm Incorporated Intra prediction in video coding
JP2019041165A (ja) * 2017-08-23 2019-03-14 富士通株式会社 画像符号化装置、画像復号装置、画像処理方法、及び画像処理プログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Fabien Racape et al., "CE3-related: Wide-angle intra prediction for non-square blocks", JVET-K0500, version 6, 2018.7.16. *

Also Published As

Publication number Publication date
EP3711294A4 (en) 2021-07-28
WO2019096221A1 (en) 2019-05-23
KR102391834B1 (ko) 2022-04-27
CN116980595A (zh) 2023-10-31
EP3711294A1 (en) 2020-09-23
US10965942B2 (en) 2021-03-30
JP2021503252A (ja) 2021-02-04
US20190158828A1 (en) 2019-05-23
CN111316640B (zh) 2023-09-26
CN111316640A (zh) 2020-06-19
JP7165192B2 (ja) 2022-11-02

Similar Documents

Publication Publication Date Title
KR102585855B1 (ko) 비디오 데이터를 코딩하기 위한 디바이스 및 방법
US11350082B2 (en) Device and method for coding video data in multiple reference line prediction
WO2019210840A1 (en) Device and method for coding video data based on different reference sets in linear model prediction
KR102391834B1 (ko) 조정된 인트라 모드 목록에 기초한 비디오 데이터를 코딩하기 위한 디바이스 및 방법
US10893285B2 (en) Device and method for coding video data based on one or more reference lines
US10924733B2 (en) Device and method for coding video data based on mode list including different mode groups
US20240089432A1 (en) Device and method for coding video data for geometric partitioning mode
US11051029B2 (en) Device and method for coding video data
US20230217019A1 (en) Device and method for decoding video data
WO2022095918A1 (en) Device and method for coding video data
US20220329813A1 (en) Device and method for coding video data
US20220417501A1 (en) Device and method for coding video data
KR20220020959A (ko) 비디오 데이터를 코딩하기 위한 디바이스 및 방법

Legal Events

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