KR102519380B1 - 비디오 이미지의 예측 블록의 인트라 예측을 위한 장치 및 방법 - Google Patents
비디오 이미지의 예측 블록의 인트라 예측을 위한 장치 및 방법 Download PDFInfo
- Publication number
- KR102519380B1 KR102519380B1 KR1020217001377A KR20217001377A KR102519380B1 KR 102519380 B1 KR102519380 B1 KR 102519380B1 KR 1020217001377 A KR1020217001377 A KR 1020217001377A KR 20217001377 A KR20217001377 A KR 20217001377A KR 102519380 B1 KR102519380 B1 KR 102519380B1
- Authority
- KR
- South Korea
- Prior art keywords
- intra prediction
- prediction
- filter
- block
- intra
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
- H04N19/11—Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
- H04N19/82—Details 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
본 발명의 실시예는 픽처 처리 분야에 관한 것으로, 예를 들어 스틸 픽처(still picture)/이미지 및/또는 비디오 픽처/이미지 코딩에 관한 것이다. 특히, 본 발명은 인트라 예측(intra-predict)을 위한, 즉 비디오 이미지의 예측 블록을 인트라 예측하기 위한 장치에 관한 것이다. 비디오 이미지의 예측 블록을 인트라 예측하기 위한 장치가 비디오 이미지 인코더 또는 비디오 이미지 디코더일 수 있거나, 또는 비디오 이미지 인코더 또는 비디오 이미지 디코더의 일부일 수 있다. 비디오 이미지의 예측 블록을 인트라 예측하기 위한 장치가 특히 예측 블록의 지향성 인트라 예측을 수행하도록 구성된다. 본 발명은 또한 대응하는 인트라 예측 방법에 관한 것이다.
비디오 코딩(비디오 인코딩 및 디코딩)은 광범위한 디지털 비디오 애플리케이션, 예를 들어 브로드캐스트 디지털 TV, 인터넷과 모바일 네트워크를 통한 비디오 전송, 화상 채팅과 같은 실시간 대화 애플리케이션, 화상 회의, DVD와 블루레이 디스크, 비디오 컨텐츠 획득 및 편집 시스템, 및 보안 애플리케이션의 캠코더에 사용된다.
1990년 H.261 표준에서 블록 기반의 하이브리드 비디오 코딩 접근법이 개발된 이래 줄곧, 새로운 비디오 코딩 기술과 툴이 개발되어 새로운 비디오 코딩 표준의 기반을 형성하였다. 대부분의 비디오 코딩 표준의 목표 중 하나가 이전 버전과 비해 화질 저하없이 비트레이트(bitrate) 감소를 달성하는 것이었다. 추가적인 비디오 코딩 표준은 MPEG-1 비디오, MPEG-2 비디오, ITU-T H.262/MPEG-2, ITU-T H.263, ITU-T H.264/MPEG-4, Part 10, 고급 비디오 코딩(Advanced Video Coding, AVC), ITU-T H.265, 고효율 비디오 코딩(High Efficiency Video Coding, HEVC), 및 이러한 표준의 확장, 예를 들어 확장성(scalability) 및/또는 3차원(3D) 확장을 포함한다.
비디오 압축은 원하는 비트레이트 감소를 달성할 수 있지만 복잡한 과업이다. 특히, 비디오 압축은 압축 효율과 계산 복잡도라는 두 가지 상반되는 파라미터에 의해 제한된다. ITU-T H.264/AVC 또는 ITU-T H.265/HEV와 같은 비디오 코딩 표준은 이러한 파라미터들 사이에 좋은 트레이드오프를 제공한다. 이러한 이유로, 비디오 코딩 표준의 지원은 거의 모든 비디오 압축 애플리케이션의 필수 요건이다.
최첨단 비디오 코딩 표준은 소스 픽처를 블록으로 분할하는 것을 기반으로 한다. 이러한 블록의 처리는 크기, 공간 위치, 및 인코더에 의해 지정된 코딩 모드에 따라 달라진다.
코딩 모드는 예측 유형에 따라 2개의 그룹, 즉 인트라 예측 모드(intra-prediction mode)와 인터 예측 모드(inter-prediction mode)로 분류될 수 있다. 인트라 예측 모드는 재구성되는 블록의 픽셀에 대한 예측 값을 계산하기 위해 동일한 픽처의 픽셀을 이용하여 참조 샘플을 생성한다. 인트라 예측은 공간 예측(spatial prediction)이라고도 한다. 인터 예측 모드는 시간 예측을 위해 설계되었고, 이전 픽처 또는 다음 픽처의 참조 샘플을 이용하여 현재 픽처의 블록의 픽셀을 예측한다.
예측 단계 이후, 원신호(original signal)와 원신호의 예측 간의 차이인 예측 오차에 대해 변환 코딩이 수행된다. 그런 다음, 엔트로피 코더(예를 들어, AVC/H.264와 HEVC/H.265에 대한 CABAC)를 이용하여 변환 계수와 부가 정보가 인코딩된다. 최근 채택된 ITU-T H.265/HEVC 표준(ISO/IEC 23008-2:2013, "정보 기술-이기종 환경에서 고효율 코딩 및 미디어 전달 - 파트 2: 고효율 비디오 코딩", 2013년 11월)은 코딩 효율과 계산 복잡도 간의 합리적인 트레이드오프를 제공하는 최첨단 비디오 코딩 툴의 집합을 선언한다. ITU-T H.265/HEVC 표준에 대한 개요("Overview of the High Efficiency Video Coding (HEVC) Standard", IEEE Transactions on Circuits and Systems for Video Technology, Vol. 22, No. 12, December 2012)가 게리 J. 설리번에 의해 제공되었고, 그 전체 내용이 원용에 의해 본 명세서에 포함된다.
ITU-T H.264/AVC 비디오 코딩 표준과 유사하게, HEVC/H.265 비디오 코딩 표준은 소스 픽처를 블록으로, 예를 들어 코딩 유닛(Coding Unit, CU)으로 분할한다. CU 각각은 추가적으로, 더 작은 CU 또는 예측 유닛(Prediction Unit, PU)으로 분할될 수 있다. PU는 PU의 픽셀에 적용되는 처리 유형에 따라 인트라 예측되거나 또는 인터 예측될 수 있다. 인터 예측의 경우, PU는 PU에 대해 지정된 움직임 벡터를 이용하여 움직임 보상에 의해 처리되는 픽셀의 영역을 나타낸다. 인트라 예측의 경우, 인접한 블록의 인접한 픽셀이 참조 샘플로 사용되어 현재 블록을 예측한다.
PU가 PU에 포함된 모든 변환 유닛(Transform Unit, TU)에 대한 인트라 예측 모드의 집합으로부터 선택되는 예측 모드를 지정한다. 즉, 인트라 예측 모드는 PU의 각각의 TU에 대해 동일하다. TU가 다른 크기(예를 들어, 4×4, 8×8, 16×16, 및 32×32개의 픽셀)를 가질 수 있고, 다른 방식으로 처리될 수 있다. TU의 경우, 변환 코딩이 수행된다. 즉, 예측 오차가 이산 코사인 변환 또는 이산 사인 변환(HEVC/H.265 표준에서, 인트라 코딩된 블록에 적용됨)으로 변환되어 양자화된다. 따라서, 재구성된 픽셀은 DBF, SAO, 및 ALF와 같은 인루프 필터(in-loop filter)가 억제하려고 하는 양자화 잡음(예를 들어, 유닛들 간의 고르지 못함, 날카로운 모서리와 함께 링잉 아티팩트(ringing artifact) 등으로 명백해질 수 있음)을 포함한다. 정교한 예측 코딩(예컨대, 움직임 보상과 인트라 예측)과 분할 기술(예를 들어, HEVC/H.265에서 CU와 PU에 대한 쿼드 트리(Quad-Tree, QT)뿐만 아니라 TU에 대한 잔차 쿼드 트리(Residual Quad-Tree, RQT) 및 버전 JEM-3.0에서 시작하는 JEM(Joint Exploration Model) 참조 소프트웨어용 쿼드 트리 및 이진 트리(Quad-Tree and Binary Tree)는 표준화 위원회로 하여금 PU의 중복을 크게 줄일 수 있게 하였다. QT와 QTBT 파티셔닝 메커니즘의 근본적인 차이점은, 후자의 경우 쿼드 트리와 이진 트리에 기반한 파티셔닝을 이용하여 정사각형 블록뿐만 아니라 직사각형 블록도 가능하게 한다는 것이다. 본 발명은 지향성 인트라 예측(directional intra-prediction)에 관한 것으로, 지향성 인트라 예측 모드의 새로운 변형을 소개한다.
HEVC/H.265 표준에 따르면, 35개의 인트라 예측 모드가 이용 가능하다. 도 8에 도시된 바와 같이, 이 집합은 다음의 모드를 포함한다.
● 평면 모드(인트라 예측 모드 인덱스가 0임),
● DC 모드(인트라 예측 모드 인덱스가 1임),
● 도 8에 실선 화살표로 표시된 지향성 모드(인트라 예측 모드 인덱스 값의 범위가 2 ~ 34임). 지향성 인트라 예측 모드들 간의 각도 스텝을 감소시킴으로써 지향성 인트라 예측 모드의 집합이 65개의 모드(즉, 거의 2배)로 확장되었다. 이러한 추가 모드는 도 8에 점선 화살표로 표시되어 있다.
JEM-3.0 소프트웨어의 경우, QTBT로 알려진 새로운 분할 메커니즘이 제안되었다. 도 9에 도시된 바와 같이, QTBT 파티셔닝은 정사각형 블록뿐만 아니라 직사각형 블록도 제공할 수 있다. 물론, 인코더 측의 일부 시그널링 오버헤드와 증가된 계산 복잡도가 예를 들어 HEVC/H.265 표준에 사용되는 기존 QT 기반의 파티셔닝과 비교할 때 QTBT 파티셔닝의 대가이다. 그럼에도 불구하고, QTBT 기반의 파티셔닝은 더 나은 분할 속성이 부여되고, 따라서 기존 QT보다 코딩 효율이 훨씬 높다.
하지만, QTBT를 도입할 때, 사용 가능한 지향성 인트라 예측 모드의 집합이 그에 따라 변경되지 않는다. 특히, 도 10에 도시된 바와 같이, 직사각형 블록의 비대칭이 고려되지 않았다. 따라서 직사각형 블록의 짧은 변과 긴 변을 따라 동일한 수의 참조 샘플이 사용된다. QTBT 프레임워크의 현재 구현에서, 지향성 인트라 예측 모드의 개수가 블록의 가로세로비(aspect ratio)에도 참조 샘플의 실제 이용 가능성에도 의존하지 않는다. 결과적으로, 직사각형 블록의 짧은 변에 사용될 가능성이 거의 없는 참조 샘플이 있는 반면, 긴 변에 사용되지 않을 가능성이 있는 참조 샘플도 있다.
특히, 도 11에 도시된 바와 같이, 이 문서에서, "수직으로 배향된 블록"("블록의 수직 배향")과 "수평으로 배향된 블록"("블록의 수평 배향")이라는 용어가 QTBT 프레임워크에 의해 생성된 직사각형 블록에 적용된다. 도 11은 특히 (a) 수평으로 배향된 블록, (b) 수직으로 배향된 블록을 나타낸다.
기고 JVET-D0113에서, 지향성 인트라 예측 모드의 개수를 조정할 수 있는 메커니즘을 적용하는 것이 추가로 제안되었다. 특히, 블록 크기가 크면 지향성 인트라 예측 모드의 개수를 131개까지 더 늘리고, 블록 크기가 작으면 지향성 인트라 예측 모드의 개수를 줄이는 것이 제안되었다. 블록 크기에 기초하여 지향성 인트라 예측 모드의 개수를 전환하는 것이 2개의 임계값(SPS에서 각각 log2 값-4와 log2 값-6으로 시그널링됨)에 의해 제어된다. 제1 임계값은 35개의 인트라 예측 모드 방향을 가질 수 있는 가장 큰 블록 크기를 나타내고, 제2 임계값은 67개의 인트라 예측 모드 방향을 가질 수 있는 가장 큰 블록 크기를 나타내며, 다른 모든 블록은 131개의 인트라 예측 모드 방향을 사용한다. 디폴트 설정에서, 임계값은 각각 4와 6으로 시그널링되고, 고해상도 픽처의 경우 5와 8로 설정된다.
이 구현에서, 지향성 인트라 예측 모드 인덱스는 실제로 사용되는 지향성 인트라 예측 모드의 개수와 무관하게 항상 131 모드 범위로 표현된다. 실제로 사용되는 67개의 인트라 예측 모드의 경우, 모든 두 번째 각도(지향성) 모드만이 허용되고, 35개의 모드의 경우, 모든 네 번째 각도(지향성) 모드만이 허용된다. 따라서, 도 12에서 설명한 바와 같이, 인트라 예측 모드 시그널링 중에, 현재 블록이 131개 미만의 인트라 예측 모드 방향을 사용하면, 인접한 블록의 인트라 예측 모드가 가장 가까운, 또는 두 번째, 또는 네 번째 각도 인트라 예측 모드로 반올림될 필요가 있다. 이 변환은 인트라 예측 모드에 1 또는 2의 오른쪽 및 왼쪽 시프트를 적용하여 수행된다. 인트라 예측 모드가 MPM이 아니면, 모드 시그널링이 JEM-3.0에서와 동일한 과정을 따르지만 인트라 예측 모드의 개수가 다르다. 평면 모드와 DC 모드가 바뀌지 않고 유지되며, 모드 변환을 필요로 하지 않는다. 증가된 인트라 예측 모드를 수용하기 위해, 4-탭 인트라 필터(4-tap intra filter)가 1/32 부분적 펠(pel)에서 1/64 부분적 펠로 확장된다.
또한, 직사각형 블록에 대해 설정된 인트라 예측 모드에 얼마나 많은 지향성 인트라 예측 모드가 포함되어야 하는지를 해결하기 위한 기술이 최근 제안되었다. 도 13에 도시된 바와 같이, 제안된 기술에 따르면, 지향성 인트라 예측 모드의 집합이 예측 블록의 가로세로비에 따라 확장될 수 있고, 추가된 지향성 인트라 예측 모드를 기존 부분집합에 매핑하여 시그널링될 수 있다.
도 14는 이와 관련하여 지향성 인트라 예측 모드와 연관된 각도가 45°인 대각선 방향의 인트라 예측의 경우를 도시하고 있다. 이 경우에 대한 대응하는 HEVC 인트라 모드 인덱스가 2(왼쪽 하단부터)와 35(오른쪽 상단부터)이다.
하지만, 유사한 인트라 예측 메커니즘이 45°보다 작은 각도, 즉 확장된 지향성 인트라 예측 모드에 적용되면, 이 상황은 도 15에 도시된 바와 같다. 즉, 인트라 예측 방향이 날카롭게(즉, 45°보다 작게) 지정될 때 이 예측에서는 명백한 불연속이 관찰될 수 있다. 이러한 불연속성 원인은, 특히, 2개의 행의 인접한 예측 샘플들 간의 참조 샘플 위치들 사이의 차이가 하나의 참조 샘플보다 커질 수 있다는 것이다. 이 문제는 참조 샘플을 처리하고 인트라 예측 보간을 수행하는 방법과 관련되어 있다.
전술한 구현의 관점에서, 본 발명은 하이브리드 비디오 코딩을 추가로 개선하는 것을 목표로 한다. 특히, 본 발명은 비디오 이미지의 예측 블록의 개선된 인트라 예측을 위한 장치 및 방법을 제공하는 것을 목적으로 한다. 본 발명은 특히 하드웨어 및 계산 복잡도의 추가 없이 추가적인 코딩 이득을 목표로 한다. 구체적으로, 본 발명은 45°미만의 예각에서 발생하는 전술한 문제를 극복하려고 한다. 즉, 이러한 예각에서 불연속을 억제하려고 한다. 본 발명은 종래의 지향성 인트라 예측 메커니즘을 이용하는 코덱에 용이하게 구현되어야 한다.
본 발명의 목적은 독립항의 특징에 의해 정의되는 본 발명의 실시예에 따라 해결된다. 이러한 실시예의 추가적인 유리한 구현은 종속항의 특징에 의해 정의된다.
특히, 본 발명은 지향성 인트라 예측 모드의 적어도 부분집합에서, 예를 들어 예리한 인트라 예측 각도와 연관된 인트라 예측 모드에 대해, 지향성 인트라 예측 모드의 적어도 부분집합에서 지향성 인트라 예측 모드의 인접한 각도들 간의 각도 스텝(스텝 각도)를 변경함으로써 불연속을 감소시키는 것을 제안한다. 이 해결책은 QTBT 및 MTT와 같은 파티셔닝 프레임워크에 의해 생성되는 직사각형 블록에 주로 적용 가능하다.
본 발명의 제1 양태는 비디오 이미지의 예측 블록을 인트라 예측하기 위한 장치를 제공한다. 상기 장치는 지향성 인트라 예측 모드의 집합으로부터 지향성 인트라 예측 모드를 선택하고 - 여기서, 각각의 지향성 인트라 예측 모드는 다른 인트라 예측 각도에 대응하고 있음 -; 상기 예측 블록의 주어진 예측 샘플에 대해, 상기 선택된 지향성 인트라 예측 모드에 기초하여 참조 샘플의 집합으로부터 참조 샘플을 결정하며; 상기 결정된 참조 샘플에 필터를 적용하도록 구성된다. 여기서, 상기 지향성 인트라 예측 모드의 부분집합 내에서, 상기 지향성 인트라 예측 모드들 간의 각도 스텝이 상기 필터의 필터 길이에 따라 정의된다.
제1 양태에 따른 비디오 이미지의 예측 블록을 인트라 예측하기 위한 장치는 다음의 이점을 제공한다.
● 추가적인 코딩 이득에 도달할 수 있다.
● 최신식이면서 차세대 비디오 코딩 프레임워크인 JEM 및 VTM 소프트웨어와 VPX/AV1 비디오 코덱 패밀리뿐만 아니라 HM 소프트웨어 및 VPX 비디오 코덱 패밀리와 호환되는 하이브리드 비디오 코딩 패러다임의 많은 잠재적인 애플리케이션에 각각 사용될 수 있다.
● 하드웨어 및 계산 복잡도가 낮게 유지된다.
● 상기 장치는 기존의 지향성 인트라 예측 메커니즘을 사용하는 코덱에 용이하게 구현될 수 있다.
상기 적용된 필터의 필터 길이에 기초하여 상기 각도 스텝을 정의함으로써, 특히 더 짧은 필터 길이에 대해 더 작은 각도 스텝을 선택함으로써, 상기 부분집합 내의 상기 서로 다른 지향성 인트라 예측 모드와 연관된 상기 각도는 전체적으로 더 작은 각도 범위에 걸쳐 있다. 따라서, 가장 예리한 인트라 예측 각도에 대해서도 필터로 인해 불연속이 억제되도록 보장될 수 있다.
특히, 상기 예측 블록은 TU 또는 PU일 수 있다. 상기 장치는, 주어진 예측 샘플에 대해 설명한 바와 같이, 상기 예측 블록 내의 각각의 예측 샘플을 처리하도록 구성된다. 따라서, 상기 장치는 상기 비디오 이미지 내의 상기 전체 예측 블록의 인트라 예측을 수행하도록 구성된다. 샘플이 상기 비디오 이미지 내의 채널과 픽셀의 교차점이다. 예를 들어, 상기 비디오 이미지의 각각의 픽셀은 적색, 녹색, 및 청색에 대한 3개의 샘플을 포함할 수 있다.
제1 양태의 구현 형태에서, 상기 필터의 필터 길이가 더 크면 상기 각도 스텝이 더 크고, 상기 필터의 필터 길이가 더 작으면 상기 각도 스텝이 더 작다.
더 큰 필터 길이의 경우, 불연속의 유발 없이, 인트라 예측 결과를 개선하기 위해 더 예리한 인트라 예측 각도가 사용될 수 있다. 상기 부분집합 내의 상기 지향성 인트라 예측 모드와 연관된 상기 각도는 전체적으로 더 큰 각도 범위에 걸쳐 있을 수 있다.
제1 양태의 추가 구현 형태에서, 상기 각도 스텝은 상기 필터의 필터 길이에 따라 2 도 내지 4 도, 특히 2 도, 또는 2.5 도, 또는 3 도, 또는 4 도이다.
이와 같이, 상기 각도 스텝은 상기 필터 길이에 기초하여 최적으로 정의되어 최상의 결과를 얻을 수 있다. 특히, 상기 부분집합 내의 지향성 인트라 예측 모드의 개수는 예를 들어 상기 예측 블록의 가로세로비(aspect ratio)에 의존할 수 있다. 즉, 상기 지향성 인트라 예측 모드의 부분집합이 상기 예측 블록의 가로세로비에 기초하여 선택된다.
제1 양태의 추가 구현 형태에서, 상기 필터의 필터 길이는 상기 예측 블록의 가로세로비에 따라 선택된다.
예를 들어, 상기 가로세로비가 클수록, 상기 직사각형 블록의 더 긴 변에서 상기 인트라 예측 각도가 더 예리해질 수 있다. 따라서, 더 큰 필터 길이가 필요할 수 있다. 상기 필터 길이가 클수록, 상기 부분집합 내의 각도 스텝도 더 커진다.
제1 양태의 추가 구현 형태에서, 상기 필터의 필터 길이는 상기 예측 블록의 높이 및/또는 폭에 따라 선택된다.
제1 양태의 추가 구현 형태에서, 상기 필터는, 상기 결정된 참조 샘플에 적용될 때, 상기 필터 길이에 따라 상기 결정된 참조 샘플과 하나 이상의 인접한 참조 샘플에 대해 평활화(smoothing)를 수행한다
제1 양태의 추가 구현 형태에서, 상기 참조 샘플의 집합의 참조 샘플은 상기 예측 블록의 위와 오른쪽 위에 인접하게 상기 비디오 이미지의 행에 배열되거나, 및/또는 상기 예측 블록의 왼쪽과 왼쪽 아래에 인접하게 상기 비디오 이미지의 열에 배열된다.
제1 양태의 추가 구현 형태에서, 상기 장치는 상기 비디오 이미지를 인코딩하거나 및/또는 디코딩하도록 구성되거나, 또는 상기 장치는 비디오 인코더 및/또는 비디오 디코더이다.
예를 들어, 제1 양태의 비디오 이미지의 예측 블록을 인트라 예측하기 위한 장치는 인코더 또는 디코더의 인트라 예측 유닛에 포함되거나 또는 인코더 또는 디코더의 인트라 예측 유닛일 수 있다.
본 발명의 제2 양태는 비디오 이미지의 예측 블록을 인트라 예측하기 위한 방법을 제공한다. 상기 비디오 이미지의 예측 블록을 인트라 예측하기 위한 방법은, 지향성 인트라 예측 모드의 집합으로부터 지향성 인트라 예측 모드를 선택하는 단계 - 각각의 지향성 인트라 예측 모드는 다른 인트라 예측 각도에 대응하고 있음 -; 상기 예측 블록의 주어진 예측 샘플에 대해, 상기 선택된 지향성 인트라 예측 모드에 기초하여 참조 샘플의 집합으로부터 참조 샘플을 결정하는 단계; 및 상기 결정된 참조 샘플에 필터를 적용하는 단계 - 상기 지향성 인트라 예측 모드의 부분집합 내에서, 상기 지향성 인트라 예측 모드들 간의 각도 스텝이 상기 필터의 필터 길이에 따라 정의됨 -를 포함한다.
제2 양태의 구현 형태에서, 상기 필터의 필터 길이가 더 크면 상기 각도 스텝이 더 크고, 상기 필터의 필터 길이가 더 작으면 상기 각도 스텝이 더 작다.
제2 양태의 추가 구현 형태에서, 상기 각도 스텝은 상기 필터의 필터 길이에 따라 2 도 내지 4 도, 특히 2 도, 또는 2.5 도, 또는 3 도, 또는 4 도이다.
제2 양태의 추가 구현 형태에서, 상기 필터의 필터 길이는 상기 예측 블록의 가로세로비에 따라 선택된다.
제2 양태의 추가 구현 형태에서, 상기 필터의 필터 길이는 상기 예측 블록의 높이 및/또는 폭에 따라 선택된다.
제2 양태의 추가 구현 형태에서, 상기 필터는, 상기 결정된 참조 샘플에 적용될 때, 상기 필터 길이에 따라 상기 결정된 참조 샘플과 하나 이상의 인접한 참조 샘플에 대해 평활화를 수행한다.
제2 양태의 추가 구현 형태에서, 상기 참조 샘플의 집합의 참조 샘플은 상기 예측 블록의 위와 오른쪽 위에 인접하게 상기 비디오 이미지의 행에 배열되거나, 및/또는 상기 예측 블록의 왼쪽과 왼쪽 아래에 인접하게 상기 비디오 이미지의 열에 배열된다.
제2 양태의 추가 구현 형태에서, 상기 방법은 상기 비디오 이미지를 인코딩하거나 및/또는 디코딩하기 위한 것이거나, 또는 상기 방법은 비디오 인코더 및/또는 비디오 디코더에 의해 수행된다.
제2 양태의 비디오 이미지의 예측 블록을 인트라 예측하기 위한 방법과 그 구현 형태가 제1 양태의 비디오 이미지의 예측 블록을 인트라 예측하기 위한 장치와 상기 장치 각각의 구현 형태에 대해 위에서 설명된 동일한 이점과 효과를 달성한다.
본 출원에서 설명된 모든 장치, 요소, 유닛, 및 수단이 소프트웨어 또는 하드웨어 요소 또는 이들의 어떤 종류의 조합으로 구현될 수 있다는 것을 유의해야 한다. 본 출원에서 설명된 다양한 엔티티에 의해 수행되는 모든 단계뿐만 아니라 다양한 엔티티에 의해 수행되도록 설명된 기능은, 각각의 엔티티가 각각의 단계와 기능을 수행하도록 적응되거나 또는 구성된다는 것을 나타내기 위한 것이다. 특정 실시예의 다음의 설명에서, 외부 엔티티에 의해 수행될 특정 기능 또는 단계가 그 특정 단계 또는 기능을 수행하는 엔티티의 특정 세부 요소를 설명하는 데 반영되지 않더라도, 이러한 방법과 기능이 각각의 소프트웨어 또는 하드웨어 요소, 또는 이들의 어떤 종류의 조합으로 구현될 수 있다는 것이 당업자에게 명백해야 한다.
하나 이상의 실시예의 세부사항은 아래의 첨부 도면과 설명에서 제공된다. 다른 특징, 목적, 및 이점은 이러한 설명, 도면, 및 청구 범위로부터 명백해질 것이다.
다음의 실시예에서, 첨부된 그림과 도면을 참조하여 본 발명의 실시예에 대해 더 상세하게 설명한다.
도 1은 본 발명의 실시예를 구현하도록 구성된 비디오 인코더의 예시적인 구조를 나타내는 블록도이다.
도 2는 본 발명의 실시예를 구현하도록 구성된 비디오 디코더의 예시적인 구조를 나타내는 블록도이다.
도 3은 본 발명의 실시예를 구현하도록 구성된 비디오 코딩 시스템의 예를 나타내는 블록도이다.
도 4는 (a) 인트라 예측 각도가 45°보다 작은 경우에 대한 불연속의 원인과 (b) 인트라 예측 각도가 45°보다 작은 경우에 대한 행 간 불연속(inter-row discontinuity)을 나타내는 도면이다.
도 5는 본 발명의 일 실시예에 따른 장치를 나타내는 블록도이다.
도 6은 확장된 지향성 인트라 예측 모드에 대해 다른 각도 스텝을 사용하는 개념을 나타내는 도면이다.
도 7은 본 발명의 일 실시예에 따른 방법의 흐름도이다.
도 8은 HM 및 JEM 소프트웨어의 인트라 예측 모드를 나타내는 도면이다(점선으로 표시된 각도/지향성 모드가 JEM에 도입되지만 HM에는 도입되지 않음).
도 9는 QTBT 파티셔닝을 개략적으로 나타내는 도면이다.
도 10은 QT 및 QTBT 프레임 워크에서 지향성 인트라 예측 메커니즘의 현재 구현을 나타내는 도면이다.
도 11은 직사각형 블록의 방향을 설명하며, 특히 (a) 수평 배향 및 (b) 수직 배향의 직사각형 블록을 나타내는 도면이다.
도 12는 JVET-D0113에 제안된 인트라 모드 선택을 나타내는 도면이다.
도 13은 제안된 지향성 인트라 예측 모드의 확장을 나타내는 도면이다.
도 14는 45°인 인트라 예측 각도에 대해 2개의 인접한 행의 예측 샘플을 인트라 예측하기 위한 참조 샘플들 간의 거리를 개략적으로 나타내는 도면이다.
도 15는 45°보다 작은 인트라 예측 각도에 대해 2개의 인접한 행의 예측 샘플을 인트라 예측하기 위한 참조 샘플들 간의 거리를 개략적으로 나타내는 도면이다.
도 1은 본 발명의 실시예를 구현하도록 구성된 비디오 인코더의 예시적인 구조를 나타내는 블록도이다.
도 2는 본 발명의 실시예를 구현하도록 구성된 비디오 디코더의 예시적인 구조를 나타내는 블록도이다.
도 3은 본 발명의 실시예를 구현하도록 구성된 비디오 코딩 시스템의 예를 나타내는 블록도이다.
도 4는 (a) 인트라 예측 각도가 45°보다 작은 경우에 대한 불연속의 원인과 (b) 인트라 예측 각도가 45°보다 작은 경우에 대한 행 간 불연속(inter-row discontinuity)을 나타내는 도면이다.
도 5는 본 발명의 일 실시예에 따른 장치를 나타내는 블록도이다.
도 6은 확장된 지향성 인트라 예측 모드에 대해 다른 각도 스텝을 사용하는 개념을 나타내는 도면이다.
도 7은 본 발명의 일 실시예에 따른 방법의 흐름도이다.
도 8은 HM 및 JEM 소프트웨어의 인트라 예측 모드를 나타내는 도면이다(점선으로 표시된 각도/지향성 모드가 JEM에 도입되지만 HM에는 도입되지 않음).
도 9는 QTBT 파티셔닝을 개략적으로 나타내는 도면이다.
도 10은 QT 및 QTBT 프레임 워크에서 지향성 인트라 예측 메커니즘의 현재 구현을 나타내는 도면이다.
도 11은 직사각형 블록의 방향을 설명하며, 특히 (a) 수평 배향 및 (b) 수직 배향의 직사각형 블록을 나타내는 도면이다.
도 12는 JVET-D0113에 제안된 인트라 모드 선택을 나타내는 도면이다.
도 13은 제안된 지향성 인트라 예측 모드의 확장을 나타내는 도면이다.
도 14는 45°인 인트라 예측 각도에 대해 2개의 인접한 행의 예측 샘플을 인트라 예측하기 위한 참조 샘플들 간의 거리를 개략적으로 나타내는 도면이다.
도 15는 45°보다 작은 인트라 예측 각도에 대해 2개의 인접한 행의 예측 샘플을 인트라 예측하기 위한 참조 샘플들 간의 거리를 개략적으로 나타내는 도면이다.
다음의 설명에서, 본 개시의 일부를 형성하고 또한 예시로서 본 발명의 실시예의 특정 양태 또는 본 발명의 실시예가 사용될 수 있는 특정 양태를 나타내는 첨부 도면을 참조한다. 본 발명의 실시예가 다른 양태에 사용될 수 있으며 도면에 도시되지 않은 구조적 변경 또는 논리적 변경을 포함할 수 있다는 것을 이해해야 한다. 그러므로, 다음의 상세한 설명은 제한적인 의미로 받아들여서는 안 되며, 본 발명의 범위가 첨부된 청구 범위에 의해 정의된다.
예를 들어, 설명된 방법과 관련된 개시가 설명된 방법을 수행하도록 구성된 대응하는 장치 또는 시스템에 대해 참일 수 있으며 그 반대의 경우도 마찬가지라고 이해해야 한다. 예를 들어, 하나 또는 복수의 특정 방법 단계가 설명되면, 심지어는 이러한 하나 이상의 유닛이 명시적으로 설명되거나 또는 도면에 도시되지 않더라도, 대응하는 장치가 설명된 하나 또는 복수의 방법 단계를 수행하기 위해 하나의 유닛 또는 복수의 유닛, 예를 들어 기능 유닛(예를 들어, 하나의 단계 또는 복수의 단계를 수행하는 하나의 유닛, 또는 복수의 단계 중 하나 이상의 단계를 각각 수행하는 복수의 유닛)을 포함할 수 있다. 한편, 예를 들어, 특정 장치가 하나 또는 복수의 유닛, 예를 들어, 기능 유닛에 기초하여 설명되면, 심지어는 이러한 하나 또는 복수의 단계가 명시적으로 설명되지 않거나 또는 도면에 도시되지 않더라도, 대응하는 방법이 하나 또는 복수의 유닛(예를 들어, 하나 또는 복수의 유닛의 기능을 수행하는 하나의 단계, 또는 복수의 유닛 중 하나 이상의 기능을 각각 수행하는 복수의 단계)의 기능을 수행하기 위한 하나의 단계를 포함할 수 있다. 또한, 본 명세서에 설명된 다양한 예시적인 실시예 및/또는 양태의 특징들이 구체적으로 달리 언급되지 않는 한 서로 결합될 수 있다는 것을 이해해야 한다.
비디오 코딩이란 일반적으로 비디오 또는 비디오 시퀀스를 형성하는 일련의 픽처(picture)를 처리하는 것을 말한다. 비디오 코딩 분야에서는 픽처라는 용어 대신 프레임 또는 이미지라는 용어가 동의어로 사용될 수 있다. 비디오 코딩은 비디오 인코딩과 비디오 디코딩의 두 부분으로 구성된다. 비디오 인코딩은 소스 측에서 수행되고, (더 효율적인 저장 및/또는 전송을 위해) 비디오 픽처를 표현하는 데 필요한 데이터의 양을 (예를 들어, 압축에 의해) 줄이기 위해 원본 비디오 픽처를 처리하는 것을 일반적으로 포함한다. 비디오 디코딩은 목적지 측에서 수행되고, 일반적으로 인코더와 비교할 때 역처리를 포함하여 비디오 픽처를 재구성한다. 비디오 픽처(또는 후술하는 바와 같이 일반적으로 비디오 이미지 또는 픽처)의 "코딩"을 언급하는 실시예가 비디오 픽처의 "인코딩"과 "디코딩" 모두에 관한 것이라고 이해해야 한다. 인코딩 부분과 디코딩 부분의 조합은 CODEC(COding and DECoding)이라고도 한다.
무손실 비디오 코딩의 경우, 원본 비디오 픽처가 재구성될 수 있다. 즉, 재구성된 비디오 픽처가 원본 비디오 픽처와 동일한 품질을 가지고 있다(저장 또는 전송 중에 전송 손실이나 기타 데이터 손실이 없다고 가정한다). 손실 비디오 코딩의 경우, 디코더에서 완전히 재구성될 수 없는 비디오 픽처를 나타내는 데이터의 양을 줄이기 위해, 예를 들어 양자화에 의한 추가 압축이 수행된다. 즉, 재구성된 비디오 픽처의 품질이 원본 비디오 픽처의 품질에 비해 더 낮거나 또는 나쁘다.
H.261 이후의 여러 비디오 코딩 표준은 "손실 하이브리드 비디오 코덱"의 그룹에 속한다(즉, 변환 영역에서 양자화를 적용하기 위해 샘플 영역에서 공간 및 시간 예측과 2D 변환 코딩을 조합한다). 비디오 시퀀스의 각각의 픽처는 일반적으로 중첩하지 않는 블록의 집합으로 분할되고, 이 코딩은 일반적으로 블록 레벨에서 수행된다. 다시 말해, 인코더에서는, 비디오가 일반적으로, 예를 들어 예측 블록을 생성하기 위해 공간(인트라 픽처) 예측과 시간(인터 픽처) 예측을 이용하고, 잔차 블록을 얻기 위해 현재 블록(현재 처리되는/처리될 블록)에서 예측 블록을 차감하며, 전송될 데이터의 양(압축)을 줄이기 위해 변환 영역에서 잔차 블록을 변환하고 잔차 블록을 양자화함으로써 블록(비디오 블록) 레벨에서 처리, 즉 인코딩되지만, 디코더에서는, 인코더와 비교할 때 역처리가 인코딩되거나 또는 압축된 블록에 적용되어 표현을 위해 현재 블록을 재구성한다. 또한, 인코더와 디코더가 동일한 예측(예를 들어, 인트라 예측과 인터 예측) 및/또는 후속 블록을 처리하기 위한, 즉 코딩하기 위한 재구성을 생성할 수 있도록, 인코더가 디코더 처리 루프를 복제할 것이다.
비디오 픽처 처리(동영상 처리라고도 함)와 스틸 픽처 처리(처리라는 용어가 코딩을 포함)는 많은 개념과 기술 또는 툴을 공유하기 때문에, 이하에서 "픽처"라는 용어는 비디오 시퀀스의 비디오 픽처(위에서 설명한 바와 같이) 및/또는 스틸 픽처(still picture)를 지칭하는 데 사용되어 필요하지 않으면 비디오 픽처와 스틸 픽처 사이의 불필요한 반복과 구별을 방지한다. 이 설명이 스틸 픽처(또는 스틸 이미지)만을 지칭하는 경우, "스틸 픽처"이라는 용어가 사용될 것이다.
이하, 도 4 내지 도 11을 참조하여 본 발명의 실시예를 더 상세하게 설명하기 전에, 도 1 내지 도 3에 기초하여 본 발명의 실시예를 구현하기 위한 인코더(100), 디코더(200), 및 코딩 시스템(300)에 대해 설명한다.
도 3은 코딩 시스템(300), 예를 들어 픽처 코딩 시스템(300)의 실시예를 예시하는 개념적인 블록도 또는 개략적인 블록도이다. 여기서, 코딩 시스템(300)은 인코딩된 데이터(330), 예를 들어 인코딩된 픽처(330)를, 예를 들어 인코딩된 데이터(330)를 디코딩하기 위한 목적지 장치(320)에 제공하도록 구성된 소스 장치(310)를 포함한다.
소스 장치(310)는 인코더(100) 또는 인코딩 유닛(100)을 포함하고, 추가적으로, 즉 선택적으로, 픽처 소스(312), 전처리 유닛(314), 예를 들어 픽처 전처리 유닛(314), 및 통신 인터페이스 또는 통신 유닛(318)을 포함할 수 있다.
픽처 소스(312)는 예를 들어 현실 세계의 화상을 캡처하기 위한 어떤 종류의 픽처 캡처 장치, 및/또는 어떤 종류의 픽처 생성 장치, 예를 들어 컴퓨터 애니메이션 픽처를 생성하기 위한 컴퓨터 그래픽 프로세서, 또는 현실 세계 픽처, 컴퓨터 애니메이션 픽처(예를 들어, 스크린 콘텐츠, 가상 현실(virtual reality, VR) 픽처), 및/또는 이들의 어떤 조합(예를 들어, 증강 현실(augmented reality, AR) 픽처)을 획득하기 위한 어떤 종류의 장치일 수 있거나 또는 이들을 포함할 수 있다. 이하에서, 특별히 달리 설명하지 않는 한, 이러한 임의의 종류의 픽처 및 다른 종류의 픽처는 "픽처"라고 할 것이고, 반면에 명시적으로 다르게 지정하지 않는 한, "비디오 픽처", "비디오 이미지", "스틸 이미지”, 및“스틸 픽처”를 포함하는 "픽처"라는 용어에 대한 이전 설명이 여전히 유효하다.
(디지털) 픽처가 강도 값(intensity value)을 갖는 2차원 배열이나 샘플의 행렬이거나 또는 강도 값을 갖는 2차원 배열이나 샘플의 행렬로 간주될 수 있다. 2차원 배열 내의 샘플은 픽셀(픽처 요소의 짧은 형태) 또는 펠(pel)이라고도 한다. 2차원 배열 또는 픽처의 수평 및 수직 방향(또는 축)의 샘플의 개수가 픽처의 크기 및/또는 해상도를 정의한다. 색상을 표현하기 위해, 일반적으로 세 가지 색상 성분이 사용된다. 즉, 픽처는 3개의 샘플 어레이로 표현되거나 또는 3개의 샘플 어레이를 포함할 수 있다. RBG 포맷 또는 색 공간에서, 픽처가 대응하는 적색, 녹색, 및 청색 샘플 배열을 포함한다. 하지만, 비디오 코딩에서, 각각의 픽셀은 일반적으로 휘도/색차 포맷(chrominance format) 또는 색 공간, 예를 들어 YCbCr로 표현되고, YcbCr은 Y로 표시되는 휘도 성분(때로는 대신에 L도 사용됨)와 Cb와 Cr로 표시되는 2개의 색차 성분을 포함한다. 휘도(또는 줄여서 루마(luma)) 성분 Y는 휘도 또는 그레이 레벨 강도(예를 들어, 그레이 스케일 사진에서와 같이)를 나타내지만, 2개의 색차(또는 줄여서 크로마(croma)) 성분(Cb와 Cr)은 색도(chromaticity) 또는 색상 정보 성분을 나타낸다. 따라서, YCbCr 포맷의 픽처는 휘도 샘플 값(Y)의 휘도 샘플 어레이와 색차 값(Cb와 Cr)의 2개의 색차 샘플 어레이를 포함한다. RGB 포맷의 픽처는 YCbCr 포맷으로 변환되거나 또는 그 반대로 변환될 수 있고, 이 과정은 색상 변환 또는 전환으로 알려져 있다. 픽처가 단색이면, 픽처는 휘도 샘플 어레이만을 포함할 수 있다.
픽처 소스(312)는, 예를 들어 픽처를 캡처하기 위한 카메라, 메모리, 예를 들어 이전에 캡처되거나 생성된 픽처를 포함하거나 또는 저장하는 픽처 메모리, 및/또는 픽처를 수신하거나 또는 획득하기 위한 어떤 종류의 (내부 또는 외부) 인터페이스일 수 있다. 카메라는 예를 들어 소스 장치에 통합된 로컬 카메라 또는 통합 카메라일 수 있고, 메모리는 예를 들어 소스 장치에 통합된 로컬 메모리 또는 통합 메모리일 수 있다. 인터페이스는 예를 들어 외부 비디오 소스로부터 픽처를 수신할 외부 인터페이스, 예를 들어 카메라와 같은 외부 사진 캡처 장치, 또는 외부 메모리, 또는 외부 픽처 생성 장치, 예를 들어 외부 컴퓨터 그래픽 프로세서, 컴퓨터, 또는 서버일 수 있다. 인터페이스는 독점적이거나 표준화된 인터페이스 프로토콜에 따라 유선 또는 무선 인터페이스, 광 인터페이스와 같은 임의의 종류의 인터페이스일 수 있다. 픽처 데이터(312)를 획득하기 위한 인터페이스는 통신 인터페이스(318)와 동일한 인터페이스이거나 또는 통신 인터페이스(318)의 일부일 수 있다.
전처리 유닛(314) 및 전처리 유닛(314)에 의해 수행되는 처리와는 달리, 픽처 또는 픽처 데이터(313)는 원시 픽처(raw picture) 또는 원시 픽처 데이터(313)라고도 할 수 있다.
전처리 유닛(314)은 (원시) 픽처 데이터(313)를 수신하고 픽처 데이터(313)에 대해 전처리를 수행하여 전처리된 픽처(315) 또는 전처리된 픽처 데이터(315)를 획득하도록 구성된다. 전처리 유닛(314)에 의해 수행되는 전처리는, 예를 들어 트리밍(trimming), 또는 색상 포맷 변환(예를 들어, RGB에서 YCbCr로), 또는 컬러 보정, 또는 노이즈 제거(de-noising)를 포함할 수 있다.
인코더(100)는 전처리된 화상 데이터(315)를 수신하고 인코딩된 화상 데이터(171)를 제공하도록 구성된다(더 자세한 사항은 예를 들어 도 1에 기초하여 설명될 것이다).
소스 장치(310)의 통신 인터페이스318)는 인코딩된 픽처 데이터(171)를 수신하고, 인코딩된 픽처 데이터(171)를 저장 또는 직접 재구성을 위해 다른 장치, 예를 들어 목적지 장치(320) 또는 어떤 다른 장치)에 직접 전송하거나, 또는 인코딩된 데이터(330)를 저장하기 전에 및/또는 인코딩된 데이터(330)를 다른 장치, 예를 들어 디코딩 또는 저장을 위해 목적지 장치(320) 또는 어떤 다른 장치에 각각 전송하기 전에, 인코딩된 픽처 데이터(171)를 처리하도록 구성될 수 있다.
목적지 장치(320)는 디코더(200) 또는 디코딩 유닛(200)을 포함하고, 추가적으로, 즉 선택적으로, 통신 인터페이스 또는 통신 유닛(322), 후처리 유닛(326), 및 표시 장치(328)를 포함할 수 있다.
목적지 장치(320)의 통신 인터페이스(322)는, 예를 들어, 소스 장치(310)로부터 직접 또는 어떤 다른 소스, 예를 들어 메모리, 예를 들어 인코딩된 픽처 데이터 메모리로부터 직접 수신하도록 구성된다.
통신 인터페이스(318)와 통신 인터페이스(322)는 소스 장치(310)와 목적지 장치(320) 사이의 직접 통신 링크, 예를 들어 직접 유선 또는 무선 연결, 또는 어떤 종류의 네트워크, 예를 들어 유선이나 무선 네트워크 또는 이들의 임의의 조합, 또는 어떤 종류의 사설 및 공용 네트워크, 또는 이들의 어떤 종류의 조합을 통해, 인코딩된 픽처 데이터(171) 또는 인코딩된 데이터(330)를 각각 송수신하도록 구성될 수 있다.
통신 인터페이스(318)는, 예를 들어 인코딩된 픽처 데이터(171)를 통신 링크 또는 통신 네트워크를 통한 전송을 위해 적절한 포맷, 예를 들어 패킷으로 패키징하도록 구성될 수 있고, 데이터 손실 보호와 데이터 손실 복구를 더 포함할 수 있다.
통신 인터페이스(318)의 대응물을 형성하는 통신 인터페이스(322)는, 예를 들어 인코딩된 픽처 데이터(171)를 획득하기 위해 인코딩된 데이터(330)를 디패키징하도록 구성될 수 있고, 예를 들어 에러 은닉(error concealment)을 포함하는 데이터 손실 보호와 데이터 손실 복구를 수행하도록 더 구성될 수 있다.
통신 인터페이스(318)와 통신 인터페이스(322)는 모두, 소스 장치(310)에서 목적지 장치(320)를 가리키는 화살표로 표시된 바와 같이 인코딩된 픽처 데이터(330)를 위해 단방향 통신 인터페이스 또는 양방향 통신 인터페이스로서 구성될 수 있고, 예를 들어 메시지를 송수신함으로써, 예를 들어 연결을 셋업하여 픽처 데이터를 포함하는 유실되거나 또는 지연된 데이터를 수신확인(acknowledge)하거나 및/또는 재전송하고, 통신 링크 및/또는 데이터 전송, 예를 들어 인코딩된 픽처 데이터 전송과 관련된 어떤 다른 정보를 교환하도록 구성될 수 있다.
디코더(200)는 인코딩된 픽처 데이터(171)를 수신하고 디코딩된 픽처 데이터(231) 또는 디코딩된 픽처(231)를 제공하도록 구성된다(더 자세한 사항은 예를 들어 도 2에 기초하여 설명될 것이다).
목적지 장치(320)의 후처리기(326)는 디코딩된 픽처 데이터(231), 예를 들어 디코딩된 픽처(231)를 후처리하여 후처리된 픽처 데이터(327), 예를 들어 후처리된 픽처(327)를 획득하도록 구성된다. 후처리 유닛(326)에 의해 수행되는 후처리는, 예를 들어 표시 장치(328)에 의한 표시를 위해 디코딩된 픽처 데이터(231)를 준비하기 위한, 예를 들어 색상 포맷 변환(예를 들어, YCbCr에서 RGB로), 또는 컬러 보정, 트리밍, 또는 재샘플링, 또는 어떤 다른 처리를 포함할 수 있다.
목적지 장치(320)의 표시 장치(328)는 픽처에 대한 후처리된 픽처 데이터(327)를 수신하여 예를 들어 사용자 또는 시청자에게 표시하도록 구성된다. 표시 장치(328)는 재구성된 픽처를 표현하기 위한 어떤 종류의 디스플레이, 예를 들어 통합 디스플레이 또는 외부 디스플레이 또는 모니터일 수 있다. 디스플레이는 예를 들어 음극선관(cathode ray tube, CRT), 액정 디스플레이(liquid crystal display, LCD), 플라즈마 디스플레이, 유기 발광 다이오드(organic light emitting diode, OLED) 디스플레이, 어떤 종류의 다른 디스플레이, 비머(beamer), 또는 홀로그램(3D)을 포함할 수 있다.
도 3은 소스 장치(310)와 목적지 장치(320)를 별도의 장치로서 도시하지만, 장치의 실시예는 소스 장치(310)와 목적지 장치(320) 또는 소스 장치(310)와 목적지 장치(320)의 기능, 소스 장치(310) 또는 대응하는 기능, 및 목적지 장치(320) 또는 대응하는 기능을 포함할 수 있다. 이러한 실시예에서, 소스 장치(310) 또는 대응하는 기능 그리고 목적지 장치(320) 또는 대응하는 기능은 동일한 하드웨어 및/또는 소프트웨어를 이용하여 구현되거나 또는 별도의 하드웨어 및/또는 소프트웨어 또는 이들의 어떤 조합에 의해 구현될 수 있다.
이 설명에 기초하여 당업자에게 명백한 바와 같이, 도 3 도시된 바와 같이 소스 장치(310) 및/또는 목적지 장치(320)에 서로 다른 유닛들 또는 기능들이 존재하는 것과 (정확한) 기능의 분할은 실제 장치와 적용에 따라 달라질 수 있다.
따라서, 도 3에 도시된 소스 장치(310)와 목적지 대상 장치(320)는 본 발명의 예시적인 실시예일 뿐이며, 본 발명의 실시예는 도 3에 도시된 실시예에 제한되지 않는다.
소스 장치(310)와 목적지 장치(320)는 어떤 종류의 핸드헬드(handheld) 또는 고정형 장치, 예를 들어 노트북이나 랩톱 컴퓨터, 휴대폰, 스마트폰, 태블릿이나 태블릿 컴퓨터, 카메라, 데스크톱 컴퓨터, 셋톱 박스, 텔레비전, 표시 장치, 디지털 미디어 플레이어, 비디오 게이밍 콘솔, 비디오 스트리밍 장치, 또는 브로드캐스트 수신기 장치 등을 포함하는 광범위한 장치를 포함할 수 있고, 어떤 운영 체제도 사용하지 않거나 또는 어떤 종류의 운영체제도 사용할 수 있다.
(인코더 & 인코딩 방법)
도 1은 인코더(100), 예를 들어 픽처 인코더(100)의 일 실시예의 개략적/개념적 블록도이고, 인코더(100)는 입력(102), 잔차 계산 유닛(residual calculation unit, 104), 변환 유닛(106), 양자화 유닛(108), 역양자화 유닛(110), 및 역변환 유닛(112), 재구성 유닛(114), 버퍼(118), 루프 필터(120), 디코딩된 픽처 버퍼(DPB, 130), (인터 추정 유닛(142), 인터 예측 유닛(144), 인트라 추정 유닛(152), 및 인트라 예측 유닛(154))을 포함하는) 예측 유닛(160), 모드 선택 유닛(162), 엔트로피 인코딩 유닛(170), 및 출력(172)을 포함한다. 도 1에 도시된 비디오 인코더(100)는 하이브리드 비디오 코덱에 따른 하이브리드 비디오 인코더 또는 비디오 인코더라고도 할 수 있다.
예를 들어, 잔차 계산 유닛(104), 변환 유닛(106), 양자화 유닛(108), 및 엔트로피 인코딩 유닛(170)은 인코더(100)의 순방향 신호 경로를 형성하지만, 예를 들어 역양자화 유닛(110), 역변환 유닛(112), 재구성 유닛(114), 버퍼(118), 루프 필터(120), 디코딩된 픽처 버퍼(DPB, 130), 인터 예측 유닛(144), 및 인트라 예측 유닛(154)은 인코더의 역방향 신호 경로를 포함한다. 여기서, 인코더의 역방향 신호 경로는 디코더(도 2의 디코더(200)을 참조)의 신호 경로에 대응한다.
인코더(100)는, 예를 들어 입력(102)에 의해, 픽처(101) 또는 픽처(101)의 픽처 블록(103), 예를 들어 비디오 또는 비디오 시퀀스를 형성하는 픽처의 시퀀스의 픽처를 수신하도록 구성된다. 픽처 블록(103)은 현재 픽처 블록 또는 코딩될 픽처 블록이라고도 할 수 있고, (특히, 비디오 코딩에서 현재 픽처를 다른 픽처, 예를 들어 동일한 비디오 시퀀스, 즉 현재 픽처도 포함하는 비디오 시퀀스의 이전에 인코딩되거나 및/또는 디코딩된 픽처와 구별하기 위해) 픽처(101)는 현재 픽처 또는 코딩될 픽처라고도 할 수 있다.
(잔차 계산)
잔차 계산 유닛(104)은 픽처 블록(103)과 예측 블록(165)에 기초하여 예를 들어 샘플별로(픽셀별로) 픽처 블록(103)의 샘플 값에서 예측 블록(165)의 샘플 값을 차감함으로써, 잔차 블록(105)을 계산하여 샘플 영역에서 잔차 블록(105)을 획득하도록 구성된다(예측 블록(165)에 관한 추가 세부사항은 나중에 제공된다).
(변환)
변환 유닛(106)은 잔차의 샘플 값에 대해 변환, 예를 들어 공간 주파수 변환 또는 선형 공간 (주파수) 변환, 예를 들어 이산 코사인 변환(discrete cosine transform, DCT) 또는 이산 사인 변환(discrete sine transform, DST)을 적용하도록 구성된다. 변환 유닛(106)은 변환을 적용하여 변환 영역에서 변환된 계수(107)를 획득하도록 구성된다. 변환된 계수(107)는 변환된 잔차 계수라고도 할 수 있고, 변환 영역에서 잔차 블록(105)을 나타낼 수 있다.
변환 유닛(106)은 HEVC/H.265에 대해 지정된 코어 변환과 같은 DCT/DST의 정수 근사치를 적용하도록 구성될 수 있다. 직교 DCT 변환과 비교할 때, 이러한 정수 근사치는 일반적으로 특정한 요인에 의해 스케일링된다. 순변환과 역변환에 의해 처리되는 잔차 블록의 표준을 보존하기 위해, 추가 스케일링 팩터가 변환 과정의 일부로서 적용된다. 스케일링 팩터는 일반적으로 시프트 연산을 위한 2의 거듭제곱인 스케일링 팩터, 변환된 계수의 비트 심도(bit depth), 정확도와 구현 비용 간의 트레이드오프 등 특정한 제약 조건에 따라 선택된다. 특정 스케일링 팩터는 예를 들어 역변환에 대해, 예를 들어 디코더(200)에서 역변환 유닛(212)에 의해 (그리고 예를 들어 인코더에서 역변환 유닛(112)에 의해 대응하는 역변환)에 대해 지정되고, 순방향 변환에 대한 대응하는 스케일링 팩터, 예를 들어 인코더(100)에서 변환 유닛(106)에 의한 스케일링 팩터가 그에 따라 지정될 수 있다.
(양자화)
양자화 유닛(108)은 변환된 계수(107)를 양자화함으로써, 예를 들어 스칼라 양자화 또는 벡터 양자화를 적용함으로써 양자화된 계수(109)를 획득하도록 구성된다. 양자화된 계수(109)는 양자화된 잔차 계수(109)라고도 할 수 있다. 예를 들어, 스칼라 양자화의 경우, 더 미세하거나 거친 양자화를 달성하기 위해 다른 스케일링이 적용될 수 있다. 더 작은 양자화 스텝 크기가 더 미세한 양자화에 대응하고, 더 큰 양자화 스텝 크기가 더 거친 양자화에 대응한다. 적용 가능한 양자화 스텝 크기는 양자화 파라미터(quantization parameter, QP)로 표시될 수 있다. 양자화 파라미터는 예를 들어 적용 가능한 양자화 스텝 크기의 미리 정의된 집합에 대한 인덱스일 수 있다. 예를 들어, 작은 양자화 파라미터는 미세한 양자화(작은 양자화 스텝 크기)에 대응할 수 있고, 큰 양자화 파라미터는 거친 양자화(큰 양자화 스텝 크기)에 대응할 수 있거나 또는 그 반대일 수 있다. 양자화는 양자화 스텝 크기 및 대응하는 역양자화, 예를 들어 역양자화(110)에 의한 나눗셈을 포함할 수 있고, 양자화 스텝 크기에 의한 곱셈을 포함할 수 있다. HEVC에 따른 실시예는 양자화 파라미터를 이용하여 양자화 스텝 크기를 결정하도록 구성될 수 있다. 일반적으로, 양자화 스텝 크기는 나눗셈을 포함하는 방정식의 고정 소수점 근사화를 이용하여 양자화 파라미터에 기초하여 계산될 수 있다. 양자화 및 역양자화에 추가 스케일링 팩터가 도입되어 잔차 블록의 표준을 복구할 수 있으며, 잔차 블록은 양자화 스텝 크기와 양자화 파라미터에 대한 방정식의 고정 소수점 근사화에 사용되는 스케일링으로 인해 변경될 수 있다. 하나의 예시적인 구현에서, 역변환과 역양자화의 스케일링이 조합될 수 있다. 대안적으로, 맞춤형 양자화 테이블이 사용되어 인코더에서 디코더로, 예를 들어 비트스트림으로 시그널링될 수 있다. 양자화는 손실 연산이고, 양자화 스텝 크기가 증가함에 따라 손실이 증가한다.
디코더(200)가 대응하는 역양자화를 수신하여 적용할 수 있도록, 인코더(100)(또는 양자화 유닛(108) 각각)의 실시예는, 예를 들어 대응하는 양자화 파라미터를 통해 양자화 방식과 양자화 스텝 크기를 출력하도록 구성될 수 있다. 인코더(100)(또는 양자화 유닛(108))의 실시예는 양자화 방식과 양자화 스텝 크기를 출력하도록, 예를 들어 엔트로피 인코딩 유닛(170)이나 어떤 다른 엔트로피 코딩 유닛을 통해 직접 인코딩되거나 또는 엔트로피 인코딩되도록 구성될 수 있다.
역양자화 유닛(110)은, 양자화 유닛(108)과 동일한 양자화 스텝 크기에 기초하여 그리고 양자화 유닛(108)과 동일한 양자화 스텝 크기를 이용하여 양자화 유닛(108)에 의해 적용된 양자화 방식의 역을 적용함으로써, 양자화된 계수에 대해 양자화 유닛(108)의 역양자화를 적용하여 역양자화된 계수(111)를 획득하도록 구성된다. 역양자화된 계수(111)는 역양자화된 잔차 계수(111)라고도 할 수 있으며, 일반적으로 양자화에 의한 손실 때문에 변환된 계수와 동일하지는 않지만 변환된 계수(108)에 대응한다.
역변환 유닛(112)은 변환 유닛(106)에 의해 적용된 변환의 역변환, 예를 들어 역 이산 코사인 변환(discrete cosine transform, DCT) 또는 역 이산 사인 변환(discrete sine transform, DST)을 적용함으로써 샘플 영역에서 역변환된 블록(113)을 획득하도록 구성된다. 역변환된 블록(113)은 역변환되어 역양자화된 블록(13) 또는 역변환된 잔차 블록(113)이라고도 할 수 있다.
재구성 유닛(114)은 역변환된 블록(113)과 예측 블록(165)을 결합함으로써, 예를 들어 디코딩된 잔차 블록(113)의 샘플 값과 예측 블록(165)의 샘플 값을 샘플 방식으로 더함으로써 샘플 영역에서 재구성된 블록(115)을 획득하도록 구성된다.
버퍼 유닛(116)(또는 줄여서 "버퍼"(116)), 예를 들어 라인 버퍼(116)는, 예를 들어 인트라 추정 및/또는 인트라 예측을 위해, 재구성된 블록과 각각의 샘플 값을 버퍼링하거나 또는 저장하도록 구성된다. 추가 실시예에서, 인코더는 어떤 종류의 추정 및/또는 예측을 위해 유닛(116)에 저장되는, 필터링되지 않은 재구성된 블록 및/또는 각각의 샘플 값을 버퍼링하도록 구성될 수 있다.
루프 필터 유닛(120)(또는 줄여서 "루프 필터(120)")는, 예를 들어 디블로킹 샘플-적응형 오프셋(sample-adaptive offset, SAO) 필터 또는 다른 필터, 예를 들어 샤프닝 필터(sharpening filter) 또는 평활화 필터(smoothing filter) 또는 협력 필터(collaborative filter)를 적용함으로써, 재구성된 블록(115)을 필터링하여 필터링된 블록(121)을 획득하도록 구성된다. 필터링된 블록(121)은 필터링되어 재구성된 블록(121)이라고도 할 수 있다.
루프 필터 유닛(120)의 실시예는 실제 필터 유닛과 필터 분석 유닛(도 1에 도시되지 않음)을 포함할 수 있으며, 필터 분석 유닛은 실제 필터에 대한 루프 필터 파라미터를 결정하도록 구성된다. 필터 분석 유닛은 미리 결정된 고정형 필터 파라미터를 실제 루프 필터에 적용하도록 구성되거나, 또는 미리 결정된 필터 파라미터의 집합으로부터 필터 파라미터를 적응적으로 선택하거나, 또는 실제 루프 필터에 대한 필터 파라미터를 적응적으로 계산하도록 구성될 수 있다.
루프 필터 유닛(120)의 실시예가 (도 1에 도시되지 않은) 하나 또는 복수의 필터(루프 필터 컴포넌트/서브필터) 예를 들어, 직렬 또는 병렬로 연결된 다른 종류 또는 유형의 필터 중 하나 이상 또는 이들의 어떤 조합을 포함할 수 있다. 여기서, 필터 각각은, 예를 들어 이전 단락에서 설명한 바와 같이, 각각의 루프 필터 파라미터를 결정하기 위해 복수의 필터 중 다른 필터와 함께 개별적으로 또는 공동으로 필터 분석 유닛을 포함할 수 있다,.
예를 들어, 디코더(200)가 디코딩을 위해 동일한 루프 필터 파라미터를 수신하고 적용할 수 있도록, 인코더(100)(루프 필터 유닛(120) 각각)의 실시예는, 예를 들어 엔트로피 인코딩 유닛(170) 또는 어떤 다른 엔트로피 코딩 유닛을 통해 직접 인코딩되거나 또는 엔트로피 인코딩된 루프 필터 파라미터를 출력하도록 구성될 수 있다.
디코딩된 픽처 버퍼(DPB, 130)는 필터링된 블록(121)을 수신하고 저장하도록 구성될 수 있다. 디코딩된 픽처 버퍼(130)는 추가적으로, 이전에 필터링된 다른 블록, 예를 들어 이전에 재구성되고 필터링된 블록(121)의 동일한 현재 픽처 또는 서로 다른 픽처, 예를 들어 이전에 재구성된 픽처를 저장하도록 구성될 수 있고, 예를 들어 인터 추정 및/또는 인터 예측을 위해 이전에 재구성된, 즉 디코딩된 완전한 픽처(와 대응하는 참조 블럭과 샘플) 및/또는 부분적으로 재구성된 현재 픽처 (와 대응하는 참조 블럭과 샘플)를 제공할 수 있다.
본 발명의 추가 실시예는 또한 어떤 종류의 추정이나 예측, 예를 들어 인트라 및 인터 추정과 예측을 위해, 디코딩된 픽처 버퍼(130)의 이전에 필터링된 블록 및 대응하는 필터링 샘플 값을 사용하도록 구성될 수 있다.
(움직임 추정 및 예측)
블록 예측 유닛(160)이라고도 하는 예측 유닛(160)은 픽처 블록(103)(현재 픽처(101)의 현재 픽처 블록(103)) 및 디코딩되거나 적어도 재구성된 픽처 데이터, 예를 들어 버퍼(116)로부터 동일한(현재) 픽처의 참조 샘플 및/또는 디코딩된 픽처 버퍼(130)로부터 하나 또는 복수의 이전에 디코딩된 픽처로부터의 디코딩된 픽처 데이터(231)를 수신하거나 또는 획득하고, 예측을 위해 이러한 데이터를 처리하도록, 즉 예측 블록(165)(인터 예측된 블록(145) 또는 인트라 예측된 블록(155)일 수 있음)을 제공하도록 구성된다.
모드 선택 유닛(162)은 예측 모드(예를 들어, 인트라 또는 인터 예측 모드) 및/또는 대응하는 예측 블록(145)이나 잔차 블록(105)의 계산과 재구성된 블록(115)의 재구성을 위한 예측 블록(165)으로 사용될 예측 블록(155)을 선택하도록 구성될 수 있다.
모드 선택 유닛(162)의 실시예는 (예를 들어, 예측 유닛(160)에 의해 지원되는 것들로부터) 최상의 매칭을 제공하거나 또는 다시 말해 최소 잔차(최소 잔차는 전송이나 저장을 위한 더 나은 압축을 의미함), 또는 최소 시그널링 오버헤드(최소 시그널링 오버헤드는 전송이나 저장을 위한 더 나은 압축을 의미함)를 제공하는 예측 모드를 선택하거나, 또는 이들을 모두 고려하거나 균형을 유지하도록 구성될 수 있다. 모드 선택 유닛(162)은 레이트 왜곡 최적화(rate distortion optimization, RDO)에 기초하여 예측 모드를 결정하도록, 즉 최소 레이트 왜곡 최적화를 제공하거나 또는 연관된 레이트 왜곡이 예측 모드 선택 기준을 만족하는 예측 모드를 선택하도록 구성될 수 있다.
이하, 예시적인 인코더(100)에 의해 수행되는 예측 처리(예를 들어, 예측 유닛(160))와 (예를 들어, 모드 선택 유닛(162)에 의한) 모드 선택에 대해 더 상세하게 설명할 것이다.
전술한 바와 같이, 인코더(100)는 (미리 결정된) 예측 모드의 집합으로부터 최상 예측 모드나 최적 예측 모드를 결정하거나 또는 선택하도록 구성된다. 예측 모드의 집합은 예를 들어, 인트라 예측 모드 및/또는 인터 예측 모드를 포함할 수 있다.
인트라 예측 모드의 집합은, 예를 들어 H.264에 정의된 바와 같이, 예를 들어 32개의 서로 다른 인트라 예측 모드, 예를 들어 DC(또는 평균) 모드와 평면 모드와 같은 비지향성 모드 또는 지향성 모드를 포함할 수 있거나, 또는 H.265에 정의된 바와 같이, 65개의 서로 다른 인트라 예측 모드, 예를 들어 DC(또는 평균) 모드와 평면 모드와 같은 비지향성 모드 또는 지향성 모드를 포함할 수 있다.
인터 예측 모드의 집합 또는 가능한 인터 예측 모드는, 이용 가능한 참조 픽처(즉, 예를 들어 DBP(230)에 저장된, 이전에 적어도 부분적으로 디코딩된 픽처)와 기타 인터 예측 파라미터, 예를 들어 전체 참조 픽처이든 또는 단지 일부 참조 픽처이든, 예를 들어 현재 블록의 영역 주변의 검색 창 영역이 최상의 매칭 참조 블록을 검색하는 데 사용되는지 여부, 및/또는 예를 들어 픽셀 보간, 예를 들어 하프/세미-펠(half/semi-pel) 및/또는 쿼터-펠(quarter-pel) 보간이 적용되는지 여부에 따라 달라진다.
위의 예측 모드 외에, 스킵 모드(skip mode) 및/또는 직접 모드가 적용될 수 있다.
예측 유닛(160)은 추가적으로, 예를 들어 쿼드-트리-분할(quad-tree-partitioning, QT), 또는 이진 분할(binary partitioning, BT), 또는 삼중 트리 분할(triple-tree-partitioning, TT), 또는 이들의 어떤 조합을 반복적으로 이용하여 블록(103)을 더 작은 블록 파티션 또는 서브블록으로 분할하도록, 예를 들어 블록 파티션 또는 서브블록 각각에 대한 예측을 수행하도록 구성될 수 있다. 여기서, 모드 선택은 분할된 블록(103)의 트리 구조의 선택 및 블록 파티션이나 서브블록 각각에 적용된 예측 모드를 포함한다.
인터 픽처 추정 유닛(142)이라고도 하는 인터 추정 유닛(142)은, 인터 추정(또는 "인터 픽처 추정")을 위해, 픽처 블록(103)(현재 픽처(101)의 현재 픽처 블록(103)) 및 디코딩된 픽처(231), 또는 이전에 재구성된 적어도 하나의 또는 복수의 블록, 예를 들어 하나 또는 복수의 이전에 디코딩된 다른 픽처(231)의 재구성된 블록을 수신하거나 또는 획득하도록 구성된다. 예를 들어, 비디오 시퀀스는 현재 픽처와 이전에 디코딩된 픽처(231)를 포함할 수 있거나, 또는 다시 말해, 현재 픽처와 이전에 디코딩된 픽처(231)는 비디오 시퀀스를 형성하는 픽처의 시퀀스의 일부이거나 또는 비디오 시퀀스를 형성하는 픽처의 시퀀스를 형성할 수 있다.
인코더(100)는 예를 들어, 복수의 다른 픽처 중 동일하거나 또는 상이한 픽처의 복수의 참조 블럭으로부터 참조 블록을 선택하고, 참조 블럭의 위치(x, y 좌표)와 현재 블록의 위치 사이의 참조 픽처(또는 참조 픽처 인덱스) 및/또는 오프셋(spatial offset)을 인터 추정 파라미터(143)로서 인터 예측 유닛(144)에 제공하도록 구성된다. 이 오프셋은 움직임 벡터(motion vector, MV)라고도 한다. 인터 추정은 움직임 추정(motion estimation, ME)이라고도 하고, 인터 예측은 움직임 예측(motion prediction, MP)이라고도 한다.
인터 예측 유닛(144)은, 인터 예측 블록(145)을 얻기 위해, 인터 추정 파라미터(143)를 획득하고, 예를 들어 수신하고, 인터 추정 파라미터(143)에 기초하여 또는 인터 추정 파라미터(143)를 이용하여 인터 예측을 수행하도록 구성된다.
도 1이 인터 코딩, 즉 인터 추정(142)과 인터 예측(152)을 위한 2개의 별도의 유닛(또는 스텝)을 도시하고 있지만, 예를 들어 현재 최상 인터 예측 모드와 각각의 인터 예측 블록을 저장하면서 가능한 인터 예측 모드의 가능한 또는 미리 결정된 모든 부분집합을 반복하여 테스트함으로써, 그리고 인터 예측(144)을 다시 수행하지 않고 현재 최상 인터 예측 모드와 각각의 인터 예측 블록을 (최종) 인터 추정 파라미터(143)와 인터 예측 블록(145)으로 이용함으로써, 두 기능이 모두 하나로서 수행될 수 있다(인터 추정은 일반적으로 인터 예측 블록을 계산하는 것, 즉 인터 예측(154) 또는 "일종의" 인터 예측(152)을 포함한다).
인트라 추정 유닛(152)은 픽처 블록(103)(현재 픽처 블록)과 인트라 추정을 위한 동일한 픽처의 이전에 재구성된 하나 또는 복수의 블록, 예를 들어 재구성된 이웃 블록을 획득하도록, 예를 들어 수신하도록 구성된다. 인코더(100)는 예를 들어, 복수의 인트라 예측 모드로부터 인트라 예측 모드를 선택하고, 이를 인트라 예측 파라미터(153)로서 인트라 예측 유닛(154)에 제공하도록 구성될 수 있다.
인코더(100)의 실시예는 최적화 기준, 예를 들어 최소 잔차(예를 들어, 현재 픽처 블록(103)과 가장 유사한 예측 블록(155)을 제공하는 인트라 예측 모드) 또는 최소 레이트 왜곡에 기초하여 인트라 예측 모드를 선택하도록 구성될 수 있다.
인트라 예측 유닛(154)은 인트라 예측 파라미터(153), 예를 들어 선택된 인트라 예측 모드(153)에 기초하여, 인트라 예측 블록(155)을 결정하도록 구성된다.
도 1은 인트라 코딩, 즉 인트라 추정(152)과 인트라 예측(154)을 위한 2개의 별도의 유닛(또는 단계)를 도시하고 있지만, 예를 들어 현재 최상 인트라 예측 모드와 각각의 인트라 예측 블록을 저장하면서 가능한 인트라 예측 모드의 가능한 또는 미리 결정된 모든 부분집합을 반복하여 테스트함으로써, 그리고 인트라 예측(154)을 다시 수행하지 않고 현재 최상 인트라 예측 모드와 각각의 인트라 예측 블록을 (최종) 인트라 예측 파라미터(153)와 인트라 예측 블록(155)을 이용함으로써, 두 기능이 모두 하나로서 수행될 수 있다(인트라 추정은 일반적으로 인트라 예측 블록, 인트라 예측(154) 또는 일종의 인트라 예측(154)을 계산하는 것을 포함한다.
본 발명의 실시예에 따른 장치(500)(도 5)와 방법(700)(도 7)과 관련하여 아래에서 더 설명하는 바와 같이, 본 발명은 인코더(100)의 이 위치에 적용될 수 있다. 즉, 장치(500)는 인코더(100), 구체적으로 인트라 예측 유닛(154)일 수 있거나 또는 인트라 예측 유닛(154)의 일부일 수 있다.
엔트로피 인코딩 유닛(170)은 양자화된 잔차 계수(109), 인터 추정 파라미터(143), 인트라 예측 파라미터(153), 및/또는 루프 필터 파라미터에 대해 엔트로피 인코딩 알고리즘 또는 방식(예를 들어, 가변 길이 코딩(variable length coding, VLC) 방식, 콘텍스트 적응형 VLC 방식(context adaptive VLC scheme, CALVC), 산술 코딩 방식, 콘텍스트 적응형 이진 산술 코딩(context adaptive binary arithmetic coding)을 개별적으로 또는 공동으로 적용함으로써(또는 전혀 적용하지 않음으로써), 출력(172)에 의해 예를 들어 인코딩된 비트스트림(171)의 형태로 출력될 수 있는 인코딩된 픽처 데이터(171)를 획득할 수 있다.
도 2는 예를 들어 인코더(100)에 의해 인코딩되는, 인코딩된 픽처 데이터(171)(예를 들어, 인코딩된 비트스트림)을 수신하여 디코딩된 픽처(231)를 획득하도록 구성된 비디오 디코더(200)를 나타내는 도면이다.
디코더(200)는 입력(202), 엔트로피 디코딩 유닛(204), 역양자화 유닛(210), 역변환 유닛(212), 재구성 유닛(214), 버퍼(216), 루프 필터(220), 디코딩된 픽처 버퍼(230), (인터 예측 유닛(244)과 인트라 예측 유닛(254)을 포함하는) 예측 유닛(260), 모드 선택 유닛(260), 및 출력(232)을 포함한다.
엔트로피 디코딩 유닛(204)은 인코딩된 픽처 데이터(171)에 대해 엔트로피 디코딩을 수행함으로써, 예를 들어 양자화된 계수(209) 및/또는 디코딩된 코딩 파라미터(도 2에 도시되지 않음), 예를 들어 인터 추정 파라미터(143), 인트라 예측 파라미터(153), 및/또는 루프 필터 파라미터 중 (디코딩된) 어느 하나 또는 전부를 획득하도록 구성된다.
디코더(200)의 실시예에서, 역양자화 유닛(210), 역변환 유닛(212), 재구성 유닛(214), 버퍼(216), 루프 필터(220), 디코딩된 픽처 버퍼(230), 예측 유닛(260), 및 모드 선택 유닛(260)은, 인코딩된 픽처 데이터(171)를 디코딩하기 위해 인코더(100)(와 각각의 기능 유닛)의 역처리를 수행하도록 구성된다.
특히, 역양자화 유닛(210)은 기능면에서 역양자화 유닛(110)과 동일할 수 있고, 역변환 유닛(212)은 기능면에서 역변환 유닛(112)과 동일할 수 있으며, 재구성 유닛(214)은 기능면에서 재구성 유닛(114)와 동일할 수 있고, 버퍼(216)는 기능면에서 버퍼(116)와 동일할 수 있으며, 루프 필터(220)은 기능면에서 루프 필터(120)와 동일할 수 있고(실제 루프 필터에 관해, 루프 필터(220)는 일반적으로, 원본 이미지(101) 또는 블록(103)에 기초하여 필터 파라미터를 결정할 필터 분석 유닛을 포함하지 않지만 예를 들어 엔트로피 디코딩 유닛(204)으로부터 인코딩에 사용되는 필터 파라미터를 (명시적으로 또는 묵시적으로) 수신하거나 또는 획득함), 디코딩된 픽처 버퍼(230)는 기능면에서 디코딩된 픽처 버퍼(130)와 동일할 수 있다.
예측 유닛(260)은 인터 예측 유닛(244)과 인트라 예측 유닛(254)을 포함할 수 있다. 여기서, 인터 예측 유닛(144)은 기능면에서 인터 예측 유닛(244)과 동일할 수 있고, 인트라 예측 유닛(154)은 기능면에서 인트라 예측 유닛(254)과 동일할 수 있다. 예측 유닛(260)과 모드 선택 유닛(262)은 일반적으로, (원본 이미지(101)에 관한 어떠한 추가 정보도 없이) 단지 인코딩된 데이터(171)로부터 블록 예측을 수행하거나 및/또는 예측된 블록(265)을 획득하고, 예를 들어 엔트로피 디코딩 유닛(204)로부터 예측 파라미터(143) 또는 예측 파라미터(153) 및/또는 선택된 예측 모드에 관한 정보를 (명시적으로 또는 묵시적으로) 수신하거나 획득하도록 구성된다.
본 발명의 실시예에 따른 장치(500)(도 5를 참조)와 방법(700)(도 7을 참조)과 관련하여 아래에서 더 설명하는 바와 같이, 본 발명은 디코더(200)의 이 위치에 적용될 수 있다. 즉, 장치(500)는 디코더(200), 구체적으로 인트라 예측 유닛(154)일 수 있거나 또는 인트라 예측 유닛(154)의 일부일 수 있다.
디코더(200)는 사용자에게 프리젠테이션하거나 또는 보이기 위해, 예를 들어 출력(232)을 통해 디코딩된 픽처(230)를 출력하도록 구성된다.
도 14와 도 15를 참조하면, 도 4는 본 발명의 실시예에 의해 제거될 수 있는 (a) 불연속의 원인을 더 구체적으로 도시하고 있다. 특히, 이러한 불연속의 원인은, 예측 블록(400)(예를 들어, PU 또는 TU) 내의 수직으로 인접한 2개의 예측 샘플(401)이 예리한 인트라 예측 각도(이는 보간 결함임)로 인해 서로 인접하지 않은 참조 샘플(403)로부터 예측될 수 있다는 것이다. Nf의 길이를 가진 평활화 필터 또는 인트라 보간 필터를 참조 샘플에 적용함으로써 이 결함이 부분적으로 줄어들 수 있지만, 내부 예측 각도가 45°보다 훨씬 작은 경우 고정된 길이가 충분히 크지 않을 수 있다. 이 필터링 과정은 필터링 과정 동안 도 4에 도시된 참조 샘플(403)을 컨벌루션(convoluting)함으로써 불연속 효과를 줄일 수 있다. 그러나, 수직으로 인접한 예측 샘플(401)에 대해 선택된 참조 샘플(403)이 너무 멀리 떨어져 있으면, 불연속이 여전히 발생할 수 있다. 예를 들어 합성된 참조(위쪽 행)에 대해 시각적으로 관찰될 수 있는 이러한 불연속의 예가 (b)에 도시되어 있다.
도 5는 본 발명의 실시예에 따른 장치(500)를 개략적으로 도시하며, 장치(500)는 개선된 방식으로 비디오 이미지의 예측 블록(400)을 인트라 예측하도록 구성된다. 즉, 장치(500)는 이에 따라 도 4에 도시된 불연속의 설명된 원인으로 손해를 입지 않는다. 장치(500)는 각각 도 1 또는 도 2에 도시된 인코더(100) 또는 디코더(200), 구체적으로 인트라 예측 유닛(154)이나 인트라 예측 유닛(254)일 수 있거나 또는 인트라 예측 유닛(154)이나 인트라 예측 유닛(254)의 일부일 수 있다.
장치(500)는 예를 들어 프로세서 또는 다른 종류의 처리 회로에 의해 구현될 수 있는 여러 기능을 수행하도록 구성된다. 구체적으로, 장치(500)는 지향성 인트라 예측 모드(501)의 집합으로부터 지향성 인트라 예측 모드(501a)를 선택하도록 구성되고, 각각의 지향성 인트라 예측 모드(501)는 다른 인트라 예측 각도에 대응한다. 이러한 지향성 인트라 예측 모드(501)는 도 8에 도시된 (그리고 표준에 정의된 바와 같은) 지향성/각도 인트라 예측 모드를 포함할 수 있다. 인트라 예측 각도는 참조 샘플(403)로부터 예측 샘플(401)을 인트라 예측하는 방향에 기초한다. 예를 들어, 이 각도는 인트라 예측 방향과 예측 블록(400)의 상부 모서리(수평 모서리) 사이에서 정의될 수 있다.
장치(500)는 추가적으로, 예측 블록(400)의 주어진 예측 샘플(401)에 대해, 선택된 지향성 인트라 예측 모드(501a)에 기초하여 참조 샘플(403)의 집합으로부터 참조 샘플(403a)을 결정하고, 결정된 참조 샘플(403a)에 필터(402)를 적용하도록 구성된다. 필터(402)는 미리 선택된 소정의 필터 길이를 가진 필터일 수 있다. 예를 들어, 필터 길이는 예측 블록(400)의 가로세로비, 폭, 및/또는 높이에 기초하여 미리 선택될 수 있다. 장치(500)는 예측 블록(400)의 각각의 예측 샘플(401)에 대해 전술한 방식으로 진행하도록 구성될 수 있다. 즉, 각각의 예측 샘플(401)에 대해, 장치(500)는 참조 샘플(403)로부터 참조 샘플(403a)을 결정할 수 있고, 결정된 각각의 참조 샘플(403)에 필터(402)를 적용할 수 있다. 따라서, 장치(500)는 전체 예측 블록(400)을 인트라 예측할 수 있다.
장치(500)에서, 지향성 인트라 예측 모드(501)의 적어도 부분집합(600)(도 6을 더 잘 참조하라) 내에서, 지향성 인트라 예측 모드(501) 사이의 각도 스텝(601)(도 6을 더 잘 참조하라)이 필터(402)의 필터 길이에 따라 정의된다. 부분집합(600)은 "확장된" 지향성 인트라 예측 모드(501), 즉, 예를 들어 도 13에 도시된 바와 같이, 도 8에 도시된 것에 추가되는 지향성 인트라 예측 모드를 포함할 수 있다. 특히 직사각형 예측 블록(400)에 대해, 부분집합(600) 내의 지향성 인트라 예측 모드(501)는 예리한 인트라 예측 각도(45°보다 작은 각도)와 관련된 모드(501)를 포함할 수 있다. 부분집합(600)의 지향성 인트라 예측 모드(501)의 개수가 예측 블록(400)의 가로세로비, 높이, 및/또는 폭에 기초하여 선택될 수 있고, 소정의 예측 블록(400)에 대해 주어진다고 가정한다. 부분집합(600) 내의 각각의 지향성 인트라 예측 모드(501)에는 (다른 모드(501)의 인덱스와 같이) 시그널링될 인덱스가 제공될 수 있다.
도 6은 이 집합 내의 복수의 지향성 인트라 예측 모드(501)를 예시적으로 도시하며, 구체적으로 이 집합에 포함된 부분집합(600) 내의 지향성 인트라 예측 모드를 도시한다. 지향성 인트라 예측 모드(501)의 부분집합(600)은 에 의해 정의되고, 은 부분집합(600) 내의 지향성 인트라 예측 모드(501)의 개수를 나타낸다. 부분집합(600) 내의 모드(501)와 관련된 인트라 예측 각도가 각도 스텝(601)에 의존하는 각도 범위(인접한 지향성 인트라 예측 모드(501)의 각도들 사이)에 걸쳐 있다. 각도 스텝(601)은 참조 샘플 필터(402) 길이에 따라 정의된다. 여기서의 아이디어는 더 작은 필터 길이에 대해 부분집합(600) 내에서 각도 스텝(601), 및 따라서 부분집합(600)이 걸쳐 있는 전체 각도 범위를 줄임으로써 도 4에 도시된 상황을 방지하는 것이다. 부분집합(600) 내의 지향성 인트라 예측 모드(501)와 연관된 각도들 간의 각도 스텝(601)은 부분집합(600)에 없는 (그러나 모드(501)의 집합에 있는) 지향성 인트라 예측 모드(501)와 연관된 각도들 간의 각도 스텝과 크게 다를 수 있으며, 특히 더 크거나 또는 작을 수 있다.
구체적으로, 부분집합(600)의 각도 스텝(601)은 다음과 같이 지정될 수 있다.
여기서, 는 각도 스텝(601)이고, 는 필터(402)(인트라 보간 필터를 의미함)의 길이를 나타낸다. 부분집합(600), 즉 부분집합(600) 내의 모드(501)의 개수는 예를 들어 예측 블록(400)의 가로세로비()에 따라 구체적으로 정의될 수 있다. 또한, 필터(402)의 필터 길이는 예측 블록(400)의 가로세로비에 따라 선택될 수 있거나 또는 예측 블록(400)의 높이 및/또는 폭에 따라 선택될 수 있다. 특히, 부분집합(600) 내의 마지막 지향성 인트라 예측 모드(501)가 에 의해 계산되는 인트라 예측 각도와 연관될 것이며, 오른쪽 상단 모서리로 떨어질 필요가 없다(도 6을 참조).
아래 표는 부분집합(600) 내의 지향성 인트라 예측 모드(501)와 연관된 각도들 간에 적용될 수 있는 예시적인 각도 스텝(601)을 나타낸다. 표에서 볼 수 듯이, 각도 스텝(601)은 2 도 내지 4 도 사이, 특히 필터(402)의 필터 길이에 따라 2 도, 또는 2.5 도, 또는 3 도, 또는 4 도일 수 있다. 필터(402)의 필터 길이는 1개 내지 7개의 인접한 참조 샘플(403), 특히 1개, 또는 3개, 또는 5개, 또는 7개의 인접한 참조 샘플(403)에 걸쳐 있을 수 있다.
필터(402)가 더 많은 탭을 가질수록(즉, 참조 샘플(403)의 관점에서 더 큰 필터 길이), 부분집합(600) 내의 지향성 인트라 예측 모드(501)에 사용되는 각도 스텝(601)이 더 커진다는 것을 알 수 있다. 현재의 구현과 제안의 주요 차이점은, 특히 부분집합(600) 내의 지향성 인트라 예측 모드(501)의 인트라 예측 방향이 반드시 이 집합 내의 다른 모드(501)의 반대 인트라 예측 방향에 대응하는 것은 아니지만 선택된 필터(402), 즉 필터 길이에만 의존한다는 것이다.
도 7은 본 발명의 일 실시예에 따른 방법(700)을 도시한다. 방법(700)은 비디오 이미지의 예측 블록(400)을 인트라 예측하기 위한 것이며, 도 5에 도시된 장치(500)에 의해 수행될 수 있다. 특히, 이 방법(700)은 지향성 인트라 예측 모드를 선택하는 단계(701)를 포함한다. 여기서, 각각의 지향성 인트라 예측 모드(501)가 다른 인트라 예측 각도에 대응한다. 또한, 이 방법(700)은, 예측 블록(400)의 주어진 예측 샘플(401)에 대해, 선택된 지향성 인트라 예측 모드(501a)에 기초하여 참조 샘플(403)의 집합으로부터 참조 샘플(403a)을 결정하고, 결정된 참조 샘플(403a)에 필터(402)를 적용하는 단계(701)를 포함한다. 이 방법(700)에서, 지향성 인트라 예측 모드(501)의 부분집합(600) 내에서, 지향성 인트라 예측 모드(501) 사이의 각도 스텝(601)이 필터(402)의 필터 길이에 따라 정의된다.
이 명세서가 픽처(프레임)에 대한 설명을 제공하지만 인터레이스 픽처 신호의 경우 필드가 영상으로 대체된다는 것을 유의하라.
본 발명의 실시예가 주로 비디오 코딩에 기초하여 설명되었지만, 인코더(100)와 디코더(200)(와 그에 따른 시스템 (300))의 실시예가 또한 스틸 픽처 처리 또는 코딩, 즉 비디오 코딩에서와 같이 이전 픽처나 연속적인 픽처와 무관하게 개별 픽처의 처리 또는 코딩을 위해 구성될 수 있다는 것을 유의해야 한다. 일반적으로, 픽처 처리 코딩이 단일 픽처(101)로 제한되는 경우에는 인터 추정(142), 인터 예측(144, 242)만이 이용 가능하지 않다. 비디오 인코더(100)와 비디오 디코더(200)의 다른 모든 기능(툴 또는 기술이라고도 함)은 아니지만 대부분의 기능, 예를 들어 분할, 변환(스케일링)(106), 양자화(108), 역양자화(110), 역변환(112), 인트라 추정(142), 인트라 예측(154, 254), 및/또는 루프 필터링(120, 220), 엔트로피 코딩(170), 및 엔트로피 디코딩(204)에 동일하게 사용될 수 있다.
당업자는 다양한 도면(방법과 장치)의 "블록"("유닛")이 본 발명의 실시예의 (하드웨어 또는 소프트웨어의 개별 "유닛"이 아니라) 기능을 나타내거나 설명하며, 따라서 방법 실시예뿐만 아니라 장치 실시예의 기능이나 특징(유닛 = 단계)을 동일하게 설명한다는 것을 이해할 것이다.
"유닛"이라는 용어가 인코더/디코더의 실시예의 기능의 예시적인 목적으로만 사용되고 본 개시를 제한하려는 것이 아니다.
본 출원에서 제공된 여러 실시예에서, 개시된 시스템, 장치, 및 방법이 다른 방식으로 구현 될 수 있다고 이해해야 한다. 예를 들어, 설명된 장치 실시예는 단지 예시일 뿐이다. 예를 들어, 유닛 분할은 단순히 논리적 기능 분할이며 실제 구현에서는 다른 분할일 수 있다. 예를 들어, 복수의 유닛 또는 구성 요소가 다른 시스템에 결합되거나 또는 통합될 수 있거나, 또는 일부 기능이 무시되거나 또는 수행되지 않을 수 있다. 또한, 표시되거나 논의된 상호 결합 또는 직접 결합 또는 통신 연결은 일부 인터페이스를 이용하여 구현될 수 있다. 장치들 또는 유닛들 간의 간접 결합 또는 통신 연결은 전자적 형태, 또는 기계적 형태, 또는 다른 형태로 구현될 수 있다.
분리된 부분으로 설명된 유닛들이 물리적으로 분리되거나 또는 분리되지 않을 수 있고, 유닛으로 표시된 부분이 물리적 유닛일 수 있거나 또는 물리적 유닛이 아닐 수 있거나, 또는 하나의 위치에 위치할 수 있거나, 또는 복수의 네트워크 유닛에 분산될 수 있다. 이러한 유닛의 일부 또는 전부가 이러한 실시예의 해결책의 목적을 달성하기 위해 실제 필요에 따라 선택 될 수 있다.
또한, 본 발명의 실시예의 기능 유닛들이 하나의 처리 유닛으로 통합될 수 있거나, 또는 각각의 유닛이 물리적으로 단독으로 존재할 수 있거나, 또는 2개 이상의 유닛이 하나의 유닛으로 통합될 수 있다.
본 발명의 실시예는 본 명세서에 설명된 방법 및/또는 과정 중 어느 것을 수행하도록 구성된 처리 회로를 포함하는 장치, 예를 들어 인코더 및/또는 디코더를 더 포함할 수 있다.
인코더(100) 및/또는 디코더(200)의 실시예는 하드웨어, 또는 펌웨어, 또는 소프트웨어, 또는 이들의 어떤 조합으로 구현될 수 있다. 예를 들어, 인코더/인코딩 또는 디코더/디코딩의 기능은 펌웨어 또는 소프트웨어가 있거나 또는 없는 처리 회로, 예를 들어 프로세서, 마이크로컨트롤러, 디지털 신호 프로세서(digital signal processor, DSP), 필드 프로그래머블 게이트 어레이(field programmable gate array, FPGA), 또는 주문형 반도체(application-specific integrated circuit, ASIC) 등에 의해 수행될 수 있다.
인코더(100)(와 대응하는 인코딩 방법(100)) 및/또는 디코더(200)(와 대응하는 디코딩 방법(200))의 기능은 컴퓨터 판독가능 매체에 저장된 프로그램 명령에 의해 구현될 수 있다. 이 프로그램 명령은 실행될 때 처리 회로, 컴퓨터, 또는 프로세서 등으로 하여금 인코딩 및/또는 디코딩 방법의 단계를 수행하게 한다. 컴퓨터 판독 가능 매체는 블루레이(Blu ray) 디스크, DVD, CD, USB(플래시) 드라이브, 하드 디스크, 네트워크를 통해 이용 가능한 서버 스토리지와 같이 프로그램이 저장되는 비일시적 저장 매체를 포함하는 어떤 매체일 수 있다.
본 발명의 실시예는 컴퓨터 상에서 실행될 때 본 명세서에서 설명된 방법 중 어느 방법을 수행하기 위한 프로그램 코드를 포함하는 컴퓨터 프로그램이거나 또는 컴퓨터 프로그램을 포함할 수 있다.
본 발명의 실시예는, 프로세서에 의해 실행될 때 컴퓨터 시스템으로 하여금 본 명세서에서 설명된 방법 중 어느 방법을 수행하게 하는 프로그램 코드를 포함하는 컴퓨터 판독 가능 매체이거나 또는 컴퓨터 판독 가능 매체를 포함한다.
100 인코더
103 픽처 블록
102 입력(예를 들어, 입력 포트, 입력 인터페이스)
104 잔차 계산[유닛 또는 단계]
105 잔차 블록
106 변환(예를 들어, 추가적으로 스케일링을 포함)[유닛 또는 단계]
107 변환된 계수
108 양자화[유닛 또는 단계]
109 변환된 계수
110 역양자화[유닛 또는 단계]
111 역양자화된 계수
112 역변환(예를 들어, 추가적으로 스케일링을 포함)[유닛 또는 단계]
113 역변환된 블록
114 재구성[유닛 또는 단계]
115 재구성된 블록
116 (라인) 버퍼[유닛 또는 단계]
117 참조 샘플
120 루프 필터[유닛 또는 단계]
121 필터링된 블록
130 디코딩된 픽처 버퍼(DPB)[유닛 또는 단계]
142 인터 추정(또는 인터 픽처 추정)[유닛 또는 단계]
143 인터 추정 파라미터(예를 들어, 참조 픽처/참조 픽처 인덱스, 움직임 벡터/오프셋)
144 인터 예측(또는 인터 픽처 예측)[유닛 또는 단계]
145 인터 예측 블록
152 인트라 추정(또는 인트라 픽처 추정)[유닛 또는 단계]
153 인트라 예측 파라미터(예를 들어, 인트라 예측 모드)
154 인트라 예측(인트라 프레임/픽처 예측)[유닛 또는 단계]
155 인트라 예측 블록
162 모드 선택[유닛 또는 단계]
165 예측 블록(인터 예측 블록(145) 또는 인트라 예측 블록(155))
170 엔트로피 인코딩[유닛 또는 단계]
171 인코딩된 픽처 데이터(예를 들어, 비트스트림)
172 출력(출력 포트, 출력 인터페이스)
231 디코딩된 픽처
(도 2)
200 디코더
171 인코딩된 픽처 데이터(예를 들어, 비트스트림)
202 입력(포트/인터페이스)
204 엔트로피 디코딩
209 양자화된 계수
210 역양자화
211 역양자화된 계수
212 역변환(스케일링)
213 역변환된 블록
214 재구성(유닛)
215 재구성된 블록
216 (라인) 버퍼
217 참조 샘플
220 루프 필터(인루프 필터)
221 필터링된 블록
230 디코딩된 픽처 버퍼(DPB)
231 디코딩된 픽처
232 출력(포트/인터페이스)
244 인터 예측(인터 프레임/픽처 예측)
245 인터 예측 블록
254 인트라 예측(인트라 프레임/픽처 예측)
255 인트라 예측 블록
260 모드 선택
265 예측 블록(인터 예측 블록(245) 또는 인트라 예측 블록(255))
(도 3)
300 코딩 시스템
310 소스 장치
312 픽처 소스
313 (원시) 픽처 데이터
314 전처리기/전처리 유닛
315 전처리된 픽처 데이터
318 통신 유닛/인터페이스
320 목적지 장치
322 통신 유닛/인터페이스
326 후처리기/후처리 유닛
327 후처리된 픽처 데이터
328 표시 장치/유닛
330 전송된/수신된/전달된(인코딩된) 픽처 데이터
(도 4)
400 예측 블록
401 예측 샘플
402 필터
403 참조 샘플
(도 5)
402 필터
403 참조 샘플
403a 결정된 참조 샘플
500 장치
501 방향성 인트라 예측 모드
501a 선택된 방향성 인트라 예측 모드
600 하위 방향성 인트라 예측 모드의 집합
(도 6)
400 예측 블록
501 방향성 인트라 예측 모드
600 방향성 인트라 예측 모드의 부분집합
601 부분집합 내의 인트라 예측 각도들 간의 각도 스텝
(도 7)
700 예측 블록을 인트라 예측하기 위한 방법
701 인트라 예측 모드를 선택하는 단계
702 주어진 예측 샘플에 대한 참조 샘플을 결정하는 단계
703 결정된 참조 샘플에 필터를 적용하는 단계
103 픽처 블록
102 입력(예를 들어, 입력 포트, 입력 인터페이스)
104 잔차 계산[유닛 또는 단계]
105 잔차 블록
106 변환(예를 들어, 추가적으로 스케일링을 포함)[유닛 또는 단계]
107 변환된 계수
108 양자화[유닛 또는 단계]
109 변환된 계수
110 역양자화[유닛 또는 단계]
111 역양자화된 계수
112 역변환(예를 들어, 추가적으로 스케일링을 포함)[유닛 또는 단계]
113 역변환된 블록
114 재구성[유닛 또는 단계]
115 재구성된 블록
116 (라인) 버퍼[유닛 또는 단계]
117 참조 샘플
120 루프 필터[유닛 또는 단계]
121 필터링된 블록
130 디코딩된 픽처 버퍼(DPB)[유닛 또는 단계]
142 인터 추정(또는 인터 픽처 추정)[유닛 또는 단계]
143 인터 추정 파라미터(예를 들어, 참조 픽처/참조 픽처 인덱스, 움직임 벡터/오프셋)
144 인터 예측(또는 인터 픽처 예측)[유닛 또는 단계]
145 인터 예측 블록
152 인트라 추정(또는 인트라 픽처 추정)[유닛 또는 단계]
153 인트라 예측 파라미터(예를 들어, 인트라 예측 모드)
154 인트라 예측(인트라 프레임/픽처 예측)[유닛 또는 단계]
155 인트라 예측 블록
162 모드 선택[유닛 또는 단계]
165 예측 블록(인터 예측 블록(145) 또는 인트라 예측 블록(155))
170 엔트로피 인코딩[유닛 또는 단계]
171 인코딩된 픽처 데이터(예를 들어, 비트스트림)
172 출력(출력 포트, 출력 인터페이스)
231 디코딩된 픽처
(도 2)
200 디코더
171 인코딩된 픽처 데이터(예를 들어, 비트스트림)
202 입력(포트/인터페이스)
204 엔트로피 디코딩
209 양자화된 계수
210 역양자화
211 역양자화된 계수
212 역변환(스케일링)
213 역변환된 블록
214 재구성(유닛)
215 재구성된 블록
216 (라인) 버퍼
217 참조 샘플
220 루프 필터(인루프 필터)
221 필터링된 블록
230 디코딩된 픽처 버퍼(DPB)
231 디코딩된 픽처
232 출력(포트/인터페이스)
244 인터 예측(인터 프레임/픽처 예측)
245 인터 예측 블록
254 인트라 예측(인트라 프레임/픽처 예측)
255 인트라 예측 블록
260 모드 선택
265 예측 블록(인터 예측 블록(245) 또는 인트라 예측 블록(255))
(도 3)
300 코딩 시스템
310 소스 장치
312 픽처 소스
313 (원시) 픽처 데이터
314 전처리기/전처리 유닛
315 전처리된 픽처 데이터
318 통신 유닛/인터페이스
320 목적지 장치
322 통신 유닛/인터페이스
326 후처리기/후처리 유닛
327 후처리된 픽처 데이터
328 표시 장치/유닛
330 전송된/수신된/전달된(인코딩된) 픽처 데이터
(도 4)
400 예측 블록
401 예측 샘플
402 필터
403 참조 샘플
(도 5)
402 필터
403 참조 샘플
403a 결정된 참조 샘플
500 장치
501 방향성 인트라 예측 모드
501a 선택된 방향성 인트라 예측 모드
600 하위 방향성 인트라 예측 모드의 집합
(도 6)
400 예측 블록
501 방향성 인트라 예측 모드
600 방향성 인트라 예측 모드의 부분집합
601 부분집합 내의 인트라 예측 각도들 간의 각도 스텝
(도 7)
700 예측 블록을 인트라 예측하기 위한 방법
701 인트라 예측 모드를 선택하는 단계
702 주어진 예측 샘플에 대한 참조 샘플을 결정하는 단계
703 결정된 참조 샘플에 필터를 적용하는 단계
Claims (18)
- 비디오 이미지의 예측 블록(400)을 인트라 예측(intra-predict)하기 위한 장치(500)로서,
상기 비디오 이미지의 예측 블록(400)을 인트라 예측하기 위한 장치(500)는,
지향성 인트라 예측 모드들(501)의 집합으로부터 지향성 인트라 예측 모드(501a)를 선택하고 - 여기서, 각각의 지향성 인트라 예측 모드(501)는 다른 인트라 예측 각도에 대응하고 있음 -;
상기 예측 블록(400)의 주어진 예측 샘플(401)에 대해, 상기 선택된 지향성 인트라 예측 모드(501a)에 기초하여 참조 샘플(403)의 집합으로부터 참조 샘플(403a)을 결정하며;
상기 결정된 참조 샘플(403a)에 필터(402)를 적용하도록 구성되고,
상기 지향성 인트라 예측 모드들(501)의 부분집합(600) 내에서, 상기 지향성 인트라 예측 모드들(501) 사이의 각도 스텝(601)이 상기 필터(402)의 필터 길이에 따라 정의되며,
상기 각도 스텝(601)은 로 표기되고, 로 정의되며,
여기서, 는 상기 필터(402)의 필터 길이이고, 은 상기 부분집합(600) 내의 지향성 인트라 예측 모드(501)의 개수인, 비디오 이미지의 예측 블록(400)을 인트라 예측하기 위한 장치(500). - 제1항에 있어서,
상기 필터(402)의 필터 길이가 더 크면 상기 각도 스텝(601)이 더 크고, 상기 필터(402)의 필터 길이가 더 작으면 상기 각도 스텝(601)이 더 작은, 비디오 이미지의 예측 블록(400)을 인트라 예측하기 위한 장치(500). - 제1항에 있어서,
상기 각도 스텝(601)은 상기 필터(402)의 필터 길이에 따라 2 도 내지 4 도, 특히 2 도, 또는 2.5 도, 또는 3 도, 또는 4 도인, 비디오 이미지의 예측 블록(400)을 인트라 예측하기 위한 장치(500). - 제1항에 있어서,
상기 필터(402)의 필터 길이는 1개 내지 7개의 인접한 참조 샘플(403), 특히 1개, 또는 3개, 또는 5개, 또는 7개의 인접한 참조 샘플(403)인, 비디오 이미지의 예측 블록(400)을 인트라 예측하기 위한 장치(500). - 제1항에 있어서,
상기 필터(402)의 필터 길이는 상기 예측 블록(400)의 가로세로비(aspect ratio)에 따라 선택되는, 비디오 이미지의 예측 블록(400)을 인트라 예측하기 위한 장치(500). - 제1항에 있어서,
상기 필터(402)의 필터 길이는 상기 예측 블록(400)의 높이 및/또는 폭에 따라 선택되는, 비디오 이미지의 예측 블록(400)을 인트라 예측하기 위한 장치(500). - 제1항에 있어서,
상기 필터(402)는, 상기 결정된 참조 샘플(403a)에 적용될 때, 상기 필터 길이에 따라 상기 결정된 참조 샘플(403a)과 하나 이상의 인접한 참조 샘플(403)에 대해 평활화(smoothing)를 수행하는, 비디오 이미지의 예측 블록(400)을 인트라 예측하기 위한 장치(500). - 제1항에 있어서,
상기 참조 샘플(403)의 집합의 참조 샘플(403)은, 상기 예측 블록(400) 위와 오른쪽 위에 인접하게 상기 비디오 이미지의 행에 배열되거나 및/또는 상기 예측 블록(400) 왼쪽과 왼쪽 아래에 인접하게 상기 비디오 이미지의 열에 배열되는, 비디오 이미지의 예측 블록(400)을 인트라 예측하기 위한 장치(500). - 제1항 내지 제8항 중 어느 한 항에 있어서,
상기 비디오 이미지의 예측 블록(400)을 인트라 예측하기 위한 장치(500)가 상기 비디오 이미지를 인코딩하거나 및/또는 디코딩하도록 구성되거나, 또는
상기 비디오 이미지의 예측 블록(400)을 인트라 예측하기 위한 장치(500)가 비디오 인코더(100) 및/또는 비디오 디코더(200)인, 비디오 이미지의 예측 블록(400)을 인트라 예측하기 위한 장치(500). - 비디오 이미지의 예측 블록(400)을 인트라 예측(intra-predict)하기 위한 방법(700)으로서,
지향성 인트라 예측 모드들(501)의 집합으로부터 지향성 인트라 예측 모드(501a)를 선택하는 단계(701) - 각각의 지향성 인트라 예측 모드(501)는 다른 인트라 예측 각도에 대응하고 있음 -;
상기 예측 블록(400)의 주어진 예측 샘플(401)에 대해, 상기 선택된 지향성 인트라 예측 모드(501)에 기초하여 참조 샘플(403)의 집합으로부터 참조 샘플(403a)을 결정하는 단계; 및
상기 결정된 참조 샘플(403a)에 필터(402)를 적용하는 단계
를 포함하고,
상기 지향성 인트라 예측 모드들(501)의 부분집합(600) 내에서, 상기 지향성 인트라 예측 모드들(501) 사이의 각도 스텝(601)이 상기 필터(402)의 필터 길이에 따라 정의되며,
상기 각도 스텝(601)은 로 표기되고, 로 정의되며,
여기서, 는 상기 필터(402)의 필터 길이이고, 은 상기 부분집합(600) 내의 지향성 인트라 예측 모드(501)의 개수인, 비디오 이미지의 예측 블록(400)을 인트라 예측하기 위한 방법(700). - 제10항에 있어서,
상기 필터(402)의 필터 길이가 더 크면 상기 각도 스텝(601)이 더 크고, 상기 필터(402)의 필터 길이가 더 작으면 상기 각도 스텝(601)이 더 작은, 비디오 이미지의 예측 블록(400)을 인트라 예측하기 위한 방법(700). - 제10항에 있어서,
상기 각도 스텝(601)은 상기 필터(402)의 필터 길이에 따라 2 도 내지 4 도, 특히 2 도, 또는 2.5 도, 또는 3 도, 또는 4 도인, 비디오 이미지의 예측 블록(400)을 인트라 예측하기 위한 방법(700). - 제10항에 있어서,
상기 필터(402)의 필터 길이는 1개 내지 7개의 인접한 참조 샘플(403), 특히 1개, 또는 3개, 또는 5개, 또는 7개의 인접한 참조 샘플(403)인, 비디오 이미지의 예측 블록(400)을 인트라 예측하기 위한 방법(700). - 제10항에 있어서,
상기 필터(402)의 필터 길이는 상기 예측 블록(400)의 가로세로비(aspect ratio)에 따라 선택되거나, 또는 상기 예측 블록(400)의 높이 및/또는 폭에 따라 선택되는, 비디오 이미지의 예측 블록(400)을 인트라 예측하기 위한 방법(700). - 제10항에 있어서,
상기 필터(402)는, 상기 결정된 참조 샘플(403a)에 적용될 때, 상기 필터 길이에 따라 상기 결정된 참조 샘플(403a)과 하나 이상의 인접한 참조 샘플(403)에 대해 평활화(smoothing)를 수행하는, 비디오 이미지의 예측 블록(400)을 인트라 예측하기 위한 방법(700). - 비일시적 저장 매체로서,
제10항 내지 제15항 중 어느 한 항의 비디오 이미지의 예측 블록(400)을 인트라 예측하기 위한 방법(700)에 의해 인코딩된/디코딩된 비트스트림
을 포함하는 비일시적 저장 매체. - 삭제
- 삭제
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/RU2018/000430 WO2020005092A1 (en) | 2018-06-29 | 2018-06-29 | Device and method for intra-prediction of a prediction block of a video image |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20210020137A KR20210020137A (ko) | 2021-02-23 |
KR102519380B1 true KR102519380B1 (ko) | 2023-04-06 |
Family
ID=63244936
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020217001377A KR102519380B1 (ko) | 2018-06-29 | 2018-06-29 | 비디오 이미지의 예측 블록의 인트라 예측을 위한 장치 및 방법 |
Country Status (6)
Country | Link |
---|---|
US (1) | US11206398B2 (ko) |
EP (1) | EP3799691A1 (ko) |
KR (1) | KR102519380B1 (ko) |
CN (1) | CN113243106B (ko) |
BR (1) | BR112020026248A2 (ko) |
WO (1) | WO2020005092A1 (ko) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10284844B1 (en) * | 2018-07-02 | 2019-05-07 | Tencent America LLC | Method and apparatus for video coding |
US11375219B2 (en) * | 2019-09-24 | 2022-06-28 | Tencent America LLC | Coding method and system with improved dynamic internal bit depth |
KR20220116815A (ko) | 2021-02-15 | 2022-08-23 | 주식회사 엘지에너지솔루션 | 스웰링 발생 시 균일한 압력이 가해질 수 있는 구조를 갖는 배터리 모듈, 그리고 이를 포함하는 배터리 팩 및 자동차 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018067714A1 (en) * | 2016-10-04 | 2018-04-12 | Qualcomm Incorporated | Variable number of intra modes for video coding |
WO2018117891A1 (en) | 2016-12-23 | 2018-06-28 | Huawei Technologies Co., Ltd. | An intra-prediction apparatus for removing a directional intra-prediction mode from a set of predetermined directional intra-prediction modes |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101757947B1 (ko) * | 2009-10-05 | 2017-07-13 | 톰슨 라이센싱 | 비디오 인코딩 및 디코딩에서의 크로마 성분에 대한 예측 픽셀의 적응성 필터링을 위한 방법 및 장치 |
US10142630B2 (en) * | 2010-12-10 | 2018-11-27 | Texas Instruments Incorporated | Mode adaptive intra prediction smoothing in video coding |
WO2012134046A2 (ko) * | 2011-04-01 | 2012-10-04 | 주식회사 아이벡스피티홀딩스 | 동영상의 부호화 방법 |
JP2013110502A (ja) * | 2011-11-18 | 2013-06-06 | Sony Corp | 画像処理装置及び画像処理方法 |
US20160373770A1 (en) * | 2015-06-18 | 2016-12-22 | Qualcomm Incorporated | Intra prediction and intra mode coding |
ES2677193B1 (es) * | 2015-08-28 | 2019-06-19 | Kt Corp | Procedimiento y dispositivo para procesar señales de vídeo |
CN108028923B (zh) * | 2015-09-10 | 2021-08-20 | Lg电子株式会社 | 视频编码系统中的帧内预测方法和设备 |
US11368682B2 (en) * | 2016-04-26 | 2022-06-21 | Intellectual Discovery Co., Ltd. | Method and device for encoding/decoding image |
KR20180040319A (ko) * | 2016-10-12 | 2018-04-20 | 가온미디어 주식회사 | 영상 처리 방법, 그를 이용한 영상 복호화 및 부호화 방법 |
US10382781B2 (en) * | 2016-09-28 | 2019-08-13 | Qualcomm Incorporated | Interpolation filters for intra prediction in video coding |
EP3334067B1 (en) * | 2016-12-12 | 2019-10-02 | Alcatel Lucent | Synchronization device and system for communication networks |
PT3552393T (pt) | 2016-12-23 | 2023-05-30 | Huawei Tech Co Ltd | Um aparelho de codificação para sinalizar um modo de intra-predição direcional de extensão dentro de um conjunto de modos de intra-predição direcional |
WO2018117892A1 (en) | 2016-12-23 | 2018-06-28 | Huawei Technologies Co., Ltd. | An intra-prediction apparatus for extending a set of predetermined directional intra-prediction modes |
-
2018
- 2018-06-29 BR BR112020026248-0A patent/BR112020026248A2/pt unknown
- 2018-06-29 KR KR1020217001377A patent/KR102519380B1/ko active IP Right Grant
- 2018-06-29 EP EP18755935.6A patent/EP3799691A1/en active Pending
- 2018-06-29 CN CN201880094600.5A patent/CN113243106B/zh active Active
- 2018-06-29 WO PCT/RU2018/000430 patent/WO2020005092A1/en unknown
-
2020
- 2020-12-28 US US17/135,246 patent/US11206398B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018067714A1 (en) * | 2016-10-04 | 2018-04-12 | Qualcomm Incorporated | Variable number of intra modes for video coding |
WO2018117891A1 (en) | 2016-12-23 | 2018-06-28 | Huawei Technologies Co., Ltd. | An intra-prediction apparatus for removing a directional intra-prediction mode from a set of predetermined directional intra-prediction modes |
Also Published As
Publication number | Publication date |
---|---|
US11206398B2 (en) | 2021-12-21 |
KR20210020137A (ko) | 2021-02-23 |
CN113243106A (zh) | 2021-08-10 |
EP3799691A1 (en) | 2021-04-07 |
BR112020026248A2 (pt) | 2021-04-06 |
CN113243106B (zh) | 2022-11-01 |
US20210120237A1 (en) | 2021-04-22 |
WO2020005092A8 (en) | 2021-02-25 |
WO2020005092A1 (en) | 2020-01-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7143512B2 (ja) | ビデオ復号方法およびビデオデコーダ | |
JP7351908B2 (ja) | エンコーダ、デコーダ、および対応するブロック解除フィルタ適応の方法 | |
AU2023278073A1 (en) | An image processing device and method for performing efficient deblocking | |
EP3741127A1 (en) | Loop filter apparatus and method for video coding | |
US11206398B2 (en) | Device and method for intra-prediction of a prediction block of a video image | |
US20230124833A1 (en) | Device and method for intra-prediction | |
KR20230111257A (ko) | 향상 계층에 대한 인코딩 및 디코딩 방법들 및 장치들 | |
JP7293460B2 (ja) | 効率的なデブロッキングを実行するための画像処理デバイス及び方法 | |
KR20210058939A (ko) | 품질 최적화된 디블로킹을 수행하기 위한 이미지 처리 디바이스 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |