KR20210016601A - 인트라 예측을 위한 종횡비 의존적 필터링을 위한 방법 및 장치 - Google Patents

인트라 예측을 위한 종횡비 의존적 필터링을 위한 방법 및 장치 Download PDF

Info

Publication number
KR20210016601A
KR20210016601A KR1020217000033A KR20217000033A KR20210016601A KR 20210016601 A KR20210016601 A KR 20210016601A KR 1020217000033 A KR1020217000033 A KR 1020217000033A KR 20217000033 A KR20217000033 A KR 20217000033A KR 20210016601 A KR20210016601 A KR 20210016601A
Authority
KR
South Korea
Prior art keywords
block
intra prediction
aspect ratio
video
predicted
Prior art date
Application number
KR1020217000033A
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 KR20210016601A publication Critical patent/KR20210016601A/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/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/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/117Filters, e.g. for pre-processing or post-processing
    • 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/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
    • 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/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop

Landscapes

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

Abstract

예측될 블록의 종횡비에 기반하여 상기 블록을 위한 보간 필터를 선택하는 단계를 포함하는 인트라 예측을 위한 종횡비 의존적 필터링을 위한 방법.

Description

인트라 예측을 위한 종횡비 의존적 필터링을 위한 방법 및 장치
본 출원은 명칭이 "ASPECT-RATIO DEPENDENT FILTERING FOR INTRA-PREDICTION"이며 2018년 7월 11일에 출원된 출원번호 62/696,709인 미국 가출원 및 명칭이 "Method and apparatus for aspect-ratio dependent filtering for intra-prediction"이며 2018년 7월 11일에 출원된 출원번호 62/696,816인 미국 가출원에 우선권을 주장하며, 그 전체가 참조로 여기에 통합된다.
본 개시는 이미지 및/또는 비디오 코딩 및 디코딩의 기술분야에 관한 것이고, 특히, 인트라 예측을 위한 종횡비 의존적 필터링을 위한 방법 및 장치에 관한 것이다.
디지털 비디오는 DVD 디스크 도입 이후 널리 사용되었다. 전송 이전에, 비디오는 인코딩되어 전송 매체를 사용하여 전송된다. 시청자는 비디오를 수신하고 시청 장치를 사용하여 비디오를 디코딩하고 디스플레이한다. 수년에 걸쳐, 예를 들어, 더 높은 해상도, 색 깊이, 및 프레임 속도 덕분에 비디오 품질은 향상되었다. 이는 오늘날 일반적으로 인터넷 및 이동 통신 네트워크를 통해 전송되는 더 큰 데이터 스트림을 야기하게 되었다.
더 높은 해상도 비디오는, 하지만, 통상적으로 더 많은 정보를 갖기 때문에 더 많은 대역폭을 요구한다. 대역폭 요구 조건을 감소시키기 위하여, 비디오 압축을 포함하는 비디오 코딩 표준이 도입되었다. 비디오가 인코딩되면, 대역폭 요구 조건(또는 저장의 경우 대응하는 메모리 요구 조건)이 감소된다. 이러한 감소는 종종 품질을 희생한다. 따라서, 비디오 코딩 표준은 대역폭 요구 조건과 품질 사이의 균형을 찾으려고 한다.
고효율 비디오 코딩(High Efficiency 비디오 코딩, HEVC)은 통상의 기술자에게 일반적으로 알려진 비디오 코딩 표준의 일 예이다. HEVC에서, 코딩 유닛(coding unit, CU)은 예측 유닛(prediction unit, PU) 또는 변환 유닛(transform unit, TU)으로 나뉠 수 있다. 다기능 비디오 코딩(Versatile 비디오 코딩, VVC) 차세대 표준은, ITU-T 비디오 코딩 전문가 그룹(비디오 코딩 Experts Group, VCEG) 및 ISO/IEC 동영상 전문가 그룹(Moving Picture Experts Group, MPEG) 표준화 기구가, 조인트 비디오 탐험 팀(Joint Video Exploration Team, JVET)으로 알려진 파트너쉽에서 함께 일한 가장 최신의 조인트 비디오 프로젝트이다. VVC는 또한 ITU-T H.266/차세대 비디오 코딩(Next Generation 비디오 코딩, NGVC) 표준이라고도 한다. VVC는 다중 분할 타입의 컨셉을 제거하는데, 즉, 최대 변환 길이에 비해 크기가 너무 큰 CU에 필요한 경우를 제외하고 CU, PU, 및 TU 컨셉의 분리를 제거하고, CU 파티션 형상에 대해 더 많은 유연성을 지원한다.
이러한 코딩 유닛(CU)(블록이라고도 함)의 처리는 그들의 인코더에 의해 지정되는 코딩 모드, 공간적 위치, 및 크기에 의존한다. 코딩 모드 예측 타입에 따라 두 개의 그룹으로 분류될 수 있다: 인트라 및 인터 예측 모드. 인트라 예측 모드는 동일한 픽쳐(프레임 또는 이미지라고도 함)의 샘플을 사용하여, 재구성되는 블록의 샘플에 대한 예측 값을 계산하기 위한 참조 샘플을 생성한다. 인트라 예측은 공간적 예측이라고도 한다. 인터 예측 모드는 시간적 예측을 위해 설계되고, 이전 또는 다음 픽쳐의 참조 샘플을 사용하여 현재 픽쳐의 블록의 샘플을 예측한다.
보간 필터 선택은 메인 참조 측 선택에 대한 결정과 조화를 이룬다. 이러한 두 결정은 현재 모두 인트라 예측 모드와 대각선(45도) 방향의 비교에 의존한다.
인트라 예측을 위한 장치 및 방법이 개시된다. 상기 장치 및 방법은, 보간 필터 선택 프로세스 동안 인트라 예측 모드를 임계화하기 위한 대체 방향(45도 대각선 방향에 대한 대체 방향)을 사용한다. 구체적으로, 이 방향은 상기 예측될 블록의 메인 대각선의 각도에 대응한다.
인트라 예측 모드를 임계화하는 것은, 현재 블록의 인트라 예측 방향 각도를 임계 각도의 값과 비교하는 것과, 상기 블록의 폭 또는 높이 중 하나를 선택하여, 참조 샘플의 값으로부터, 예측된 샘플의 값을 획득하기 위해 방향성 인트라 예측에서 사용되는 보간 필터를 정의하는 것을 포함한다. 특히, 상기 인트라 예측 방향 각도가 임계치보다 클 때, 블록 높이가 16보다 크면 가우스(Gaussian) 보간 필터가 사용되거나, 또는 높이가 16보다 작으면 삼차 보간 필터가 사용된다. 아니면, 상기 방향 각도가 임계치보다 작을 때, 블록 폭이 16보다 크면 가우스 보간 필터가 사용되거나, 또는 폭이 16보다 작으면 삼차 보간 필터가 사용된다.
인트라 예측 모드 번호 또는 인덱스는 상기 예측 방향을 지시하기 위해 사용될 수 있고, 방향 사이의 상기 각도는 대응하는 인트라 예측 모드의 인덱스의 차이에 의해 표시될 수 있다고 이해된다.
본 실시예는, 블록의 배향을 고려하기 위해, 상이한 참조 샘플 필터(보간 필터)를 선택하기 위한 메커니즘을 제안한다. 구체적으로, 블록의 폭 및 높이는 독립적으로 확인되어, 상이한 참조 샘플 필터 예측될 블록의 상이한 쪽에 위치하는 참조 샘플에 적용된다.
본 개시의 실시예는 청구항 및 이하의 설명에서 기술된다
보호 범위는 청구항에 의해 정의된다.
제1 측면에 따라, 인트라 예측을 위한 종횡비 의존적 필터링을 위한 방법이 제공되고, 상기 방법은, 예측될 블록의 종횡비에 기반하여 상기 블록을 위한 보간 필터를 선택하는 단계를 포함한다. 상기 방법은, 일례로 픽쳐의 블록(예를 들어, 스틸 픽쳐(still picture) 또는 비디오의 픽쳐)의 인트라 예측을 위한 것일 수 있다. 예를 들어, 상기 종횡비에 기반하여, 상기 블록은, 예를 들어, 직선에 의해, 두 개의 영역으로 분할될 수 있고, 상기 제1 영역에 대해서, 제1 보간이 상기 제1 영역에서 샘플의 인트라 예측을 위해 사용되고, 상기 제2 영역에 대해서, 제2 보간이 상기 제2 영역에서 샘플의 인트라 예측을 위해 사용된다.
상기 제1 측면의 구현 형태에 따라, 상기 보간 필터를 선택하는 것은, 상기 예측될 블록의 인트라 예측 모드를 임계화하기 위한 방향에 의존한다.
상기 제1 측면의 구현 형태에 따라, 상기 방향은 상기 예측될 블록의 메인 대각선의 각도에 대응한다. 상기 방향의 각도는 다음의 식으로 계산된다:
Figure pct00001
Figure pct00002
여기서,
Figure pct00003
는 각각 상기 예측될 블록의 폭 및 높이이다.
상기 제1 측면의 구현 형태에 따라, 상기 예측될 블록의 메인 대각선의 상기 각도는 상기 종횡비에 기초하여 결정된다.
상기 제1 측면의 구현 형태에 따라, 상기 블록의 인트라 예측 모드의 임계치는 상기 예측될 블록의 메인 대각선의 상기 각도에 기초하여 결정된다.
상기 제1 측면의 구현 형태에 따라, 상기 보간 필터를 선택하는 것은, 사용된 참조 샘플이 블록의 어느 쪽에 속하는지에 의존한다. 예를 들어, 참조 샘플이 블록의 상측에 속하고, 상기 블록 내부의 샘플을 예측하는데 사용되면, 상기 샘플 예측을 위한 보간 필터가 블록 폭과 관련하여 선택된다. 참조 샘플이 블록의 좌측에 속하고, 상기 블록 내부의 샘플을 예측하는데 사용되면, 상기 샘플 예측을 위한 보간 필터가 블록 높이와 관련하여 선택된다.
상기 제1 측면의 구현 형태에 따라, 인트라 방향에 대응하는 각도를 갖는 직선은 상기 블록을 두 개의 영역으로 분할한다.
상기 제1 측면의 구현 형태에 따라, 상이한 영역에 속하는 상기 참조 샘플은 상이한 보간 필터를 사용하여 예측된다.
상기 제1 측면의 구현 형태에 따라, 상기 필터는 삼차 보간 필터 또는 가우스 보간 필터를 포함한다.
제2 측면에 따라, 상기 제1 측면 또는 구현 형태 중 어느 하나에 따른 방법을 구현하도록 구성되는 장치가 제공된다.
제3 측면에 따라, 프로세서를 포함하는 장치가 제공되고, 상기 프로세서는 상기 제1 측면 또는 구현 형태 중 어느 하나에 따른 방법을 구현하도록 구성된다.
제4 측면에 따라, 프로세서에서 실행되면, 상기 제1 측면 또는 구현 형태 중 어느 하나에 따른 방법을 수행하기 위한 프로그램 코드를 포함하는 컴퓨터 프로그램 제품이 제공된다.
제5 측면에 따라, 하나 이상의 프로세서 및 상기 하나 이상의 프로세서에 접속하며 상기 하나 이상의 프로세서에 의한 실행을 위한 프로그래밍을 저장하는 비일시적 컴퓨터 판독 가능 저장 매체를 포함하는 장치가 제공되고, 여기서, 상기 프로그래밍은, 상기 하나 이상의 프로세서에서 실행되면, 상기 장치가 상기 제1 측면 또는 구현 형태 중 어느 하나에 따른 방법을 실행하도록 구성한다.
다음에서는, 실시예는 첨부된 도면을 참조하여 더욱 자세하게 설명된다.
도 1은 비디오 인코딩 및 디코딩 시스템(100)의 일 예를 도시하는 개략도를 나타낸다.
도 2는 비디오 인코더(200)의 일 예를 도시하는 개략도를 나타낸다.
도 3은 비디오 디코더(300)의 일 예를 도시하는 개략도를 나타낸다.
도 4는 제안된 67개의 인트라 예측 모드를 도시하는 개략도를 나타낸다.
도 5는 QTBT의 일 예를 나타낸다.
도 6a 및 도 6b은 사각 블록의 배향의 예를 나타낸다.
도 6c는 측면 길이 의존적 보간 필터 선택을 나타낸다.
도 7은 보간 필터 선택 프로세스 동안 인트라 예측 모드를 임계화하기 위한 대체 방향의 실시예를 나타낸다.
도 8은 상이한 보간 필터를 사용하는 실시예를 나타내고, 상이한 보간 필터는 사용된 참조 필터가 어느 쪽에 속하는지에 의존한다.
도 9는 장치의 예시적인 구조를 도시하는 개략도이다.
이하의 설명에서, 본 개시의 일부를 구성하는 첨부한 도면을 참조하며, 실시예가 배치될 수 있는 구체적인 측면이 예시적으로 도면에 나타난다.
예를 들어, 기술된 방법과 관련된 개시는 방법을 수행하도록 구성되는 시스템 또는 대응하는 장치에 대해 참일 수 있으며, 그 반대의 경우도 마찬가지인 것으로 이해된다. 예를 들어, 특정 방법이 기술되면, 대응하는 장치는, 도면에 도시되거나 명확히 기술되어 있지 않다고 하더라도, 기술된 방법 단계를 수행하기 위한 부(유닛)를 포함할 수 있다. 또한, 구체적으로 기재되어 있지 않더라도, 여기에 기술된 다양한 예시적인 측면의 특징은 서로 결합될 수 있는 것으로 이해된다.
비디오 코딩은 통상적으로, 비디오 또는 비디오 시퀀스를 형성하는, 픽쳐 시퀀스의 처리를 일컫는다. 픽쳐, 이미지, 또는 프레임이라는 용어는 비디오 코딩 분야와 본 출원에서 동의어로 사용된다/사용될 수 있다. 각각의 픽쳐는 통상적으로 중첩하지 않는 블록의 세트로 분할된다. 픽쳐의 인코딩/디코딩은 통상적으로 블록 레벨로 수행되며, 예를 들어, 인터 프레임 예측 또는 인트라 프레임 예측은, 예측 블록을 생성하고, 현재 블록(현재 처리되는/처리될 블록)에서 예측 블록을 빼서(subtract) 잔차 블록을 획득하기 위해 사용되는데, 이는 전송될 데이터의 양을 줄이기 위하여 더 변환되고 양자화되는 반면, 디코더 측에서는 역처리가 인코딩된/압축된 블록에 적용되어 표현을 위해 블록(비디오 블록)을 재구성한다.
도 1은 인코딩 및 디코딩 경계 파티션을 위한 기법을 포함하는, 본 개시에 기술된 기법을 사용할 수 있는 비디오 인코딩 및 디코딩 시스템(100)의 일 예를 도시하는 블록도이다. 시스템(100)은 비디오 인코딩 및 디코딩 뿐만 아니라, 픽쳐 인코딩 및 디코딩에도 적용된다. 도 1에 도시된 바와 같이, 시스템(100)은 목적지 장치(104)에 의해 나중에 디코딩될 인코딩된 비디오 데이터를 생성하는 소스 장치(102)를 포함한다. 도 2에 도시된 바와 같이, 비디오 인코더(200)는 소스 장치(102)의 비디오 인코더(108)의 일 예이다. 도 3에 도시된 바와 같이, 비디오 디코더(300)는 목적지 장치(104)의 비디오 디코더(116)의 일 예이다. 소스 장치(102) 및 목적지 장치(104)는 데스크탑 컴퓨터, 노트북(즉, 랩탑) 컴퓨터, 태블릿 컴퓨터, 셋톱 박스, 소위 "스마트" 패드, 소위 "스마트" 폰과 같은 전화 핸드셋, 텔레비전, 카메라, 디스플레이 장치, 디지털 미디어 플레이어, 비디오 게임 콘솔, 비디오 스트리밍 장치 등을 포함하는 넓은 범위의 장치 중 임의의 것을 포함할 수 있다. 일부 예에서, 소스 장치(102) 및 목적지 장치(104)는 무선 통신을 위해 장착될 수 있다.
목적지 장치(104)는 디코딩될, 인코딩된 비디오 데이터를 링크(112)를 통해 수신할 수 있다. 링크(112)는 소스 장치(102)로부터 목적지 장치(104)로 인코딩된 비디오 데이터를 이동시킬 수 있는 임의의 타입의 매체 또는 장치를 포함할 수 있다. 일 예에서, 링크(112)는 소스 장치(102)가 인코딩된 비디오 데이터를 실시간으로 바로 목적지 장치(104)에 송신할 수 있게 하는 통신 매체를 포함할 수 있다. 인코딩된 비디오 데이터는 무선 통신 프로토콜과 같은 통신 표준에 따라 변조되어 목적지 장치(104)로 전송될 수 있다. 통신 매체는 무선 주파수(radio frequency, RF) 스펙트럼 또는 하나 이상의 물리적 전송 라인과 같은 임의의 무선 또는 유선 통신 매체를 포함한다. 통신 매체는 인터넷과 같은 글로벌 네트워크, 광역 네트워크, 또는 근거리 네트워크와 같은 패킷 기반 네트워크의 일부를 형성할 수 있다. 통신 매체는 소스 장치(102)에서 목적지 장치(104)로 용이하게 하는데 유용할 수 있는 라우터, 스위치, 또는 기타 장비를 포함할 수 있다.
대안적으로 인코딩된 데이터는 출력 인터페이스(110)에서 저장 장치(도 1에 도시되지 않음)로 출력될 수 있다. 이와 유사하게 인코딩된 데이터는 입력 인터페이스(114)에 의해 저장 장치에서 액세스될 수 있다. 목적지 장치(104)는 스트리밍 또는 다운로드를 통해 저장 장치에서 저장된 비디오 데이터에 액세스할 수 있다. 본 개시의 기법이 반드시 무선 애플리케이션 또는 설정으로 제한되는 것은 아니다. 기법은 무선 텔레비전 방송, 케이블 텔레비전 전송, 위성 텔레비전 전송, 스트리밍 비디오 전송, 예를 들어, 인터넷을 통해, 데이터 저장 매체의 저장을 위한 디지털 비디오의 인코딩, 데이터 저장 매체에 저장된 디지털 비디오의 디코딩, 또는 다른 애플리케이션과 같이 다양한 멀티미디어 애플리케이션을 지원하여 비디오 코딩에 적용될 수 있다. 일부 예들에서, 시스템(100)은 비디오 스트리밍, 비디오 재생, 비디오 방송 및/또는 비디오 전화와 같은 애플리케이션을 지원하기 위해 단방향 또는 양방향 비디오 전송을 지원하도록 구성될 수 있다.
도 1의 예에서, 소스 장치(102)는 비디오 소스(106), 비디오 인코더(108), 및 출력 인터페이스(110)를 포함한다. 일부 경우에, 출력 인터페이스(110)는 변조기/복조기(모뎀) 및/또는 전송기를 포함할 수 있다. 소스 장치(102)에서, 비디오 소스(106)는 비디오 캡쳐 장치(예를 들어, 비디오 카메라, 이전에 캡쳐한 비디오를 포함하는 비디오 아카이브, 비디오 콘텐츠 제공자로부터 비디오를 수신하기 위한 비디오 피드 인터페이스, 및/또는 컴퓨터 그래픽 데이터를 생성하기 위한 컴퓨터 그래픽 시스템)와 같은 소스, 또는 이러한 소스들의 조합을 포함할 수 있다. 일 예로, 비디오 소스(106)가 비디오 카메라인 경우 소스 장치(102)와 목적지 장치(104)는 소위 카메라 폰 또는 비디오 폰을 형성할 수 있다. 그러나, 본 개시에서 기술된 기법은 일반적으로 비디오 코딩에 적용할 수 있고, 무선 및/또는 유선 애플리케이션에 적용될 수 있다.
캡쳐되거나, 미리 캡쳐되거나, 또는 컴퓨터 생성 비디오는 비디오 인코더(108)에 의해 인코딩될 수 있다. 인코딩된 비디오 데이터는 소스 장치(102)의 출력 인터페이스(110)를 통해 목적지 장치(104)로 직접 전송될 수 있다. 인코딩된 비디오 데이터는 또한(또는 대안적으로) 목적지 장치(104) 또는 다른 장치에 의한 다음의 액세스를 위해, 디코딩 및/또는 재생을 위해 저장 장치에 저장될 수 있다.
목적지 장치(104)는 입력 인터페이스(114), 비디오 디코더(116), 및 디스플레이 장치(118)를 포함한다. 일부 경우에, 입력 인터페이스(114)는 수신기 및/또는 모뎀을 포함할 수 있다. 목적지 장치(104)의 입력 인터페이스(114)는 링크(112)를 통해 인코딩된 비디오 데이터를 수신한다. 링크(112)를 통해 전달되거나, 또는 저장 장치에 제공되는 인코딩된 비디오 데이터는, 비디오 디코더에 의한 사용을 위해 비디오 인코더(108)에 의해 생성된 다양한 신탁스 요소(syntax element)를 포함할 수 있다. 이러한 신탁스 요소는 저장 매체에 저장되거나, 파일 서버에 저장거나, 또는 통신 매체에서 전송되는 인코딩된 비디오 데이터와 함께 포함될 수 있다.
디스플레이 장치(118)는 목적지 장치(104)와 통합되거나 외부에 있을 수 있다. 일부 예에서, 목적지 장치(104)는 통합 디스플레이 장치를 포함할 수 있으며, 또한 외부 디스플레이 장치와 인터페이스하도록 구성될 수도 있다. 다른 예에서, 목적지 장치(104)는 디스플레이 장치일 수 있다. 일반적으로, 디스플레이 장치(118)는 디코딩된 비디오 데이터를 사용자에게 디스플레이하고, 액정 디스플레이(liquid crystal display, LCD), 플라즈마 디스플레이, 유기 발광 다이오드(organic light emitting diode, OLED) 디스플레이, 또는 다른 타입의 디스플레이 장치와 같은 다양한 디스플레이 장치 중 임의의 것을 포함할 수 있다.
비디오 인코더(108) 및 비디오 디코더(116)는 MPEG-2, MPEG-4, ITU-T H.263, ITU-T H.264/MPEG-4, Part 10, 어드밴스드 비디오 코딩(Advanced Video Coding, AVC), 고효율 비디오 코딩(High Efficiency Video Coding, HEVC), ITU-T H.266/차세대 비디오 코딩(Next Generation Video Coding, NGVC) 표준을 포함하는 임의 타입의 비디오 압축 표준에 따라 동작할 수 있지만, 이에 제한되는 것은 아니다.
일반적으로 소스 장치(102)의 비디오 인코더(108)는 이러한 현재 또는 미래의 표준 중 임의의 것에 따라 비디오 데이터를 인코딩하도록 구성될 수 있는 것으로 고려된다. 이와 유사하게, 또한 일반적으로 목적지 장치(104)의 비디오 디코더(116)는 이러한 현재 또는 미래의 표준 중 임의의 것에 따라 비디오 데이터를 디코딩하도록 구성될 수 있는 것으로 고려된다.
비디오 인코더(108) 및 비디오 디코더(116)는 각각 하나 이상의 마이크로프로세서, 디지털 신호 프로세서(digital signal processor, DSP), 필드 프로그램 가능 게이트 어레이(field programmable gate array, FPGA), 이산 논리(discrete logic), 소프트웨어, 하드웨어, 펌웨어, 또는 이들 임의의 조합과 같이 다양한 적합한 인코더 회로 중 임의의 것으로 구현될 수 있다. 기법이 소프트웨어에서 부분적으로 구현되는 경우, 장치는 소프트웨어에 대한 명령을 적합한, 비일시적 컴퓨터-판독 가능 매체에 저장할 수 있고, 하나 이상의 프로세서를 사용하여 하드웨어의 명령을 실행하여 본 개시의 기법을 수행할 수 있다. 비디오 인코더(108) 및 비디오 디코더(116) 각각은 하나 이상의 인코더 또는 디코더에 포함될 수 있으며, 둘 중 어느 하나는 개별 장치에서 결합된 인코더/디코더(CODEC)의 일부로서 통합될 수 있다.
비디오 코딩 명세서에서, 비디오 시퀀스는 통상적으로 일련의 픽쳐를 포함한다. 다만, 인터레이싱(interlacing)이 적용되는 경우에도 본 개시 내용이 적용 가능함을 유의한다. 비디오 인코더(108)는 코딩된 픽쳐 및 연관된 데이터의 표현을 형성하는 비트의 시퀀스를 포함하는 비트 스트림을 출력할 수 있다. 비디오 디코더(116)는 비디오 인코더(108)에 의해 생성된 비트 스트림을 수신할 수 있다. 그리고, 비디오 디코더(116)는 비트 스트림으로부터 신탁스 요소를 획득하기 위해 비트 스트림을 파싱(parse)할 수 있다. 비디오 디코더(116)는 비트 스트림으로부터 획득한 신탁스 요소에 적어도 부분적으로 기반하여 비디오 데이터의 픽쳐를 재구성할 수 있다. 비디오 데이터를 재구성하는 프로세스는 일반적으로 비디오 인코더(108)에 의해 수행되는 프로세스와 상호 작용할 수 있다.
도 2는 비디오 인코더(200)의 일 예를 나타내는 개략도를 나타낸다. 비디오 인코더(200)는 비디오 인코딩에 적용될뿐만 아니라 픽쳐 인코딩에도 적용될 수 있다. 비디오 인코더(200)는 프레임의 입력 블록 또는 비디오 스트림의 픽쳐를 수신하기 위한 입력(input)과 인코딩된 비디오 비트 스트림을 생성하기 위한 출력(output)을 포함한다. 비디오 인코더(200)는 비디오 스트림에 예측, 변환, 양자화, 및 엔트로피 코딩을 적용하도록 구성된다. 변환부(201), 양자화부(202), 및 인코딩부(203)에 의해 변환, 양자화, 및 엔트로피 코딩이 각각 수행되어, 인코딩된 비디오 비트 스트림이 생성될 수 있다.
비디오 스트림은 복수의 프레임에 대응하며, 각 프레임은 인트라 또는 인터 코딩된 특정 크기의 블록으로 분할된다. 예를 들어, 비디오 스트림의 제1 프레임의 블록은 인트라 예측부(209)에 의해 인트라 코딩된다. 인트라 프레임은 동일한 프레임 내에서 정보만 사용하여 코딩되므로, 독립적으로 디코딩될 수 있으며, 무작위 액세스를 위한 비트 스트림의 진입점(entry point)을 제공할 수 있다. 비디오 스트림의 다른 프레임의 블록은 인터 예측부(210)를 통해 인터 코딩된다: 소위 참조 프레임이라고 하는 코딩된 프레임으로부터의 정보는 시간 중복성을 줄이기 위해 사용되어, 인터 코딩된 프레임의 각각의 블록이 참조 프레임의 동일한 크기의 블록으로부터 예측될 수 있다. 모드 선택부(208)는 프레임의 블록이 인트라 예측부(209) 또는 인터 예측부(210)에 의해 처리될 것인지 여부를 선택하도록 구성된다.
인터 예측을 수행하기 위해, 코딩된 참조 프레임은 역양자화부(204), 역변환부(205), 필터링부(206)(선택적)에 의해 처리되어 참조 프레임을 획득할 수 있게 하고, 그런 다음 프레임 버퍼(207)에 저장된다. 특히, 참조 프레임의 참조 블록은 재구성된 참조 블록을 획득하기 위해 이들 부(유닛)에 의해 처리될 수 있다. 재구성된 참조 블록은 참조 프레임으로 재결합된다.
인터 예측부(210)는 인터 코딩될 현재 프레임 또는 픽쳐와, 프레임 버퍼(207)로부터의 하나 또는 여러 개의 참조 프레임 또는 픽쳐를 입력으로서 포함한다. 움직임 추정 및 움직임 보상은 인터 예측부(210)에 의해 적용된다. 움직임 추정은 특정 비용 함수를 기반으로 움직임 벡터 및 참조 프레임을 얻는데 사용된다. 그런 다음 움직임 보상은, 참조 프레임의 참조 블록을 현재 프레임으로 변환하는 관점에서 현재 프레임의 현재 블록을 기술한다. 인터 예측부(210)는 현재 블록에 대한 예측 블록을 출력하는데, 여기서 예측 블록은 코딩될 현재 블록과 그 예측 블록 사이의 차이를 최소화, 즉, 잔차 블록을 최소화한다. 잔차 블록의 최소화는 레이트 왜곡 최적화(rate distortion optimization, RDO) 절차를 기반으로 한 것이다.
현재 블록과 이의 예측의 차이, 즉, 잔차 블록은 변환부(201)에 의해 변환된다. 변환 계수는 양자화부(202) 및 인코딩부(203)에 의해 양자화되고 엔트로피 코딩된다. 인코딩된 비디오 비트 스트림은 인트라 코딩된 블록과 인터 코딩된 블록을 포함한다.
도 3은 비디오 디코더(300)의 일 예를 나타내는 개략도를 나타낸다. 비디오 디코더(300)는 비디오 디코딩에 적용할 수 있을 뿐만 아니라, 픽쳐 디코딩에도 적용할 수 있다. 비디오 디코더(300)는 특히 프레임 버퍼(307), 인터 예측부(310)를 포함한다. 프레임 버퍼(307)는 인코딩된 비디오 비트 스트림으로부터 획득된 하나의 참조 프레임을 저장하도록 구성된다. 인터 예측부(310)는 참조 프레임의 참조 블록으로부터 현재 프레임의 현재 블록의 예측 블록을 생성하도록 구성된다.
디코더(300)는 비디오 인코더(200)에 의해 생성된, 인코딩된 비디오 비트 스트림을 디코딩하도록 구성되며, 디코더(300)와 코더(200) 모두 동일한 예측을 생성한다. 프레임 버퍼(307) 및 인터 예측부(310)의 특징은 도 2의 프레임 버퍼(207) 및 인터 예측부(210)의 특징과 유사하다.
특히, 비디오 디코더(300)는 비디오 인코더(200)에도 존재하는 부(유닛), 예를 들어, 비디오 인코더(200)의 역양자화부(204), 역변환부(205), 필터링부(206), 및 인트라 예측부(209)에 대응하는 역양자화부(304), 역변환부(305), 필터링부(306)(선택적), 및 인트라 예측부(309)를 포함한다. 디코딩부(303)는 수신된 인코딩된 비디오 비트 스트림을 디코딩하고 그에 따라 양자화된 잔차 변환 계수를 획득하도록 구성된다. 양자화된 잔차 변환 계수는 잔차 블록을 생성하기 위해 역양자화부(304) 및 역변환부(305)에 공급된다. 잔차 블록은 예측 블록에 추가되고, 추가는 디코딩된 비디오를 얻기 위해 필터링부(306)에 공급된다. 디코딩된 비디오의 프레임은 프레임 버퍼(307)에 저장될 수 있고 인터 예측을 위한 참조 프레임으로서 기능할 수 있다.
비디오 인코더(200)는 코딩 전에 입력 비디오 프레임을 블록으로 분할할 수 있다. 본 개시에서 "블록"이라는 용어는 임의의 타입의 블록 또는 임의의 깊이 블록에 사용되며, 예를 들어, "블록"이라는 용어는 루트(root) 블록, 블록, 서브-블록, 리프 노드(leaf node) 등에 포함되나, 이에 제한되지는 않는다. 코딩될 블록은 반드시 크기가 같지는 않다. 하나의 픽쳐는 상이한 크기의 블록을 포함할 수 있고, 비디오 시퀀스의 상이한 픽쳐의 블록 래스터(raster)도 상이할 수 있다.
HEVC/H.265 표준에 따라 35개의 인트라 예측 모드가 사용 가능하다. 도 4에 도시된 바와 같이, 이 세트는 다음을 포함한다: 평면 모드(인트라 예측 모드 인덱스가 0), DC 모드(인트라 예측 모드 인덱스가 1), 180° 범위를 커버하고 인트라 예측 모드 인덱스 값 범위가 도 4에서 검은색 화살표로 2에서 34로 표시된 방향성(각도) 모드. 자연적인 비디오에 존재하는 임의의 가장자리 방향을 캡쳐하기 위해, 방향성 인트라 모드의 수는, 33개에서, HEVC에서 사용되는 것과 같이, 65개로 확장된다. 추가 방향성 모드는 도 4에서 점선 화살표로 표시되며, 평면 모드와 DC 모드는 동일다. 인트라 예측 모드에서 커버하는 범위는 180°보다 더 넓을 수 있다는 것은 주목할 만한 가치가 있다. 특히, 인덱스 값이 3~64 인 62개의 방향성 모드는 대략 230°의 범위를 커버할 수 있으며, 즉, 일부 모드의 쌍은 반대 방향성을 갖는다. HEVC 참조 모델(HEVCE Reference Model, HM) 및 JEM 플랫폼의 경우, 한 쌍의 각도 모드(즉, 모드 2 및 66)만이 도 4에서와 같이 반대 방향성을 갖는다. 예측자(predictor)를 구성하기 위해, 기존 각도 모드는 참조 샘플을 가져와 (필요한 경우) 필터링하여 샘플 예측자를 얻는다. 예측자를 구성하는데 필요한 참조 샘플의 수는 보간에 사용되는 필터의 길이에 의존한다(depend on)(예를 들어, 이중 선형(bilinear) 및 삼차(cubic) 필터는 각각 2와 4의 길이를 갖는다).
VVC에서는 QTBT로 알려진 쿼드 트리 및 이진 트리를 기반으로 하는 분할(파티셔닝) 메커니즘이 사용된다. 도 5에 도시된 바와 같이, QTBT 분할은 정사각형뿐만 아니라 직사각형 블록도 제공할 수 있다. 물론, HEVC/H.265 표준에서 사용되는 기존의 쿼드 트리 기반 분할에 비해, 인코더 측에서의 일부 시그널링 오버헤드 및 증가된 계산적 복잡도는, QTBT 분할의 비용이다. 그럼에도 불구하고, QTBT 기반 분할은 더 나은 세분화 특성을 부여하므로, 기존 쿼드 트리보다 훨씬 높은 코딩 효율을 보여준다.
본 문서에서, QTBT 프레임워크에 의해 생성된 직사각형 블록에는 "수직적으로 배향된 블록"("블록의 수직 배향") 및 "수평적으로 배향된 블록"("블록의 수평 배향")이라는 용어가 적용된다. 이들 용어는 도 6a 및 도 6b에 도시된 것과 동일한 의미를 갖는다. 도 6a에서 볼 수 있듯이, 수평 배향을 갖는 블록은 높이(수직 방향)보다 더 큰 폭(수평 방향)을 포함하거나 갖는다. 도 6b에서 볼 수 있듯이, 수직 배향을 갖는 블록은 폭(수평 방향)보다 더 큰 높이(수직 방향)를 포함하거나 갖는다.
본 발명은 블록의 배향을 고려하기 위해 상이한 참조 샘플 필터를 선택하는 메커니즘을 제안한다. 구체적으로, 블록의 폭 및 높이는 독립적으로 확인되므로, 상이한 참조 샘플 필터가, 예측될 블록의 상이한 쪽(side, 측)에 위치하는 참조 샘플에 적용될 수 있다.
선행 문헌 검토에서 보간 필터 선택은 메인 참조 측 선택에 대한 결정과 조화를 이루는 것으로 기술되었다. 이 두 결정은 인트라 예측 모드와 대각선(45도) 방향의 비교에 현재 의존한다.
그러나 이 설계에는 길쭉한 블록에 심각한 결함이 있음을 알아야한다. 도 6c로부터, 모드 비교 기준을 사용하여 더 짧은 쪽이 메인 참조로 선택되더라도 대부분의 예측 픽셀은 여전히 더 긴 쪽의 참조 샘플(점선(dashed) 영역으로 표시됨)로부터 도출되는 것을 볼 수 있다.
본 발명은 보간 필터 선택 프로세스 동안 인트라 예측 모드를 임계화하기 위해 대체 방향을 사용할 것을 제안한다. 구체적으로, 이 방향은 예측될 블록의 메인 대각선의 각도에 대응한다. 예를 들어, 크기가 32x4 및 4x32 인 블록의 경우, 참조 샘플 필터를 결정하는데 사용되는 임계 모드 mT는 도 7과 같이 정의된다.
임계 인트라 예측 각도의 특정 값(임계 모드 mT에 해당)은, 예를 들어, 다음 공식을 사용하여 계산할 수 있다:
Figure pct00004
Figure pct00005
는 각각 블록 폭 및 높이다.
또 다른 실시예는 사용되고 있는 참조 샘플이 어느 쪽에 속하는지에 따라, 또는 바꿔 말해, 사용된 참조 샘플이 어느 쪽에 속하는지에 따라 상이한 보간 필터를 사용한다. 이 결정의 예가 도 8에 도시되어 있다.
인트라 방향 m에 대응하는 각도를 갖는 직선은 예측된 블록을 두 영역으로 분할한다. 상이한 영역에 속하는 샘플은 상이한 보간 필터를 사용하여 예측된다. 도 8은 직선 좌측 또는 아래의 제1 영역의 샘플을 삼차 보간을 사용하여 예측하고, 직선 우측 또는 위의 제2 영역의 샘플을 가우스 보간을 사용하여 예측하는 실시예를 나타낸다.
(BMS1.0에서 정의된 인트라 예측 모드의 집합에 대한)
Figure pct00006
의 예시 값과 해당 각도는 표 1에 나와 있다(좌측 열에는 종횡비 RA를 포함함). 각도
Figure pct00007
는 도 7과 같이 주어진다.
표 1: (BMS1.0에서 정의된 인트라 예측 모드의 집합에 대한)
Figure pct00008
의 예시 값
Figure pct00009
블록 내의 샘플은 상이한 보간 필터를 사용하여 예측되며, 여기서 샘플을 예측하는데 사용되는 보간 필터는 블록 형상, 수평 또는 수직 배향, 및 인트라 예측 모드 각도에 따라 선택된다.
실시예는 참조 샘플 필터링 단계에서도 적용될 수 있다. 구체적으로, 보간 필터 선택 프로세스에 대해 상술한 바와 같이, 유사한 규칙을 사용하여 참조 샘플 평활화 필터를 결정하는 것이 가능하다.
도 9는 다양한 실시예를 구현하는데 사용될 수 있는 장치(1100)의 블록도이다. 장치(1500)는 도 1에 표시된 소스 장치(102), 또는 도 2에 표시된 비디오 인코더(200), 또는 도 1에 표시된 목적지 장치(104), 또는 도 3에 표시된대로 비디오 디코더(300)일 수 있다. 추가적으로, 장치(1500)는 기술된 요소 중 하나 이상을 호스트할 수 있다. 일부 실시예에서, 장치(1500)는 스피커, 마이크, 마우스, 터치스크린, 키패드, 키보드, 프린터, 디스플레이 등과 같은 하나 이상의 입력/출력 장치를 구비한다. 장치(1500)는 하나 이상의 중앙 처리 장치(central processing unit, CPU)(1510), 메모리(1520), 대용량 저장 장치(1530), 비디오 어댑터(1540), 및 버스에 연결된 I/O 인터페이스(1560)를 포함할 수 있다. 버스는 메모리 버스 또는 메모리 컨트롤러, 주변장치 버스, 비디오 버스 등을 포함하는 모든 타입의 여러 버스 아키텍처 중 하나 이상이다.
CPU(1510)는 임의의 타입의 전자 데이터 프로세서를 가질 수 있다. 메모리(1520)는 정적 랜덤 액세스 메모리(static random access memory, SRAM), 동적 랜덤 액세스 메모리(dynamic random access memory, DRAM), 동기식 DRAM(SDRAM), 읽기 전용 메모리(read-only memory, ROM), 이들의 조합 등과 같은 임의의 타입의 시스템 메모리이거나, 또는 가질 수 있다. 일 실시예로서, 메모리(1520)는 부팅시 사용을 위한 ROM, 프로그램을 실행하는 동안 사용을 위한 DRAM 및 데이터 저장소를 포함할 수 있다. 실시예에서 메모리(1520)는 비일시적이다. 대용량 저장 장치(1530)는 데이터, 프로그램, 및 기타 정보를 저장하고, 데이터, 프로그램, 및 기타 정보를 버스를 통해 액세스할 수 있도록 하는 임의의 타입의 저장 장치를 포함한다. 대용량 저장 장치(1530)는, 예를 들어, 하나 이상의 솔리드 스테이트 드라이브, 하드 디스크 드라이브, 자기 디스크 드라이브, 광디스크 드라이브 등을 포함한다.
비디오 어댑터(1540) 및 I/O 인터페이스(1560)는 외부 입출력 장치를 장치(1500)에 접속하기 위한 인터페이스를 제공한다. 예를 들어, 장치(1500)는 클라이언트에 SQL 명령 인터페이스를 제공할 수 있다. 도시된 바와 같이, 입출력 장치의 예는 비디오 어댑터(1540)에 접속된 디스플레이(1590) 및 I/O 인터페이스(1560)에 접속된 마우스/키보드/프린터(1570)의 임의의 조합을 포함한다. 다른 장치가 장치(1500)에 접속될 수 있으며, 추가의 또는 더 적은 인터페이스 카드가 사용될 수 있다. 예를 들어, 직렬 인터페이스 카드(미도시)는 프린터를 위한 직렬 인터페이스를 제공하기 위해 사용될 수 있다.
장치(1500)는 또한 노드 또는 하나 이상의 네트워크(1580)에 액세스하기 위한 이더넷(Ethernet) 케이블 등과 같은 유선 링크 및/또는 무선 링크를 포함하는 하나 이상의 네트워크 인터페이스(1550)를 포함한다. 네트워크 인터페이스(1550)는 장치(1500)가 네트워크(1580)를 통해 원격 유닛과 통신할 수 있도록 한다. 예를 들어, 네트워크 인터페이스(1550)는 데이터베이스에 통신을 제공할 수 있다. 일 실시예로서, 장치(1500)는 데이터 처리 및 다른 처리 유닛, 인터넷(Internet), 원격 저장 설비 등과 같이, 원격 장치와의 통신을 위한 근거리 네트워크 또는 광역 네트워크에 접속된다.
주어진 블록 내에서 픽셀을 예측하는데 필요한 가중 계수(weighting coefficient)의 값을 계산하기 위해 부분 선형 근사(Piecewise linear approximation)가 도입되었다. 한편으로, 부분 선형 근사는 직접적인 가중 계수 계산에 비해 거리 가중 예측 메커니즘의 계산적 복잡도를 줄이며, 다른 한편으로는, 이전 단순화에 비해 가중 계수 값의 더 높은 정확도를 달성하게 한다.
실시예는 하나의 픽셀에서 다른 픽셀까지의 거리에 의존하는 가중 계수를 사용하여 픽쳐의 상이한 부분을 블렌딩하는 메커니즘(예를 들어, 이미지 처리에서의 일부 블렌딩 방법)은 물론, 다른 양방향성이며 위치 의존의 인트라 예측 기법(예를 들어, PDPC의 상이한 수정)에도 적용될 수 있다.
본 개시에서 설명된 발명의 대상 및 동작은, 본 개시에서 개시된 구조 및 그들의 균등물을 포함하는, 디지털 전자 회로, 또는 컴퓨터 소프트웨어, 펌웨어, 또는 하드웨어, 또는 그들 중 하나 이상의 조합에서 구현될 수 있다. 본 개시에서 기술된 발명의 대상의 구현은 하나 이상의 컴퓨터 프로그램, 즉, 데이터 처리 장치의 동작을 제어하기 위한, 또는 데이터 처리 장치에 의한 실행을 위해 컴퓨터 저장 매체에 인코딩된, 컴퓨터 프로그램 명령의 하나 이상의 모듈로서 구현될 수 있다. 대안적으로 또는 추가적으로, 프로그램 명령은 인위적으로 생성된 전파 신호, 예를 들어, 데이터 처리 장치에 의한 실행을 위한 적합한 수신 장치로의 전송을 위해 정보를 인코딩하기 위해 생성된 기계-생성 전기, 광학, 또는 전자기 신호에서 인코딩될 수 있다. 컴퓨터 저장 매체, 예를 들어, 컴퓨터-판독 가능 매체는, 컴퓨터-판독 가능 저장 장치, 컴퓨터-판독 가능 저장 기판, 무작위 또는 직렬 액세스 메모리 어레이 또는 장치, 또는 이들 중 하나 이상의 조합일 수 있거나 이에 포함될 수 있다. 또한, 컴퓨터 저장 매체는 전파 신호가 아니지만, 컴퓨터 저장 매체는 인위적으로 생성된 전파 신호에서 인코딩된 컴퓨터 프로그램 명령의 소스 또는 목적지일 수 있다. 컴퓨터 저장 매체는 또한 하나 이상의 분리된 물리적 및/또는 비일시적 구성 요소 또는 매체(예를 들어, 다중 CD, 디스크, 또는 기타 저장 장치)이거나 또는 이에 포함될 수 있다.
일부 구현 예에서, 본 개시에서 기술된 동작은 클라우드 컴퓨팅 네트워크에서 서버 상에 제공되는 호스팅된 서비스로서 구현될 수 있다. 예를 들어, 컴퓨터-판독 가능 저장 매체는 논리적으로 그룹화되어 클라우드 컴퓨팅 네트워크 내에서 액세스 가능할 수 있다. 클라우드 컴퓨팅 네트워크 내 서버는 클라우드 기반 서비스를 제공하기 위한 클라우드 컴퓨팅 플랫폼을 포함할 수 있다. 용어 "클라우드", "클라우드 컴퓨팅" 및 "클라우드 기반"은 본 개시의 범위를 벗어나지 않고 적절하게 상호 교환적으로 사용될 수 있다. 클라우드 기반 서비스는 클라이언트 컴퓨터에서 로컬로 실행되는 애플리케이션을 향상, 보완, 또는 대체하기 위해, 서버에서 제공되며 네트워크를 통해 클라이언트 플랫폼에 전달되는 호스팅 서비스일 수 있다. 회로는 클라우드 기반 서비스를 사용하여 소프트웨어 업그레이드, 애플리케이션, 및 기타 자원을 신속하게 수신할 수 있는데, 그렇지 않으면 자원이 회로에 전달될 수 있기 이전에 긴 기간이 필요할 수 있다.
컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 애플리케이션, 스크립트, 또는 코드라고도 함)은 컴파일된 또는 해석된 언어, 선언적 또는 절차적 언어를 포함하는 모든 형태의 프로그래밍 언어로 작성될 수 있으며, 독립형 프로그램으로서, 또는 컴퓨팅 환경에서 사용하기 적합한 모듈, 구성 요소, 서브루틴, 객체, 또는 기타 단위로서를 포함하는 임의의 형태로 배포될 수 있다. 컴퓨터 프로그램은 파일 시스템의 파일에 해당할 수 있지만, 반드시 그래야 하는 것은 아니다. 프로그램은 다른 프로그램 또는 데이터(예를 들어, 마크업(markup) 언어 문서에 저장된 하나 이상의 스크립트)를 보유하는 파일의 일부에, 해당 프로그램 전용 단일 파일에, 또는 여러 개의 조정 파일(예를 들어, 하나 이상의 모듈, 하위 프로그램, 또는 코드의 일부를 저장하는 파일)에 저장될 수 있다. 컴퓨터 프로그램은 하나의 컴퓨터, 또는 한 사이트에 위치하거나 여러 사이트에 분산되고 통신 네트워크에 의해 상호 연결된 여러 컴퓨터에서 실행되도록 배포될 수 있다.
본 개시에서 기술된 프로세스 및 논리 흐름은, 하나 이상의 컴퓨터 프로그램을 실행하는 하나 이상의 프로그램 가능한 프로세서에 의해 수행되어, 입력 데이터에 대해 작동하고 출력을 생성함으로써 동작을 수행할 수 있다. 프로세스 및 논리 흐름은, 그리고 장치는, 또한 특수 목적 논리 회로, 예를 들어, 필드 프로그램 가능한 게이트 어레이(field programmable gate array, FPGA) 또는 애플리케이션 특정 집적 회로(application specific integrated circuit, ASIC)로 수행되고 구현될 수 있다.
컴퓨터 프로그램의 실행을 위해 적합한 프로세서는, 예를 들어, 일반 및 특수 목적의 마이크로프로세서 및 임의 타입의 디지털 컴퓨터의 하나 이상의 프로세서를 포함한다. 일반적으로, 프로세서는 읽기 전용 메모리 또는 랜덤 액세스 메모리 또는 둘 다로부터 명령과 데이터를 수신할 것이다. 컴퓨터의 핵심 요소는 명령과 데이터를 저장하기 위한 하나 이상의 메모리 장치와 명령에 따른 동작을 수행하기 위한 프로세서이다. 일반적으로, 컴퓨터는 또한, 데이터를 수신하거나, 또는 데이터를 전달하거나, 또는 둘 다를 위해, 데이터를 저장하기 위한 대용량 저장 장치, 예를 들어, 자기, 자기 광학 디스크, 또는 광학 디스크를 포함하거나 이에 동작적으로 접속될 것이다. 그러나 컴퓨터는 그러한 장치를 가질 필요가 없다. 또한, 컴퓨터는 다른 장치, 예를 들어, 휴대 전화, 개인용 휴대 단말기(Personal Digital Assistant, PDA), 모바일 오디오 또는 비디오 플레이어, 게임 콘솔, 위성 항법 시스템(Global Positioning System, GPS) 수신기, 또는 휴대 저장 장치(예를 들어, 범용 직렬 버스(universal serial bus, USB) 플래시 드라이브)에 내장될 수 있다. 컴퓨터 프로그램 명령 및 데이터를 저장하기 위해 적합한 장치는 모든 형태의 비휘발성 메모리, 미디어, 및 메모리 장치를 포함하며, 예를 들어, 반도체 메모리 장치, 예를 들어, EPROM, EEPROM, 및 플래시 메모리; 자기 디스크, 예를 들어, 내장 하드 디스크 또는 탈착 가능 디스크; 자기 광학 디스크; 및 CD-ROM 및 DVD-ROM 디스크가 있다. 프로세서 및 메모리는 특수 목적 논리 회로에 의해 보완되거나 또는 통합될 수 있다.
본 개시는 많은 특정 구현 세부 사항을 포함하지만, 이들은 임의 구현 또는 청구될 수 있는 범위에 대한 제한으로 해석되어서는 안되며, 오히려 특정 구현 예의 특정 구현 예에 특정한 특징의 설명으로 해석되어야 한다. 본 개시에서 분리된 구현 예의 컨텍스트로 설명된 특정 특징은 단일 구현 예에서 조합하여 구현될 수도 있다. 반대로, 단일 구현 예의 컨텍스트로 설명된 여러 특징은 분리되어 다중 구현 예 또는 임의의 적합한 하위 조합으로 구현될 수도 있다. 또한, 특징은 특정 조합으로 작용하는 것으로 상술되었고 심지어 처음에는 그렇게 청구될 수도 있지만, 청구된 조합으로부터 하나 이상의 특징은 일부 경우에 조합으로부터 절제될 수 있고, 청구된 조합은 하위 조합 또는 하위 조합의 변형으로 직결될 수 있다.
이와 유사하게 동작이 특정 순서로 설명되어 있지만, 이는 동작이 표시된 특정 순서, 또는 일련의 순서대로 수행되거나, 모든 설명된 동작이 수행되어야지만 바람직한 결과를 달성할 수 있는 것으로 이해되어서는 안된다. 특정 상황에서는 멀티태스킹 및 병렬 처리가 유리할 수 있다. 또한, 상술한 구현 예에서의 다양한 시스템 구성 요소의 분리는 모든 구현 예에서 그러한 분리를 요구하는 것으로 이해되어서는 안되며, 기술된 프로그램 구성 요소와 시스템은 일반적으로 하나의 단일 소프트웨어 제품 또는 여러 소프트웨어 제품으로 패키징될 수 있다는 점을 이해해야 한다.
따라서, 발명의 대상의 특정 구현 예가 기술되었다. 다른 구현 예는 다음 청구 범위 내에 있다. 일부 경우에, 청구항에 언급된 동작은 다른 순서로 수행될 수 있으며, 여전히 바람직한 결과를 달성할 수 있다. 그리고, 첨부된 도면에 묘사된 프로세스는 바람직한 결과를 얻기 위해 표시된 특정 순서, 또는 일련의 순서를 반드시 요구하지는 않는다. 특정 구현 예에서, 멀티태스킹 및 병렬 처리가 유리할 수 있다.

