KR20220024835A - 픽처 데이터를 코딩/디코딩하기 위한 방법 및 장치 - Google Patents

픽처 데이터를 코딩/디코딩하기 위한 방법 및 장치 Download PDF

Info

Publication number
KR20220024835A
KR20220024835A KR1020227002186A KR20227002186A KR20220024835A KR 20220024835 A KR20220024835 A KR 20220024835A KR 1020227002186 A KR1020227002186 A KR 1020227002186A KR 20227002186 A KR20227002186 A KR 20227002186A KR 20220024835 A KR20220024835 A KR 20220024835A
Authority
KR
South Korea
Prior art keywords
intra
pixels
prediction
prediction mode
transform
Prior art date
Application number
KR1020227002186A
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 KR20220024835A publication Critical patent/KR20220024835A/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/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/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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • 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/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
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • 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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • 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

Abstract

본 개시내용은 이미지 데이터를 인코딩하기 위한 방법에 관한 것이며, 이 방법은 제1 블록 크기를 고려하여 획득되는 제1 단일 변환을 사용하는 인트라-예측 모드를 사용하여 이미지 데이터의 제1 블록을 인트라-예측하거나, 또는 인터-예측과 인트라-예측을 조합하여 예측하는 단계를 포함한다. 본 개시내용은 또한 이미지 데이터를 인코딩하기 위한 방법에 관한 것이며, 인코딩에 의해 복수의 예측 모드들을 시그널링하기 위해 가변 코딩 길이가 사용되고, 이 방법은: 제1 변환을 사용하는 인트라-예측 모드를 사용하여 이미지 데이터의 제1 블록을 인트라-예측하는 단계 - 제1 변환은 제1 블록 크기를 고려하여 획득됨 - , 비트스트림에서 인트라-예측 모드의 사용을 시그널링하는 정보를 인코딩하는 단계 - 정보는 복수의 예측 모드들 중 하나로서 인코딩됨 - 를 포함한다. 본 개시내용은 또한 대응하는 디코딩 방법들, 디바이스들 및 매체들에 관한 것이다.

Description