Claims (15)

  1. 예측될 블록의 종횡비에 기반하여 상기 블록을 위한 보간 필터를 선택하는 단계
    를 포함하는 인트라 예측을 위한 종횡비 의존적 필터링을 위한 방법.
  2. 제1항에 있어서,
    상기 보간 필터를 선택하는 것은,
    상기 예측될 블록의 인트라 예측 모드를 임계화하기 위한 방향에 의존하는,
    인트라 예측을 위한 종횡비 의존적 필터링을 위한 방법.
  3. 제2항에 있어서,
    상기 방향은 상기 예측될 블록의 메인 대각선의 각도에 대응하는,
    인트라 예측을 위한 종횡비 의존적 필터링을 위한 방법.
  4. 제2항에 있어서,
    상기 방향의 각도는 다음의 식:
    Figure pct00010

    으로 계산되고,
    Figure pct00011
    는 각각 상기 예측될 블록의 폭 및 높이인,
    인트라 예측을 위한 종횡비 의존적 필터링을 위한 방법.
  5. 제1항에 있어서,
    상기 종횡비는 다음의 식:
    Figure pct00012
    이고,
    Figure pct00013
    는 각각 상기 예측될 블록의 폭 및 높이인,
    인트라 예측을 위한 종횡비 의존적 필터링을 위한 방법.
  6. 제3항에 있어서,
    상기 예측될 블록의 메인 대각선의 각도는 상기 종횡비에 기초하여 결정되는,
    인트라 예측을 위한 종횡비 의존적 필터링을 위한 방법.
  7. 제6항에 있어서,
    상기 블록의 인트라 예측 모드의 임계치는 상기 예측될 블록의 메인 대각선의 각도에 기초하여 결정되는,
    인트라 예측을 위한 종횡비 의존적 필터링을 위한 방법.
  8. 제1항에 있어서,
    샘플의 예측을 위해 상기 보간 필터를 선택하는 것은,
    대응하는 참조 샘플이 어느 쪽에 속하는지에 의존하는,
    인트라 예측을 위한 종횡비 의존적 필터링을 위한 방법.
  9. 제8항에 있어서,
    인트라 방향에 대응하는 각도를 갖는 직선은, 상기 블록을 두 개의 영역으로 분할하는,
    인트라 예측을 위한 종횡비 의존적 필터링을 위한 방법.
  10. 제8항에 있어서,
    상이한 영역에 속하는 참조 샘플은 상이한 보간 필터를 사용하여 예측되는,
    인트라 예측을 위한 종횡비 의존적 필터링을 위한 방법.
  11. 제1항에 있어서,
    상기 필터는,
    삼차 보간 필터(cubic interpolation filter) 또는 가우스 보간 필터(gauss interpolation filter)를 포함하는,
    인트라 예측을 위한 종횡비 의존적 필터링을 위한 방법.
  12. 제1항 내지 제11항 중 어느 한 항에 따른 방법을 구현하도록 구성되는 장치.
  13. 제1항 내지 제11항 중 어느 한 항에 따른 방법을 구현하도록 구성되는 프로세서를 포함하는 장치.
  14. 제1항 내지 제11항 중 어느 한 항에 따른 방법을 수행하기 위한 프로그램 코드를 포함하는 컴퓨터 프로그램 제품.
  15. 장치로서,
    하나 이상의 프로세서; 및
    상기 하나 이상의 프로세서와 접속하며, 상기 하나 이상의 프로세서에 의해 실행되는 프로그래밍을 저장하는 비일시적 컴퓨터-판독 가능 저장 매체.
    를 포함하고,
    상기 프로그래밍은, 상기 하나 이상의 프로세서에 의해 실행되는 경우, 상기 장치로 하여금 제1항 내지 제11항 중 어느 한 항에 따른 방법을 수행하게 하는, 장치.
KR1020217000033A 2018-07-11 2019-07-11 인트라 예측을 위한 종횡비 의존적 필터링을 위한 방법 및 장치 KR20210016601A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201862696816P 2018-07-11 2018-07-11
US201862696709P 2018-07-11 2018-07-11
US62/696,709 2018-07-11
US62/696,816 2018-07-11
PCT/RU2019/050110 WO2020013735A1 (en) 2018-07-11 2019-07-11 Method and apparatus for aspect-ratio dependent filtering for intra-prediction

Publications (1)

Publication Number Publication Date
KR20210016601A true KR20210016601A (ko) 2021-02-16

Family

ID=69141804

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217000033A KR20210016601A (ko) 2018-07-11 2019-07-11 인트라 예측을 위한 종횡비 의존적 필터링을 위한 방법 및 장치

Country Status (6)

Country Link
US (1) US11323706B2 (ko)
EP (1) EP3804336A4 (ko)
KR (1) KR20210016601A (ko)
CN (1) CN112352434B (ko)
BR (1) BR112020027089A2 (ko)
WO (1) WO2020013735A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020060449A1 (en) 2018-09-23 2020-03-26 Huawei Technologies Co., Ltd. Method and apparatus for intra reference sample interpolation filter switching
US20220182616A1 (en) * 2019-03-12 2022-06-09 Lg Electronics Inc. Method and apparatus for encoding/decoding video and method for transmitting bitstream

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100551073C (zh) * 2006-12-05 2009-10-14 华为技术有限公司 编解码方法及装置、分像素插值处理方法及装置
WO2011142801A1 (en) * 2010-05-10 2011-11-17 Thomson Licensing Methods and apparatus for adaptive interpolative intra block encoding and decoding
US9008175B2 (en) * 2010-10-01 2015-04-14 Qualcomm Incorporated Intra smoothing filter for video coding
US9258573B2 (en) * 2010-12-07 2016-02-09 Panasonic Intellectual Property Corporation Of America Pixel adaptive intra smoothing
WO2012134046A2 (ko) * 2011-04-01 2012-10-04 주식회사 아이벡스피티홀딩스 동영상의 부호화 방법
US9602839B2 (en) * 2011-06-15 2017-03-21 Futurewei Technologies, Inc. Mode dependent intra smoothing filter table mapping methods for non-square prediction units
US9503716B2 (en) * 2011-12-19 2016-11-22 Broadcom Corporation Block size dependent filter selection for motion compensation
US9451254B2 (en) 2013-07-19 2016-09-20 Qualcomm Incorporated Disabling intra prediction filtering
WO2016072722A1 (ko) * 2014-11-04 2016-05-12 삼성전자 주식회사 영상 특성을 반영한 보간 필터를 이용하는 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
EP4084475B1 (en) * 2017-05-31 2024-03-06 LG Electronics Inc. Method and device for performing image decoding on basis of intra prediction in image coding system
EP3496401A1 (en) * 2017-12-05 2019-06-12 Thomson Licensing Method and apparatus for video encoding and decoding based on block shape
US10778971B2 (en) * 2018-06-01 2020-09-15 Tencent America LLC Method and apparatus for video coding