픽처 데이터를 코딩/디코딩하기 위한 방법 및 장치
본 실시예들은 일반적으로 픽처 데이터의 인코딩/디코딩에 관한 것이다.
본 섹션은 아래에서 설명 및/또는 청구되는 본 실시예들 중 적어도 하나의 실시예의 다양한 양태들과 관련될 수 있는 기술의 다양한 양태들을 독자에게 소개하기 위해 의도된다. 이 논의는 적어도 하나의 실시예의 다양한 양태들의 더 양호한 이해를 용이하게 하기 위한 배경 정보를 독자에게 제공하는데 있어서 도움이 될 것으로 생각된다. 따라서, 이러한 서술들이 이러한 견지에서 읽혀질 것임이 이해되어야 한다.
높은 압축 효율을 달성하기 위해, 비디오 코딩 방식들은 비디오 콘텐츠에서의 공간적 및 시간적 중복(redundancy)을 레버리지(leverage)하기 위해 보통 예측 및 변환을 이용한다. 일반적으로, 인트라 또는 인터 프레임 상관을 활용하기 위해 인트라 또는 인터 예측이 사용된다. 그 후, 종종 예측 에러들 또는 예측 잔차들로서 표시되는, 비디오의 원래 픽처와 예측된 픽처 사이의 차이들이 변환되고, 양자화되고, 엔트로피 코딩된다. 픽처를 재구성하기 위해, 압축된 데이터는 예측, 변환, 양자화 및 엔트로피 코딩에 대응하는 역 프로세스들에 의해 디코딩된다.
본 개시내용의 일부 실시예들은 이미지 데이터를 인코딩하기 위한 방법을 제안함으로써 적어도 하나의 단점이 해결될 수 있게 하며, 이 방법은 인트라-예측하거나, 또는 인터-예측과 인트라-예측을 조합하여 예측하는 것을 포함한다. 본 개시내용은 또한 대응하는 디코딩 방법들, 디바이스들 및 매체들에 관한 것이다.
도 1은 적어도 하나의 실시예에 따른 예시적인 인코더의 간략화된 블록도를 도시한다.
도 2는 적어도 하나의 실시예에 따른 예시적인 디코더의 간략화된 블록도를 도시한다.
도 3은 예시적인 참조 샘플 생성 프로세스를 도시한다.
도 4는 정사각형 블록들에 대한 예시적인 예측 방향들을 도시한다.
도 5는 상이한 블록 형상들에 대해 MPM 리스트를 도출하기 위한 예시적인 상단 및 좌측 CU 위치들을 도시한다.
도 6은 예시적인 MPM 시그널링을 도시한다.
도 7은 예시적인 MPM 도출을 도시한다.
도 8은 VTM-5.0에서 multiRefIdx>0일 때의 예시적인 MPM 시그널링을 도시한다.
도 9는 4x4 블록에 대한 예시적인 아핀 선형 가중 인트라 예측 프로세스를 도시한다.
도 10은 8x4 블록에 대한 예시적인 아핀 선형 가중 인트라 예측 프로세스를 도시한다.
도 11은 16x16 블록에 대한 예시적인 아핀 선형 가중 인트라 예측 프로세스를 도시한다.
도 12는 제1 MPM을 시그널링하는 비트 전에 mipFlag가 배치될 때의 예시적인 MPM 시그널링을 도시한다.
도 13은 제1 MPM을 시그널링하는 비트 전에 mipFlag가 배치될 때의 예시적인 MPM 시그널링을 도시한다.
도 14는 DC 전에, SMIP가 MPM 리스트에 넣어질 때의 예시적인 MPM 도출을 도시한다.
도 15는 DC 전에, SMIP가 MPM 리스트에 넣어질 때의 예시적인 MPM 도출을 도시한다.
도 16은 DC 후에, SMIP가 MPM 리스트에 넣어질 때의 예시적인 MPM 도출을 도시한다.
도 17은 예시적인 예측 그래프를 도시한다.
도 18은 현재 블록의 예시적인 예측을 도시한다.
도 19는 4x4 블록들의 U2, U18, U34 및 U50의 예시적인 값들을 도시한다.
도 20은
Figure pct00001
Figure pct00002
의 예시적인 예시를 도시한다.
도 21은
Figure pct00003
Figure pct00004
의 예시적인 예시를 도시한다.
도 22는
Figure pct00005
Figure pct00006
의 예시적인 예시를 도시한다.
도 23은 다양한 양태들 및 실시예들이 구현될 수 있는 시스템의 예의 블록도를 도시한다.
도면들은 예시적인 실시예들을 예시하고 본 개시내용의 실시예들은 예시된 실시예들로 제한되지 않는다는 점에 유의해야 한다.
본 상세한 설명은 본 실시예들의 원리들을 예시한다. 따라서, 본 기술분야의 통상의 기술자는, 본 명세서에 명시적으로 설명되거나 도시되지는 않았지만, 본 실시예들의 원리들을 구현하고 그 범위 내에 포함되는 다양한 배열들을 고안할 수 있을 것이라는 것을 이해할 것이다.
본 명세서에서 언급된 모든 예들 및 조건부 언어는, 본 발명자에 의해 본 기술분야를 발전시키는데 기여한 본 실시예들의 원리들 및 개념들을 독자가 이해하는 것을 돕기 위한 교육적 목적들을 위해 의도되며, 이러한 구체적으로 언급된 예들 및 조건들에 제한되지는 않는 것으로서 해석되어야 한다.
또한, 본 명세서에서 본 개시내용의 원리들, 양태들, 및 실시예들뿐만 아니라 그의 구체적인 예들을 언급하는 모든 표현은 그의 구조적 및 기능적 등가물 둘 다를 포함하는 것으로 의도된다. 추가적으로, 그러한 등가물들은 현재 알려져 있는 등가물들뿐만 아니라 미래에 개발되는 등가물들, 즉, 구조와는 상관없이 동일한 기능을 수행하는 임의의 개발되는 요소들 둘 다를 포함하도록 의도된다.
따라서, 예를 들어, 본 명세서에서 제시된 블록도들은 본 실시예들의 원리들을 구현하는 예시적인 회로의 개념도를 나타낸다는 것이 본 기술분야의 통상의 기술자에 의해 인식될 것이다. 유사하게, 임의의 순서도(flow chart), 흐름도(flow diagram), 상태 전이도(state transition diagram), 의사코드(pseudocode) 등은 컴퓨터 판독 가능 매체에 실질적으로 표현될 수 있고 따라서 컴퓨터 또는 프로세서가 명시적으로 도시되어 있는지 여부에 관계없이 그러한 컴퓨터 또는 프로세서에 의해 실행될 수 있는 다양한 프로세스들을 나타낸다는 것이 이해될 것이다.
본 실시예들은 상기 본 실시예들의 예들이 도시되어 있는 첨부 도면들을 참조하여 이하에서 더 완전히 설명된다. 그러나, 실시예는 많은 대안의 형태들로 구현될 수 있으며, 본 명세서에 제시된 예들로만 제한되는 것으로 해석해서는 안 된다. 따라서, 실시예들을 개시된 특정 형태들로 제한하려는 의도는 없다는 것을 이해해야 한다. 반대로, 본 실시예들은 본 출원의 사상 및 범위 내에 속하는 모든 수정들, 등가물들, 및 대안들을 커버하도록 의도된다.
도면이 흐름도로서 제시될 때, 그것은 대응하는 장치의 블록도를 또한 제공한다는 것을 이해해야 한다. 유사하게, 도면이 블록도로서 제시될 때, 그것은 대응하는 방법/프로세스의 흐름도를 또한 제공한다는 것을 이해해야 한다.
도면들에 도시된 다양한 요소들의 기능들은 전용 하드웨어뿐만 아니라 적절한 소프트웨어와 연관하여 소프트웨어를 실행할 수 있는 하드웨어의 사용을 통해 제공될 수 있다. 프로세서에 의해 제공될 때, 기능들은 단일 전용 프로세서에 의해, 단일 공유 프로세서에 의해, 또는 그 중 일부가 공유될 수 있는 복수의 개별적인 프로세서에 의해 제공될 수 있다. 또한, 용어 "프로세서" 또는 "제어기"의 명시적 사용은 소프트웨어를 실행할 수 있는 하드웨어를 배타적으로 지칭하도록 해석되지 않아야 하고, DSP(digital signal processor) 하드웨어, 소프트웨어를 저장하기 위한 ROM(read only memory), RAM(random access memory), 및 비휘발성 스토리지를 암시적으로 포함할 수 있으며, 이에 제한되지는 않는다. 종래의 및/또는 주문형(custom)의 다른 하드웨어도 포함될 수 있다. 유사하게, 도면들에 도시된 임의의 스위치들은 개념적일 뿐이다. 이들의 기능은 프로그램 로직(program logic)의 동작을 통해, 전용 로직을 통해, 프로그램 제어와 전용 로직의 상호작용을 통해, 또는 심지어 수동으로 수행될 수 있고, 특정 기법은 맥락으로부터 더 구체적으로 이해되는 바와 같이 구현자에 의해 선택가능하다.
도면들의 유사하거나 동일한 요소들은 동일한 참조 번호들로 참조된다. 일부 도면들은 비디오 압축 표준들의 사양에서 상기 비디오 압축 표준들을 따르는 비트스트림의 구조를 정의하기 위해 널리 사용되는 신택스 테이블들을 나타낸다. 그러한 신택스 테이블들에서, '...'이라는 용어는 읽기를 용이하게 하기 위해 비디오 압축 표준의 사양에서 주어지고 도면들에서 제거된 잘 알려진 정의에 대하여 신택스의 변경되지 않은 부분들을 나타낸다. 신택스 테이블들에서 볼드체 용어들은 이 용어에 대한 값이 비트스트림을 파싱함으로써 획득된다는 것을 표시한다. 신택스 테이블들의 우측 열은 신택스 요소의 데이터를 인코딩하기 위한 비트들의 수를 표시한다. 예를 들어, u(4)는 데이터를 인코딩하기 위해 4 비트가 사용된다는 것을 표시하고, u(8)는 8 비트를 표시하고, ae(v)는 컨텍스트 적응적 산술 엔트로피 코딩된 신택스 요소를 표시한다.
본 명세서의 청구항들에서, 지정된 기능을 수행하기 위한 수단으로서 표현된 임의의 요소는, 예를 들어, a) 그 기능을 수행하는 회로 요소들의 조합 또는 b) 그에 따라 펌웨어, 마이크로코드(microcode) 또는 이와 유사한 것을 포함한 임의의 형태의 소프트웨어와 그 소프트웨어를 실행하기 위한 적절한 회로의 조합을 포함하여, 그 기능을 수행하는 임의의 방식을 포괄하도록 의도된다. 이러한 청구항들에 의해 정의되는 바와 같은 본 실시예들은, 다양한 언급된 수단들에 의해 제공되는 기능들이 청구항들이 필요로 하는 방식으로 함께 합쳐지고 조합된다는 사실에 있다. 따라서, 그러한 기능들을 제공할 수 있는 임의의 수단들은 본 명세서에 도시된 것들과 동등한 것으로 간주된다.
도면들 및 설명들은 전형적인 인코딩 및/또는 디코딩 디바이스들에서 발견되는 많은 다른 요소들을, 명확성을 위해, 제거하면서, 본 실시예들의 명확한 이해와 관련되는 요소들을 예시하도록 간략화되었다는 것을 이해해야 한다.
다양한 요소들을 설명하기 위해 제1 및 제2라는 용어들이 본 명세서에 사용될 수 있지만, 이들 요소는 이들 용어로 제한되어서는 안 된다는 점을 이해할 것이다. 이 용어들은 하나의 요소를 다른 요소와 구별하는 데만 사용된다. 다양한 방법들이 위에서 설명되고, 방법들 각각은 설명된 방법을 달성하기 위한 하나 이상의 단계 또는 액션을 포함한다. 방법의 적절한 동작을 위해 단계들 또는 액션들의 특정 순서가 요구되지 않으면, 특정 단계들 및/또는 액션들의 순서 및/또는 사용은 수정되거나 조합될 수 있다.
다음의 섹션들에서, "재구성된" 및 "디코딩된"이라는 단어는 서로 바꾸어 사용될 수 있다. 반드시는 아니지만 보통, "재구성된"은 인코더측에서 사용되며, "디코딩된"은 디코더측에서 사용된다. 또한, "코딩된" 및 "인코딩된"이라는 단어들은 서로 바꾸어 사용될 수 있다. 또한, "이미지", "픽처" 및 "프레임"이라는 단어들은 서로 바꾸어 사용될 수 있다. 또한, "코딩", "소스 코딩" 및 "압축"이라는 단어들은 서로 바꾸어 사용될 수 있다.
본 개시내용의 "하나의 실시예" 또는 "실시예" 또는 "하나의 구현" 또는 "구현" 뿐만 아니라 그 다른 변형들에 대한 언급은, 그 실시예와 관련하여 설명된 특정한 특징, 구조, 특성 등이 본 개시내용의 적어도 하나의 실시예에 포함된다는 것을 의미함을 이해해야 한다. 따라서, 명세서 전반에 걸친 다양한 곳에서 나타나는 "하나의 실시예에서" 또는 "실시예에서" 또는 "하나의 구현에서" 또는 "구현에서"라는 문구뿐만 아니라 임의의 다른 변형들의 출현들은 반드시 모두 동일한 실시예를 참조하는 것은 아니다.
또한, 본 실시예들 또는 그 청구항들은 다양한 정보를 "결정하는 것"을 언급할 수 있다. 정보를 결정하는 것, 도출하는 것은, 예를 들어, 정보를 추정하는 것, 정보를 계산하는 것, 정보를 예측하는 것, 또는 메모리로부터 정보를 검색하는 것 중 하나 이상을 포함할 수 있다. 또한, 본 출원 또는 그 청구항들은 다양한 정보를 "제공하는 것"을 언급할 수 있다. 정보를 제공하는 것은, 예를 들어, 정보를 출력하는 것, 정보를 저장하는 것, 정보를 송신하는 것, 정보를 전송하는 것, 정보를 디스플레이하는 것, 정보를 보여주는 것, 또는 정보를 이동시키는 것 중 하나 이상을 포함할 수 있다. 또한, 본 출원 또는 그 청구항들 또는 그 청구항들은 다양한 정보에 "액세스하는 것"을 언급할 수 있다. 정보에 액세스하는 것은, 예를 들어, 정보를 수신하는 것, (예를 들어, 메모리로부터) 정보를 검색하는 것, 정보를 저장하는 것, 정보를 처리하는 것, 정보를 이동시키는 것, 정보를 복사하는 것, 정보를 소거하는 것, 정보를 계산하는 것, 정보를 결정하는 것, 정보를 예측하는 것, 또는 정보를 추정하는 것 중 하나 이상을 포함할 수 있다. 또한, 본 출원 또는 그 청구항들은 다양한 정보를 "수신하는 것"을 언급할 수 있다. 수신하는 것은, "액세스하는 것"과 마찬가지로, 광의의 용어인 것으로 의도된다. 정보를 수신하는 것은, 예를 들어, 정보에 액세스하는 것, 또는 (예를 들어, 메모리로부터) 정보를 검색하는 것 중 하나 이상을 포함할 수 있다. 또한, "수신하는 것"은 통상적으로, 예를 들어, 정보를 저장하는 것, 정보를 처리하는 것, 정보를 송신하는 것, 정보를 이동시키는 것, 정보를 복사하는 것, 정보를 소거하는 것, 정보를 계산하는 것, 정보를 결정하는 것, 정보를 예측하는 것, 또는 정보를 추정하는 것과 같은 동작들 동안 하나의 방식 또는 다른 방식으로 수반된다.
도시되고 설명된 다양한 특징들은 상호교환가능하다는 것을 이해해야 한다. 달리 지시되지 않는 한, 일 실시예에 도시된 특징은 다른 실시예에 통합될 수 있다. 또한, 다양한 실시예들에서 설명된 특징들은 분리불가능하거나 조합불가능한 것으로 달리 지시되지 않는 한 조합되거나 분리될 수 있다.
앞서 살펴본 바와 같이, 도면들에 도시된 다양한 요소들의 기능들은 전용 하드웨어뿐만 아니라 적절한 소프트웨어와 연관하여 소프트웨어를 실행할 수 있는 하드웨어의 사용을 통해 제공될 수 있다. 또한, 프로세서에 의해 제공될 때, 기능들은 단일 전용 프로세서에 의해, 단일 공유 프로세서에 의해, 또는 그 중 일부가 공유될 수 있는 복수의 개별적인 프로세서에 의해 제공될 수 있다.
첨부 도면들에 묘사된 구성 시스템 컴포넌트들 및 방법들 중 일부는 바람직하게는 소프트웨어로 구현되기 때문에, 시스템 컴포넌트들 또는 프로세스 기능 블록들 사이의 실제 연결들은 본 개시내용의 프로세스들이 프로그래밍되는 방식에 따라 상이할 수 있다는 것을 더 이해해야 한다. 본 명세서의 교시들을 고려해볼 때, 관련 기술분야의 통상의 기술자는 본 개시내용의 이러한 및 유사한 구현들 또는 구성들을 고려할 수 있을 것이다.
예시적인 실시예들이 첨부 도면들을 참조하여 본 명세서에 설명되었지만, 본 개시내용은 이러한 정확한 실시예들로 제한되지 않으며, 다양한 변경들 및 수정들이 본 개시내용의 범위를 벗어나지 않고서 본 명세서에서 관련 기술분야의 통상의 기술자에 의해 실시될 수 있다는 것을 이해해야 한다. 또한, 개별 실시예들은 본 개시내용의 범위를 벗어나지 않고서 조합될 수 있다. 이러한 모든 변경들 및 수정들은 첨부된 청구항들에서 제시된 바와 같이 본 개시내용의 범위 내에 포함되는 것으로 의도된다.
예를 들어, "A/B", "A 및/또는 B" 및 "A 및 B 중 적어도 하나"의 경우에, 이하의 "/", "및/또는" 및 "중 적어도 하나" 중 임의의 것의 사용은 첫 번째 열거된 옵션(A)만의 선택, 또는 두 번째 열거된 옵션(B)만의 선택, 또는 양자 모두의 옵션들(A 및 B)의 선택을 포함하도록 의도된다는 것을 이해해야 한다. 추가 예로서, "A, B, 및/또는 C" 및 "A, B, 및 C 중 적어도 하나"의 경우에, 이러한 문구는 첫 번째 열거된 옵션(A)만의 선택, 또는 두 번째 열거된 옵션(B)만의 선택, 또는 세 번째 열거된 옵션(C)만의 선택, 또는 첫 번째 및 두 번째 열거된 옵션들(A 및 B)만의 선택, 또는 첫 번째 및 세 번째 열거된 옵션들(A 및 C)만의 선택, 또는 두 번째 및 세 번째 열거된 옵션들(B 및 C)만의 선택, 또는 모든 3개의 옵션(A 및 B 및 C)의 선택을 포함하도록 의도된다. 이것은 본 기술분야 및 관련 기술분야의 통상의 기술자에 의해 쉽게 명백한 바와 같이 열거된 많은 항목들에 대해 확장될 수 있다.
본 기술분야의 통상의 기술자에게 명백한 바와 같이, 구현들은, 예를 들어, 저장되거나 송신될 수 있는 정보를 운반하도록 포맷화된 다양한 신호들을 생성할 수 있다. 정보는, 예를 들어, 방법을 수행하기 위한 명령어들, 또는 설명되는 구현들 중 하나에 의해 생성되는 데이터를 포함할 수 있다. 예를 들어, 신호는 설명된 실시예의 비트스트림을 운반하도록 포맷화될 수 있다. 이러한 신호는, 예를 들어, 전자기파로서(예를 들어, 스펙트럼의 무선 주파수 부분을 사용하여) 또는 기저대역 신호로서 포맷화될 수 있다. 포맷화는, 예를 들어, 데이터 스트림을 인코딩하고 인코딩된 데이터 스트림으로 반송파(carrier)를 변조하는 것을 포함할 수 있다. 신호가 운반하는 정보는, 예를 들어, 아날로그 또는 디지털 정보일 수 있다. 신호는 알려진 바와 같이 다양한 상이한 유선 또는 무선 링크를 통해 송신될 수 있다. 신호는 프로세서 판독가능 매체 상에 저장될 수 있다.
픽처(또한 이미지 또는 프레임을 나타냄)는 모노크롬 포맷의 루마 샘플들의 어레이, 또는 4:2:0, 4:2:2, 또는 4:4:4 컬러 포맷의 루마 샘플들의 어레이 및 크로마 샘플들의 2개의 대응하는 어레이 또는 3개의 컬러 성분(예를 들어, RGB)의 3개의 어레이일 수 있다는 것을 이해해야 한다.
비디오 압축 표준에서, 픽처는 가능하게는 상이한 크기 및/또는 상이한 형상의 블록들로 파티셔닝된다. 블록은 2차원 어레이 또는 행렬이라는 것을 이해해야 한다. 수평 또는 x 방향(또는 축)은 폭을 나타내고, 수직 또는 y 방향(또는 축)은 높이를 나타낸다. 인덱스들은 0에서 시작한다. x 방향은 열을 나타내고 y 방향은 행을 나타낸다. 최대 x 인덱스는 폭 - 1이다. 최대 y 인덱스는 높이 - 1이다.
인코딩
도 1은 적어도 하나의 실시예에 따른 예시적인 인코더(100)의 간략화된 블록도를 예시한다. 인코더(100)는 통신 시스템의 송신기 또는 헤드-엔드(head-end)에 포함될 수 있다.
비디오 시퀀스를 하나 이상의 픽처로 인코딩하기 위해, 픽처는 가능하게는 상이한 크기 및/또는 상이한 형상의 블록들로 파티셔닝된다(모듈 110). 예를 들어, HEVC("ITU-T H.265 TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU (10/2014), SERIES H: AUDIOVISUAL AND MULTIMEDIA SYSTEMS, Infrastructure of audiovisual services - Coding of moving video, High efficiency video coding, Recommendation ITU-T H.265")에서, 픽처는 구성가능한 크기를 갖는 정사각형 형상의 CTU들(Coding Tree Units)로 파티셔닝될 수 있다. 연속적인 세트의 CTU들은 슬라이스로 그룹화될 수 있다. CTU는 코딩 유닛(CU)들로의 쿼드-트리 파티셔닝의 루트(root)이다.
예시적인 인코더(100)에서, 픽처는 후술하는 바와 같이 블록-기반 인코딩 모듈들에 의해 인코딩된다. 각각의 블록은 인트라-예측 모드 또는 인터-예측 모드를 사용하여 인코딩된다. 블록이 인트라-예측 모드에서 인코딩될 때(모듈 160), 인코더(100)는 동일한 픽처 내의 하나의 블록의 적어도 하나의 샘플(또는 픽처 또는 슬라이스의 제1 블록에 대한 미리 정의된 값)에 기초하여 인트라-예측(공간적 예측으로도 표시됨)을 수행한다. 예로서, 예측 블록은 재구성된 이웃 샘플들로부터 블록을 인트라-예측함으로써 획득된다.
블록이 인터-예측 모드에서 인코딩될 때, 인코더(100)는 (참조 픽처 버퍼에 저장된) 적어도 하나의 참조 픽처 또는 슬라이스의 적어도 하나의 참조 블록에 기초하여 인터-예측(시간적 예측으로도 표시됨)을 수행한다.
인터-예측 코딩은 참조 픽처 버퍼(180)에 저장된 참조 블록을 모션-추정(모듈 175) 및 모션-보상(모듈 170)함으로써 수행된다. 단-인터-예측(uni-inter-prediction)(단방향성 예측이라고도 함) 모드에서, 예측 블록은 일반적으로(그러나 반드시는 아님) 이전의 참조 픽처에 기초할 수 있다. 양-인터-예측(bi-inter-prediction)(양예측이라고도 함) 모드에서, 예측 블록은 일반적으로(그러나 반드시는 아님) 이전 및 이후 픽처에 기초할 수 있다.
인코더(100)는 블록을 인코딩하기 위해 인트라-예측 모드 또는 인터-예측 모드 중 어느 하나를 사용할지를 결정하고(모듈 105), 예측 모드 신택스 요소에 의해 인트라/인터 판단을 표시한다.
예측 잔차 블록은 블록으로부터 예측 블록(예측자라고도 알려짐)을 감산(모듈 120)함으로써 계산된다. 예측 잔차 블록은 변환되고(모듈 125) 양자화된다(모듈 130). 변환 모듈(125)은 예측 잔차 블록을 픽셀 (공간적) 도메인으로부터 변환 (주파수) 도메인으로 변환할 수 있다. 변환은, 예를 들어, 코사인 변환, 사인 변환, 웨이브릿 변환 등일 수 있다. 양자화(모듈 130)는, 예를 들어, 레이트 왜곡 기준에 따라 수행될 수 있다.
모션 벡터들 및 다른 신택스 요소들뿐만 아니라 양자화된 변환 계수들은, 엔트로피 코딩되어(모듈 145) 비트스트림을 출력한다. 엔트로피 코딩은, 예를 들어, CABAC(Context Adaptive Binary Arithmetic Coding), CAVLC(Context Adaptive Variable Length Coding), 허프만(Huffman), 산술, exp-Golomb 등일 수 있다.
인코더는 또한, 변환을 스킵하고 변환되지 않은 예측 잔차 블록에 직접 양자화를 적용할 수 있다. 인코더는 또한 변환과 양자화 둘 다를 바이패스할 수 있는데, 즉, 예측 잔차 블록은 변환 또는 양자화 프로세스의 적용 없이 직접 코딩된다.
직접 PCM 코딩에서, 어떠한 예측도 적용되지 않고 블록 샘플들은 비트스트림으로 직접 코딩된다.
인코더(100)는 디코딩 루프를 포함하므로 추가 예측들을 위한 참조(reference)를 제공하기 위해 인코딩된 블록을 디코딩한다. 양자화된 변환 계수들은 예측 잔차 블록들을 디코딩하기 위해 탈양자화(역양자화라고도 함)되고(모듈 140) 역변환된다(모듈 150). 그 다음, 블록은 디코딩된 예측 잔차 블록과 예측 블록을 조합함으로써(모듈 155) 재구성된다. 하나 이상의 인-루프 필터(165)가 재구성된 픽처에 적용되어, 예를 들어, 코딩 아티팩트를 감소시키기 위해 디블로킹/샘플 적응적 오프셋(SAO) 필터링을 수행할 수 있다. 필터링된 픽처는 참조 픽처 버퍼(180)에 저장된다.
인코더(100)의 모듈들은 소프트웨어로 구현되고 프로세서에 의해 실행될 수 있거나 또는 압축 기술분야의 통상의 기술자에게 잘 알려진 회로 컴포넌트들을 사용하여 구현될 수 있다. 특히, 비디오 인코더(100)는 집적 회로(IC)로서 구현될 수 있다.
디코딩
도 2는 적어도 하나의 실시예에 따른 예시적인 디코더(200)의 간략화된 블록도를 도시한다. 디코더(200)는 통신 시스템의 수신기에 포함될 수 있다. 디코더(200)는 일반적으로 도 1에서 설명된 바와 같이 인코더(100)에 의해 수행되는 인코딩 패스에 역인 디코딩 패스를 수행하지만, 디코더에서의 모든 동작들이 인코딩 프로세스의 역 동작들은 아니다(예를 들어, 인트라-예측 및 인터-예측). 특히, 디코더(200)의 입력은 인코더(100)에 의해 생성될 수 있는 비디오 비트스트림을 포함한다.
비디오 비트스트림은, 예를 들어, 변환 계수들, 모션 벡터들 MV, 픽처 파티셔닝 정보, 가능하게는 예측 모드 플래그, 신택스 요소들 및 다른 디코딩 데이터를 획득하기 위해 먼저 엔트로피 디코딩된다(모듈 230). 예를 들어, HEVC에서, 픽처 파티셔닝 정보는 CTU들의 크기, 및 CTU가 CU들로 분할되는 방식을 표시한다. 따라서, 디코더는 픽처 파티셔닝 정보에 따라 픽처를 CTU들로, 그리고 각각의 CTU를 CU들로 분할(235)할 수 있다.
변환 계수들은 예측 잔차 블록들을 디코딩하기 위해 탈양자화되고(모듈 240) 역변환된다(모듈 250). 그 다음, 디코딩된 예측 잔차 블록들은 (예측자라고도 알려진) 예측 블록들과 조합되어(모듈 255) 디코딩된/재구성된 블록들을 획득한다.
예측 블록은 가능하게는 예측 모드 플래그에 따라 인트라-예측(모듈 260) 또는 모션-보상된 예측(즉, 인터-예측)(모듈 270)으로부터 획득될 수 있다(모듈 205). 인-루프 필터(모듈 265)가 재구성된 픽처에 적용될 수 있다. 인-루프 필터는 디블로킹 필터 및/또는 SAO 필터를 포함할 수 있다. 필터링된 픽처는 참조 픽처 버퍼(280)에 저장된다.
디코더(200)의 모듈들은 소프트웨어로 구현되고 프로세서에 의해 실행될 수 있거나 또는 압축 기술분야의 통상의 기술자에게 잘 알려진 회로 컴포넌트들을 사용하여 구현될 수 있다. 특히, 디코더(200)는 코덱으로서 인코더(100)와 조합되어 또는 단독으로, 집적 회로(IC)로서 구현될 수 있다.
본 실시예들은 VVC(Versatile Video Coding) VTM 5.0에서의 인트라 예측을 다룬다. 2019년 3월에 Geneva에서 열린 JVET 회의에서, 인트라 예측을 위한 아핀 변환들의 세트인 행렬 인트라 예측(Matrix Intra Prediction, MIP)을 사용하는 것이 합의되었다. MIP를 이용하면, VTM-5.0에서의 인트라 예측은 이제 다중 참조 라인들(Multiple Reference Lines)(MRL)을 이용한 인트라 예측, 서브-파티션들을 이용한 인트라 예측(Intra prediction with Sub-Partitions)(ISP), 종래의 67 인트라 예측 모드(평면, DC, 및 65 방향성 모드), 및 MIP에 기초한다. 본 실시예들은 이러한 아핀 변환들의 세트를 단일 아핀 변환으로 감소시키는 것을 제안한다. 인트라 예측을 위한 이러한 단일 아핀 변환은 본 명세서에서 SMIP로 표시된다. 이것은 인코더측과 디코더측 양자 모두에서 메모리 풋프린트를 7.92배 감소시킨다.
H.266/VVC에서의 인트라 예측 프로세스는 참조 샘플들을 수집하는 것, 이들을 처리하는 것, 현재 블록의 샘플들의 실제 예측을 도출하는 것, 및 예측된 샘플들을 최종적으로 후처리하는 것으로 구성된다. 참조 샘플 생성 프로세스는 도 3에 예시된다. 보다 정확하게는, 도 3은 정사각형 현재 블록(W=H=N)의 경우에 H.266/VVC에서의 인트라 예측을 위한 예시적인 참조 샘플들을 예시하며, 좌표 (x, y)에서의 픽셀 값들은 도면에서 P(x, y)로 표시된다. 상단의 2W 샘플들의 어레이는 이전에 재구성된 상단 및 상단-우측 픽셀들에서 현재 블록까지 형성되고, W는 블록 폭을 나타낸다. 유사하게, 좌측의 2H 샘플들의 열은 재구성된 좌측 및 하측 좌측 픽셀들로부터 형성되고, H는 블록 높이를 나타낸다. 상단-좌측 위치에 있는 코너 픽셀은 또한 상단 행 및 좌측 열 참조들 사이의 갭을 채우기 위해 사용된다. 대응하는 코딩 유닛들(CU들)이 동일한 슬라이스에 있지 않거나 현재 CU가 프레임 경계에 있기 때문에, 상단 또는 좌측의 샘플들 중 일부가 이용가능하지 않으면, 누락된 샘플들이 이용가능한 샘플들로부터 시계 방향으로 복사되는 참조 샘플 치환(reference sample substitution)이라고 하는 방법이 수행된다. 이어서, 현재 CU 크기 및 예측 모드에 따라, 참조 샘플들이 지정된 필터를 사용하여 필터링된다.
H.266/VVC는 H.265/HEVC의 것들로부터 도출된 예측 모델들의 범위를 포함한다. 평면(Planar) 및 DC 예측 모드들은 평활하고 점진적으로 변화하는 영역들을 예측하는데 사용되는 반면, 각도 예측 모드들은 상이한 방향성 구조들을 캡처하는데 사용된다. 각각의 직사각형 블록 형상에 대해 상이하게 조직되는 65개의 방향성 예측 모드가 존재한다. 이 예측 모드들은 도 4에 예시된 바와 같이 상이한 예측 방향들에 대응한다. 인트라 예측은 다중 참조 라인들(Multiple Reference Lines)(MRL)을 이용한 인트라 예측 및 서브-파티션들을 이용한 인트라 예측(Intra prediction with Sub-Partitions)(ISP)과 같은 도구들로 더 확장되었다.
인코더측에서, 레이트-왜곡 기준에 따른 최상의 인트라 예측 모드가 선택되고, 그의 인덱스가 인코더로부터 디코더로 송신된다. 엔트로피 코딩을 통해 선택된 모드 인덱스의 시그널링을 수행하기 위해, MPM(Most Probable Mode)들의 리스트가 구축된다.
VTM-5.0에서, MPM 리스트는 현재 블록의 인트라 예측 모드를 시그널링하기 위한 6개의 인트라 예측 모드를 포함한다[1]. MPM 리스트는 현재 CU의 상단 및 좌측의 인트라 코딩된 CU들의 예측 모드들 및 일부 디폴트 모드들로부터 생성된다. 도 5에 도시된 바와 같이, 상단 및 좌측 CU들은 현재 블록의 우측 및 하단 에지에 있다.
L ≡ 좌측 CU의 예측 모드(범위 [0-66] 내의 값)
A ≡ 상측 CU의 예측 모드(범위 [0-66] 내의 값)
offset = 61
mod = 64
MPM 리스트의 초기화:
MPM[0] = PLANAR_IDX
MPM[1] = DC_IDX
MPM[2] = VER_IDX
MPM[3] = HOR_IDX
MPM[4] = VER_IDX - 4
MPM[5] = VER_IDX + 4
MPM 리스트의 구축:
if (L = A)
if (L > DC_IDX)
MPM[0] = PLANAR_IDX
MPM[1] = L
MPM[2] = ((L + offset) % mod) + 2
MPM[3] = ((L - 1) % mod) + 2
MPM[4] = DC_IDX
MPM[5] = ((L + offset - 1) % mod) + 2
else
초기화된 값들을 사용
else
if ((L > DC_IDX) && (A > DC_IDX))
MPM[0] = PLANAR_IDX
MPM[1] = L
MPM[2] = A
MPM[3] = DC_IDX
MPM[4] = ((max(L,A) + offset) % mod) + 2, L과 A가 인접하지 않은 경우
= ((max(L,A) + offset - 1) % mod) + 2, 그 외
MPM[5] = ((max(L,A) - 1) % mod) + 2, L과 A가 인접하지 않은 경우
= ((max(L,A) - 0) % mod) + 2, 그 외
else if (L + A >= 2)
MPM[0] = PLANAR_IDX
MPM[1] = max(L,A)
MPM[2] = DC_IDX
MPM[3] = ((max(L,A) + offset) % mod) + 2
MPM[4] = ((max(L,A) - 1) % mod) + 2
MPM[5] = ((max(L,A) + offset - 1) % mod) + 2
else
초기화된 값들을 사용
범위 [2-66]에 걸친 원형 인접성(circular adjacency)을 사용하여, 이는 동등하게 다음과 같이 쓸 수 있다.
((L + offset) % mod) + 2 ≡ L - 1
((L + offset - 1) % mod) + 2 ≡ L - 2
((L - 1) % mod) + 2 ≡ L + 1
((L - 0) % mod) + 2 ≡ L + 2
위의 관계들을 사용하여, MPM 리스트 도출은 도 6의 MPM 리스트 도출이라는 것을 알 수 있다.
정규 인트라 예측에서, 현재 블록의 예측 모드가 6개의 MPM 모드 중 하나에 대응하면, 이것은 값 1을 갖는 mpmFlag를 통해 시그널링되고 그 후 도 7에 도시된 가변 길이 코딩 방식을 사용하여 MPM 리스트로부터 후보 모드를 시그널링함으로써 시그널링된다. 도 7에서 A 및 L은 각각 상측 및 좌측 CU들의 예측 모드들을 나타낸다. 그렇지 않으면, mpmFlag는 0과 동일하고 나머지 61개의 모드의 세트에서의 후보 인덱스는 5 또는 6 비트로 잘린 이진 인코딩된다(truncated-binary encoded).
MRL을 이용한 인트라 예측의 경우, 예측에 사용되는 참조 라인은 플래그 multiRefIdx로 시그널링된다. multiRefIdx의 유효 값들은 0, 1, 및 3이고, 이는 제1, 제2, 또는 제4 참조 라인을 시그널링한다. multiRefIdx가 0이 아닐 때(제2 또는 제4 참조 라인이 사용됨을 의미함), 예측 모드는 항상 MPM 리스트에 속한다. 따라서, mpmFlag는 시그널링되지 않는다. 또한, 평면 모드는 리스트로부터 제외된다. 이것은, multiRefIdx가 0이 아닐 때, 5개의 예측 모드만이 가능한 후보들로서 이용가능하다는 것을 의미한다. multiRefIdx가 0이 아닐 때, 예측 모드는 도 8에 도시된 바와 같이 시그널링된다.
ISP를 이용한 인트라 예측의 경우, CU에 사용되는 파티셔닝의 타입은 ispMode라고 불리는 플래그로 시그널링된다. ispMode는 multiRefIdx가 0일 때에만 인코딩된다. ispMode의 유효 값들은 0, 1, 및 2이고, 이들은 각각 파티셔닝 없음(no partitioning), 수평 파티셔닝, 및 수직 파티셔닝을 시그널링한다. ispMode가 0이 아니면, 즉, 타겟 CU가 파티셔닝되면, 예측 모드는 항상 MPM 리스트에 속한다. 따라서, 이 경우, mpmFlag는 시그널링되지 않는다. 예측 모드는 도 7을 사용하여 인코딩된다.
Macao에서 열린 제12차 JVET 회의에서, VVC에 CIIP(Combined Inter-Intra Prediction)를 통합하는 것이 합의되었다. 이어서, 이 도구는 [3]에 의해 단순화되었다. CIIP의 단순화된 버전에서, 병합(merge) 모드는 평면 및 하나의 병합 인덱싱된 예측을 선형적으로 조합한다. 인트라 및 인터 예측된 샘플들을 조합하기 위한 인트라 가중치 wintra 및 인터 가중치 winter은 이웃하는 인트라-코딩된 블록들의 수에 의존한다. 도 5의 표기법을 재사용하면, 다음과 같다.
Figure pct00007
H.266/VVC의 현재 버전에서 채택되는 바와 같은 MIP는 [2]에 설명되어 있다. MIP의 경우, 참조 샘플 생성 프로세스는 W 재구성된 상단 및 H 재구성된 좌측 픽셀들을 배타적으로 취하는 것으로 구성된다. 이러한 참조 샘플들은 필터링되지 않는다. 참조 샘플들이 평균화되어, W=H=4의 경우에 4개의 값 및 더 큰 블록들의 경우에 8개의 값의 벡터가 얻어진다. 평균화된 참조 샘플들의 벡터는 가중치들의 행렬과 곱해지고, 바이어스들의 벡터가 더해진다. 마지막으로, 현재 블록의 예측은 결과를 선형 보간함으로써 획득된다. 초기 참조 샘플들은 경계들을 보간하기 위해 사용된다.
행렬들 및 벡터들의 3개의 세트 S0, S1, S2가 인코더가 선택하는데 이용가능하다. 크기 4x4의 블록들에 대해, 세트 S0은 각각 크기 16x4 및 16의 18개의 행렬 및 바이어스 벡터를 포함한다. 크기 4x8, 8x4 및 8x8의 블록들에 대해, S1은 크기 16x8의 10개의 행렬과 크기 16의 바이어스들로 구성된다. 마지막으로, 모든 다른 블록 형상들에 대해, 세트 S2는 크기 64x8의 7개의 행렬과 크기 64의 6개의 바이어스 벡터로 구성된다.
모드 및 블록 형상에 따라, 저자들이 "감소된 경계(reduced boundary)"에 대해
Figure pct00008
라고 하는 입력의 벡터는 다음과 같이 재배열된다:
Figure pct00009
여기서, 상단 및 좌측에서의 평균화된 경계 샘플들은 도 9에 묘사된 바와 같이 각각
Figure pct00010
Figure pct00011
로 표시된다.
그 다음, 예측된 블록들에 대한 샘플들의 출력된 감소된 세트
Figure pct00012
Figure pct00013
로서 생성된다.
가중치들의 행렬 A 및 오프셋 벡터 b는
Figure pct00014
으로서 모드 및 블록 형상에 따라 세트들 S0, S1, S2 중에서 선택되며, 여기서
Figure pct00015
그리고
Figure pct00016
8x8 및 8x4 블록의 경우에
Figure pct00017
에 대해 수행되는 보간 프로세스들이 도 10 및 도 11에 각각 도시되어 있다.
더 큰 블록들에 대해, 참조 샘플들은 그룹화되고 평균화되어, 16x16 블록에 대해 도 12에 도시된 바와 같이, 입력 벡터를 8 샘플 길이가 되게 한다.
이 방법은 다음에 대응하는 세트들 S0, S1, S2를 저장할 것을 요구한다:
- 크기 16x4의 18개의 행렬 및 크기 16의 18개의 오프셋
- 크기 16x8의 10개의 행렬 및 크기 16의 10개의 오프셋
- 크기 64x8의 6개의 행렬 및 크기 64의 6개의 오프셋
이는 코딩될 6336개의 파라미터를 나타내며, 이는 10-비트 값들로서 저장될 때 7.92 킬로바이트의 데이터에 대응한다.
MIP 모드는 먼저 mipFlag라고 하는 플래그로 시그널링되고, 값 1은 MIP 모드가 현재 블록을 예측하는 데 사용된다는 것을 의미하고, 0은 67 종래의 인트라 예측 모드 중 하나가 사용된다는 것을 의미한다. mipFlag가 1일 때, multiRefIdx는 반드시 0이고, 이는 제1 참조 라인이 사용되고, ispMode가 0인 것, 즉, 타겟 CU 파티션이 없다는 것을 의미한다. 따라서, mipFlag가 1일 때, multiRefldx 및 ispMode는 기입되지 않는다. mipFlag가 1이면, MIP 모드는 3개의 MPM의 리스트에 기초하여 이진 판단 트리를 통해 시그널링된다.
현재 블록을 예측하기 위한 인트라 예측 모드가 67 종래의 인트라 예측 모드들 중 하나이고 현재 블록의 우측에서의 CU를 예측하기 위한 모드 또는 현재 블록의 하단-에지에서의 CU를 예측하기 위한 모드가 MIP 모드인 경우를 다루기 위해, 각각의 MIP 모드와 종래의 모드들 중 하나 사이의 맵핑은 이 MIP 모드를 그것의 맵핑된 종래의 모드로 치환할 수 있게 한다. 맵핑은 또한 반대로(way round), 즉, 종래의 모드를 그것의 맵핑된 MIP 모드로 치환할 수 있게 한다.
본 실시예들에서, 블록 크기 4x4에 대한 세트 S0을 사용하는 대신에, 각각 크기 16x4 및 16의 단일 행렬 M0 및 바이어스 벡터 b0이 사용된다. 블록 크기들 4x8, 8x4 및 8x8에 대해 세트 S1을 사용하는 대신에, 각각 크기 16x8 및 16의 단일 행렬 M1 및 바이어스 벡터 b1이 사용된다. 모든 다른 블록 형상들에 대해 세트 S2를 사용하는 대신에, 각각 크기 64x8 및 64의 단일 행렬 M2 및 바이어스 벡터 b2가 사용된다. 이는 코딩될 800개의 파라미터에 이르며, 이는 10-비트 값들로서 저장될 때 1.0 킬로바이트에 대응한다.
일부 실시예들에 따르면, H.266/VVC의 일부 위의 요소들을 이용한 SMIP의 시그널링은 mipFlag를 통해 행해질 수 있고, 1의 값은 이제 단일 MIP 모드를 의미한다. 현재 블록의 형상에 따라, (M0,b0), (M1,b1) 또는 (M2,b2)가 현재 블록을 예측하기 위해 사용된다.
이제, 위에서 언급한 맵핑은 SMIP에서 평면으로 요약된다.
위의 SMIP 시그널링의 제1 변형은 mpmFlag 후에 그리고 제1 MPM을 시그널링하는 비트 전에 mipFlag를 배치하는 것이다. 이제, mipFlag가 1이면, 후보 모드는 도 13에 도시된 가변 길이 코딩 방식을 사용하여 MPM 리스트로부터 시그널링된다.
제2 변형은 제1 MPM을 시그널링하는 비트 후에 그리고 제2 MPM을 시그널링하는 비트 전에 mipFlag를 배치하는 것이다. 이제, mipFlag가 1이면, 후보 모드는 도 14에 도시된 가변 길이 코딩 방식을 사용하여 MPM 리스트로부터 시그널링된다.
제3 변형에서, mipFlag를 사용하는 대신에, SMIP는 DC 전에, MPM 리스트에 넣어질 수 있다. MPM 도출은 도 15에서 설명한 것이 된다.
제4 변형에서, mipFlag를 사용하는 대신에, SMIP는 또한 DC 후에, MPM 리스트에 넣어질 수 있다. MPM 도출은 도 16에서 설명한 것이 된다.
제5 변형에서, mipFlag는 위에서 설명한 바와 같이(제3 및 제4 변형들) 사용되지 않는다. SMIP는 평면을 대체하며, 이는 SMIP가 평면의 시그널링을 갖는다는 것을 의미한다.
제6 변형에서, 위에서 설명한 바와 같이(제3, 제4 및 제5 변형들), mipFlag가 사용되지 않고, SMIP는 DC를 대체하며, 이는 SMIP가 DC의 시그널링을 소유한다는 것을 의미한다.
제7 변형은 위의 SMIP 시그널링의 임의의 변형과 조합될 수 있다. 인코더측에서, SMIP가 현재 블록을 예측하기 위한 인트라 예측 모드로서 선택될 때, MTS(Multiple Transform Selection) 및/또는 NSST(Non Separable Secondary Transform) 변환들이 비활성화될 수 있고, 이는 비활성화된 변환들에 대해, 시그널링 플래그들이 비트스트림에 기입되지 않는다는 것을 암시한다. 디코더측에서, 인트라 예측을 위한 시그널링 플래그들을 디코딩한 후에, SMIP가 현재 블록을 예측하기 위한 인트라 예측 모드로서 선택되면, 비활성화된 변환들의 플래그들의 디코딩은 없다.
위에서 설명한 CIIP의 단순화된 버전에서 체계적으로 사용되는 고유 인트라 예측 모드인 평면은 SMIP로 대체될 수 있다.
SMIP는 소수의 파라미터(800)를 가지므로, 이들 파라미터는 온라인으로 (예를 들어, 프레임을 인코딩할 때) 학습되어 전송될 수 있다. 보다 정확하게는, 인코더측에서, n개의 프레임의 각각의 그룹에 대해, SMIP의 파라미터들은 n개의 루미넌스 채널로부터 추출된 쌍들(디코딩된 참조 샘플들, 블록)에 대해 먼저 학습될 수 있다. 그 후, 학습된 파라미터들이 인코딩된다. 마지막으로, n개의 프레임의 그룹은 학습된 파라미터들을 사용하여 인코딩된다. 디코더측에서, n개의 프레임의 각각의 그룹에 대해, SMIP의 파라미터들이 먼저 디코딩된다. 그 후, 이 그룹은 학습된 파라미터들을 사용하여 디코딩된다.
후술하는 SMIP에 대한 트레이닝 방법은 전술한 바와 같은 온라인 트레이닝 또는 오프라인 트레이닝에 적용될 수 있다. SMIP에 대한 트레이닝 방법은, SMIP 및 4x4 블록들에 대한 H.266/VVC에서의 67 종래의 인트라 예측 모드 각각을 통해 그 이웃 참조 샘플들로부터 현재 블록 Y를 예측하기 위한 예시적인 그래프를 도시하는 도 17과 관련하여 설명된다(8x8 블록들 및 16x16 블록들에 대한 일반화는 간단하다). 본 개시내용의 일부 실시예들에 따르면, 가중치 행렬 및 바이어스 벡터의 각각의 쌍 (Mi, bi),
Figure pct00018
은 도 17의 그래프를 정의하고 역전파(backpropagation)를 통해 가중치 행렬(Mi) 및 바이어스 벡터(bi)에 대한 목적 함수를 최소화함으로써 H.266/VVC에서의 종래의 인트라 예측 모드들과 협력하여 트레이닝된다. "SMIP 예측"이라 불리는 다이어그램 컴포넌트는, 가중치 행렬과 바이어스 벡터가 학습되고 있는 블록 크기에 따라, 도 9, 도 10 또는 도 12에 묘사된 평균화, 아핀 변환, 및 선형 보간이다. "종래의 예측"이라고 불리는 다이어그램 컴포넌트는 도 18에 표시된 H.266/VVC에서의 67 종래의 인트라 예측 각각을 통한 예측이다. 도 18은 4x4 블록들에 대한 H.266/VVC에서의 67 인트라 예측 모드 각각을 통한 현재 블록 Y의 예시적인 예측을 도시한다(8x8 블록들 및 16x16 블록들에 대한 일반화는 간단하다).
도 18에서, 참조 샘플들은 벡터화된다. 그 후, 인덱스 i의 모드의 예측은 참조 샘플들의 벡터와 모드 행렬 Ui 사이의 내적(dot product)으로서 표현되고, i = DC, 평면, 2, 3, ..., 66이다. 내적으로서의 모드 예측은 트레이닝을 위한 그래프 형식에 적합하다. 예로서, 4x4 블록들에 대해, U2, U18, U34, 및 U50이 도 19에 묘사되어 있다.
트레이닝 동안, SMIP 예측은 도 17에 도시된 바와 같이 클리핑된다. 트레이닝을 위한 모든 쌍들(참조 샘플들, 블록)의 픽셀 강도가
Figure pct00019
으로부터 [-1.0, 1.0]으로 정규화됨에 따라, 클리핑을 위한 최소 값은 -1.0이고 최대 값은 1.0이다. 역전파 동안, 그의 입력에 대한 클리핑 함수의 출력의 기울기는 항등(identity)의 기울기로 대체되며, 즉, 상수 함수
Figure pct00020
이다. H.266/VVC에서 인트라 고속 선택 프로세스를 트레이닝하는 동안 시뮬레이션하기 위해, 가중치 행렬 Mi 및 바이어스 벡터 bi(
Figure pct00021
)에 대해 최소화될 목적 함수는 현재 블록 Y와 각각의 모드 예측 및 각각의 모드 추정된 시그널링 비용 사이에서 SAD를 조합한다(수학식 (1) 참조: (Mi, bi)를 학습하기 위한 최소화).
Figure pct00022
Figure pct00023
인자 511.5는 트레이닝 동안
Figure pct00024
에서 [-1.0, 1.0]으로의 픽셀 강도의 전술한 정규화를 보상한다.
위의 최소화에서, 예상은 트레이닝을 위한 모든 쌍들(참조 샘플들, 블록)에 대한 평균을 통해 추정된다.
Figure pct00025
는 인덱스 j의 모드의 추정된 시그널링 비용이다.
Figure pct00026
Figure pct00027
는 트레이닝이 진행됨에 따라 0에서 -10.0으로 원활하게 감소된다.
위에서 언급한 트레이닝 알고리즘을 실행한 후에, 학습된 바이어스들은 H.266/VVC 내의 테스트 페이즈 동안이 아니라 트레이닝 페이즈 동안 적용되는
Figure pct00028
으로부터 [-1.0, 1.0]까지의 픽셀 강도의 위에서 언급한 정규화를 보상하기 위해 수학식 (2)를 통해 변환된다(트레이닝 동안 픽셀 강도의 정규화를 보상하기 위한 학습된 바이어스들의 변환).
Figure pct00029
Mi,kj는 가중치 행렬 Mi 내의 위치 (j,k)에서의 계수를 나타낸다.
bi,j는 바이어스 벡터 bi 내의 위치 j에서의 계수를 나타낸다.
그 후, 각각의 학습된 가중치는
Figure pct00030
에 의해 곱해지고, 여기서
Figure pct00031
은 H.266/VVC 내부의 테스트 시간에 SMIP 아핀 변환에 수반되는 비트-시프트들에 의존한다. 마지막으로, 결과적인 가중치들 및 바이어스들은 모두 가장 가까운 정수로 반올림되어, 양자화된 가중치 행렬 Mi 및 양자화된 바이어스 벡터 bi를 산출한다.
위에서 언급한 트레이닝 방법 후에, M0 및 b0이 도 20에 표시되고, M1 및 b1이 도 21에 표시되고, M2 및 b2가 도 22에 표시된다.
도 23은 다양한 양태들 및 실시예들이 구현되는 시스템의 예의 블록도를 예시한다. 시스템(2300)은 아래에 설명되는 다양한 컴포넌트들을 포함하는 디바이스로서 구현될 수 있고, 본 문서에 설명되는 양태들 중 하나 이상을 수행하도록 구성된다. 이러한 디바이스들의 예들은 개인용 컴퓨터, 랩톱 컴퓨터, 스마트폰, 태블릿 컴퓨터, 디지털 멀티미디어 셋톱 박스, 디지털 텔레비전 수신기, 개인 비디오 기록 시스템, 접속된 가전 기기, 및 서버와 같은 다양한 전자 디바이스들을 포함하지만 이에 제한되지 않는다. 시스템(2300)의 요소들은, 단독으로 또는 조합하여, 단일의 집적 회로(IC), 다수의 IC들, 및/또는 이산 컴포넌트들로 구현될 수 있다. 예를 들어, 적어도 하나의 실시예에서, 시스템(2300)의 처리 및 인코더/디코더 요소들은 다수의 IC들 및/또는 이산 컴포넌트들에 걸쳐 분산된다. 다양한 실시예들에서, 시스템(2300)은, 예를 들어, 통신 버스를 통해 또는 전용 입력 및/또는 출력 포트들을 통해, 하나 이상의 다른 시스템에 또는 다른 전자 디바이스에 통신가능하게 결합된다. 다양한 실시예들에서, 시스템(2300)은 본 문서에 설명된 양태들 중 하나 이상을 구현하도록 구성된다.
시스템(2300)은, 예를 들어, 본 문서에 설명된 다양한 양태들을 구현하기 위해 그 안에 로딩된 명령어들을 실행하도록 구성되는 적어도 하나의 프로세서(2310)를 포함한다. 프로세서(2310)는 임베디드 메모리, 입력 출력 인터페이스, 및 본 기술분야에 알려진 바와 같은 다양한 다른 회로들을 포함할 수 있다. 시스템(2300)은 적어도 하나의 메모리(2320)(예를 들어, 휘발성 메모리 디바이스, 및/또는 비휘발성 메모리 디바이스)를 포함한다. 시스템(2300)은 EEPROM(Electrically Erasable Programmable Read-Only Memory), ROM(Read-Only Memory), PROM(Programmable Read-Only Memory), RAM(Random Access Memory), DRAM(Dynamic Random Access Memory), SRAM(Static Random Access Memory), 플래시, 자기 디스크 드라이브, 및/또는 광 디스크 드라이브를 포함하지만 이에 제한되지 않는, 비휘발성 메모리 및/또는 휘발성 메모리를 포함할 수 있는, 저장 디바이스(2340)를 포함한다. 저장 디바이스(2340)는, 비제한적인 예로서, 내부 저장 디바이스, 부착된 저장 디바이스(분리가능 및 분리불가능 저장 디바이스들을 포함함), 및/또는 네트워크 액세스가능 저장 디바이스를 포함할 수 있다.
시스템(2300)은, 예를 들어, 인코딩된 비디오 또는 디코딩된 비디오를 제공하기 위해 데이터를 처리하도록 구성되는 인코더/디코더 모듈(2330)을 포함하고, 인코더/디코더 모듈(2330)은 그 자신의 프로세서 및 메모리를 포함할 수 있다. 인코더/디코더 모듈(2330)은 인코딩 및/또는 디코딩 기능들을 수행하기 위해 디바이스에 포함될 수 있는 모듈(들)을 표현한다. 알려진 바와 같이, 디바이스는 인코딩 및 디코딩 모듈들 중 하나 또는 양자 모두를 포함할 수 있다. 추가적으로, 인코더/디코더 모듈(2330)은 시스템(2300)의 개별 요소로서 구현될 수 있거나, 본 기술분야의 통상의 기술자에게 알려진 바와 같이 하드웨어와 소프트웨어의 조합으로서 프로세서(2310) 내에 통합될 수 있다. 본 문서에 설명된 다양한 양태들을 수행하기 위해 프로세서(2310) 또는 인코더/디코더(2330) 상에 로딩될 프로그램 코드는 저장 디바이스(2340)에 저장되고, 후속하여 프로세서(2310)에 의한 실행을 위해 메모리(2320) 상에 로딩될 수 있다. 다양한 실시예들에 따르면, 프로세서(2310), 메모리(2320), 저장 디바이스(2340), 및 인코더/디코더 모듈(2330) 중 하나 이상은 본 문서에 설명된 프로세스들의 수행 동안 다양한 항목들 중 하나 이상을 저장할 수 있다. 이러한 저장된 항목들은 입력 비디오, 디코딩된 비디오 또는 디코딩된 비디오의 부분들, 비트스트림, 행렬들, 변수들, 및 수학식들, 공식들, 연산들 및 연산 로직의 처리로부터의 중간 또는 최종 결과들을 포함할 수 있지만, 이에 제한되지 않는다.
일부 실시예들에서, 프로세서(2310) 및/또는 인코더/디코더 모듈(2330) 내부의 메모리는 명령어들을 저장하고 인코딩 또는 디코딩 동안 필요한 처리를 위한 작업 메모리를 제공하는 데 사용된다. 그러나, 다른 실시예들에서, 처리 디바이스(예를 들어, 처리 디바이스는 프로세서(2310) 또는 인코더/디코더 모듈(2330) 중 어느 하나일 수 있음) 외부의 메모리는 이러한 기능들 중 하나 이상을 위해 사용된다. 외부 메모리는 메모리(2320) 및/또는 저장 디바이스(2340), 예를 들어, 동적 휘발성 메모리 및/또는 비휘발성 플래시 메모리일 수 있다. 몇몇 실시예들에서, 외부 비휘발성 플래시 메모리는, 예를 들어, 텔레비전의 운영 체제를 저장하는 데 사용된다. 적어도 하나의 실시예에서, RAM과 같은 고속 외부 동적 휘발성 메모리는 MPEG-2(MPEG는 Moving Picture Experts Group를 지칭하고, MPEG-2는 ISO/IEC 13818로도 지칭되며, 13818-1은 H.222로도 알려져 있고, 13818-2는 H.262로도 알려져 있음), HEVC(HEVC는 High Efficiency Video Coding를 지칭하고, H.265 및 MPEG-H Part 2로도 알려져 있음), 또는 VVC(Versatile Video Coding, JVET(Joint Video Experts Team)에 의해 개발되고 있는 새로운 표준)와 같은 비디오 코딩 및 디코딩 동작들을 위한 작업 메모리로서 사용된다.
시스템(2300)의 요소들에 대한 입력은 블록(2330)에 나타낸 바와 같이 다양한 입력 디바이스들을 통해 제공될 수 있다. 이러한 입력 디바이스들은 (i) 예를 들어, 브로드캐스터에 의해 공중을 통해 송신되는 RF(radio frequency) 신호를 수신하는 RF 부분, (ii) 컴포넌트(COMP) 입력 단자(또는 COMP 입력 단자들의 세트), (iii) USB(Universal Serial Bus) 입력 단자, 및/또는 (iv) HDMI(High Definition Multimedia Interface) 입력 단자를 포함하지만 이에 제한되지 않는다. 도 23에 도시되지 않은 다른 예들은 복합 비디오(composite video)를 포함한다.
다양한 실시예들에서, 블록(2430)의 입력 디바이스들은 본 기술분야에 알려진 바와 같은 연관된 각자의 입력 처리 요소들을 갖는다. 예를 들어, RF 부분은 (i) 원하는 주파수 선택(신호 선택 또는 신호의 주파수 대역으로의 대역-제한이라고도 지칭됨), (ii) 선택된 신호의 하향-변환, (iii) 특정 실시예들에서 채널로 지칭될 수 있는 (예를 들어) 신호 주파수 대역을 선택하기 위해 다시 더 좁은 주파수 대역으로의 대역-제한, (iv) 하향-변환되고 대역-제한된 신호의 복조, (v) 에러 정정 수행, 및 (vi) 원하는 데이터 패킷 스트림을 선택하기 위한 디멀티플렉싱에 적합한 요소들과 연관될 수 있다. 다양한 실시예들의 RF 부분은 이러한 기능들을 수행하기 위한 하나 이상의 요소, 예를 들어, 주파수 선택기들, 신호 선택기들, 대역-제한기들, 채널 선택기들, 필터들, 하향변환기들, 복조기들, 에러 정정기들, 및 디멀티플렉서들을 포함한다. RF 부분은, 예를 들어, 수신된 신호를 더 낮은 주파수(예를 들어, 중간 주파수 또는 근-기저대역 주파수)로 또는 기저대역으로 하향-변환하는 것을 포함하여, 다양한 이러한 기능들을 수행하는 튜너를 포함할 수 있다. 하나의 셋톱 박스 실시예에서, RF 부분 및 그의 연관된 입력 처리 요소는 유선(예를 들어, 케이블) 매체를 통해 송신되는 RF 신호를 수신하고, 필터링, 하향-변환, 및 원하는 주파수 대역으로 다시 필터링함으로써 주파수 선택을 수행한다. 다양한 실시예들은 전술한(및 다른) 요소들의 순서를 재배열하고, 이 요소들의 일부를 제거하고, 그리고/또는 유사하거나 상이한 기능들을 수행하는 다른 요소들을 추가한다. 요소들을 추가하는 것은, 예를 들어, 증폭기들과 아날로그-대-디지털 변환기를 삽입하는 것과 같이 기존 요소들 사이에 요소들을 삽입하는 것을 포함할 수 있다. 다양한 실시예들에서, RF 부분은 안테나를 포함한다.
추가적으로, USB 및/또는 HDMI 단자들은 USB 및/또는 HDMI 연결들을 통해 다른 전자 디바이스들에 시스템(2300)을 연결하기 위한 각자의 인터페이스 프로세서들을 포함할 수 있다. 입력 처리의 다양한 양태들, 예를 들어, 리드-솔로몬(Reed-Solomon) 에러 정정은, 예를 들어, 필요에 따라 별도의 입력 처리 IC 내에서 또는 프로세서(2310) 내에서 구현될 수 있다는 것을 이해해야 한다. 유사하게, USB 또는 HDMI 인터페이스 처리의 양태들은 필요에 따라 별도의 인터페이스 IC들 내에서 또는 프로세서(2310) 내에서 구현될 수 있다. 복조되고, 에러 정정되고, 디멀티플렉싱된 스트림은, 예를 들어, 프로세서(2310), 및 출력 디바이스 상의 제시를 위해 필요에 따라 데이터 스트림을 처리하기 위해 메모리 및 저장 요소들과 조합하여 동작하는 인코더/디코더(2330)를 포함하는 다양한 처리 요소들에 제공된다.
시스템(2300)의 다양한 요소들이 통합된 하우징 내에 제공될 수 있고, 통합된 하우징 내에서, 다양한 요소들은 적절한 연결 배열, 예를 들어, I2C(Inter-IC) 버스, 배선, 및 인쇄 회로 보드들을 포함하는, 본 기술분야에 알려진 바와 같은 내부 버스를 사용하여 상호연결되고 그 사이에서 데이터를 송신할 수 있다.
시스템(2300)은 통신 채널(2360)을 통해 다른 디바이스들과의 통신을 가능하게 하는 통신 인터페이스(2350)를 포함한다. 통신 인터페이스(2350)는 통신 채널(2360)을 통해 데이터를 송신 및 수신하도록 구성되는 송수신기를 포함할 수 있지만, 이에 제한되지 않는다. 통신 인터페이스(2350)는 모뎀 또는 네트워크 카드를 포함할 수 있지만, 이에 제한되지 않고, 통신 채널(2360)은, 예를 들어, 유선 및/또는 무선 매체 내에서 구현될 수 있다.
다양한 실시예들에서, Wi-Fi 네트워크, 예를 들어, IEEE 802.11(IEEE는 Institute of Electrical and Electronics Engineers를 지칭함)과 같은 무선 네트워크를 사용하여 데이터가 시스템(2300)에 스트리밍되거나, 또는 다른 방식으로 제공된다. 이러한 실시예들의 Wi-Fi 신호는 Wi-Fi 통신들을 위해 적응되는 통신 인터페이스(2350) 및 통신 채널(2360)을 통해 수신된다. 이러한 실시예들의 통신 채널(2360)은 통상적으로 스트리밍 애플리케이션들 및 다른 오버-더-톱(over-the-top) 통신들을 허용하기 위해 인터넷을 포함하는 외부 네트워크들에 대한 액세스를 제공하는 액세스 포인트 또는 라우터에 연결된다. 다른 실시예들은 입력 블록(2330)의 HDMI 연결을 통해 데이터를 전달하는 셋톱 박스를 사용하여 스트리밍된 데이터를 시스템(2300)에 제공한다. 또 다른 실시예들은 입력 블록(2330)의 RF 연결을 사용하여 스트리밍된 데이터를 시스템(2300)에 제공한다. 위에서 나타낸 바와 같이, 다양한 실시예들은 비-스트리밍 방식으로 데이터를 제공한다. 추가적으로, 다양한 실시예들은 Wi-Fi 이외의 무선 네트워크들, 예를 들어, 셀룰러 네트워크 또는 블루투스 네트워크를 사용한다.
시스템(2300)은 디스플레이(2400), 스피커들(2310), 및 다른 주변기기 디바이스들(2420)을 포함하는 다양한 출력 디바이스들에 출력 신호를 제공할 수 있다. 다양한 실시예들의 디스플레이(2400)는, 예를 들어, 터치스크린 디스플레이, 유기 발광 다이오드(OLED) 디스플레이, 곡면 디스플레이, 및/또는 접이식 디스플레이 중 하나 이상을 포함한다. 디스플레이(2400)는 텔레비전, 태블릿, 랩톱, 휴대폰(모바일폰), 또는 다른 디바이스를 위한 것일 수 있다. 디스플레이(2400)는 (예를 들어, 스마트폰에서와 같이) 다른 컴포넌트들과 통합되거나, 또는 (예를 들어, 랩톱에 대한 외부 모니터와 같이) 별개일 수 있다. 다른 주변기기 디바이스들(2420)은, 실시예들의 다양한 예들에서, 독립형 디지털 비디오 디스크(또는 디지털 다목적 디스크)(두 용어에 대해, DVR), 디스크 플레이어, 스테레오 시스템, 및/또는 조명 시스템 중 하나 이상을 포함한다. 다양한 실시예들은 시스템(2300)의 출력에 기초하여 기능을 제공하는 하나 이상의 주변기기 디바이스(2420)를 사용한다. 예를 들어, 디스크 플레이어는 시스템(2300)의 출력을 플레이하는 기능을 수행한다.
다양한 실시예들에서, 제어 신호들은 AV.Link, CEC(Consumer Electronics Control), 또는 사용자 개입으로 또는 사용자 개입 없이 디바이스-대-디바이스 제어를 가능하게 하는 다른 통신 프로토콜들과 같은 시그널링을 사용하여 시스템(2300)과 디스플레이(2400), 스피커들(2410), 또는 다른 주변기기 디바이스들(2420) 사이에서 통신된다. 출력 디바이스들은 각자의 인터페이스들(2370, 2380, 및 2390)을 통한 전용 연결들을 통해 시스템(2300)에 통신가능하게 결합될 수 있다. 대안적으로, 출력 디바이스들은 통신 인터페이스(2350)를 통해 통신 채널(2360)을 사용하여 시스템(2300)에 연결될 수 있다. 디스플레이(2400) 및 스피커들(2410)은, 예를 들어, 텔레비전과 같은 전자 디바이스 내의 시스템(2300)의 다른 컴포넌트들과 단일 유닛으로 통합될 수 있다. 다양한 실시예들에서, 디스플레이 인터페이스(2370)는, 예를 들어, 타이밍 제어기(T Con) 칩과 같은 디스플레이 드라이버를 포함한다.
디스플레이(2400) 및 스피커(2410)는 대안적으로, 예를 들어, 입력(2430)의 RF 부분이 별도의 셋톱 박스의 일부인 경우, 다른 컴포넌트들 중 하나 이상으로부터 분리될 수 있다. 디스플레이(2400) 및 스피커들(2410)이 외부 컴포넌트들인 다양한 실시예들에서, 출력 신호는, 예를 들어, HDMI 포트들, USB 포트들, 또는 COMP 출력들을 포함하는 전용 출력 연결들을 통해 제공될 수 있다.
본 명세서에서 설명되는 구현들은, 예를 들어, 방법 또는 프로세스, 장치, 소프트웨어 프로그램, 데이터 스트림, 또는 신호로 구현될 수 있다. 단일 형태의 구현의 맥락에서만 논의되더라도(예를 들어, 방법으로서만 논의되더라도), 논의된 특징들의 구현은 또한 다른 형태들(예를 들어, 장치 또는 프로그램)로 구현될 수 있다. 장치는, 예를 들어, 적절한 하드웨어, 소프트웨어 및 펌웨어로 구현될 수 있다. 방법들은, 예를 들어, 컴퓨터, 마이크로프로세서, 집적 회로, 또는 프로그램가능 논리 디바이스를 포함하는, 일반적으로 처리 디바이스들을 지칭하는, 예를 들어, 프로세서와 같은 장치로 구현될 수 있다. 프로세서들은 또한, 예를 들어, 컴퓨터들, 휴대폰들, PDA(portable/personal digital assistant)들, 및 최종-사용자들 사이의 정보의 통신을 용이하게 하는 다른 디바이스들과 같은 통신 디바이스들을 포함한다.
본 실시예들의 양태에 따르면, 비디오 인코딩 및/또는 디코딩을 위한 장치(2100)가 제공되고, 이 장치는 프로세서(2310), 및 프로세서에 결합된 적어도 하나의 메모리(2320, 2340)를 포함하고, 프로세서(2310)는 위에서 설명한 방법들의 실시예들 중 임의의 것을 수행하도록 구성된다.
본 기술분야의 통상의 기술자에게 명백한 바와 같이, 구현들은, 예를 들어, 저장되거나 송신될 수 있는 정보를 운반하도록 포맷화된 다양한 신호들을 생성할 수 있다. 정보는, 예를 들어, 방법을 수행하기 위한 명령어들, 또는 설명되는 구현들 중 하나에 의해 생성되는 데이터를 포함할 수 있다. 예를 들어, 신호는 설명된 실시예의 비트스트림을 운반하도록 포맷화될 수 있다. 이러한 신호는, 예를 들어, 전자기파로서(예를 들어, 스펙트럼의 무선 주파수 부분을 사용하여) 또는 기저대역 신호로서 포맷화될 수 있다. 포맷화는, 예를 들어, 데이터 스트림을 인코딩하고 인코딩된 데이터 스트림으로 반송파(carrier)를 변조하는 것을 포함할 수 있다. 신호가 운반하는 정보는, 예를 들어, 아날로그 또는 디지털 정보일 수 있다. 신호는 알려진 바와 같이 다양한 상이한 유선 또는 무선 링크를 통해 송신될 수 있다. 신호는 프로세서 판독가능 매체 상에 저장될 수 있다.
또한, 방법들 중 임의의 것은 프로세서에 의해 실행될 수 있는 컴퓨터 실행가능 명령어들을 포함하는 컴퓨터 프로그램 제품으로서 (독립적으로 또는 공동으로) 구현될 수 있다. 컴퓨터 실행가능 명령어들을 갖는 컴퓨터 프로그램 제품은 시스템(2300), 인코더(100) 및/또는 디코더(200)의 각자의 일시적 또는 비일시적 컴퓨터 판독가능 저장 매체에 저장될 수 있다.
프로세스들에서의 요소들 중 하나 이상은 본 개시내용의 양태들을 여전히 구현하면서 일부 실시예들에서 조합되거나, 상이한 순서로 수행되거나, 배제될 수 있다는 점에 유의하는 것이 중요하다. 다른 단계들은 병렬로 수행될 수 있으며, 여기서 프로세서는 다른 단계를 시작하기 전에 한 단계의 완전한 완료를 기다리지 않는다.
또한, 본 실시예들의 양태들은 컴퓨터 판독가능 저장 매체의 형태를 취할 수 있다. 하나 이상의 컴퓨터 판독가능 저장 매체(들)의 임의의 조합이 이용될 수 있다. 컴퓨터 판독가능 저장 매체는 하나 이상의 컴퓨터 판독가능 매체(들)에 구현되며 컴퓨터에 의해 실행가능한 컴퓨터 판독가능 프로그램 코드를 갖는 컴퓨터 판독가능 프로그램 제품의 형태를 취할 수 있다. 본 명세서에서 사용되는 바와 같은 컴퓨터 판독가능 저장 매체는, 정보를 그 안에 저장하기 위한 본래의 능력뿐만 아니라, 그로부터 정보의 검색(retrieval)을 제공하기 위한 본래의 능력을 고려할 때, 비일시적 저장 매체로 간주된다. 컴퓨터 판독가능한 저장 매체는, 예를 들어, 전자, 자기, 광학, 전자기, 적외선, 반도체 시스템, 장치, 또는 디바이스, 또는 이들의 임의의 적합한 조합일 수 있지만, 이에 제한되지 않는다.
다음의 리스트는, 본 개시내용이 적용될 수 있는 컴퓨터 판독가능 저장 매체들의 보다 구체적인 예들을 제공하지만, 단지 예시일 뿐이며 본 기술분야의 통상의 기술자에 의해 용이하게 인식되는 바와 같이 총망라한 리스트가 아니라는 것을 이해해야 한다: 예들의 리스트는 휴대용 컴퓨터 디스켓, 하드 디스크, ROM, EPROM, 플래시 메모리, 휴대용 콤팩트 디스크 판독-전용 메모리(CD-ROM), 광학 저장 디바이스, 자기 저장 디바이스, 또는 이들의 임의의 적절한 조합을 포함한다.
본 실시예들의 양태에 따르면, 위의 방법들을 포함하는, 본 실시예들의 방법들 중 임의의 것의 실시예들 중 임의의 것을 수행하기 위한 프로그램 코드 명령어들을 포함하는 소프트웨어 프로그램을 운반하는 컴퓨터 판독가능 저장 매체가 제공된다.
위에서 상세히 설명한 바와 같이, 본 개시내용에서, 일부 양태들은 이미지 데이터를 인코딩하도록 적응되는 적어도 하나의 프로세서를 포함하는 디바이스, 또는 이미지 데이터를 인코딩하기 위한 방법에 관한 것이고, 상기 적어도 하나의 프로세서는 제1 단일 변환을 사용하는 인트라-예측 모드를 사용하여 상기 이미지 데이터의 적어도 하나의 제1 블록을 인트라-예측하도록 적응되며, 이 방법은 제1 단일 변환을 사용한 인트라 예측 모드를 사용하여 상기 이미지 데이터의 적어도 하나의 제1 블록을 인트라-예측하는 단계를 포함하고, 상기 제1 단일 변환은 제1 블록 크기를 고려하여 획득된다. 이미지 데이터는, 예를 들어, 이미지 프레임일 수 있다. 일부 실시예들에 따르면, 상기 인트라-예측 모드는 상기 제1 블록 크기를 갖는 상기 이미지 데이터의 블록들을 예측하기 위해 상기 제1 단일 변환을 사용한다. 일부 실시예들에 따르면, 상기 제1 단일 변환은 단일 행렬 및 단일 바이어스 벡터를 포함하는 세트로부터 획득된다. 일부 실시예들에 따르면, 상기 인트라-예측 모드는 상기 제1 블록 크기와 상이한 크기를 갖는 상기 이미지 데이터의 제2 블록을 인트라-예측하기 위해 제2 단일 변환을 사용한다.
일부 실시예들에 따르면, 상기 블록 크기가 4x4 픽셀들일 때, 상기 단일 행렬은 16x4 픽셀들의 크기를 갖고/갖거나 상기 단일 벡터는 16 픽셀들의 크기를 갖는다. 일부 실시예들에 따르면, 상기 블록 크기가 4x8 픽셀들, 8x4 픽셀들 또는 8x8 픽셀들일 때, 상기 단일 행렬은 16x8 픽셀들의 크기를 갖고/갖거나 상기 단일 벡터는 16 픽셀들의 크기를 갖는다. 일부 실시예들에 따르면, 상기 블록 크기가 4x4 픽셀들, 4x8 픽셀들, 8x4 픽셀들 또는 8x8 픽셀들 이외의 것일 때, 상기 단일 행렬은 64x8 픽셀들의 크기를 갖고/갖거나 상기 단일 벡터는 64 픽셀들의 크기를 갖는다.
일부 실시예들에 따르면, 적어도 하나의 프로세서는 비트스트림에서 상기 인트라-예측 모드의 사용을 시그널링하는 정보를 인코딩하도록 적응되거나, 또는 방법은 비트스트림에서 상기 인트라-예측 모드의 사용을 시그널링하는 정보를 인코딩하는 단계를 포함한다. 일부 실시예들에 따르면, 상기 비트스트림에서 복수의 예측 모드들(MPM)을 시그널링하기 위해 가변 코딩 길이가 사용되고, 상기 가변 코딩 길이는 상기 예측 모드들을 순서화하고, 상기 정보는 상기 복수의 예측 모드들 중 하나로서 인코딩된다. 일부 실시예들에 따르면, 상기 복수의 예측 모드들은 적어도 하나의 정규 인트라-예측 모드를 포함한다. 일부 실시예들에 따르면, 상기 복수의 예측 모드들은 DC 인트라 예측 모드를 시그널링하는 적어도 하나의 DC 요소를 포함하고, 상기 정보는 상기 DC 요소 중 적어도 하나 대신에, 그 전에 및/또는 그 후에 코딩된다. 일부 실시예들에 따르면, 상기 복수의 예측 모드들은 평면 인트라 예측 모드를 시그널링하는 적어도 하나의 평면 요소를 포함하고, 상기 정보는 상기 평면 요소 중 적어도 하나 대신에, 그 전에 및/또는 그 후에 코딩된다.
일부 실시예들에 따르면, 적어도 하나의 프로세서는 비트스트림에서(예를 들어, 프레임 레벨에서) 상기 제1 및/또는 제2 단일 변환의 적어도 하나의 파라미터를 인코딩하도록 적응되거나, 또는 방법은 비트스트림에서(예를 들어, 프레임 레벨에서) 상기 제1 및/또는 제2 단일 변환의 적어도 하나의 파라미터를 인코딩하는 단계를 포함한다. 일부 실시예들에 따르면, 상기 파라미터는 딥 신경망(Deep Neural Network)을 트레이닝함으로써 획득된다.
본 개시내용의 일부 양태들은 이미지 데이터를 인코딩하도록 적응되는 적어도 하나의 프로세서를 포함하는 디바이스, 또는 이미지 데이터를 인코딩하기 위한 방법에 관한 것이며, 상기 인코딩에 의해 복수의 예측 모드들을 시그널링하기 위해 가변 코딩 길이가 사용되고, 적어도 하나의 프로세서는 다음과 같은 것을 위해 적응되거나, 또는 방법은 다음과 같은 단계를 포함한다:
- 적어도 하나의 제1 변환을 사용하는 인트라-예측 모드를 사용하여 상기 이미지 데이터의 적어도 하나의 제1 블록을 인트라-예측함 - 상기 적어도 하나의 제1 변환은 제1 블록 크기를 고려하여 획득됨 - ,
- 비트스트림에서 상기 인트라-예측 모드의 사용을 시그널링하는 정보를 인코딩함 - 상기 정보는 상기 복수의 예측 모드들 중 하나로서 인코딩됨 - .
일부 실시예들은 이미지 데이터를 인코딩하기 위한 방법, 또는 이미지 데이터를 인코딩하도록 적응되는 적어도 하나의 프로세서를 포함하는 디바이스에 관한 것이며, 적어도 하나의 프로세서는 제1 블록 크기의 블록들을 예측하기 위해 제1 단일 변환을 사용하는 인트라-예측 모드를 사용하여 상기 이미지 데이터의 적어도 하나의 제1 블록을 인트라-예측하거나, 또는 인터-예측과 인트라-예측을 조합하여 예측하도록 적응되거나, 또는 방법은 제1 블록 크기의 블록들을 예측하기 위해 제1 단일 변환을 사용하는 인트라-예측 모드를 사용하여 상기 이미지 데이터의 적어도 하나의 제1 블록을 인트라-예측하거나, 또는 인터-예측과 인트라-예측을 조합하여 예측하는 단계를 포함하고, 상기 인트라-예측 모드는 제1 블록 크기와 상이한 크기의 상기 이미지 데이터의 제2 블록을 인트라-예측하기 위해 제2 단일 변환을 사용한다.
본 개시내용의 일부 양태들은, 제1 단일 변환의 사용을 시그널링하는 인트라-예측 모드를 사용함으로써, 비트스트림에서 인코딩된 이미지 데이터의 적어도 하나의 제1 블록을 재구성하도록 적응되는 적어도 하나의 프로세서를 포함하는 디바이스, 또는 제1 단일 변환의 사용을 시그널링하는 인트라-예측 모드를 사용함으로써, 비트스트림에서 인코딩된 이미지 데이터의 적어도 하나의 제1 블록을 재구성하는 단계를 포함하는 방법에 관한 것이며, 상기 제1 단일 변환은 제1 블록 크기를 고려한다.
일부 실시예들에 따르면, 상기 인트라-예측 모드에 따라, 제1 블록 크기를 갖는 상기 이미지 데이터의 블록들은 예측을 위해 상기 제1 단일 변환을 사용함으로써 인트라-예측된다. 일부 실시예들에 따르면, 상기 인트라-예측 모드에 따라, 상기 제1 블록 크기와 상이한 크기를 갖는 상기 이미지 데이터의 블록들은 제2 단일 변환을 사용함으로써 인트라-예측된다.
일부 실시예들에 따르면, 상기 제1 단일 변환은 단일 행렬 및 단일 바이어스 벡터를 포함하는 세트로부터 획득된다.
일부 실시예들에 따르면, 상기 블록 크기가 4x4 픽셀들일 때, 상기 단일 행렬은 16x4 픽셀들의 크기를 갖고/갖거나 상기 단일 벡터는 16 픽셀들의 크기를 갖는다. 일부 실시예들에 따르면, 상기 블록 크기가 4x8 픽셀들, 8x4 픽셀들 또는 8x8 픽셀들일 때, 상기 단일 행렬은 16x8 픽셀들의 크기를 갖고/갖거나 상기 단일 벡터는 16 픽셀들의 크기를 갖는다. 일부 실시예들에 따르면, 상기 블록 크기가 4x4 픽셀들, 4x8 픽셀들, 8x4 픽셀들 또는 8x8 픽셀들 이외의 것일 때, 상기 단일 행렬은 64x8 픽셀들의 크기를 갖고/갖거나 상기 단일 벡터는 64 픽셀들의 크기를 갖는다.
일부 실시예들에 따르면, 상기 비트스트림에서 복수의 예측 모드들(MPM)을 시그널링하기 위해 가변 코딩 길이가 사용되고, 상기 가변 코딩 길이는 상기 예측 모드들을 순서화하고, 상기 정보는 상기 복수의 예측 모드들 중 하나로서 인코딩된다. 일부 실시예들에 따르면, 상기 복수의 예측 모드들은 적어도 하나의 정규 인트라-예측 모드를 포함한다. 일부 실시예들에 따르면, 상기 복수의 예측 모드들이 DC 인트라 예측 모드를 시그널링하는 적어도 하나의 DC 요소를 포함할 때, 상기 정보는 상기 DC 요소 중 적어도 하나 대신에, 그 전에 및/또는 그 후에 코딩된다. 일부 실시예들에 따르면, 상기 복수의 예측 모드들이 평면 인트라 예측 모드를 시그널링하는 적어도 하나의 평면 요소를 포함할 때, 상기 정보는 상기 평면 요소 중 적어도 하나 대신에, 그 전에 및/또는 그 후에 코딩된다.
일부 실시예들에 따르면, 방법은 비트스트림에서(예를 들어, 프레임 레벨에서) 상기 제1 및/또는 제2 단일 변환의 적어도 하나의 파라미터를 인코딩하는 단계를 포함한다. 일부 실시예들에 따르면, 상기 적어도 하나의 파라미터는 딥 신경망을 트레이닝함으로써 획득된다.
본 개시내용의 일부 양태들은 이미지 데이터를 디코딩하도록 적응되는 적어도 하나의 프로세서를 포함하는 디바이스, 또는 이미지 데이터를 디코딩하기 위한 방법에 관한 것이며, 상기 이미지 데이터를 인코딩하기 위한 복수의 예측 모드들의 사용을 시그널링하기 위해 가변 코딩 길이가 사용되고, 상기 프로세서는 다음과 같은 것을 위해 적응되거나, 또는 방법은 다음과 같은 단계를 포함한다:
- 제1 블록 크기를 고려하는 적어도 하나의 제1 변환의 사용을 시그널링하는 인트라-예측 모드를 사용하여 상기 이미지 데이터의 적어도 하나의 제1 블록을 재구성함,
- 비트스트림에서 상기 인트라-예측 모드의 사용을 시그널링하는 정보를 디코딩함 - 상기 정보는 상기 복수의 예측 모드들 중 하나로서 인코딩됨 - .
일부 양태들은, 그 실시예들 중 임의의 것에서, 본 개시내용의 위의 방법들 중 임의의 것을 수행하기 위해 컴퓨터에 의해 실행가능한 명령어들의 프로그램을 유형적으로 구현하는, 컴퓨터에 의해 판독가능한 비일시적 프로그램 저장 디바이스에 관한 것이다.
Figure pct00032

Claims (39)

  1. 이미지 데이터를 인코딩하도록 적응되는 적어도 하나의 프로세서를 포함하는 디바이스로서, 상기 적어도 하나의 프로세서는 제1 단일 변환을 사용하는 인트라-예측 모드를 사용하여 상기 이미지 데이터의 적어도 하나의 제1 블록을 인트라-예측하도록 적응되며, 상기 제1 단일 변환은 제1 블록 크기를 고려하여 획득되는, 디바이스.
  2. 이미지 데이터를 인코딩하기 위한 방법으로서, 상기 방법은 제1 단일 변환을 사용하는 인트라-예측 모드를 사용하여 상기 이미지 데이터의 적어도 하나의 제1 블록을 인트라-예측하거나, 또는 인터-예측과 인트라-예측을 조합하여 예측하는 단계를 포함하고, 상기 제1 단일 변환은 제1 블록 크기를 고려하여 획득되는, 방법.
  3. 제1항 또는 제2항에 있어서, 상기 인트라-예측 모드는 상기 제1 블록 크기를 갖는 상기 이미지 데이터의 블록들을 예측하기 위해 상기 제1 단일 변환을 사용하는, 디바이스 또는 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서, 상기 인트라-예측 모드는 상기 제1 블록 크기와 상이한 크기를 갖는 상기 이미지 데이터의 제2 블록을 인트라-예측하기 위해 제2 단일 변환을 사용하는, 디바이스 또는 방법.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서, 상기 제1 단일 변환은 단일 행렬 및 단일 바이어스 벡터를 포함하는 세트로부터 획득되는, 디바이스 또는 방법.
  6. 제5항에 있어서, 상기 블록 크기가 4x4 픽셀들일 때, 상기 단일 행렬은 16x4 픽셀들의 크기를 갖고/갖거나 상기 단일 벡터는 16 픽셀들의 크기를 갖는, 디바이스 또는 방법.
  7. 제5항 또는 제6항에 있어서, 상기 블록 크기가 4x8 픽셀들, 8x4 픽셀들 또는 8x8 픽셀들일 때, 상기 단일 행렬은 16x8 픽셀들의 크기를 갖고/갖거나 상기 단일 벡터는 16 픽셀들의 크기를 갖는, 디바이스 또는 방법.
  8. 제5항 내지 제7항 중 어느 한 항에 있어서, 상기 블록 크기가 4x4 픽셀들, 4x8 픽셀들, 8x4 픽셀들 또는 8x8 픽셀들 이외의 것일 때, 상기 단일 행렬은 64x8 픽셀들의 크기를 갖고/갖거나 상기 단일 벡터는 64 픽셀들의 크기를 갖는, 디바이스 또는 방법.
  9. 제1항, 또는 제3항 내지 제8항 중 어느 한 항에 있어서, 상기 프로세서는 비트스트림에서 상기 인트라-예측 모드의 사용을 시그널링하는 정보를 인코딩하도록 적응되는 디바이스, 또는 제2항 내지 제8항 중 어느 한 항에 있어서, 상기 방법은 비트스트림에서 상기 인트라-예측 모드의 사용을 시그널링하는 정보를 인코딩하는 단계를 포함하는 방법.
  10. 제9항에 있어서, 상기 비트스트림에서 복수의 예측 모드들(MPM)을 시그널링하기 위해 가변 코딩 길이가 사용되고, 상기 가변 코딩 길이는 상기 예측 모드들을 순서화하고, 상기 정보는 상기 복수의 예측 모드들 중 하나로서 인코딩되는, 디바이스 또는 방법.
  11. 제10항에 있어서, 상기 복수의 예측 모드들은 적어도 하나의 정규 인트라-예측 모드를 포함하는, 디바이스 또는 방법.
  12. 제11항에 있어서, 상기 복수의 예측 모드들이 DC 인트라 예측 모드를 시그널링하는 적어도 하나의 DC 요소를 포함할 때, 상기 정보는 상기 DC 요소 중 하나 대신에, 그 전에 및/또는 그 후에 코딩되는, 디바이스 또는 방법.
  13. 제11항에 있어서, 상기 복수의 예측 모드들이 평면 인트라 예측 모드를 시그널링하는 적어도 하나의 평면 요소를 포함할 때, 상기 정보는 상기 평면 요소 중 적어도 하나 대신에, 그 전에 및/또는 그 후에 코딩되는, 디바이스 또는 방법.
  14. 제1항 또는 제3항 내지 제12항 중 어느 한 항에 있어서, 상기 프로세서는 비트스트림에서 상기 제1 및/또는 제2 단일 변환의 적어도 하나의 파라미터를 인코딩하도록 적응되는 디바이스, 또는 제2항에 있어서, 상기 방법은 비트스트림에서 상기 제1 및/또는 제2 단일 변환의 적어도 하나의 파라미터를 인코딩하는 단계를 포함하는 방법.
  15. 제13항에 있어서, 상기 적어도 하나의 파라미터는 딥 신경망(Deep Neural Network)을 트레이닝함으로써 획득되는, 디바이스 또는 방법.
  16. 제13항에 있어서, 상기 제1 및/또는 제2 변환의 상기 적어도 하나의 파라미터의 상기 인코딩은 프레임 레벨에서 수행되는, 디바이스 또는 방법.
  17. 이미지 데이터를 인코딩하도록 적응되는 적어도 하나의 프로세서를 포함하는 디바이스로서, 상기 인코딩에 의해 복수의 예측 모드들을 시그널링하기 위해 가변 코딩 길이가 사용되고, 상기 적어도 하나의 프로세서는:
    - 적어도 하나의 제1 변환을 사용하는 인트라-예측 모드를 사용하여 상기 이미지 데이터의 적어도 하나의 제1 블록을 인트라-예측하고 - 상기 적어도 하나의 제1 변환은 제1 블록 크기를 고려하여 획득됨 - ,
    - 비트스트림에서 상기 인트라-예측 모드의 사용을 시그널링하는 정보를 인코딩하도록 - 상기 정보는 상기 복수의 예측 모드들 중 하나로서 인코딩됨 - 적응되는, 디바이스.
  18. 이미지 데이터를 인코딩하기 위한 방법으로서, 상기 인코딩에 의해 복수의 예측 모드들을 시그널링하기 위해 가변 코딩 길이가 사용되고, 상기 방법은:
    - 적어도 하나의 제1 변환을 사용하는 인트라-예측 모드를 사용하여 상기 이미지 데이터의 적어도 하나의 제1 블록을 인트라-예측하는 단계 - 상기 적어도 하나의 제1 변환은 제1 블록 크기를 고려하여 획득됨 - ,
    - 비트스트림에서 상기 인트라-예측 모드의 사용을 시그널링하는 정보를 인코딩하는 단계 - 상기 정보는 상기 복수의 예측 모드들 중 하나로서 인코딩됨 -
    를 포함하는, 방법.
  19. 적어도 하나의 프로세서를 포함하는 디바이스로서, 상기 적어도 하나의 프로세서는, 제1 단일 변환의 사용을 시그널링하는 인트라-예측 모드를 사용함으로써, 비트스트림에서 인코딩된 이미지 데이터의 적어도 하나의 제1 블록을 재구성하도록 적응되고, 상기 제1 단일 변환은 제1 블록 크기를 고려하는, 디바이스.
  20. 방법으로서, 상기 방법은, 제1 단일 변환의 사용을 시그널링하는 인트라-예측 모드를 사용함으로써, 비트스트림에서 인코딩된 이미지 데이터의 적어도 하나의 제1 블록을 재구성하는 단계를 포함하고, 상기 제1 단일 변환은 제1 블록 크기를 고려하는, 방법.
  21. 제19항 또는 제20항에 있어서, 상기 인트라-예측 모드에 따라, 제1 블록 크기를 갖는 상기 이미지 데이터의 블록들은 예측을 위해 상기 제1 단일 변환을 사용함으로써 인트라-예측되는, 디바이스 또는 방법.
  22. 제19항 내지 제21항 중 어느 한 항에 있어서, 상기 인트라-예측 모드에 따라, 상기 제1 블록 크기와 상이한 크기를 갖는 상기 이미지 데이터의 블록들은 제2 단일 변환을 사용함으로써 인트라-예측되는, 디바이스 또는 방법.
  23. 제19항 내지 제22항 중 어느 한 항에 있어서, 상기 제1 단일 변환은 단일 행렬 및 단일 바이어스 벡터를 포함하는 세트로부터 획득되는, 디바이스 또는 방법.
  24. 제23항에 있어서, 상기 블록 크기가 4x4 픽셀들일 때, 상기 단일 행렬은 16x4 픽셀들의 크기를 갖고/갖거나 상기 단일 벡터는 16 픽셀들의 크기를 갖는, 디바이스 또는 방법.
  25. 제23항 또는 제24항에 있어서, 상기 블록 크기가 4x8 픽셀들, 8x4 픽셀들 또는 8x8 픽셀들일 때, 상기 단일 행렬은 16x8 픽셀들의 크기를 갖고/갖거나 상기 단일 벡터는 16 픽셀들의 크기를 갖는, 디바이스 또는 방법.
  26. 제23항 내지 제25항 중 어느 한 항에 있어서, 상기 블록 크기가 4x4 픽셀들, 4x8 픽셀들, 8x4 픽셀들 또는 8x8 픽셀들 이외의 것일 때, 상기 단일 행렬은 64x8 픽셀들의 크기를 갖고/갖거나 상기 단일 벡터는 64 픽셀들의 크기를 갖는, 디바이스 또는 방법.
  27. 제19항, 또는 제21항 내지 제26항 중 어느 한 항에 있어서, 상기 프로세서는 비트스트림에서 상기 인트라-예측 모드의 사용을 시그널링하는 정보를 디코딩하도록 적응되는 디바이스, 또는 제20항 내지 제26항 중 어느 한 항에 있어서, 상기 방법은 비트스트림에서 상기 인트라-예측 모드의 사용을 시그널링하는 정보를 디코딩하는 단계를 포함하는 방법.
  28. 제27항에 있어서, 상기 비트스트림에서 복수의 예측 모드들(MPM)을 시그널링하기 위해 가변 코딩 길이가 사용되고, 상기 가변 코딩 길이는 상기 예측 모드들을 순서화하고, 상기 정보는 상기 복수의 예측 모드들 중 하나로서 인코딩되는, 디바이스 또는 방법.
  29. 제28항에 있어서, 상기 복수의 예측 모드들은 적어도 하나의 정규 인트라-예측 모드를 포함하는, 디바이스 또는 방법.
  30. 제29항에 있어서, 상기 복수의 예측 모드들이 DC 인트라 예측 모드를 시그널링하는 DC 요소를 포함할 때, 상기 정보는 상기 DC 요소 대신에, 그 전에 및/또는 그 후에 코딩되는, 디바이스 또는 방법.
  31. 제29항에 있어서, 상기 복수의 예측 모드들이 평면 인트라 예측 모드를 시그널링하는 평면 요소를 포함할 때, 상기 정보는 상기 평면 요소 대신에, 그 전에 및/또는 그 후에 코딩되는, 디바이스 또는 방법.
  32. 제1항 또는 제3항 내지 제29항 중 어느 한 항에 있어서, 상기 프로세서는 비트스트림에서 상기 제1 및/또는 제2 단일 변환의 적어도 하나의 파라미터를 인코딩하도록 적응되는 디바이스, 또는 제20항 내지 제29항 중 어느 한 항에 있어서, 상기 방법은 비트스트림에서 상기 제1 및/또는 제2 단일 변환의 적어도 하나의 파라미터를 인코딩하는 단계를 포함하는 방법.
  33. 제32항에 있어서, 상기 적어도 하나의 파라미터는 딥 신경망(Deep Neural Network)을 트레이닝함으로써 획득되는, 디바이스 또는 방법.
  34. 제32항 또는 제33항에 있어서, 상기 제1 및/또는 제2 변환의 상기 적어도 하나의 파라미터의 상기 인코딩은 프레임 레벨에서 수행되는, 디바이스 또는 방법.
  35. 이미지 데이터를 디코딩하도록 적응되는 적어도 하나의 프로세서를 포함하는 디바이스로서, 상기 이미지 데이터를 인코딩하기 위해 복수의 예측 모드들의 사용을 시그널링하기 위해 가변 코딩 길이가 사용되고, 상기 적어도 하나의 프로세서는:
    - 제1 블록 크기를 고려하는 적어도 하나의 제1 변환의 사용을 시그널링하는 인트라-예측 모드를 사용하여 상기 이미지 데이터의 적어도 하나의 제1 블록을 재구성하고,
    - 비트스트림에서 상기 인트라-예측 모드의 사용을 시그널링하는 정보를 디코딩하도록 - 상기 정보는 상기 복수의 예측 모드들 중 하나로서 인코딩됨 - 적응되는, 디바이스.
  36. 이미지 데이터를 디코딩하기 위한 방법으로서, 상기 이미지 데이터를 인코딩하기 위해 복수의 예측 모드들의 사용을 시그널링하기 위해 가변 코딩 길이가 사용되고, 상기 방법은:
    - 제1 블록 크기를 고려하는 적어도 하나의 제1 변환의 사용을 시그널링하는 인트라-예측 모드를 사용하여 상기 이미지 데이터의 적어도 하나의 제1 블록을 재구성하는 단계,
    - 비트스트림에서 상기 인트라-예측 모드의 사용을 시그널링하는 정보를 디코딩하는 단계 - 상기 정보는 상기 복수의 예측 모드들 중 하나로서 인코딩됨 -
    를 포함하는, 방법.
  37. 제2항 내지 제16항, 또는 제18항 또는 제20항 내지 제34항 또는 제36항 중 어느 한 항의 방법을 수행하기 위해 컴퓨터에 의해 실행가능한 명령어들의 프로그램을 유형적으로 구현하는, 컴퓨터에 의해 판독가능한 비일시적 프로그램 저장 디바이스.
  38. 컴퓨터에 의해 실행될 때 상기 컴퓨터로 하여금 제2항 내지 제16항, 또는 제18항 또는 제20항 내지 제34항 또는 제36항 중 어느 한 항의 방법을 수행하게 하는 명령어들을 포함하는 컴퓨터 판독가능 저장 매체.
  39. 제2항 내지 제16항, 또는 제18항 중 어느 한 항의 방법에 의해 획득된 비트스트림을 운반하도록 포맷화된 신호.