Also Published As

Publication number Publication date
BR112020027089A2 (pt) 2021-03-30
US20210160491A1 (en) 2021-05-27
EP3804336A1 (en) 2021-04-14
EP3804336A4 (en) 2021-08-11
US11323706B2 (en) 2022-05-03
WO2020013735A1 (en) 2020-01-16
CN112352434B (zh) 2022-06-07
CN112352434A (zh) 2021-02-09

Similar Documents

Publication Publication Date Title
TWI688262B (zh) 用於視訊寫碼之重疊運動補償
CN113840143A (zh) 编码器、解码器以及使用ibc专用缓冲区的对应方法
CN110800303A (zh) 用于360度视频译码的参考图片推导及运动补偿
JP2023118785A (ja) イントラ予測のためのエンコーダ、デコーダおよび対応する方法
CN114205591B (zh) 视频序列的帧内预测方法及装置
CN113597761A (zh) 帧内预测方法和装置
US20230128206A1 (en) Method and apparatus for dc intra prediction
CN111416977B (zh) 视频编码器、视频解码器及相应方法
US11323706B2 (en) Method and apparatus for aspect-ratio dependent filtering for intra-prediction
CN112136327B (zh) 用于边界分割的方法和装置
KR102407912B1 (ko) 양방향 인트라 예측 시그널링
CN111327907B (zh) 一种帧间预测的方法、装置、设备及存储介质
US11805250B2 (en) Performing intra-prediction using intra reference sample filter switching
JP2023022071A (ja) イントラ予測のための方法及び機器
US11539953B2 (en) Apparatus and method for boundary partition

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E601 Decision to refuse application