KR1020227002186A 2019-06-25 2020-06-23 픽처 데이터를 코딩/디코딩하기 위한 방법 및 장치 KR20220024835A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP19305844 2019-06-25
EP19305844.3 2019-06-25
PCT/EP2020/067411 WO2020260228A1 (en) 2019-06-25 2020-06-23 Method and apparatus for coding/decoding picture data

Publications (1)

Publication Number Publication Date
KR20220024835A true KR20220024835A (ko) 2022-03-03

Family

ID=67437766

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227002186A KR20220024835A (ko) 2019-06-25 2020-06-23 픽처 데이터를 코딩/디코딩하기 위한 방법 및 장치

Country Status (5)

Country Link
US (1) US20220360767A1 (ko)
EP (1) EP3991408A1 (ko)
KR (1) KR20220024835A (ko)
CN (1) CN114097232A (ko)
WO (1) WO2020260228A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116320436B (zh) * 2023-03-31 2023-11-07 重庆邮电大学 一种基于决策树的vvc快速编码方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113873239A (zh) * 2016-06-24 2021-12-31 株式会社Kt 用于处理视频信号的方法和设备
US20200162737A1 (en) * 2018-11-16 2020-05-21 Qualcomm Incorporated Position-dependent intra-inter prediction combination in video coding
CA3135968A1 (en) * 2019-04-18 2020-10-22 Beijing Bytedance Network Technology Co., Ltd. Restriction on applicability of cross component mode
JP7317991B2 (ja) * 2019-04-23 2023-07-31 北京字節跳動網絡技術有限公司 クロスコンポーネント依存性を低減するための方法
JP7407206B2 (ja) * 2019-05-08 2023-12-28 北京字節跳動網絡技術有限公司 クロスコンポーネントコーディングの適用条件
JP2022535726A (ja) * 2019-05-31 2022-08-10 北京字節跳動網絡技術有限公司 行列ベースイントラ予測における制約されたアップサンプリングプロセス
CN113950836B (zh) * 2019-06-05 2024-01-12 北京字节跳动网络技术有限公司 基于矩阵的帧内预测的上下文确定
CN113994697A (zh) * 2019-06-22 2022-01-28 北京字节跳动网络技术有限公司 色度残差缩放的语法元素

Also Published As

Publication number Publication date
EP3991408A1 (en) 2022-05-04
US20220360767A1 (en) 2022-11-10
CN114097232A (zh) 2022-02-25
WO2020260228A1 (en) 2020-12-30

Similar Documents

Publication Publication Date Title
EP3939291A1 (en) Method and apparatus for video encoding and decoding with subblock based local illumination compensation
EP3723368A1 (en) Wide angle intra prediction with sub-partitions
CN114208178A (zh) 用于视频编码和解码的二次变换
US20210400276A1 (en) Quantization for video encoding and decoding
CN115104301A (zh) 用于视频编码或解码的基于神经网络的帧内预测
EP3804309A1 (en) Syntax elements for video encoding or decoding
TW202118300A (zh) 同質語法
EP3891981A2 (en) Method and device for picture encoding and decoding
WO2020185492A1 (en) Transform selection and signaling for video encoding or decoding
KR20220024835A (ko) 픽처 데이터를 코딩/디코딩하기 위한 방법 및 장치
US20220312041A1 (en) Method and apparatus for signaling decoding data using high level syntax elements
CN114930831A (zh) 空间预测因子扫描顺序
WO2020167763A1 (en) Intra prediction mode extension
RU2815092C2 (ru) Широкоугольное внутрикадровое предсказание с подразделами
WO2024074048A1 (en) Encoding/decoding video picture data
US20220303570A1 (en) Method and apparatus for encoding a block and decoding based on illumination compensation
EP3591969A1 (en) Syntax elements for video encoding or decoding
WO2024099962A1 (en) ENCODING AND DECODING METHODS OF INTRA PREDICTION MODES USING DYNAMIC LISTS OF MOST PROBABLE MODEs AND CORRESPONDING APPARATUSES
WO2020260110A1 (en) Hmvc for affine and sbtmvp motion vector prediciton modes
WO2023194104A1 (en) Temporal intra mode prediction
WO2022028855A1 (en) Combining abt with vvc sub-block-based coding tools
EP4320860A1 (en) Intra block copy with template matching for video encoding and decoding
EP3871419A1 (en) Method and apparatus for video encoding and decoding with signaling of coding type or coding tree type
CN116636212A (zh) 用于具有交叉分量缩放的亮度映射的方法和设备