KR102240141B1 - 이미지 예측 방법 및 장치 - Google Patents

이미지 예측 방법 및 장치 Download PDF

Info

Publication number
KR102240141B1
KR102240141B1 KR1020207014280A KR20207014280A KR102240141B1 KR 102240141 B1 KR102240141 B1 KR 102240141B1 KR 1020207014280 A KR1020207014280 A KR 1020207014280A KR 20207014280 A KR20207014280 A KR 20207014280A KR 102240141 B1 KR102240141 B1 KR 102240141B1
Authority
KR
South Korea
Prior art keywords
image
prediction
processed
mode
unit
Prior art date
Application number
KR1020207014280A
Other languages
English (en)
Other versions
KR20200057120A (ko
Inventor
환방 천
시신 린
홍 장
Original Assignee
후아웨이 테크놀러지 컴퍼니 리미티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 후아웨이 테크놀러지 컴퍼니 리미티드 filed Critical 후아웨이 테크놀러지 컴퍼니 리미티드
Publication of KR20200057120A publication Critical patent/KR20200057120A/ko
Application granted granted Critical
Publication of KR102240141B1 publication Critical patent/KR102240141B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/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/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/537Motion estimation other than block-based
    • H04N19/54Motion estimation other than block-based using feature points or meshes

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

본 발명의 실시예는 이미지 예측 방법 및 장치를 제공한다. 상기 이미지 예측 방법은, 처리될 이미지 유닛에 인접한 인접 이미지 유닛에 관한 정보에 따라, 상기 처리될 이미지 유닛의 후보 예측 모드 세트가 아핀 병합 모드(affine merge mode)를 포함하는지를 판정하는 단계 - 상기 아핀 병합 모드는, 상기 처리될 이미지 유닛 및 상기 처리될 이미지 유닛의 인접 이미지 유닛의 각각의 예측 이미지가 동일한 아핀 모델을 사용하여 취득된다는 것을 지시함 -; 비트스트림을 파싱하여 제1 지시 정보를 취득하는 단계; 상기 제1 지시 정보에 따라, 상기 후보 예측 모드 세트에서, 상기 처리될 이미지 유닛의 예측 모드를 결정하는 단계; 및 상기 예측 모드에 따라 상기 처리될 이미지 유닛의 예측 이미지를 결정하는 단계를 포함한다. 상기 방법은 예측 모드를 인코딩하는 비트 레이트를 감소시켜, 인코딩 효율을 향상시킨다.

Description

이미지 예측 방법 및 장치{IMAGE PREDICTION METHOD AND DEVICE}
본 발명은 비디오 코딩 및 압축 분야에 관한 것으로, 특히 이미지 예측 방법 및 장치에 관한 것이다.
디지털 비디오 기능(digital video capabilities)은 디지털 텔레비전, 디지털 직접 브로드캐스트 시스템, 무선 브로드캐스트 시스템, PDA(personal digital assistants), 랩톱 또는 데스크톱 컴퓨터, 태블릿 컴퓨터, 전자 북 판독기, 디지털 카메라 디지털 기록 장치, 디지털 미디어 플레이어, 비디오 게이밍 장치, 비디오 게임 콘솔, 셀룰러 또는 위성 무선 전화기, 이미지 회의 장치, 비디오 스트리밍 장치 등에 통합될 수 있다. 디지털 비디오 장치는 디지털 비디오 정보를 더욱 효율적으로 송신 및 수신하기 위해, MPEG-2, MPEG-4, ITU-T H.263, ITU-T H.264/MPEG-4, Part 10: AVC(Advanced Video Coding) 표준 및 ITU-T H.265: HEVC(High Performance Video Coding) 표준에 정의된 표준과, 이러한 표준의 확장 부분(extention)에 기술되어 있는 비디오 압축 기술과 같은, 비디오 압축 기술을 구현한다. 이러한 비디오 코딩 기술을 구현함으로써, 비디오 장치는 디지털 비디오 정보를 더욱 효율적으로 송신, 수신, 인코딩, 디코딩 및/또는 저장할 수 있다.
비디오 압축 기술은 비디오 시퀀스에 고유한 리던던시(redundancy)를 감소시키거나 제거하기 위해 공간(인트라 픽처) 예측, 및/또는 시간(인터 픽처) 예측을 포함한다. 블록 기반 비디오 코딩의 경우, 비디오 슬라이스(즉, 비디오 프레임 또는 비디오 프레임의 일부)는 수 개의 비디오 블록으로 분할될 수 있다. 비디오 블록은 또한 트리 블록(tree block), 코딩 유닛(coding unit, CU), 및/또는 코딩 노드(coding node)로 지칭될 수 있다. 픽처의 인트라 코딩된(I) 슬라이스 내의 비디오 블록은 동일 픽처 내의 인접 블록 내의 참고 샘플에 대한 공간 예측에 의해 인코딩된다. 픽처의 인터 코딩된(P 또는 B) 슬라이스의 비디오 블록은 동일 픽처 내의 인접 블록들 내의 참고 샘플에 대한 공간 예측, 또는 다른 참고 픽처 내의 참고 샘플에 대한 시간 예측을 사용할 수 있다. 픽처는 프레임으로 지칭될 수 있고, 참고 픽처는 참고 프레임으로 지칭 될 수있다.
공간 또는 시간 예측은 코딩될 블록의 예측 블록을 생성한다. 잔차 데이터(residual data)는 원래의 코딩될 블록과 예측 블록 사이의 화소 차(pixel difference)를 나타낸다. 인터 코딩된 블록은 예측 블록을 형성하는 참고 샘플들의 블록을 가리키는 움직임 벡터(motion vector)와, 코딩될 블록과 예측 블록 사이의 차를 지시하는 잔차 데이터에 따라 인코딩된다. 인트라 코딩된 블록은 인트라 코딩 모드 및 잔차 데이터에 따라 인코딩된다. 추가적인 압축을 위해, 잔차 데이터를 화소 영역에서 변환 영역으로 변환하여, 잔차 변환 계수를 생성할 수 있다. 그 후, 잔차 변환 계수를 양자화할 수 있다. 최초에 이차원 어레이에 배치된 양자화된 변환 계수를 순차적으로 스캐닝하여 변환 계수의 일차원 벡터를 생성할 수 있고, 엔트로피 코딩을 적용하여 더 많은 압축을 달성할 수 있다.
본 발명은 인코딩 효율이 향상된 이미지 예측 방법을 기술한다. 처리될 이미지 유닛의 인접 이미지 유닛의 예측 정보나 유닛 크기 또는 영역 레벨(area level)을 나타내는 후보 예측 모드 세트에 따라, 처리될 이미지 유닛의 예측 모드가 도출된다. 선험 정보(prior information)가 예측 모드의 인코딩에 제공되기 때문에, 예측 모드를 인코딩하는 비트 레이트가 감소되고, 따라서 인코딩 효율이 개선된다.
본 발명의 기술에 따르면, 예측 이미지를 디코딩하는 방법은, 처리될 이미지 유닛에 인접한 인접 이미지 유닛에 관한 정보에 따라, 상기 처리될 이미지 유닛의 후보 예측 모드 세트가 아핀 병합 모드(affine merge mode)를 포함하는지를 판정하는 단계 - 상기 아핀 병합 모드는, 상기 처리될 이미지 유닛 및 상기 처리될 이미지 유닛의 인접 이미지 유닛의 각각의 예측 이미지가 동일한 아핀 모델을 사용하여 취득된다는 것을 지시함 -; 비트스트림을 파싱하여 제1 지시 정보를 취득하는 단계; 상기 제1 지시 정보에 따라, 상기 후보 예측 모드 세트에서, 상기 처리될 이미지 유닛의 예측 모드를 결정하는 단계; 및 상기 예측 모드에 따라 상기 처리될 이미지 유닛의 예측 이미지를 결정하는 단계를 포함한다.
상기 처리될 이미지 유닛의 인접 이미지 유닛은, 상기 처리될 이미지의 위(top), 왼쪽(left), 오른쪽 위(top right), 왼쪽 아래(botton left) 및 왼쪽 위(top left)에 인접하는 이미지 유닛을 적어도 포함한다.
본 발며의 길술에 따르면, 상기 처리될 이미지 유닛에 인접한 인접 이미지 유닛에 관한 정보에 따라, 상기 처리될 이미지 유닛의 후보 예측 모드 세트가 아핀 병합 모드를 포함하는지를 판정하는 단계는 다음 구현예를 포함한다:
제1 구현예는, 상기 인접 이미지 유닛 중 적어도 하나의 예측 모드가 아핀 모델을 사용하여 예측 이미지를 취득하는 것인 경우, 상기 비트스트림을 파싱하여 제2 지시 정보를 취득하는 단계를 포함하며, 상기 제2 지시 정보가 1인 경우, 상기 후보 예측 모드 세트가 상기 아핀 병합 모드를 포함하거나, 또는 상기 제2 지시 정보가 0인 경우, 상기 후보 예측 모드 세트가 상기 아핀 병합 모드를 포함하지 않으며; 그 외의 경우, 상기 후보 예측 모드 세트는 상기 아핀 병합 모드를 포함하지 않는다.
제2 구현예는, 상기 인접 이미지 유닛 중 적어도 하나의 예측 모드가 아핀 모델을 사용하여 예측 이미지를 취득하는 것인 경우, 상기 후보 예측 모드 세트는 상기 아핀 병합 모드를 포함하는 것으로 판정하고; 그 외의 경우, 상기 후보 예측 모드 세트는 상기 아핀 병합 모드를 포함하지 않는 것으로 판정하는 단계를 포함한다.
제3 구현예는, 상기 인접 이미지 유닛의 정보는 상기 인접 이미지 유닛의 예측 모드이고, 상기 예측 모드는, 예측 이미지가 제1 아핀 모델을 사용하여 취득되는 제1 아핀 모드 또는 예측 이미지가 제2 아핀 모델을 사용하여 취득되는 제2 아핀 모드를 적어도 포함하고, 이에 상응하게, 상기 아핀 병합 모드는 상기 제1 아핀 모드를 병합하는 제1 아핀 병합 모드 또는 상기 제2 아핀 모드를 병합하는 제2 아핀 병합 모드를 적어도 포함하며; 이에 상응하게, 상기 처리될 이미지 유닛에 인접한 인접 이미지 유닛에 관한 정보에 따라, 상기 처리될 이미지 유닛의 후보 예측 모드 세트가 아핀 병합 모드를 포함하는지를 판정하는 단계는, 상기 인접 예측 유닛의 예측 모드 중에서 상기 제1 아핀 모드가 가장 많은 경우, 상기 후보 예측 모드 세트가 상기 제1 아핀 병합 모드를 포함하고 상기 제2 아핀 병합 모드를 포함하지 않는 것으로 판정하거나; 또는 상기 인접 예측 유닛의 예측 모드 중에서 상기 제2 아핀 모드가 가장 많은 경우, 상기 후보 예측 모드 세트가 상기 제2 아핀 병합 모드를 포함하고 상기 제1 아핀 병합 모드를 포함하지 않는 것으로 판정하거나; 또는 상기 인접 예측 유닛의 예측 모드 중에서 비아핀 모드(non-affine mod)가 가장 많은 경우, 상기 후보 예측 모드 세트가 상기 아핀 병합 모드를 포함하지 않는 것으로 판정하는 단계를 포함한다.
제3 구현예는 또한, 상기 인접 예측 유닛의 예측 모드 중에서 상기 제1 아핀 모드가 가장 많은 경우, 상기 후보 예측 모드 세트는 상기 제1 아핀 병합 모드를 포함하고 상기 제2 아핀 병합 모드를 포함하지 않는 것으로 판정하거나; 또는 상기 인접 예측 유닛의 예측 모드 중에서 상기 제2 아핀 모드가 가장 많은 경우, 상기 후보 예측 모드 세트는 상기 제2 아핀 병합 모드를 포함하고 상기 제1 아핀 병합 모드를 포함하지 않는 것으로 판정하거나; 또는 상기 인접 예측 유닛의 예측 모드 중에서 비아핀 모드가 가장 많고 상기 제1 제1 아핀 모드가 두 번째로 많은 경우, 상기 후보 예측 모드 세트는 상기 제1 아핀 병합 모드를 포함하고 상기 제2 아핀 병합 모드를 포함하지 않는 것으로 판정하거나; 또는 상기 인접 예측 유닛의 예측 모드 중에서 비아핀 모드가 가장 많고 상기 제2 아핀 모드가 두 번째로 많은 경우, 상기 후보 예측 모드 세트는 상기 제2 아핀 병합 모드를 포함하고 상기 제1 아핀 병합 모드를 포함하지 않는 것으로 판정하는 단계를 포함한다.
제4 구현예는, 상기 인접 이미지 유닛 중 적어도 하나의 예측 모드가 아핀 모델을 사용하여 예측 이미지를 취득하는 것이고, 상기 인접 이미지 유닛 중 적어도 하나의 폭과 높이가 각각 상기 처리될 이미지 유닛의 폭과 높이보다 작은 경우, 상기 비트스트림을 파싱하여 제3 지시 정보를 취득하는 단계를 포함하며, 상기 제3 지시 정보가 1인 경우, 상기 후보 예측 모드 세트가 상기 아핀 병합 모드를 포함하거나, 또는 상기 제3 지시 정보가 0인 경우, 상기 후보 예측 모드 세트가 상기 아핀 병합 모드를 포함하지 않으며; 그 외의 경우, 상기 후보 예측 모드 세트가 상기 아핀 병합 모드를 포함하지 않는다.
제5 구현예는, 상기 인접 이미지 유닛 중 적어도 하나의 예측 모드가 아핀 모델을 사용하여 예측 이미지를 취득하는 것이고, 상기 인접 이미지 유닛 중 적어도 하나의 폭과 높이가 각각 상기 처리될 이미지 유닛의 폭과 높이보다 작은 경우, 상기 후보 예측 모드 세트가 상기 아핀 병합 모드를 포함하는 것으로 판정하고; 그 외의 경우, 상기 후보 예측 모드 세트가 아핀 병합 모드를 포함하지 않는것으로 판정하는 단계를 포함한다.
본 발명의 기술에 따르면, 예측 이미지를 디코딩하는 방법은, 비트스트림을 파싱하여 제1 지시 정보를 취득하는 단계; 상기 제1 지시 정보에 따라 제1 처리될 이미지 영역의 후보 모드 세트를 결정하는 단계 - 상기 제1 지시 정보가 0인 경우, 상기 제1 처리될 이미지 영역의 후보 모드 세트로서 후보 병진 모드(candidate translational mode) 세트를 사용하고, 상기 병진 모드는, 예측 이미지가 병진 모델을 사용하여 취득되는 예측 모드를 지시하거나; 또는 상기 제1 지시 정보가 1인 경우, 상기 제1 처리될 이미지 영역의 후보 모드 세트로서 후보 병진 모드 세트 및 후보 아핀 모드 세트가 사용되고, 상기 아핀 모드는 예측 이미지가 병진 모델을 사용하여 취득되는 예측 모드를 지시함 -; 상기 비트스트림을 파싱하여 제2 지시 정보를 취득하는 단계; 상기 제2 지시 정보에 따라, 상기 제1 처리될 이미지 영역의 후보 예측 모드 세트에서, 처리될 이미지 유닛의 예측 모드를 결정하는 단계 - 상기 처리될 이미지 유닛은 상기 제1 처리될 이미지 영역에 속함 -; 및 상기 예측 모드에 따라 상기 처리될 이미지 유닛의 예측 이미지를 결정하는 단계를 포함한다.
상기 제1 처리될 이미지 영역은 이미지 프레임 그룹, 또는 이미지 프레임, 또는 이미지 타일 세트, 또는 이미지 슬라이스 세트, 또는 이미지 타일, 또는 이미지 슬라이스, 또는 이미지 인코딩 유닛 세트, 또는 이미지 인코딩 유닛 중 하나를 포함한다.
일례에서, 예측 이미지를 인코딩하는 방법은, 처리될 이미지 유닛에 인접한 인접 이미지 유닛에 관한 정보에 따라, 상기 처리될 이미지 유닛의 후보 예측 모드 세트가 아핀 병합 모드를 포함하는지를 판정하는 단계 - 상기 아핀 병합 모드는, 상기 처리될 이미지 유닛 및 상기 처리될 이미지 유닛의 인접 이미지 유닛의 각각의 예측 이미지가 동일한 아핀 모델을 사용하여 취득된다는 것을 지시함 -; 비트스트림을 파싱하여 제1 지시 정보를 취득하는 단계; 상기 제1 지시 정보에 따라, 상기 후보 예측 모드 세트에서, 상기 처리될 이미지 유닛의 예측 모드를 결정하는 단계; 및 상기 예측 모드에 따라 상기 처리될 이미지 유닛의 예측 이미지를 결정하는 단계를 포함한다.
다른 예에서, 예측 이미지를 인코딩하는 방법은, 처리될 이미지 유닛에 인접한 인접 이미지 유닛에 관한 정보에 따라, 상기 처리될 이미지 유닛의 후보 예측 모드 세트가 아핀 병합 모드를 포함하는지를 판정하는 단계 - 상기 아핀 병합 모드는, 상기 처리될 이미지 유닛 및 상기 처리될 이미지 유닛의 인접 이미지 유닛의 각각의 예측 이미지가 동일한 아핀 모델을 사용하여 취득된다는 것을 지시함 -; 상기 후보 예측 모드 세트에서, 상기 처리될 이미지 유닛의 예측 모드를 결정하는 단계; 상기 예측 모드에 따라 상기 처리될 이미지 유닛의 예측 이미지를 결정하는 단계; 및 제1 지시 정보를 비트스트림 내에 인코딩하는 단계 - 상기 제1 지시 정보는 상기 예측 모드를 지시함 -를 포함한다.
다른 예에서, 예측 이미지를 디코딩하는 방법은, 비트스트림을 파싱하여 제1 지시 정보를 취득하는 단계; 상기 제1 지시 정보에 따라 제1 처리될 이미지 영역의 후보 모드 세트를 결정하는 단계 - 상기 제1 지시 정보가 0인 경우, 상기 제1 처리될 이미지 영역의 후보 모드 세트로서 후보 병진 모드 세트를 사용하고, 상기 병진 모드는, 예측 이미지가 병진 모델을 사용하여 취득되는 예측 모드를 지시하거나; 또는 상기 제1 지시 정보가 1인 경우, 상기 제1 처리될 이미지 영역의 후보 모드 세트로서 후보 병진 모드 세트 및 후보 아핀 모드 세트가 사용되고, 상기 아핀 모드는 예측 이미지가 병진 모델을 사용하여 취득되는 예측 모드를 지시함 -; 상기 비트스트림을 파싱하여 제2 지시 정보를 취득하는 단계; 상기 제2 지시 정보에 따라, 상기 제1 처리될 이미지 영역의 후보 예측 모드 세트에서, 처리될 이미지 유닛의 예측 모드를 결정하는 단계 - 상기 처리될 이미지 유닛은 상기 제1 처리될 이미지 영역에 속함 -; 및 상기 예측 모드에 따라 상기 처리될 이미지 유닛의 예측 이미지를 결정하는 단계를 포함한다.
다른 예에서, 예측 이미지를 인코딩하는 방법은, 후보 병진 모드 세트가 제1 처리될 이미지 영역의 후보 모드 세트로서 사용되는 경우, 제1 지시 정보를 0으로 설정하고 상기 제1 지시 정보를 비트스트림 내에 인코딩하거나 - 상기 병진 모드는 예측 이미지가 병진 모델을 사용하여 취득되는 예측 모드를 지시함 -; 또는 후보 병진 모드 세트 및 후보 아핀 모드 세트가 제1 처리될 이미지 영역의 후보 모드 세트로서 사용되는 경우, 제1 지시 정보를 1로 설정하고 상기 제1 지시 정보를 비트스트림 내에 인코딩하는 단계 - 상기 아핀 모드는 예측 이미지가 아핀 모델을 사용하여 취득되는 예측 모드를 지시함-; 상기 제1 처리될 이미지 영역의 후보 예측 모드 세트에서, 처리될 이미지 유닛의 예측 모드를 결정하는 단계 - 상기 처리될 이미지 유닛은 상기 제1 처리될 이미지 영역에 속함 -; 상기 예측 모드에 따라 상기 처리될 이미지 유닛의 예측 이미지를 결정하는 단계; 및 제2 지시 정보를 비트스트림 내에 인코딩하는 단계 - 상기 제2 지시 정보는 상기 예측 모드를 지시함 - 를 포함한다.
다른 예에서, 예측 이미지를 디코딩하는 장치는, 처리될 이미지 유닛에 인접한 인접 이미지 유닛에 관한 정보에 따라, 상기 처리될 이미지 유닛의 후보 예측 모드 세트가 아핀 병합 모드를 포함하는지를 판정하도록 구성된 제1 결정 모듈 - 상기 아핀 병합 모드는, 상기 처리될 이미지 유닛 및 상기 처리될 이미지 유닛의 인접 이미지 유닛의 각각의 예측 이미지가 동일한 아핀 모델을 사용하여 취득된다는 것을 지시함 -; 비트스트림을 파싱하여 제1 지시 정보를 취득하도록 구성된 파싱 모듈; 상기 제1 지시 정보에 따라, 상기 후보 예측 모드 세트에서, 상기 처리될 이미지 유닛의 예측 모드를 결정하도록 구성된 제2 결정 모듈; 및 상기 예측 모드에 따라 상기 처리될 이미지 유닛의 예측 이미지를 결정하도록 구성된 제3 결정 모듈을 포함한다.
다른 예에서, 예측 이미지를 인코딩하는 장치는, 처리될 이미지 유닛에 인접한 인접 이미지 유닛에 관한 정보에 따라, 상기 처리될 이미지 유닛의 후보 예측 모드 세트가 아핀 병합 모드를 포함하는지를 판정하도록 구성된 제1 결정 모듈 - 상기 아핀 병합 모드는, 상기 처리될 이미지 유닛 및 상기 처리될 이미지 유닛의 인접 이미지 유닛의 예측 이미지 각각이 동일한 아핀 모델을 사용하여 취득된다는 것을 지시함 -; 상기 후보 예측 모드 세트에서, 상기 처리될 이미지 유닛의 예측 모드를 결정하도록 구성된 제2 결정 모듈; 상기 예측 모드에 따라 상기 처리될 이미지 유닛의 예측 이미지를 결정하도록 구성된 제3 결정 모듈; 및 제1 지시 정보를 비트스트림 내에 인코딩하도록 구성된 인코딩 모듈 - 상기 제1 지시 정보는 상기 예측 모드를 지시함 -을 포함한다.
다른 예에서, 예측 이미지를 디코딩하는 장치는, 비트스트림을 파싱하여 제1 지시 정보를 취득하도록 구성된 제1 파싱 모듈; 상기 제1 지시 정보에 따라 제1 처리될 이미지 영역의 후보 모드 세트를 결정하도록 구성된 제1 결정 모듈 - 상기 제1 지시 정보가 0 인 경우, 상기 제1 처리될 이미지 영역의 후보 모드 세트로서 후보 병진 모드 세트를 사용하고, 상기 병진 모드는, 예측 이미지가 병진 모델을 사용하여 취득되는 예측 모드를 지시하거나; 또는 상기 제1 지시 정보가 1인 경우, 상기 제1 처리될 이미지 영역의 후보 모드 세트로서 후보 병진 모드 세트 및 후보 아핀 모드 세트가 사용되며, 상기 아핀 모드는, 예측 이미지가 아핀 모델을 사용하여 취득되는 예측 모드를 지시함 -; 상기 비트스트림을 파싱하여 제2 지시 정보를 취득하도록 구성된 제2 파싱 모듈; 상기 제2 지시 정보에 따라, 상기 제1 처리될 이미지 영역의 후보 예측 모드 세트에서, 처리될 이미지 유닛의 예측 모드를 결정하도록 구성된 제2 결정 모듈 - 상기 처리될 이미지 유닛은 상기 제1 처리될 이미지 영역에 속함 -; 및 상기 예측 모드에 따라 상기 처리될 이미지 유닛의 예측 이미지를 결정하도록 구성된 제3 결정 모듈을 포함한다.
다른 예에서, 예측 이미지를 인코딩하는 장치는, 후보 병진 모드 세트가 제1 처리될 이미지 영역의 후보 모드 세트로서 사용되는 경우, 제1 지시 정보를 0으로 설정하고 제1 지시 정보를 비트스트림 내에 인코딩하거나 - 상기 병진 모드는, 예측 이미지가 병진 모델을 사용하여 취득되는 예측 모드를 지시함 -; 또는 후보 병진 모드 세트 및 후보 아핀 모드 세트가 제1 처리될 이미지 영역의 후보 모드 세트로서 사용되는 경우, 제1 지시 정보를 1로 설정하고 상기 제1 지시 정보를 비트스트림 내에 인코딩하도록 구성된 제1 인코딩 모듈 - 상기 아핀 모드는, 예측 이미지가 아핀 모델을 사용하여 취득하는 예측 모드를 지시함-; 상기 제1 처리될 이미지 영역의 후보 예측 모드 세트에서, 처리될 이미지 유닛의 예측 모드를 결정하도록 구성된 제1 결정 모듈 - 상기 처리될 이미지 유닛은 상기 제1 처리될 이미지 영역에 속함 -; 상기 예측 모드에 따라 상기 처리될 이미지 유닛의 예측 이미지를 결정도록 구성된 제2 결정 모듈; 및 제2 지시 정보를 비트스트림 내에 인코딩도록 구성된 제2 인코딩 모듈 - 상기 제2 지시 정보는 상기 예측 모드를 지시함 -을 포함한다.
다른 예에서, 비디오 데이터를 디코딩하는 기기가 제공된다. 상기 기기는 다음 동작(operation): 처리될 이미지 유닛에 인접한 인접 이미지 유닛에 관한 정보에 따라, 상기 처리될 이미지 유닛의 후보 예측 모드 세트가 아핀 병합 모드를 포함하는지를 판정하는 동작 - 상기 아핀 병합 모드는, 상기 처리될 이미지 유닛 및 상기 처리될 이미지 유닛의 인접 이미지 유닛의 각각의 예측 이미지가 동일한 아핀 모델을 사용하여 취득된다는 것을 지시함 -; 비트스트림을 파싱하여 제1 지시 정보를 취득하는 동작; 상기 제1 지시 정보에 따라, 상기 후보 예측 모드 세트에서, 상기 처리될 이미지 유닛의 예측 모드를 결정하는 동작; 및 상기 예측 모드에 따라 상기 처리될 이미지 유닛의 예측 이미지를 결정하는 동작을 수행하도록 구성되는 비디오 디코더를 포함한다.
다른 예에서, 비디오 데이터를 인코딩 하는 기기가 제공된다. 상기 기기는 다음 동작: 처리될 이미지 유닛에 인접한 인접 이미지 유닛에 관한 정보에 따라, 상기 처리될 이미지 유닛의 후보 예측 모드 세트가 아핀 병합 모드를 포함하는지를 판정하는 동작 - 상기 아핀 병합 모드는, 상기 처리될 이미지 유닛 및 상기 처리될 이미지 유닛의 인접 이미지 유닛의 각각의 예측 이미지가 동일한 아핀 모델을 사용하여 취득된다는 것을 지시함 -; 상기 후보 예측 모드 세트에서, 상기 처리될 이미지 유닛의 예측 모드를 결정하는 동작; 상기 예측 모드에 따라 상기 처리될 이미지 유닛의 예측 이미지를 결정하는 동작; 및 제1 지시 정보를 비트스트림 내에 인코딩하는 동작 - 상기 제1 지시 정보는 상기 예측 모드를 지시함 -을 수행하도록 구성되는 비디오 인코더를 포함한다.
다른 예에서, 비디오 데이터를 디코딩하는 기기가 제공된다. 상기 기기는 다음 동작: 비트스트림을 파싱하여 제1 지시 정보를 취득하는 동작; 상기 제1 지시 정보에 따라 제1 처리될 이미지 영역의 후보 모드 세트를 결정하는 동작 - 상기 제1 지시 정보가 0인 경우, 상기 제1 처리될 이미지 영역의 후보 모드 세트로서 후보 병진 모드 세트를 사용하고, 상기 병진 모드는, 예측 이미지가 병진 모델을 사용하여 취득되는 예측 모드를 지시하거나; 또는 상기 제1 지시 정보가 1인 경우, 상기 제1 처리될 이미지 영역의 후보 모드 세트로서 후보 병진 모드 세트 및 후보 아핀 모드 세트가 사용되고, 상기 아핀 모드는 예측 이미지가 병진 모델을 사용하여 취득되는 예측 모드를 지시함 -; 상기 비트스트림을 파싱하여 제2 지시 정보를 취득하는 동작; 상기 제2 지시 정보에 따라, 상기 제1 처리될 이미지 영역의 후보 예측 모드 세트에서, 처리될 이미지 유닛의 예측 모드를 결정하는 동작 - 상기 처리될 이미지 유닛은 상기 제1 처리될 이미지 영역에 속함 -; 및 상기 예측 모드에 따라 상기 처리될 이미지 유닛의 예측 이미지를 결정하는 동작을 수행하도록 구성되는 비디오 디코더를 포함한다.
다른 예에서, 비디오 데이터를 인코딩하는 기기가 제공된다. 상기 기기는 다음 동작: 후보 병진 모드 세트가 제1 처리될 이미지 영역의 후보 모드 세트로서 사용되는 경우, 제1 지시 정보를 0으로 설정하고 상기 제1 지시 정보를 비트스트림 내에 인코딩하거나 - 상기 병진 모드는 예측 이미지가 병진 모델을 사용하여 취득되는 예측 모드를 지시함 -; 또는 후보 병진 모드 세트 및 후보 아핀 모드 세트가 제1 처리될 이미지 영역의 후보 모드 세트로서 사용되는 경우, 제1 지시 정보를 1로 설정하고 상기 제1 지시 정보를 비트스트림 내에 인코딩하는 동작 - 상기 아핀 모드는 예측 이미지가 아핀 모델을 사용하여 취득되는 예측 모드를 지시함-; 상기 제1 처리될 이미지 영역의 후보 예측 모드 세트에서, 처리될 이미지 유닛의 예측 모드를 결정하는 동작 - 상기 처리될 이미지 유닛은 상기 제1 처리될 이미지 영역에 속함 -; 상기 예측 모드에 따라 상기 처리될 이미지 유닛의 예측 이미지를 결정하는 동작; 및 제2 지시 정보를 비트스트림 내에 인코딩하는 동작 - 상기 제2 지시 정보는 상기 예측 모드를 지시함 - 을 수행하도록 구성되는 비디오 인코더를 포함한다.
다른 예에서, 명령어를 저장하는, 컴퓨터로 판독할 수 있는 저장 매체가 제공된다. 실행될 때, 상기 명령어는 비디오 데이터를 디코딩하는 기기의 하나 이상의 프로세서로 하여금 다음 동작: 처리될 이미지 유닛에 인접한 인접 이미지 유닛에 관한 정보에 따라, 상기 처리될 이미지 유닛의 후보 예측 모드 세트가 아핀 병합 모드를 포함하는지를 판정하는 동작 - 상기 아핀 병합 모드는, 상기 처리될 이미지 유닛 및 상기 처리될 이미지 유닛의 인접 이미지 유닛의 각각의 예측 이미지가 동일한 아핀 모델을 사용하여 취득된다는 것을 지시함 -; 비트스트림을 파싱하여 제1 지시 정보를 취득하는 동작; 상기 제1 지시 정보에 따라, 상기 후보 예측 모드 세트에서, 상기 처리될 이미지 유닛의 예측 모드를 결정하는 동작; 및 상기 예측 모드에 따라 상기 처리될 이미지 유닛의 예측 이미지를 결정하는 동작을 수행하도록 구성하게 한다.
다른 예에서, 명령어를 저장하는, 컴퓨터로 판독할 수 있는 저장 매체가 제공된다. 실행될 때, 상기 명령어는 비디오 데이터를 인코딩하는 기기의 하나 이상의 프로세서로 하여금 다음 동작: 처리될 이미지 유닛에 인접한 인접 이미지 유닛에 관한 정보에 따라, 상기 처리될 이미지 유닛의 후보 예측 모드 세트가 아핀 병합 모드를 포함하는지를 판정하는 동작 - 상기 아핀 병합 모드는, 상기 처리될 이미지 유닛 및 상기 처리될 이미지 유닛의 인접 이미지 유닛의 각각의 예측 이미지가 동일한 아핀 모델을 사용하여 취득된다는 것을 지시함 -; 상기 후보 예측 모드 세트에서, 상기 처리될 이미지 유닛의 예측 모드를 결정하는 동작; 상기 예측 모드에 따라 상기 처리될 이미지 유닛의 예측 이미지를 결정하는 동작; 및 제1 지시 정보를 비트스트림 내에 인코딩하는 동작 - 상기 제1 지시 정보는 상기 예측 모드를 지시함 -을 수행하게 한다.
다른 예에서, 명령어를 저장하는, 컴퓨터로 판독할 수 있는 저장 매체가 제공된다. 실행될 때, 상기 명령어는 비디오 데이터를 디코딩하는 기기의 하나 이상의 프로세서로 하여금 다음 동작: 비트스트림을 파싱하여 제1 지시 정보를 취득하는 동작; 상기 제1 지시 정보에 따라 제1 처리될 이미지 영역의 후보 모드 세트를 결정하는 동작 - 상기 제1 지시 정보가 0인 경우, 상기 제1 처리될 이미지 영역의 후보 모드 세트로서 후보 병진 모드 세트를 사용하고, 상기 병진 모드는, 예측 이미지가 병진 모델을 사용하여 취득되는 예측 모드를 지시하거나; 또는 상기 제1 지시 정보가 1인 경우, 상기 제1 처리될 이미지 영역의 후보 모드 세트로서 후보 병진 모드 세트 및 후보 아핀 모드 세트가 사용되고, 상기 아핀 모드는 예측 이미지가 병진 모델을 사용하여 취득되는 예측 모드를 지시함 -; 상기 비트스트림을 파싱하여 제2 지시 정보를 취득하는 동작; 상기 제2 지시 정보에 따라, 상기 제1 처리될 이미지 영역의 후보 예측 모드 세트에서, 처리될 이미지 유닛의 예측 모드를 결정하는 동작 - 상기 처리될 이미지 유닛은 상기 제1 처리될 이미지 영역에 속함 -; 및 상기 예측 모드에 따라 상기 처리될 이미지 유닛의 예측 이미지를 결정하는 동작을 수행하게 한다.
다른 예에서, 명령어를 저장하는, 컴퓨터로 판독할 수 있는 저장 매체가 제공된다. 실행될 때, 상기 명령어는 비디오 데이터를 인코딩하는 기기의 하나 이상의 프로세서로 하여금 다음 동작: 후보 병진 모드 세트가 제1 처리될 이미지 영역의 후보 모드 세트로서 사용되는 경우, 제1 지시 정보를 0으로 설정하고 상기 제1 지시 정보를 비트스트림 내에 인코딩하거나 - 상기 병진 모드는 예측 이미지가 병진 모델을 사용하여 취득되는 예측 모드를 지시함 -; 또는 후보 병진 모드 세트 및 후보 아핀 모드 세트가 제1 처리될 이미지 영역의 후보 모드 세트로서 사용되는 경우, 제1 지시 정보를 1로 설정하고 상기 제1 지시 정보를 비트스트림 내에 인코딩하는 동작 - 상기 아핀 모드는 예측 이미지가 아핀 모델을 사용하여 취득되는 예측 모드를 지시함-; 상기 제1 처리될 이미지 영역의 후보 예측 모드 세트에서, 처리될 이미지 유닛의 예측 모드를 결정하는 동작 - 상기 처리될 이미지 유닛은 상기 제1 처리될 이미지 영역에 속함 -; 상기 예측 모드에 따라 상기 처리될 이미지 유닛의 예측 이미지를 결정하는 동작; 및 제2 지시 정보를 비트스트림 내에 인코딩하는 동작 - 상기 제2 지시 정보는 상기 예측 모드를 지시함 - 을 수행하게 한다.
본 출원의 실시예에서의 기술적 해결방안을 보다 명확하게 설명하기 위해, 이하에서는 실시예 또는 종래기술의 설명에 필요한 첨부 도면을 간략하게 소개한다. 명백히, 이하의 설명에서의 첨부도면은 단지 본 발명의 일부 실시예를 보여줄 뿐이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진자(이하, 당업자라고 함)라면 창의적인 노력 없이 이들 첨부도면으로부터 다른 도면을 도출할 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 비디오 코딩 시스템의 개략 블록도이다.
도 2는 본 발명의 일 실시예에 따른 비디오 인코더의 개략 블록도이다.
도 3은 본 발명의 일 실시예에 따른 비디오 인코더의 동작의 일례를 나타낸 개략 흐름도이다.
도 4는 본 발명의 일 실시예에 따른 처리될 블록 및 처리될 블록에 인접한 재구성된 블록의 위치를 나타낸 개략도이다.
도 5는 본 발명의 일 실시예에 따른 다른 비디오 인코더의 개략 블록도이다.
도 6은 본 발명의 일 실시예에 따른 비디오 인코더의 동작의 다른 예를 나타낸 개략 흐름도이다.
도 7은 본 발명의 일 실시예에 따른 또 다른 비디오 인코더의 개략 블록도이다.
도 8은 본 발명의 일 실시예에 따른 비디오 디코더의 개략 블록도이다.
도 9는 본 발명의 일 실시예에 따른 비디오 디코더의 동작의 일례를 나타낸 개략 흐름도이다.
도 10은 본 발명의 일 실시예에 따른 다른 비디오 디코더의 개략 블록도이다.
도 11은 본 발명의 일 실시예에 따른 비디오 디코더의 동작의 다른 예를 나타낸 개략 흐름도이다.
도 12는 본 발명의 일 실시예에 따른 또 다른 비디오 디코더의 개략 블록도이다.
이하에서는 본 발명의 실시예에서의 첨부도면을 참고하여 본 발명의 실시예에서의 기술적 방안을 명확하고 완전하게 설명한다. 명백히, 설명되는 실시예는 본 발명의 실시예의 전부가 아니라 일부이다. 당업자가 창의적인 노력 없이 본 발명의 실시예에 기초하여 얻은 모든 다른 실시예는 본 발명의 보호 범위에 속한다.
움직임 보상(motion compensation)은 압축 효율을 향상시키기 위한 비디오 인코딩의 핵심 기술 중 하나이다. 블록 매칭(block matching)에 기반한 종래의 움직임 보상은 주류 비디오 인코더, 특히 비디오 인코딩 표준에 널리 적용되는 방법이다. 블록 매칭에 기반한 움직임 보상 방법에서, 인터 예측 블록(inter-predicted block)은 병진 움직임 모델(translational motion model)을 사용하고, 병진 움직임 모델은 블록의 모든 화소 위치에서의 움직임 벡터가 동일하다고 가정한다. 그러나이 가정은 많은 경우에 유효하지 않다. 실제로, 비디오에서 물체의 움직임은 일반적으로 병진(translation), 회전 및 줌(zoom)과 같은 움직임의 복잡한 조합이다. 화소 블록이 이러한 복잡한 움직임을 포함하면, 블록 매칭에 기반한 종래의 움직임 보상 방법을 사용하여 취득되는 예측 신호(predicted signal)는 부정확하다. 따라서, 프레임 간 상관(inter-frame correlation)을 완전히 제거할 수 없다. 이 문제를 해결하기 위해, 고차원 움직임 모델(high-order motion model)이 비디오 인코딩에서 움직임 보상에 도입된다. 고차원 움직임 모델은 병진 움직임 모델보다 더 큰 자유도를 가지며, 인터 예측 블록의 화소가 서로 다른 움직임 벡터를 가질 수 있게 한다. 즉, 고차원 움직임 모델에 의해 생성된 움직임 벡터 필드가 더 정확하다.
제어 점(control point)에 기초하여 기술된 아핀 움직임 모델(affine motion model)은 고차원 운동 모델의 대표적인 유형이다. 종래의 병진 운동 모델과 달리, 블록 내의 각 화소 점의 움직임 벡터의 값은 화소 점의 위치와 관련되며, 좌표 위치의 일차 선형 방정식이다. 아핀 움직임 모델은 참고 블록의 회전 또는 줌과 같은 워프 변환(warp transform)을 허용하고, 더욱 정확한 예측 블록은 움직임 보상에 의해 취득될 수 있다.
아핀 움직임 모델을 사용하여 예측 블록이 움직임 보상을 통해 취득되는 인터 예측 유형(inter-prediction type)은 일반적으로 아핀 모드라고 한다. 현재 주류 비디오 압축 인코딩 표준에서, 인터 예측 유형은 2가지 모드, 즉 진보된 움직임 벡터 예측(Advanced motion vector prediction, AMVP) 모드 및 병합(Merge) 모드를 포함한다. AMVP에서, 각각의 인코딩 블록에 대해, 예측 방향, 기준 프레임 색인, 그리고 실제 움직임 벡터와 예측 움직임 벡터 간의 차는 명시적으로 전달될 필요가 있다. 그러나, 병합 모드에서, 현재 인코딩 블록의 움직임 정보는 인접한 블록의 움직임 벡터로부터 직접 유도된다. 아핀 모드와, 병진 움직임 모델에 기초한 AMVP 또는 Merge과 같은 인터 예측 방식이 결합되어, 아핀 움직임 모델에 기초한 AMVP 또는 Merge과 같은 새로운 인터 예측 모드를 형성할 수 있다. 예를 들어, 아핀 움직임 모델에 기초한 병합 모드는 아핀 병합 모드(Affine Merge)라고할 수 있다. 예측 모드를 선택하는 과정에서, 새로운 예측 모드와 현재의 표준에서의 예측 모드는 "성능/가격 비(performance/cost ratio)" 비교 프로세스에 함께 참여하여, 최적 모드를 예측 모드로 선택하고, 처리될 블록의 예측 이미지를 생성한다. 일반적으로, 예측 모드 선택 결과는 인코딩되고, 인코딩된 예측 모드 선택 결과는 디코딩 측에 전송된다.
아핀 모드는 예측 블록의 정확도를 더 향상시켜 인코딩 효율을 향상시킬 수있다. 그러나, 다른 한편으로는, 아핀 모드의 경우, 병진 움직임 모델에 기초한 통일된 움직임 정보(uniform motion information)에 필요한 것보다 많은 비트 레이트가 제어 점의 움직임 정보를 인코딩하는 데 소비되어야 한다. 또한, 후보 예측 모드가 증가하기 때문에, 예측 모드 선택 결과를 인코딩하기 위해 사용된 비트 레이트도 또한 증가한다. 이러한 추가적인 비트 레이트 소비는 모두 인코딩 효율의 향상에 영향을 미친다.
본 발명의 기술적 해결방안에 따르면, 한편으로는, 처리될 이미지 유닛의 후보 예측 모드 세트가 아핀 병합 모드를 포함하는지를, 처리될 이미지 유닛의 인접 이미지 유닛의 예측 모드 정보 또는 크기 정보에 따라 결정하고; 비트스트림을 파싱하여 지시 정보를 취득하고; 처리될 이미지 유닛의 대한 예측 모드를 지시 정보에 따라 후보 예측 모드 세트에서 결정하고; 예측 모드에 따라서 처리될 이미지 유닛의 예측 이미지를 결정한다. 다른 한편으로는, 비트스트림을 파싱하여 지시 정보를 취득하고; 특정 영역이 아핀 모드를 포함하는 후보 예측 모드 세트를 사용하는지를 지시 정보를 사용하여 결정하고; 후보 예측 모드 세트 및 다른 수신된 지시 정보에 따라 예측 모드를 결정하고; 예측 이미지를 생성한다.
따라서, 처리될 이미지 유닛의 인접 이미지 유닛의 예측 모드 정보 또는 크기 정보를 처리될 이미지 유닛의 예측 정보를 인코딩하기 위한 선험 지식으로 사용할 수 있다. 영역 내의 후보 예측 모드 세트를 포함하는 지시 정보도 처리될 이미지 유닛의 예측 정보를 인코딩하기 위한 선험 지식으로 사용될 수 있다. 선험 지식은 예측 모드의 인코딩을 알려주어, 인코딩 모드 선택 정보의 비트 레이트를 감소시킴으로써, 인코딩 효율을 향상시킨다.
또한, 아핀 모델의 움직임 정보의 인코딩 시에 효율을 향상시키기 위한 방안은 여러 가지가 있으며, 예를 들어, 인용에 의해 그 내용 전부가 본 출원에 포함되는 중국 특허출원 CN201010247275.7, CN201410584175.1, CN201410526608.8, CN201510085362.X, PCT/CN2015/073969 , CN201510249484.8, CN201510391765.7 및 CN201510543542.8가 있다. 이해해야 할 것은, 해결되는 구체적인 기술적 문제가 상이하기 때문에, 본 발명의 기술적 방안은 인코딩 효율을 더욱 향상시키기 위해 전술한 방안들에 적용될 수 있다는 것이다.
또한 이해해야 할 것은, 아핀 모델이 비병진 움직임 모델(non-translational motion model)의 일반적인 용어라는 것이다. 회전, 줌, 변형, 원근감(perspective) 등을 포함하는 실제 움직임은 모두, 상이한 움직임 모델을 수립함으로써 인터 예측에서 움직임 추정 및 움직임 보상에 사용될 수 있으며, 각각 약칭하여 제1 아핀 모델, 제2 아핀 모델, 등등이라고 한다.
도 1은 본 발명의 일 실시예에 따른 비디오 코딩 시스템(10)의 개략 블록도이다. 본 명세서에 기술된 바와 같이, 용어 "비디오 코더"는 일반적으로 비디오 인코더 및 비디오 디코더 모두를 지칭한다. 본 발명에서, 용어 "비디오 코딩" 또는 "코딩"은 일반적으로 비디오 인코딩 또는 비디오 디코딩을 지칭할 수 있다.
도 1에 도시된 바와 같이, 비디오 코딩 시스템(10)은 근원지 장치(12) 및 목적지 장치(14)를 포함한다. 근원지 장치(12)는 인코딩된 비디오 데이터를 생성한다. 따라서, 근원지 장치(12)는 비디오 인코딩 장치 또는 비디오 인코딩 기기로 지칭될 수 있다. 목적지 장치(14)는 근원지 장치(12)에 의해 생성되는 인코딩된 비디오 데이터를 디코딩할 수 있다. 따라서, 목적지 장치(14)는 비디오 디코딩 장치 또는 비디오 디코딩 기기로 지칭될 수 있다. 근원지 장치(12) 및 목적지 장치(14)는 비디오 코딩 장치 또는 비디오 코딩 기기의 예일 수 있다. 근원지 장치(12) 및 목적지 장치(14)로는 데스크톱 컴퓨터, 모바일 컴퓨팅 장치, 노트북 (예: 랩톱) 컴퓨터, 태블릿 컴퓨터, 셋톱 박스, 이른바 "스마트"폰과 같은 전화기 핸드셋, 텔레비전, 카메라, 디스플레이 장치, 디지털 미디어 플레이어, 비디오 게임 콘솔, 차량 내 장착 컴퓨터(in-vehicle computers) 등을 포함할 수 있다.
목적지 장치(14)는 채널(16)을 사용하여 근원지 장치(12)로부터 인코딩된 비디오 데이터를 수신할 수 있다. 채널(16)은 근원지 장치(12)에서 목적지 장치(14)로 인코딩된 비디오 데이터를 이동시킬 수 있는 하나 이상의 매체 및/또는 장치를 포함할 수 있다. 일 실시예에서, 채널(16)은 근원지 장치(12)가 인코딩된 비디오 데이터를 목적지 장치(14)에 실시간으로 직접 송신할 수 있도록 해주는 하나 이상의 통신 매체를 포함할 수 있다. 이 예에서, 근원지 장치(12)는 통신 표준 (예: 무선 통신 프로토콜)에 따라 인코딩된 비디오 데이터를 변조할 수 있고, 변조된 비디오 데이터를 목적지 장치(14)에 송신할 수 있다. 하나 이상의 통신 매체는 무선 및/또는 유선 통신 매체, 예를 들어 무선 주파수(RF) 스펙트럼 또는 하나 이상의 물리 전송 선로(physical transmission line)를 포함할 수 있다. 하나 이상의 통신 매체는 패킷 기반 네트워크 (예: 근거리 통신망, 광역 통신망 또는 (인터넷과 같은) 글로벌 네트워크)의 일부를 형성할 수 있다. 하나 이상의 통신 매체는 근원지 장치(12)에서 목적지 장치(14)로의 통신을 용이하게 하는 라우터, 스위치, 기지국, 또는 다른 기기를 포함할 수 있다.
다른 예에서, 채널(16)은 근원지 장치(12)에 의해 생성되는 인코딩된 비디오 데이터를 저장하는저장 매체에 포함될 수 있다. 이 예에서, 목적지 장치(14)는 디스크 액세스 또는 카드 액세스를 통해 저장 매체를 액세스할 수 있다. 저장 매체로는 블루레이 디스크, DVD, CD-ROM, 플래시 메모리 또는 인코딩된 비디오 데이터를 저장하기 위한 다른 적절한 디지털 저장 매체와 같은 다양한 로컬 액세스(locally-accessed) 데이터 저장 매체를 포함할 수 있다.
다른 예에서, 채널(16)은 근원지 장치(12)에 의해 생성되는 인코딩된 비디오 데이터를 저장하는 파일 서버 또는 다른 중간 저장 장치를 포함할 수 있다. 이 예에서, 목적지 장치(14)는 스트리밍 송신 또는 다운로드를 통해, 파일 서버 또는 다른 중간 기억 장치에 저장되어 있는 인코딩된 비디오 데이터를 액세스할 수 있다. 파일 서버는 인코딩된 비디오 데이터를 저장할 수 있고 인코딩된 비디오 데이터를 목적지 장치(14)로 송신할 수 있는 서버의 한 유형일 수 있다. 파일 서버의 예로는 웹 서버(예: 웹사이트 용), 파일 전송 프로토콜(file transfer protocol, FTP) 서버, 네트워크 결합 스토리지(network attached storage, NAS) 장치 및 로컬 디스크 드라이브를 포함할 수 있다.
목적지 장치(14)는 (인터넷 연결과 같은) 표준 데이터 연결을 통해 인코딩된 비디오 데이터에 액세스할 수 있다. 데이터 연결 유형의 예로는 무선 채널(예: Wi-Fi 연결), 유선 연결(예: DSL 또는 케이블 모뎀), 또는 파일 서버에 저장된 인코딩된 비디오를 액세스하는 데 적합한, 양자의 조합이 있다. 파일 서버로부터의 인코딩된 비디오 데이터의 송신은 스트리밍 송신, 다운로드 송신, 또는 양자의 조합일 수 있다.
본 발명의 기술은 무선 애플리케이션 또는 설정에 한정되지 않는다. 이 기술은, 예를 들어 공중파(over-the-air) TV 방송, 케이블 TV 송신, 위성 텔레비전 송신, 스트리밍 비디오 송신(예: 인터넷을 통한 통한 것)과 같은 다양한 멀티미디어 애플리케이션을 지원하는 비디오 코딩, 데이터 저장 매체에 저장된 비디오 데이터의 인코딩, 데이터 저장 매체에 저장된 비디오 데이터의 디코딩, 또는 다른 애플리케이션에 적용될 수 있다. 어떤 예에서, 비디오 코딩 시스템(10)은 비디오 스트리밍, 비디오 재생, 비디오 브로드캐스팅 및/또는 비디오 텔레포니(video telephony)와 같은 애플리케이션을 지원하기 위해, 단방향 또는 양방향 비디오 전송을 지원하도록 구성될 수 있다.
도 1의 예에서, 근원지 장치(12)는 비디오 소스(18), 비디오 인코더(20), 및 출력 인터페이스(22)를 포함한다. 어떤 예에서, 출력 인터페이스(22)는 변조기/복조기(모뎀) 및/또는 송신기를 포함할 수 있다. 비디오 소스(18)는 (비디오 카메라와 같은) 비디오 캡처 장치, 이전에 캡처된 비디오 데이터를 수용하는 비디오 아카이브(video archive), 비디오 콘텐츠 제공자로부터 비디오 데이터를 수신하기 위한 비디오 피드 인터페이스(video feed interface) 및/또는 비디오 데이터를 생성하기 위한 컴퓨터 그래픽 시스템, 또는 그러한 비디오 데이터의 소스의 조합을 포함할 수 있다.
비디오 인코더(20)는 비디오 소스(18)로부터의 비디오 데이터를 인코딩할 수 있다. 어떤 예에서, 근원지 장치(12)는 인코딩된 비디오 데이터를 출력 인터페이스 (22)를 사용하여 목적지 장치(14)에 직접 송신한다. 또는, 인코딩된 비디오 데이터는 디코딩 및/또는 재생을 위해 목적지 장치(14)에 의해 나중에 액세스하기 위해 저장 매체 또는 파일 서버에 저장될 수 있다.
도 1의 예에서는, 목적지 장치(14)는 입력 인터페이스(28), 비디오 디코더(30) 및 디스플레이 장치(32)를 포함한다. 어떤 예에서, 입력 인터페이스(28)는 수신기 및/또는 모뎀을 포함한다. 입력 장치(28)는인코딩된 비디오 데이터를 채널(16)을 사용하여 수신할 수 있다. 디스플레이 장치(32)는 목적지 장치(14)와 통합될 수 있거나, 또는 목적지 장치(14) 외부에 있을 수 있다. 디스플레이 장치(32)는 액정 디스플레이(LCD), 플라즈마 디스플레이, 유기 발광 다이오드(OLED) 디스플레이 또는 기타 유형의 디스플레이 장치와 같은, 다양한 디스플레이 장치를 포함할 수 있다.
비디오 인코더(20) 및 비디오 디코더(30)는 (고효율 비디오 코딩(H.265) 표준과 같은) 비디오 압축 표준에 따라 동작할 수 있고, HEVC 테스트 모델(HM)을 따를 수 있다. H.265 표준의 텍스트 설명 ITU-T H.265(V3)(04/2015)는 2015년 4월 29일에 공개되었으며. http://handle.itu.int/11.1002/1000/12455에서 다운로드할 수 있다. 파일의 전체 내용은 인용에 의해 본 출원에 포함된다.
또는, 비디오 인코더(20) 및 비디오 디코더(30)는 기타 독자적인 또는 다른 독점적인 또는 산업 표준에 따라 동작할 수 있다. 표준으로는 ITU-T H.261, ISO/IECMPEG-1Visual, ITU-T H.262 또는 ISO/IECMPEG-2Visual, ITU-T H.263, ISO/IECMPEG-4Visual 및 ITU-T H.264(ISO/IECMPEG-4AVC라고도 함), SVC(Scalable Video Coding) 및 MVC(Multiview Video Coding) 확장을 포함한다. 그러나, 본 발명의 기술은 임의의 특정 코딩 표준 또는 기술에 한정되지 않는다.
또한, 도 1은 일례에 지나지 않으며, 본 발명의 기술은 인코딩 장치와 디코딩 장치 사이의 데이터 통신을 반드시 포함하지는 않는 비디오 인코딩 설정(예: 비디오 인코딩 또는 비디오 디코딩)에 적용될 수 있다. 다른 예에서, 데이터는 로컬 메모리로부터 검색되고, 네트워크를 통해 스트리밍되거나 유사한 방식으로 조작된다. 인코딩 장치는 데이터를 인코딩하고 인코딩된 데이터를 메모리에 저장할 수 있고, 및/또는 디코딩 장치는 메모리로부터 데이터를 검색하고 데이터를 디코딩할 수 있다. 많은 예에서, 인코딩 및 디코딩은 서로 통신하지 않는 다수의 장치들에 의해 수행되지만, 단순히 메모리에 데이터를 인코딩하고 및/또는 메모리로부터 데이터를 검색하고 데이터를 디코딩한다.
비디오 인코더(20) 및 비디오 디코더(30)는 각각, 하나 이상의 마이크로프로세서, DSP(Digital Signal Processor), ASIC(Application-Specific Integrated Circuit), FPGA(Field-Programmable Gate Array), 이산 로직, 하드웨어 또는 이들의 임의의 조합을 포함할 수 있다. 기술이 부분적으로 소프트웨어로 구현되면, 장치는 적절한 비일시적인, 컴퓨터로 판독할 수 있는 저장 매체에 소프트웨어에 대한 명령어를 저장할 수 있고, 하나 이상의 프로세서를 사용하여 하드웨어에서 명령을 실행하여 본 발명의 기술을 수행할 수 있다. 전술한 것 중 (하드웨어, 소프트웨어, 하드웨어와 소프트웨어의 조합 등을 포함하는) 어느 것은 하나 이상의 프로세서로서 고려될 수 있다. 비디오 인코더(20) 및 비디오 디코더(30) 각각은 하나 이상의 인코더 또는 디코더에 포함될 수 있으며, 비디오 인코더(20) 및 비디오 디코더(30) 중 하나는 각각의 장치 내에서 조합된 인코더/디코더(인코더와 디코더)(CODEC)의 일부로서 통합될 수 있다.
본 발명은 일반적으로 비디오 인코더(20)를, 특정 정보를 (비디오 디코더(30)와 같은) 다른 장치에 "시그널링(signaling)"하는 것으로 지칭할 수 있다. 용어 "시그널링"은 일반적으로 인코딩된 비디오 데이터를 나타내는 신택스 요소(syntax element) 및/또는 다른 데이터의 통신을 지칭할 수 있다. 이러한 통신은 실시간으로 또는 거의 실시간으로 발생할 수 있다. 또는, 이러한 통신은 시간의 경과에 따라 발생할 수 있으며, 예를 들어 신택스 요소가 인코딩 시에 인코딩된 비트스트림으로서 컴퓨터로 판독할 수 있는 저장 매체에 저장되는 경우에 발생할 수 있다. 나중에 신택스 요소는 이 매체에 저장된 후에 언제든지 디코딩 장치에 의해 검색될 수 있다.
위에서 간단히 언급한 바와 같이, 비디오 인코더(20)는 비디오 데이터를 인코딩한다. 비디오 데이터는 하나 이상의 픽처를 포함할 수 있다. 각각의 픽처는 정지 이미지일 수 있다. 어떤 예에서, 픽처는 비디오 "프레임"으로 지칭될 수 있다. 비디오 인코더(20)는 비트스트림을 생성할 수 있고, 비트스트림은 비디오 데이터의 코딩된 표현(coded representation)을 형성하는 비트의 시퀀스를 포함한다. 비디오 데이터의 코딩된 표현은 코딩된 픽처 및 관련 데이터를 포함할 수 있다. 코딩된 픽처는 픽처의 코딩된 표현이다. 관련 데이터는 시퀀스 파라미터 세트(sequence parameter set, SPS), 픽처 파라미터 세트(picture parameter set, PPS) 및 다른 신택스 구조(syntax structure)를 포함할 수 있다. SPS는 0개 이상의 시퀀스의 픽처에 적용 가능한 파라미터를 포함할 수 있다. PPS는 0개 이상의 픽처에 적용할 수 있는 파라미터가 포함할 수 있다. 신택스 구조는 지정된 순서로 비트스트림에 함께 제시되는 0개 이상의 신택스 요소 세트일 수 있다.
픽처의 인코딩된 표현을 생성하기 위해, 비디오 인코더(20)는 픽처를 코딩 트리 블록(coding tree block, CTB)의 그리드(grid)로 분할할 수 있다. 어떤 예에서, CTB는 "트리 블록", "최대 코딩 유닛"(largest coding unit, LCU) 또는 "코딩 트리 유닛"으로 지칭될 수 있다. HEVC의 CTB는 (H.264/AVC와 같은) 이전 표준의 매크로블록과 대체로 유사할 수 있다. 그러나 CTB는 반드시 특정 크기로 제한되는 것은 아니며 하나 이상의 코딩 유닛(coding unit, CU)를 포함할 수 있다.
각각의 CTB는 픽처 내의 다른 동일 크기의 화소 블록과 연관될 수 있다. 각각의 화소는 휘도(luminance 또는 luma) 샘플 및 두 개의 색차(chrominance 또는 chroma) 샘플을 포함할 수 있다. 따라서, 각각의 CTB는 휘도 샘플의 하나의 블록 및 색차 샘플의 두 개의 블록과 관련될 수 있다. 설명의 편의를 위해, 본 발명에서, 이차원 화소 어레이는 화소 블록으로 지칭될 수 있고, 이차원 샘플 어레이는 샘플 블록으로 지칭될 수 있다. 비디오 인코더(20)는 쿼드 트리 분할(quad-tree partitioning)을 통해, CTB와 연관된 화소 블록을 CU와 연관된 화소 블록으로 분할할 수 있으며, 따라서 이들은 "코딩 트리 블록"으로 명명된다.
픽처의 CTB는 하나 이상의 슬라이스로 그룹화될 수 있다. 어떤 예에서, 각각의 슬라이스는 정수 개의 CTB를 포함한다. 픽처 인코딩의 일부로서, 비디오 인코더(20)는 픽처의 각각의 슬라이스의 인코딩된 표현(즉, 코딩된 슬라이스)을 생성할 수 있다. 코딩된 슬라이스를 생성하기 위해, 비디오 인코더(20)는 슬라이스의 각각의 CTB의 인코딩된 표현(즉, 코딩된 CTB)을 생성하기 위해 슬라이스의 각각의 CTB를 인코딩할 수 있다.
코딩된 CTB를 생성하기 위해, 비디오 인코더(20)는 화소 블록을 순차적으로 더 작은 화소 블록들로 분할하기 위해 CTB와 연관된 화소 블록에 대한 쿼드 트리 분할을 재귀적으로 수행(recursively perform)할 수 있다. 더 작은 화소 블록들 각각은 CU와 관련될 수 있다. 분할된 CU는 화소 블록이 다른 CU와 연관된 화소 블록으로 분할되는 CU일 수 있다. 분할되지 않은 CU는, 화소 블록이 다른 CU와 연관된 화소 블록들로 분할되지 않는 CU일 수 있다.
비디오 인코더(20)는 분할되지 않은 CU 각각에 대해 하나 이상의 예측 유닛 (prediction unit, PU)을 생성할 수 있다. CU의 각각의 PU는 CU의 화소 블록 내의 다른 화소 블록과 연관될 수 있다. 비디오 인코더(20)는 CU의 각각의 PU에 대한 예측 화소 블록을 생성할 수 있다. PU의 예측 화소 블록은 화소 블록일 수 있다.
비디오 인코더(20)는 인트라 예측 또는 인터 예측을 통해 PU의 예측 화소 블록을 생성할 수 있다. 비디오 인코더(20)가 인트라 예측을 통해 PU의 예측 화소 블록을 생성하면, 비디오 인코더(20)는 PU와 연관된 픽처의 디코딩된 화소에 기초하여 PU의 예측 화소 블록을 생성할 수 있다. 비디오 인코더(20)가 인터 예측를 통해 PU의 예측 화소 블록을 생성하면, 비디오 인코더(20)는 PU와 연관된 픽처 이외의 하나 이상의 픽처의 디코딩된 화소에 기초하여 PU의 예측 화소 블록을 생성할 수 있다.
비디오 인코더(20)는 CU의 PU의 예측 화소 블록에 기초하여 CU에 대한 잔차 화소 블록을 생성할 수 있다. CU의 잔차 화소 블록은 CU의 PU의 예측 화소 블록 내의 샘플과 CU의 원래 화소 블록 내의 대응하는 샘플 사이의 차이를 나타낼 수 있다.
또한, 분할되지 않은 CU를 인코딩하는 부분으로서, 비디오 인코더(20)는 CU의 잔차 화소 블록에 대해 재귀 쿼드 트리 분할(recursive quad-tree partitioning)을 수행하여, CU의 잔차 화소 블록을 CU의 변환 유닛(TU)과 연관된 하나 이상의 더 작은 잔차 화소 블록으로 분할할 수 있다. TU와 연관된 화소 블록 내의 화소 각각은 휘도 샘플의 잔차 샘플 블록 및 색차 샘플의 두 개의 잔차 샘플 블록을 포함하기 때문에, 각각의 TU는 휘도 샘플의 잔차 샘플 블록 및 색차 샘플의 두 개의 잔차 샘플 블록과 연관될 수 있다.
비디오 인코더(20)는 TU와 연관된 잔차 샘플 블록에 하나 이상의 변환을 적용하여 계수 블록(즉, 계수의 블록)을 생성할 수 있다. 비디오 인코더(20)는 각각의 계수 블록에 대해 양자화 처리를 수행할 수 있다. 양자화는 일반적으로 계수를 양자화하여 계수를 나타내는 데 사용되는 데이터의 양을 줄임으로써 더 많은 압축을 수행하는 프로세스를 의미한다.
비디오 인코더(20)는 양자화된 계수 블록 내의 계수를 나타내는 신택스 요소 세트를 생성할 수 있다. 비디오 인코더(20)는 이들 신택스 요소 중 적어도 일부에, (콘텍스트 적응형 이진 산술 코딩(context-adaptive binary arithmetic coding, CABAC) 동작과 같은) 엔트로피 인코딩 동작을 적용할 수 있다.
신택스 요소에 CABAC 인코딩을 적용하기 위해, 비디오 인코더(20)는 신택스 요소를 이진화하여 일련의 하나 이상의 비트( "빈(bin)"이라고 함)를 포함하는 이진 스트링을 형성할 수 있다. 비디오 인코더(20)는 정규 CABAC 인코딩을 총해 빈 중 일부를 인코딩할 수도 있고 우회 인코딩를 통해 빈 중 다른 것들을 인코딩할 수 있다.
비디오 인코더(20)가 정규 CABAC 인코딩을 통해 빈의 시퀀스를 인코딩하는 경우, 비디오 인코더(20)는 먼저 코딩 콘텍스트를 식별할 수 있다. 코딩 콘텍스트는 특정 값을 갖는 코딩 빈의 확률을 식별할 수 있다. 예를 들어, 코딩 콘텍스트는 값이 0인 빈의 코딩 확률이 0.7이고 값이 1인 빈의 코딩 확률이 0.3임을 나타낼 수 있다. 코딩 콘텍스트를 식별한 후, 비디오 인코더(20)는 하나의 구간을 하위 서브구간(lower sub-interval)과 상위 서브구간(upper sub-interval)으로 나눌 수 있다. 서브구간 중 하나는 값 0과 연관될 수 있고 다른 서브구간은 값 1과 연관될 수 있다. 서브구간의 폭은 식별된 코딩 콘텍스트에 의해 연관된 값에 대해 지시된 확률에 비례할 수 있다.
신택스 요소의 빈(bin)이 하위 서브구간과 연관된 값을 가지면, 인코딩된 값은 하위 서브구간의 하위 경계와 동일할 수 있다. 신택스 요소의 동일한 빈이 상위 서브구간과 연관된 값을 가지면, 인코딩된 값은 상위 서브구간의 하위 경계와 동일할 수 있다. 신택스 요소의 다음 빈을 인코딩하기 위해, 비디오 인코더(20)는 인코딩된 비트의 값과 연관된 서브구간이 속하는 구간에 대해 이러한 단계들을 반복할 수 있다. 비디오 인코더(20)가 다음 빈에 대해 이러한 단계들을 반복하는 경우, 비디오 인코더(20)는 식별된 코딩 콘텍스트에 의해 지시된 확률 및 인코딩된 빈의 실제 값에 기초하여 수정되는 확률을 사용할 수 있다.
비디오 인코더(20)가 우회 인코딩을 통해 빈 시퀀스를 인코딩하는 경우, 비디오 인코더(20)는 단일 사이클 내에 여러 개의 빈을 코딩할 수 있지만, 비디오 인코더(20)가 정규 CABAC 인코딩을 통해 빈의 시퀀스를 인코딩하는 경우, 비디오 인코더(20)는 한 사이클 내에 단일 빈만을 코딩할 수 있다. 우회 코딩에서, 비디오 인코더(20)는 콘텍스트를 선택할 필요가 없고, 비디오 인코더(20)는 두 심볼 (0 및 1)에 대한 확률을 1/2(50%)로 가정할 수 있기 때문에 우회 코딩이 더 간단할 수 있다. 따라서 우회 코딩에서, 구간은 직접 반으로 나뉜다. 실제로 우회 코딩은 산술 코딩 엔진의 콘텍스트 적응형 부분을 우회한다.
빈에 대해 우회 코딩을 수행하는 것은 빈에 대해 정규 CABAC 코딩을 수행하는 것보다 적은 계산을 요구한다. 또한, 우회 코딩의 수행은 더 높은 수준의 병렬 처리 및 더 높은 처리량을 가능하게 할 수 있다. 우회 코딩을 통해 인코딩된 빈은 "우회 코딩된 빈(bypass-coded bins)"이라고 할 수 있다.
계수 블록 내의 신택스 요소에 대해 엔트로피 인코딩을 수행하는 것 외에도, 비디오 인코더(20)는 변환 블록으로부터 잔차 샘플 블록을 재구성하기 위해, 역양자화 및 역변환을 변환 블록에 적용할 수 있다. 비디오 인코더(20)는 재구성된 잔차 샘플 블록을, 하나 이상의 예측 샘플 블록으로부터 대응하는 샘플에 부가할 수 있다. 색 성분에 각각에 대해 샘플 블록을 재구성함으로써, 비디오 인코더(20)는 TU와 연관된 화소 블록을 재구성할 수 있다. 이러한 방식으로 CU의 TU에 각각에 대한 화소 블록을 재구성함으로써, 비디오 인코더(20)는 CU의 화소 블록을 재구성할 수 있다.
비디오 인코더(20)가 CU의 화소 블록을 재구성한 후, 비디오 인코더(20)는 CU와 연관된 블로킹 아티팩트(blocking artifact)를 감소시키기 위해 디블록킹 동작을 수행할 수 있다. 비디오 인코더(20)가 디블로킹 동작을 수행한 후, 비디오 인코더(20)는 샘플 적응형 오프셋(sample adaptive offset, SAO)을 사용하여 픽처의 CTB의 재구성된 화소 블록을 수정할 수 있다. 일반적으로, 픽처 내의 화소에 오프셋 값을 부가하는 것은 코딩 효율을 향상시킬 수 있다. 이러한 동작을 수행한 후에, 비디오 인코더(20)는 다른 CU에 대한 예측 화소 블록의 생성에 사용하기 위해 CU의 재구성된 화소 블록을 디코딩된 픽처 버퍼에 저장할 수 있다.
비디오 디코더(30)는 비트스트림을 수신할 수 있다. 비트스트림은 비디오 인코더(20)에 의해 인코딩되는 비디오 데이터의 코딩된 표현을 포함할 수 있다. 비디오 디코더(30)는 비트스트림을 파싱하여 비트스트림으로부터 신택스 요소를 추출할 수 있다. 비트스트림으로부터의 적어도 일부 신택스 요소를 추출하는 부분으로서, 비디오 디코더(30)는 비트스트림 내의 데이터를 엔트로피 디코딩할 수 있다.
비디오 디코더(30)가 CABAC 디코딩을 수행하는 경우, 비디오 디코더(30)는 일부 빈에 대해 정규 CABAC 디코딩을 수행할 수 있고 다른 빈에 대해 우회 디코딩을 수행할 수 있다. 비디오 디코더(30)가 신택스 요소에 대해 정규 CABAC 디코딩을 수행하는 경우, 비디오 디코더(30)는 코딩 콘텍스트를 식별할 수 있다. 그 후 비디오 디코더(30)는 구간을 하위 서브구간과 상위 서브구간으로 나눌 수 있다. 서브구간 중 하나는 값 0과 연관될 수 있고 다른 서브구간은 값 1과 연관될 수 있다. 서브구간의 폭은 식별된 코딩 콘텍스트에 의한 연관된 값에 대해 지시된 확률에 비례할 수 있다. 인코딩된 값이 하위 서브구간 내에 있으면, 비디오 디코더(30)는 하위 서브구간과 연관된 값을 갖는 빈을 디코딩할 수 있다. 인코딩된 값이 상위 서브구간 내에 있으면, 비디오 디코더(30)는 상위 서브구간과 연관된 값을 갖는 빈을 디코딩할 수 있다. 신택스 요소의 다음 빈을 디코딩하기 위해, 비디오 디코더(30)는 인코딩된 값을 포함하는 서브구간 내에 드는 구간에 대해 이러한 단계들을 반복할 수 있다. 비디오 디코더(30)가 다음 빈에 대해 이러한 단계들을 반복하는 경우, 비디오 디코더(30)는 식별된 코딩 콘텍스트에 의해 지시되는 확률, 및 디코딩된 빈에 기초하여 수정되는 확률을 사용할 수 있다. 비디오 디코더(30)는 그 후 신택스 요소를 복원하기 위해 빈들을 역이진화(de-binarize)할 수 있다. 역이진화는 이진 스트링과 신택스 요소 값 사이의 매핑에 따라 신택스 요소 값을 선택하는 것을 의미한다.
비디오 디코더(30)가 우회 디코딩을 수행하는 경우, 비디오 디코더(30)는 단일 사이클 내에 수 개의 빈을 디코딩할 수 있지만, 비디오 디코더(30)가 정규 CABAC 디코딩을 수행하는 경우, 일반적으로 비디오 디코더(30)는 한 사이클 내에 단일 빈을 디코딩할 수 있거나, 또는 단일 빈에 대해 하나보다 많은 사이클이 필요로 할 수 있다. 비디오 디코더(30)는 콘텍스트를 선택할 필요가 없고 두 심볼(0 및 1)의 확률이 1/2이라고 가정할 수 있기 때문에, 우회 디코딩은 일반적인 CABAC 디코딩보다 간단할 수 있다. 이러한 방식으로, 빈에 대해 우회 인코딩 및/또는 디코딩을 수행하는 것은 빈에 대해 정규 코딩을 수행하는 것보다 계산 비용이 적게 들고 더 고도의 병렬도 및 더 높은 처리량을 가능하게 할 수 있다.
비디오 디코더(30)는 비트스트림으로부터 추출된 신택스 요소에 기초하여 비디오 데이터의 픽처를 재구성할 수 있다. 신택스 요소에 기초하여 비디오 데이터를 재구성하는 프로세스는 신택스 요소를 생성하기 위해 비디오 인코더(20)에 의해 수행되는 프로세스와 일반적으로 상반될 수 있다. 예를 들어, 비디오 디코더(30)는 CU와 연관된 신택스 요소에 기초하여, CU의 PU에 대한 예측 화소 블록을 생성할 수 있다. 또한, 비디오 디코더(30)는 CU의 TU와 연관된 계수 블록을 역양자화할 수도 있다. 비디오 디코더(30)는 계수 블록에 대해 역변환을 수행하여 CU의 TU와 연관된 잔차 화소 블록을 재구성할 수 있다. 비디오 디코더(30)는 예측 화소 블록 및 잔차 화소 블록에 기초하여 CU의 화소 블록을 재구성할 수 있다.
비디오 디코더(30)가 CU의 화소 블록을 재구성한 후, 비디오 디코더(30)는 CU와 연관된 블로킹 아티팩트를 감소시키기 위해 디블록킹 동작을 수행할 수 있다. 또한, 하나 이상의 SAO 신택스 요소에 기초하여, 비디오 디코더(30)는 비디오 인코더(20)에 의해 적용되는 SAO를 적용할 수 있다. 비디오 디코더(30)가 이러한 동작을 수행한 후에, 비디오 디코더(30)는 CU의 화소 블록을 디코딩된 픽처 버퍼에 저장할 수 있다. 디코딩된 픽처 버퍼는 후속 동작 보상, 인트라 예측 및 디스플레이 장치상의 프리젠테이션을 위한 참고 픽처(reference picture)를 제공할 수 있다.
도 2는 본 발명의 기술을 구현하도록 구성되는 비디오 인코더(20)의 일례를 나타낸 블록도이다. 도 2는 설명의 목적으로 제공되며 본 발명에서 광범위하게 예시되고 기재되는 기술을 한정하는 것으로 해석되어서는 안된다. 설명을 위해, 본 발명에서는 HEVC 코딩의 이미지 예측에 비디오 인코더(20)를 설명한다. 그러나, 본 발명의 기술은 다른 코딩 표준 또는 방법에 적용 가능하다.
도 2의 예에서, 비디오 인코더(20)는 예측 처리 유닛(100), 잔차 생성 유닛(102), 변환 유닛(104), 양자화 유닛(106), 역양자화 유닛(108), 역변환 처리 유닛(110), 재구성 유닛(113), 필터 유닛(113), 디코딩된 픽처 버퍼(114) 및 엔트로피 인코딩 유닛(116)를 포함한다. 엔트로피 인코딩 유닛(116)는 정규 CABAC 인코딩 엔진(118)과 우회 인코딩 엔진(120)을 포함한다. 예측 처리 유닛(100)는 인터 예측 처리 유닛(121) 및 인트라 예측 처리 유닛(126)을 포함한다. 인터 예측 처리 유닛(121)은 움직임 추정 유닛(122) 및 움직임 보상 유닛(124)을 포함한다. 다른 예에서, 비디오 인코더(20)는 더 많거나, 더 적거나, 또는 상이한 기능 구성요소를 포함할 수 있다.
비디오 인코더(20)는 비디오 데이터를 수신한다. 비디오 데이터를 인코딩하기 위해, 비디오 인코더(20)는 비디오 데이터의 각각의 픽처의 각각의 슬라이스를 인코딩할 수 있다. 슬라이스를 인코딩하는 부분으로서, 비디오 인코더(20)는 슬라이스 내의 각각의 CTB를 인코딩할 수 있다. CTB를 인코딩하는 부분으로서, 예측 처리 유닛(100)은 CTB와 연관된 화소 블록에 대해 쿼드 트리 분할(quad-tree partitioning)을 수행하여 화소 블록을 점진적으로 더 작은 화소 블록으로 분할할 수 있다. 더 작은 화소 블록은 CU와 연관될 수 있다. 예를 들어, 예측 처리 유닛(100)는 CTB의 화소 블록을 4개의 동일한 크기의 서브블록으로 분할하고, 서브블록 중 하나 이상을 4개의 동일한 크기의 서브서브블록(sub-sub-block)으로 분할하는 등등으로 이루어질 수있다.
비디오 인코더(20)는 픽처 내의 CTB의 CU를 인코딩하여 CU의 인코딩된 표현(즉, 코딩된 CU)를 생성할 수 있다. 비디오 인코더(20)는 CTB의 CU를 z형 스캔 순서(z-scan order)로 인코딩할 수 있다. 다시말해, 비디오 인코더(20)는 왼쪽 위 CU, 오른쪽 위 CU, 왼쪽 아래 CU, 그리고 오른쪽 아래 CU를 순차적으로 인코딩할 수 있다. 비디오 인코더(20)가 분할된 CU를 인코딩하는 경우, 비디오 인코더(20)는 분할된 CU의 화소 블록의 서브블록과 연관된 CU를 z형 스캔 순서로 인코딩할 수 있다.
또한, CU를 인코딩하는 부분으로서, 예측 처리 유닛(100)는 CU의 하나 이상의 PU 중에서 CU의 화소 블록을 분할할 수 있다. 비디오 인코더(20) 및 비디오 디코더(30)는 다양한 PU 크기를 지원할 수 있다. 특정 CU의 크기가 2N×2N이라고 가정하면, 비디오 인코더(20)와 비디오 디코더(30)는 인트라 예측을 위한 2N×2N 또는 N×N의 대칭 PU 크기, 및 인터 예측을 위한 2N×N, N×2N, N×N 등의 대칭 PU 크기를 지원할 수 있다. 비디오 인코더(20) 및 비디오 디코더(30)는 또한 인터 예측을 위한 2N×nU, 2N×nD, nL×2N 및 nR×2N의 PU 크기에 대한 비대칭 분할을 지원할 수 있다.
인터 예측 처리 유닛(121)는 CU의 각각의 PU에 대해 인터 예측을 수행함으로써 PU에 대한 예측 데이터를 생성할 수 있다. PU에 대한 예측 데이터는 PU에 대응하는 예측 화소 블록 및 PU의 움직임 정보을 포함할 수 있다. 슬라이스는 I 슬라이스, 또는 P 슬라이스, 또는 B 슬라이스일 수 있다. 인터 예측 처리 유닛(121)은, PU가 I 슬라이스, 또는 P 슬라이스, 또는 B 슬라이스에 있는지에 따라 CU의 PU에 대해 상이한 동작을 수행할 수 있다. I 슬라이스에서, 모든 PU는 인트라 예측된다. 따라서, PU가 I 슬라이스에 있으면, 인터 예측 처리 유닛(121)은 PU에 대해 인터 예측을 수행하지 않는다.
PU가 P 슬라이스에 있으면, 움직임 추정 유닛(122)은 PU의 참고 블록(reference block)에 대한 참고 픽처 리스트(예: "리스트 0")에서 참고 픽처를 검색할 수 있다. PU의 참고 블록은 PU의 화소 블록에 가장 근접하게 대응하는 화소 블록일 수 있다. 움직임 추정 유닛(122)은 PU의 참고 블록을 포함하는 리스트 0에서 참고 픽처를 지시하는 참고 픽처 색인과와, PU의 화소 블록과 참고 블록 사이의 공간 변위를 지시하는 움직임 벡터를 생성할 수 있다. 움직임 추정 유닛(122)은 참고 픽처 색인 및 움직임 벡터를 PU의 움직임 정보로서 출력할 수 있다. 움직임 보상 유닛(124)은 PU의 움직임 정보에 의해 지시되는 참고 블록에 기초하여 PU의 예측 화소 블록을 생성할 수 있다.
PU가 B 슬라이스에 있으면, 움직임 추정 유닛(122)은 PU에 대해 단방향 인터 예측 또는 양방향 인터 예측을 수행할 수 있다. PU에 대해 단방향 인터 예측을 수행하기 위해, 움직임 추정 유닛(122)은 PU의 참고 블록에 대한 제1 참고 픽처 리스트( "리스트 0") 또는 제2 참고 픽처 리스트( "리스트 1")에서 참고 픽처를 검색할 수 있다. 움직임 추정 유닛(122)은, PU의 움직임 정보로서, 참고 블록을 포함하는 참고 픽처의 리스트 0 또는 리스트 1 내의 위치를 지시하는 참고 픽처 색인, PU의 화소 블록과 참고 블록 사이의 공간 변위를 지시하는 움직임 벡터, 및 참고 픽처가 리스트 0 또는 리스트 1에 있는지를 지시하는 예측 방향 지시자를 출력할 수 있다.
PU에 대해 양방향 인터 예측을 수행하기 위해, 움직임 추정 유닛(122)은 PU의 참고 블록에 대해 리스트 0에서 참고 픽처를 검색할 수 있고, 또한 PU의 다른 참고 블록에 대해 리스트 1에서 참고 픽처를 검색할 수 있다. 움직임 추정 유닛(122)는 참고 블록을 포함하는 참고 픽처의 list 0과 list 1에서의 위치를 지시하는 참고 픽처 색인을 생성할 수 있다. 또한, 움직임 추정 유닛(122)은 참고 블록과 PU의 화소 블록 사이의 공간 변위를 지시하는 움직임 벡터를 생성할 수 있다. PU의 움직임 정보는 참고 픽처 색인 및 PU의 움직임 벡터를 포함할 수 있다. 움직임 보상 유닛(124)는 PU의 움직임 정보에 의해 지시되는 참고 블록에 기초하여 PU의 예측 화소 블록을 생성할 수 있다.
인트라 예측 유닛(126)은 PU에 대한 인트라 예측을 수행함으로써 PU에 대한 예측 데이터를 생성할 수 있다. PU의 예측 데이터는 PU의 예측 화소 블록 및 다양한 신택스 요소를 포함할 수 있다. 인트라 예측 유닛(126)는 I 슬라이스, P 슬라이스 및 B 슬라이스의 PU에 대해 인트라 예측을 수행할 수 있다.
PU에 대해 인트라 예측을 수행하기 위해, 인트라 예측 유닛(126)는 복수의 인트라 예측 모드를 사용하여 PU에 대한 복수의 예측 데이터의 세트를 생성할 수 있다. 인트라 예측 모드를 사용하여 PU에 대한 예측 데이터 세트를 생성하기 위해, 인트라 예측 처리 유닛(126)은 샘플을 인접 PU의 샘플 블록에서부터 인트라 예측 모드와 연관된 방향으로 PU의 샘플 블록을 가로 질러 확장할 수 있다. PU, CU 및 CTB에 대해 왼쪽에서 오른쪽, 위에서 아래로의 인코딩 순서가 사용된다고 가정하면, PU의 위, 오른쪽 위, 왼쪽 위, 왼쪽에 인접한 PU가 있을 수 있다. 인트라 예측 유닛(126)은, 예를 들면, 33개 방향성 인트라 예측 모드(directional intra-prediction mode)와 같은, 다양한 인트라 예측 모드를 사용할 수 있다. 어떤 예에서, 인트라 예측 모드의 수는 PU의 화소 블록의 크기에 좌우될 수 있다.
예측 처리 유닛(100)는, 인터 예측 처리 유닛(121)에 의해 PU에 대해 생성되는 예측 데이터 또는 인트라 예측 유닛(126)에 의해 PU에 대해 생성되는 예측 데이터로부터 CU의 PU에 대한 예측 데이터를 선택할 수 있다. 어떤 예에서, 예측 처리 유닛(100)은 예측 데이터 세트의 레이트/왜곡 메트릭(rate/distortion metrics)에 기초하여 CU의 PU에 대한 예측 데이터를 선택한다. 선택된 예측 데이터의 예측 화소 블록은 본 명세서에서 선택된 예측 화소 블록으로 지칭될 수 있다.
잔차 생성 유닛(102)은 CU의 화소 블록 및 CU의 PU의 선택된 예측 화소 블록에 기초하여, CU의 잔차 화소 블록을 생성할 수 있다. 예를 들어, 잔차 생성 유닛(102)은 CU의 잔차 화소 블록을 생성할 수 있으므로, 잔차 화소 블록 내의 각각의 샘플은 CU의 화소 블록 내의 샘플과, CU의 PU의 선택된 예측 화소 블록 내의 대응하는 샘플 사이의 차와 동일한 값을 갖는다..
예측 처리 유닛(100)은 CU의 잔차 화소 블록을 서브블록으로로 분할하기 위해 쿼드 트리 분할을 수행할 수 있다. 각각의 분할되지 않은 잔차 화소 블록은 CU의 상이한 TU와 연관될 수 있다. CU의 TU와 연관된 잔차 화소 블록의 크기 및 위치는 CU의 PU의 화소 블록의 크기 및 위치에 기초할 수도 기초하지 않을 수도 있다.
TU의 잔차 화소 블록의 화소 각각은 하나의 휘도 샘플 및 두 개의 색차 샘플을 포함할 수 있기 때문에, 각각의 TU는 휘도 샘플의 한 블록 및 색차 샘플의 두 블록과 연관될 수 있다. 변환 처리 유닛(104)은 TU와 연관된 잔차 샘플 블록에 하나 이상의 변환을 적용함으로써 CU의 각각의 TU에 대한 계수 블록을 생성할 수 있다. 변환 처리 유닛(104)은 TU와 연관된 잔차 샘플 블록에 다양한 변환을 적용할 수 있다. 예를 들어, 변환 처리 유닛(104)은 잔차 샘플 블록에 이산 코사인 변환(discrete cosine transform, DCT), 방향성 변환(directional transform) 또는 개념상 유사한 변환(conceptually-similar transform)을 적용할 수 있다.
양자화 유닛(106)는 계수 블록 내의 계수를 양자화할 수 있다. 양자화 프로세스는 계수의 일부 또는 전부와 연관된 비트 깊이를 감소시킬 수 있다. 예를 들어, n비트 계수는 양자화 시에 m비트 계수로 내림될 수 있으며, 여기서 n은 m보다 크다. 양자화 유닛(106)은 CU와 연관련된 양자화 파라미터(quantization parameter, QP) 값에 기초하여 CU의 TU와 연관된 계수 블록을 양자화할 수 있다. 비디오 인코더(20)는 CU와 연관된 QP 값을 조정함으로써 CU와 연관된 계수 블록들에 적용되는 양자화의 정도를 조정할 수 있다.
역양자화 유닛(108) 및 역변환 처리 유닛(110)은 계수 블록에 역양자화 및 역변환을 별도로 적용하여, 계수 블록으로부터 잔차 샘플 블록을 재구성할 수 있다. 재구성 유닛(112)은 재구성된 잔차 샘플 블록의 샘플을, 예측 처리 유닛(100)에 의해 생성되는 하나 이상의 예측 샘플 블록으로부터의 대응하는 샘플에 추가하여, TU와 연관된 재구성된 샘플 블록을 생성할 수 있다. 이러한 방식으로 CU의 각각각의 TU에 대한 샘플 블록을 재구성함으로써, 비디오 인코더(20)는 CU의 화소 블록을 재구성할 수 있다.
필터 유닛(113)은 CU와 연관된 화소 블록 내의 블로킹 아티팩트를 감소시키기 위해 디블록킹 동작을 수행할 수 있다. 또한, 필터 유닛(113)는 예측 처리 유닛(100)에서 결정되는 SAO 오프셋을 재구성된 샘플 블록에 적용하여 화소 블록을 복원할 수 있다. 필터 유닛(113)은 CTB에 대한 SAO 신택스 요소의 시퀀스를 생성할 수 있다. SAO 신택스 요소는 정규 CABAC 코딩된 빈과 우회 코딩된 빈을 포함할 수 있다. 본 발명의 기술에 따르면, 시퀀스 내에서, 색 성분에 대한 우회 코딩된 빈이 동일한 색 성분에 대한 두 개의 정규 CABAC 코딩된 빈 사이에 존재하지 않는다.
디코딩된 픽처 버퍼(114)는 재구성된 화소 블록을 저장할 수 있다. 인터 예측 처리 유닛(121)은 재구성된 화소 블록을 포함하는 참고 픽처를 사용하여 다른 픽처의 PU에 대해 인터 예측을 수행할 수 있다. 또한, 인트라 예측 유닛(126)은 디코딩된 픽처 버퍼(114) 내의 재구성된 화소 블록을 사용하여 CU와 동일한 픽처 내의 다른 PU에 대해 인트라 예측을 수행할 수 있다.
엔트로피 인코딩 유닛(116)는 비디오 인코더(20)의 다른 기능 구성요소로부터 데이터를 수신할 수 있다. 예를 들어, 엔트로피 인코딩 유닛(116)은 양자화 유닛(106)으로부터 계수 블록을 수신할 수 있고, 예측 처리 유닛(100)으로부터 신택스 요소를 수신할 수 있다. 엔트로피 인코딩 유닛(116)은 데이터에 대해 하나 이상의 엔트로피 인코딩 연산을 수행하여 엔트로피 인코딩된 데이터를 생성할 수 있다. 예를 들어, 엔트로피 인코딩 유닛(116)는 데이터에 대해, 콘텍스트 적응형 가변 길이 인코딩(context-adaptive variable length coding, CAVLC) 동작, CABAC 동작, 가변대가변(variable-to-variable, V2V) 길이 인코딩 동작, 신택스 기반 콘텍스트 적응형 이진 산술 인코딩(syntax-based context-adaptive binary arithmetic coding, SBAC) 동작, 확률 구간 분할 엔트로피(probability interval partitioning entropy , PIPE) 코딩 동작, 또는 다른 유형의 엔트로피 인코딩 동작을 수행할 수 있다. 특정 예에서, 엔트로피 인코딩 유닛(116)은 필터 유닛(113)에 의해 생성되는 SAO 신택스 요소를 인코딩할 수 있다. SAO 신택스 요소를 인코딩하는 부분으로서, 엔트로피 인코딩 유닛(116)은 SAO 신택스 요소의 정규 CABAC 코딩된 빈을 정규 CABAC 코딩 엔진(118)을 사용하여 인코딩할 수 있고, 우회 코딩된 빈을 우회 코딩 엔진(120)을 사용하여 인코딩할 수 있다.
본 발명의 기술에 따르면, 인터 예측 처리 유닛(121)은 프레임 간 후보 예측 모드 세트를 결정한다. 이러한 방식에서, 비디오 인코더(20)는 비디오 인코더의 일례이다. 본 발명의 기술에 따르면, 비디오 인코더는, 처리될 이미지 유닛에 인접한 인접 이미지 유닛에 관한 정보에 따라, 처리될 이미지 유닛의 후보 예측 모드 세트가 아핀 병합 모드를 포함하는지를 판정하며 - 아핀 병합 모드는, 처리될 이미지 유닛 및 처리될 이미지 유닛의 인접 이미지 유닛의 각각의 예측 이미지가 동일한 아핀 모델을 사용하여 취득된다는 것을 지시함 -; 후보 예측 모드 세트에서, 처리될 이미지 유닛의 예측 모드를 결정하고; 예측 모드에 따라 처리될 이미지 유닛의 예측 이미지를 결정하고; 제1 지시 정보를 비트스트림 내에 인코딩하며, 여기서 제1 지시 정보는 예측 모드를 지시한다.
도 3은 본 발명의 하나 이상의 기술에 따라, 비디오 데이터를 인코딩하기 위한 비디오 인코더의 예시적인 동작(200)을 나타낸 흐름도이다. 도 3은 일례로서 제공된다. 다른 예에서, 본 발명의 기술은 도 3의 예에 도시된 것보다 더 많거나, 더 적거나, 또는 상이한 단계들을 사용하여 구현될 수 있다. 도 3의 예시적인 방법에 따르면, 비디오 인코더(20)는 다음 단계를 수행한다:
S210. 처리될 이미지 유닛에 인접한 인접 이미지 유닛에 관한 정보에 따라, 처리될 이미지 유닛의 후보 예측 모드 세트가 아핀 병합 모드를 포함하는지를 판정한다.
구체적으로는, 도 4에 도시된 바와 같이, 블록 A, B, C, D 및 E는 현재의 인코딩될 블록의 인접 재구성 블록(adjacent reconstructed block)이며, 각각 인코딩될 블록의 위, 왼쪽, 오른쪽 위, 왼쪽 아래 및 왼쪽 위에 위치한다. 인접 재구성 블록의 인코딩 정보에 따라, 현재 인코딩될 블록의 후보 예측 모드 세트가 아핀 병합 모드를 포함하는지를 판정할 수 있다.
이해해야 할 것은, 본 발명의 이 실시예에서 도 4는 예시적인 목적으로, 인코딩될 블록의 인접 재구성 블록의 수량 및 위치를 도시한다는 것이다. 인접 재구성 블록의 수량은 5보다 많거나 적을 수 있으며, 이에 한정되지 않는다.
제1 가능한 구현예에서, 인접 재구성 블록 중에서 예측 유형이 아핀 예측인 블록이 존재하는지를 판정한다. 인접 재구성 블록 중에서 예측 유형이 아핀 예측인 블록이 존재하지 않으면, 인코딩될 블록의 후보 예측 모드 세트는 아핀 병합 모드를 포함하지 않거나; 또는 인접 재구성 블록 중에서 예측 유형이 아핀 예측인 블록이 존재하는 경우, 도 2에 도시된 인코딩 프로세스가 다음 두 경우: 인코딩될 블록의 후보 예측 모드 세트가 아핀 병합 모드를 포함하는 경우 및 인코딩될 블록의 후보 예측 모드 세트가 아핀 병합 모드를 포함하지 않는 경우에 따라 별개로 수행된다. 첫 번째 경우의 인코딩 성능이 우수하면, 인코딩될 블록의 후보 예측 모드 세트는 아핀 합성 모드를 포함하고, 제2 지시 정보로 가정될 수 있는 지시 정보는 1로 설정되고 비트스트림 내에 인코딩된다. 그렇지 않으면, 인코딩될 블록의 후보 예측 모드 세트는 아핀 병합 모드를 포함하지 않고, 제2 지시 정보는 0으로 설정되고 비트스트림 내에 인코딩된다.
제2 가능한 구현 예에서, 인접 재구성 블록 중에서 예측 유형이 아핀 예측 인 블록이 존재하는지를 판정한다. 인접 재구성 블록 중에서 예측 유형이 아핀 예측인 블록이 존재하지 않으면, 인코딩될 블록의 후보 예측 모드 세트는 아핀 병합 모드를 포함하지 않거나; 또는 인접 재구성 블록 중에서 예측 유형이 아핀 예측인 블록이 존재하면, 인코딩될 블록의 후보 예측 모드 세트는 아핀 병합 모드를 포함한다.
제3 가능한 구현예에서, 인접 재구성 블록은, 예를 들어 제1 아핀 모드 또는 제2 아핀 모드를 포함하는, 복수의 아핀 모드를 포함하고, 이에 상응하게, 아핀 병합 모드는 제1 아핀 모드를 병합하는 제1 아핀 병합 모드 또는 제2 아핀 모드를 병합하는 제2 아핀 병합 모드를 포함한다. 인접 재구성 블록 중의 제1 아핀 모드, 제2 아핀 모드 및 비아핀 모드의 수량은 통계 수집을 통해 개별적으로 취득되다. 인접 재구성 블록 중에서 제1 아핀 모드가 가장 많은 경우, 후보 예측 모드 세트는 제1 아핀 병합 모드를 포함하고 제2 아핀 병합 모드를 포함하지 않는다. 인접 재구성 블록 중에서 제2 아핀 모드가 가장 많은 경우, 후보 예측 모드 세트는 제2 아핀 병합 모드를 포함하고 제1 아핀 병합 모드를 포함하지 않는다. 인접 재구성 블록 중에서 비 아핀 모드가 가장 많은 경우, 후보 예측 모드 세트는 아핀 병합 모드를 포함하지 않는다.
또는, 제3의 가능한 구현 예에서, 인접 재구성 블록 중에서 제1 아핀 모드가 가장 많은 경우, 후보 예측 모드 세트는 제1 아핀 병합 모드를 포함하고 제2 아핀 병합 모드를 포함하지 않는다. 인접 재구성 블록 중에서 제2 아핀 모드가 가장 많은 경우, 후보 예측 모드 세트는 제2 아핀 병합 모드를 포함하고 제1 아핀 병합 모드를 포함하지 않는다. 인접 재구성 블록 중에서 비 아핀 모드가 가장 많은 경우, 인접 재구성 블록 중에서 제1 아핀 모드 또는 제2 아핀 모드가 두 번째로 많은지를 통계 수집을 통해 취득한다. 제1 아핀 모드가 인접 재구성 블록 중에서 두 번째로 많은 경우, 후보 예측 모드 세트는 제1 아핀 병합 모드를 포함하고 제2 아핀 병합 모드를 포함하지 않는다. 제2 아핀 모드가 인접 재구성 블록 중에서 두 번째로 많은 경우, 후보 예측 모드 세트는 제2 아핀 병합 모드를 포함하고 제1 아핀 병합 모드를 포함하지 않는다.
제4 가능한 구현예에서, 두 조건이 충족하는지를 판정한다: (1) 인접 재구성 블록 중에서 예측 유형이 아핀 모드인 블록이 있는지 여부; 및 (2) 아핀 모드에서 인접 블록의 폭 및 높이가 인코딩될 블록의 폭 및 높이보다 작은지의 여부를 판정한다. 조건 중 어느 하나가 충족되지 않으면, 인코딩될 블록의 후보 예측 모드 세트는 아핀 병합 모드를 포함하지 않는다. 두 조건이 모두 충족되는 경우, 도 2에 도시된 인코딩 프로세스가 두 가지 경우: 인코딩될 블록의 후보 예측 모드 세트가 아핀 병합 모드를 포함하고, 인코딩될 블록의 후보 예측 모드 세트가 아핀 머지를 포함하지 않는 경우에 따라 별개로 수행된다. 첫 번째 경우의 인코딩 성능이 우수하면, 인코딩될 블록의 후보 예측 모드 세트는 아핀 합성 모드를 포함하고, 제3 지시 정보로 가정될 수 있는 지시 정보는 1로 설정되고 비트스트림 내에 인코딩된다. 그렇지 않으면, 인코딩될 블록의 후보 예측 모드 세트는 아핀 병합 모드를 포함하지 않고, 제3 지시 정보는 0으로 설정되고 비트스트림 내에 인코딩된다.
이해해야 할 것은, 본 발명의 실시예에서의 판정 조건 (2)은, 아핀 모드에서의 인접 블록의 폭이 인코딩될 블록의 폭보다 작고, 아핀 모드에서의 인접 블록의 높이는 인코딩될 블록의 높이보다 작다는 것을 의미한다. 또는 다른 실시예에서, 상기 판정 조건은, 아핀 모드에서의 인접 블록의 폭이 인코딩될 블록의 폭보다 작거나, 또는 아핀 모드에서의 인접 블록의 높이가 인코딩될 블록의 높이보다 작은 것일 수 있으며, 이에 한정되지 않는다.
제5 가능한 구현에서, 다음 두 조건이 충족되는지를 판정한다: (1) 인접 재구성 블록 중에서 예측 유형이 아핀 모드인 블록이 있는지 여부; 및 (2) 아핀 모드에서의 인접 블록의 폭 및 높이가 인코딩될 블록의 폭 및 높이보다 작은지 여부를 판정한다. 조건 중 하나가 충족되지 않으면, 인코딩될 블록의 후보 예측 모드 세트는 아핀 병합 모드를 포함하지 않는다. 두 조건이 모두 충족되면, 인코딩될 블록의 후보 예측 모드 세트는 아핀 병합 모드를 포함한다.
본 발명의 본 실시예에서, 인접 재구성 블록의 예측 유형 및 크기는 현재 인코딩될 블록의 후보 예측 모드 세트를 결정하기 위한 기초로서 사용되고, 파싱을 통해 취득되는 인접 재구성 블록의 속성 정보가 또한 결정에 사용될 수 있다. 여기서는 이를 한정하지 않는다.
또한 이해해야 할 것은, 제2 가능한 구현과 같은, 예시를 위한, 본 발명의 본 실시예에서의 여러 가능한 구현예에서, 다음 판정 기준이, 인접 재구성 블록 중에서 예측 유형이 아핀 예측인 블록이 존재하는지를 판정하는 데 사용될 있다는 것이다. 예시를 위해, 둘 이상의 인접 블록의 예측 유형이 아핀 모드인 경우, 인코딩될 블록의 후보 예측 모드 세트는 아핀 병합 모드를 포함하고; 그 외의 경우, 인코딩될 블록의 후보 예측 모드 세트는 아핀 병합 모드를 포함하지 않는다. 또는, 예측 유형이 아핀 모드인 인접 블록의 수량은 세 개 이상 또는 네 개 이상일 수 있으며, 이에 한정되지 않는다.
또한 이해해야 할 것은, 제5 가능한 구현예와 같은, 예시를 위한, 본 발명의 이 실시예에서의 여러 가능한 구현예에서, 두 조건이 충족되는지를 판정한다: (1) 인접 재구성 블록 중에서 예측 유형이 아핀 모드인 블록이 존재하는지 여부; 및 (2) 아핀 모드에서 인접 블록의 폭 및 높이가 인코딩될 블록의 폭 및 높이보다 작은지의 여부를 판정한다. 두 번째 판정 조건은, 설명을 위해, 아핀 모드에서의 인접 블록의 폭과 높이가 인코딩 블록의 폭과 높이의 1/2, 1/3, 또는 1/4 보다 작은지를 판정하는 것일 수 있으며, 이에 한정되는 것은 아니다.
또한 이해해야 할 것은, 본 발명의 본 실시예에서는, 설명을 위해 지시 정보를 0또는 1로 설정한다는 것이다. 이와는 달리, 반대의 설정이 수행될 수 있다. 예시를 이해, 예를 들어, 제1 가능한 구현 예에서, 인접 재구성 블록 중에서 예측 유형이 아핀 예측인 블록이 존재하는지를 판정할 수 있다. 인접 재구성 블록 중에서 예측 유형이 아핀 예측인 블록이 존재하지 않으면, 인코딩될 블록의 후보 예측 모드 세트는 아핀 병합 모드를 포함하지 않거나; 또는 인접 재구성 블록 중에서 예측 유형이 아핀 예측인 블록이 존재하는 경우, 도 2에 도시된 인코딩 프로세스가 다음 두 경우: 인코딩될 블록의 후보 예측 모드 세트가 아핀 병합 모드를 포함하는 경우 및 인코딩될 블록의 후보 예측 모드 세트가 아핀 병합 모드를 포함하지 않는 경우에 따라 별개로 수행된다. 첫 번째 경우의 인코딩 성능이 우수하면, 인코딩될 블록의 후보 예측 모드 세트는 아핀 합성 모드를 포함하고, 제2 지시 정보로 가정될 수 있는 지시 정보는 0으로로 설정되고 비트스트림 내에 인코딩된다. 그렇지 않으면, 인코딩될 블록의 후보 예측 모드 세트는 아핀 병합 모드를 포함하지 않고, 제2 지시 정보는 1으로 설정되고 비트스트림 내에 인코딩된다.
S220. 후보 예측 모드 세트에서, 처리 될 이미지 유닛에 대한 예측 모드를 결정한다.
후보 예측 모드 세트는 S210에서 결정된 후보 예측 모드 세트이다. 후보 예측 모드 세트 내의 각각의 예측 모드는 인코딩될 블록의 예측 모드로서 최적의 인코딩 성능을 갖는 모드를 선택하기 위해. 순차적으로 도 2에 도시 된 인코딩 프로세스를 수행하는 데 사용된다.
본 발명의 본 실시예에서, 도 2에 도시된 인코딩 프로세스를 수행하는 목적은, 최적의 인코딩 성능을 갖는 예측 모드를 선택하는 것임을 이해해야 한다. 선택 프로세스에서, 예측 모드의 성능/가격 비를 비교할 수 있다. 성능은 이미지 복원의 품질로 지시되고, 가격은 인코딩의 비트 레이트로 지시된다. 또는, 예측 모드의 성능 또는 가격만 비교할 수도 있다. 이에 상응하게, 도 3에 도시된 모든 인코딩 단계가 완료될 수 있거나, 비교될 필요가 있는 지시자를 취득한 후에 인코딩 프로세스가 중단된다. 예를 들어, 예측 모드가 성능면에서만 비교되는 경우, 예측 유닛이 그 단계를 수행한 후에 인코딩 프로세스가 중지될 수 있으며, 이에 한정되는 것은 아니다.
S230. 예측 모드에 따라 처리될 이미지 유닛의 예측 이미지를 결정한다.
위에서 인용된 H.265 표준 및 CN201010247275.7과 같은 출원 파일은, 병진 모델에 대한 예측 모드, 아핀 예측 모드, 아핀 병합 모드 등을 포함하는 예측 모드에 따라 인코딩될 블록의 예측 이미지가 생성되는 프로세스를 상세하게 설명하므로, 여기서는 세부사항을 다시 설명하지 않는다.
S240. 제1 지시 정보를 비트스트림 내에 인코딩한다.
S220에서 결정되는 예측 모드는 비트스트림 내에 인코딩된다. 이해해야 할 것은, 이 단계는 S220 이후의 어느 때나 수행될 수 있고, 단계가 디코딩 측에 의한 제1 지시 정보를 디코딩하는 단계에 대응하는 한, 단계 순서에 특별한 제한은 없다는 것이다.
도 5는 본 발명의 하나 이상의 기술에 따라, 비디오 데이터를 인코딩하는 다른 비디오 인코더(40)의 예를 도시하는 블록도이다.
비디오 인코더(40)는 제1 결정 모듈(41), 제2 결정 모듈(42), 제3 결정 모듈(43) 및 인코딩 모듈(44)을 포함한다.
제1 결정 모듈(41)은, 처리될 이미지 유닛에 인접한 인접 이미지 유닛에 관한 정보에 따라, 처리될 이미지 유닛의 후보 예측 모드 세트가 아핀 병합 모드를 포함하는지를 판정하는 S210을 수행하도록 구성된다 아핀 병합 모드를 포함한다.
제2 결정 모듈(42)은 후보 예측 모드 세트에서, 처리될 이미지 유닛의 예측 모드를 결정하는 S220을 수행하도록 구성된다.
제3 결정 모듈(43)은 예측 모드에 따라, 처리될 이미지 유닛의 예측 이미지를 결정하는 S230을 수행하도록 구성된다.
인코딩 모듈(44)은 제1 지시 정보를 비트스트림 내에 인코딩하는 S240을 수행하도록 구성된다.
인접 블록들의 움직임 정보가 상관되기 때문에, 현재 블록과 인접 블록이 동일하거나 유사한 예측 모드를 가질 확률이 매우 높다. 본 발명의 본 실시예에서, 현재 블록의 예측 모드 정보가 인접 블록에 관한 정보를 결정함으로써 도출되므로, 예측 모드의 인코딩 레이트를 감소시키고, 이에 따라 인코딩 효율을 향상시킨다.
도 6은 본 발명의 하나 이상의 기술에 따라, 비디오 데이터를 인코딩하는 비디오 인코더의 동작(300)의 일례를 도시하는 흐름도이다. 도 6이 일례로서 제공된다. 다른 예에서, 본 발명의 기술은 도 6의 예에 도시된 것보다 더 많거나, 더 적거나, 또는 상이한 단계들을 사용하여 구현될 수 있다. 도 6의 예시적인 방법에 따르면, 비디오 인코더(20)는 다음 단계를 수행한다.
S310. 제1 처리될 이미지 영역의 후보 예측 모드 세트의 지시 정보를 인코딩한다.
후보 병진 모드 세트가 제1 처리될 이미지 영역의 후보 모드 세트로서 사용되는 경우, 제1 지시 정보는 0으로 설정되고 제1 지시 정보는 비트스트림 내에 인코딩되며, 여기서 병진 모드는 예측 이미지가 병진 모델을 사용하여 취득되는 예측 모드를 지시한다. 후보 병진 모드 세트 및 후보 아핀 모드 세트가 제1 처리될 이미지 영역의 후보 모드 세트로서 사용되는 경우, 제1 지시 정보는 1로 설정되고 제1 지시 정보는 비트스트림 내에 인코딩되며, 여기서 아핀 모드는 예측 이미지가 아핀 모델을 사용하여 취득되는 예측 모드를 지시한다. 제1 처리될 이미지 영역은, 이미지 프레임 그룹, 이미지 프레임, 이미지 타일 세트, 이미지 슬라이스 세트, 이미지 타일, 이미지 슬라이스, 이미지 인코딩 유닛 세트, 이미지 인코딩 유닛 중 어느 하나일 수 있다. 이에 상응하게, 제1 지시 정보는 이미지 프레임 그룹의 헤더, 예를 들어, 비디오 파라미터 세트(video parameter set, VPS), 시퀀스 파라미터 세트(sequence parameter set, SPS), 보충 강화 정보(supplemental enhancement information, SEI), 또는 이미지 프레임 헤더에 인코딩된다. 예를 들어, 이미지 파라미터 세트(PPS), 이미지 타일 세트의 헤더, 이미지 슬라이스 세트의 헤더, 또는 이미지 타일의 헤더, 또는 예를 들어 이미지 타일 헤더(tile header), 이미지 슬라이스 헤더(slice header), 이미지 인코딩 유닛 세트의 헤더, 또는 이미지 인코딩 유닛의 헤더일 수 있다.
또한 이해해야 할 것은, 단계에서의 제1 처리될 이미지 영역은 미리 구성될 수 있거나, 인코딩 프로세스에서 적응적으로 결정될 수 있다는 것이다. 제1 처리될 이미지 영역의 범위의 표현은 인코딩/디코딩 측의 프로토콜로부터 알 수 있거거나, 또는 제1 처리될 이미지 영역의 범위는 송신을 위한 비트스트림 내에 인코딩될 수 있으며, 이에 한정되되지 않는다.
또한 이해해야 할 것은, 후보 예측 모드 세트는 미리 구성될 수 있거나, 또는 인코딩 성능의 비교 후에 결정될 수 있으며, 이에 한정되지 않는다는 것이다.
또한 이해해야 할 것은, 본 발명의 이 실시예에서는, 예시를 위해 지시 정보가 0 또는 1로 설정된다는 것이다. 이와는 달리, 역 설정이 수행될 수 있다.
S320. 제1 처리될 이미지 영역 내의 처리될 이미지 유닛에 대해, 제1 처리될 이미지 영역의 후보 예측 모드 세트에서, 처리될 이미지 유닛의 예측 모드를 결정한다.
구체적인 방법은 S220과 유사하므로 상세한 설명은 생략한다.
S330. 예측 모드에 따라 처리될 이미지 유닛의 예측된 이미지를 결정한다.
구체적인 방법은 S230과 유사하므로 상세한 설명은 생략한다.
S340. 처리될 이미지 유닛을 위해 선택된 예측 모드를 비트스트림 내에 인코딩한다.
구체적인 방법은 S240과 유사하므로 상세한 설명은 생략한다.
도 7은 본 발명의 하나 이상의 기술에 따라, 비디오 데이터를 인코딩하는 다른 비디오 인코더(50)의 예를 도시하는 블록도이다.
비디오 인코더(50)는 제1 인코딩 모듈(51), 제1 결정 모듈(52), 제2 결정 모듈(53) 및 제2 인코딩 모듈(54)을 포함한다.
제1 인코딩 유닛(51)은 제1 처리될 이미지 영역의 후보 예측 모드 세트의 인코딩 지시 정보를 인코딩하는 단계 S310를 수행하도록 구성된다.
제1 결정 모듈(52)은 제1 처리될 이미지 영역 내의 처리될 이미지 유닛에 대한 제1 처리될 이미지 영역의 후보 예측 모드 세트에서, 처리될 이미지 유닛의 예측 모드를 결정하는 S320을 수행하도록 구성된다.
제2 결정 모듈(53)은 예측 모드에 따라 처리될 이미지 유닛의 예측 이미지를 결정하는 S330을 수행하도록 구성된다.
제2 인코딩 모듈(54)은 처리될 이미지 유닛을 위해 선택된 예측 모드를 비트스트림 내에 인코딩하는 S340을 수행하도록 구성된다.
인접 블록들의 움직임 정보가 상관되기 때문에, 동일한 영역에서 병진 움직임만 있고 아핀 움직임이 없을 확률이 매우 높다. 본 발명의 본 실시예에서는, 영역 레벨을 표시하는 후보 예측 모드 세트를 설정하여, 리던던트 모드(redundant mode)를 인코딩하는 비트 레이트를 방지함으로써, 인코딩 효율을 향상시킨다.
도 8은 본 발명의 기술을 구현하도록 구성된 비디오 디코더(30)의 일례를 나타낸 블록도이다. 도 8의 실시예는 설명을 위해 제공되며, 본 발명에서 광범위하게 예시되고 기재되는 기술을 제한하는 것으로 해석되어서는 안된다. 설명을 위해, 비디오 디코더(30)는 HEVC 코딩의 이미지 예측에 있어 본 발명에서 설명된다. 그러나, 본 발명의 기술은 다른 코딩 표준 또는 방법에 적용 가능하다.
도 8의 예에서, 비디오 디코더(30)는 엔트로피 디코딩 유닛(150), 예측 처리 유닛(152), 역양자화 유닛(154), 역변환 처리 유닛(156), 재구성 유닛(158), 필터 유닛(159), 및 디코딩된 픽처 버퍼(160)를 포함한다. 예측 처리 유닛(152)는 움직임 보상 유닛(162) 및 인트라 예측 유닛(164)를 포함한다. 엔트로피 디코딩 유닛(150)는 정규 CABAC 코딩 엔진(166) 및 우회 코딩 엔진(168)을 포함한다. 다른 예에서, 비디오 디코더는 더 많거나, 더 적거나, 또는 다른 기능 구성요소를 포함할 수 있다.
비디오 디코더(30)는 비트스트림을 수신할 수 있다. 엔트로피 디코딩 유닛(150)는 비트스트림을 파싱하여 비트스트림으로부터 신택스 요소를 추출할 수 있다. 비트스트림을 파싱하는 부분으로서, 엔트로피 디코딩 유닛(150)은 비트스트림 내의 엔트로피- 인코딩된 신택스 요소를 엔트로피 디코딩할 수 있다. 예측 처리 유닛(152), 역양자화 유닛(154), 역변환 처리 유닛(156), 재구성 유닛(158), 및 필터 유닛(159)은 비트스트림으로부터 추출된 신택스 요소에 기초하여 디코딩된 비디오 데이터를 생성할 수 있다.
비트스트림은 CTB의 코딩된 SAO 신택스 요소들의 시퀀스를 포함할 수 있다. SAO 신택스 요소는 정규 CABAC 코딩된 빈과 우회 코딩된 빈을 포함할 수 있다. 본 발명의 기술에 따르면, 코딩된 SAO 신택스 요소들의 시퀀스에서, 두 개의 정규 CABAC 코딩된 빈 사이에는 우회 코딩된 빈이 존재하지 않는다. 엔트로피 디코딩 유닛(150)은 SAO 신택스 요소를 디코딩할 수 있다. SAO 신택스 요소를 인코딩하는 부분으로서, 엔트로피 디코딩 유닛(150)은 정규 CABAC 코딩된 빈을 정규 CABAC 코딩 엔진(166)을 사용하여 디코딩하고, 우회 코딩된 빈을 우회 코딩 엔진(168)을 사용하여 디코딩할 수 있다.
또한, 비디오 디코더(30)는 분할되지 않은 CU에 대해 재구성 동작을 수행할 수 있다. 분할되지 않은 CU에 대해 재구성 동작을 수행하기 위해, 비디오 디코더(30)는 CU의 각각의 TU에 대해 재구성 동작을 수행할 수 있다. CU의 각각 TU에 대해 재구성 동작을 수행함으로써, 비디오 디코더(30)는 CU와 연관된 잔차 화소 블록을 재구성할 수 있다.
CU의 TU에 대해 재구성 동작을 수행하는 부분으로서, 역양자화 유닛(154)은 TU와 연관된 계수 블록을 역으로 양자화(즉, 역양자화)할 수 있다. 역양자화 유닛(154)는 TU의 CU와 연관된 QP 값을 사용하여 양자화 정도를 결정하고, 역양자화 유닛(154)에서 적용할 역양자화 정도를 결정할 수 있다.
역양자화 유닛(154)가 계수 블록을 역으로 양자화한 후, 역변환 처리 유닛(156)은 계수 블록에 하나 이상의 역변환을 적용하여, TU와 연관된 잔차 샘플 블록을 생성할 수 있다. 예를 들어, 역변환 처리 유닛(156)은 계수 블록에, 역DCT, 역정수 변환, 역카루넨 뢰베 변환(Karhunen-Loeve transform, KLT), 역회전 변환, 역방향성 변환 또는 다른 역 변환을 적용할 수 있다.
PU가 인트라 예측을 통해 인코딩되면, 인트라 예측 처리 유닛(164)은 인트라 예측을 수행하여 PU에 대한 예측 샘플 블록을 생성할 수 있다. 인트라 예측 유닛(164)은 인트라 예측 모드를 사용하여, 공간적으로 인접한 PU의 화소 블록에 기초하여 PU에 대한 예측 화소 블록을 생성할 수 있다. 인트라 예측 유닛(164)은 파싱을 통해 비트스트림으로부터 취득되는 하나 이상의 신택스 요소에 기초하여, PU에 대한 인트라 예측 모드를 결정할 수 있다.
움직임 보상 유닛(162)은 비트스트림으로부터 추출된 신택스 요소에 기초하여, 제1 참고 픽처 리스트(list 0) 및 제2 참고 픽처 리스트(list 1)를 구성할 수 있다. 또한, 인터 예측을 통해 PU가 인코딩되면, 엔트로피 디코딩 유닛(150)은 PU의 움직임 정보를 추출할 수 있다. 움직임 보상 유닛(162)은 PU의 움직임 정보에 기초하여, PU에 대한 하나 이상의 참고 블록을 결정할 수 있다. 움직임 보상 유닛(162)은 PU에 대한 하나 이상의 참고 블록에 기초하여, PU에 대한 예측 화소 블록을 생성할 수 있다.
재구성 유닛(158)은 적용 가능한 경우, CU의 TU와 연관된 잔차 화소 블록 및 CU의 PU의 예측 화소 블록(즉, 인트라 예측 데이터 또는 인터 예측 데이터)를 사용하여, CU의 화소 블록을 재구성할 수 있다. 특히, 재구성 유닛(158)은 잔차 화소 블록의 샘플을 예측 화소 블록의 대응하는 샘플에 부가하여 CU의 화소 블록을 재구성할 수 있다.
필터 유닛(159)은 CTB의 CU의 화소 블록과 연관된 블로킹 아티팩트를 감소시키기 위해 디블록킹 동작을 수행할 수 있다. 또한, 필터 유닛(159)은 비트스트림으로부터 파싱된 SAO 신택스 요소에 기초하여 CTB의 화소 블록을 수정할 수 있다. 예를 들어, 필터 유닛(159)은 CTB의 SAO 신택스 요소에 기초하여 값을 결정하고, 결정된 값을 CTB의 재구성된 화소 블록의 샘플에 가산할 수 있다. 픽처의 CTB의 화소 블록 중 적어도 일부를 수정함으로써, 필터 유닛(159)은 SAO 신택스 요소들에 기초하여 비디오 데이터의 재구성된 픽처를 수정할 수 있다.
비디오 디코더(30)는 CU의 화소 블록을 디코딩된 픽처 버퍼(160)에 저장할 수 있다. 디코딩된 픽처 버퍼(160)는 후속 움직임 보상, 인트라 예측 및 디스플레이 장치(예: 도 1의 표시 장치(32))상의 프리젠테이션을 위해 참고 픽처를 제공할 수 있다. 예를 들어, 비디오 디코더(30)는, 디코딩된 픽처 버퍼(160) 내의 화소 블록에 기초하여, 다른 CU의 PU에 대해 인트라 예측 또는 인터 예측 동작을 수행할 수 있다.
본 발명의 기술에 따르면, 예측 처리 유닛(152)은 프레임 간 후보 예측 모드 세트를 결정한다. 이러한 방식에서, 비디오 디코더(30)는 비디오 디코더의 일례이다. 본 발명의 기술에 따르면, 비디오 디코더는, 처리될 이미지 유닛에 인접한 인접 이미지 유닛에 관한 정보에 따라, 처리될 이미지 유닛의 후보 예측 모드 세트가 아핀 병합 모드를 포함하는지를 판정하고- 여기서 아핀 병합 모드는, 처리될 이미지 유닛 및 처리될 이미지 유닛의 인접 이미지 유닛의 각각의 예측 이미지가 동일한 아핀 모델을 사용하여 취득된다는 것을 지시함 -; 비트스트림을 파싱하여 제1 지시 정보를 취득하고; 제1 지시 정보에 따라, 후보 예측 모드 세트에서, 처리될 이미지 유닛의 예측 모드를 결정하고; 예측 모드에 따라 처리될 이미지 유닛의 예측 이미지를 결정하도록 구성된다.
도 9는 본 발명의 하나 이상의 기술에 따라, 비디오 데이터를 디코딩하는 비디오 디코더의 동작(400)의 일례를 나타낸 흐름도이다. 도 9는 일례로서 제공된다. 다른 예에서, 본 발명의 기술은 도 9의 예에 도시된 것보다 더 많거나, 더 적거나, 또는 상이한 단계들을 사용하여 구현될 수 있다. 도 9의 예시적인 방법에 따르면, 비디오 디코더(30)는 다음의 단계를 수행한다.
S410. 처리될 이미지 유닛에 인접한 인접 이미지 유닛에 관한 정보에 따라, 처리될 이미지 유닛의 후보 예측 모드 세트가 아핀 병합 모드를 포함하는지를 판정한다.
구체적으로는, 도 4에 도시된 바와 같이, 블록 A, B, C, D 및 E는 현재의 인코딩될 블록의 인접 재구성 블록이며, 각각 인코딩될 블록의 위, 왼쪽, 오른쪽 위, 왼쪽 아래 및 왼쪽 위에 위치한다. 인접 재구성 블록의 인코딩 정보에 따라, 현재 인코딩될 블록의 후보 예측 모드 세트가 아핀 병합 모드를 포함하는지를 판정할 수 있다.
이해해야 할 것은, 본 발명의 이 실시예에서 도 4는 예시적인 목적으로, 인코딩될 블록의 인접 재구성 블록의 수량 및 위치를 도시한다. 인접 재구성 블록의 수량은 5보다 많거나 적을 수 있으며, 이에 한정되지 않는다.
제1 가능한 구현예에서, 인접 재구성 블록 중에서 예측 유형이 아핀 예측인 블록이 존재하는지를 판정한다. 인접 이미지 유닛 중 적어도 하나의 예측 모드가 아핀 모델을 사용함으로써 예측 이미지를 취득하는 것인 경우, 비트스트림을 파싱하여 제2 지시 정보를 취득한다. 제2 지시 정보가 1인 경우, 후보 예측 모드 세트는 아핀 병합 모드를 포함하고; 제2 지시 정보가 0인 경우, 후보 예측 모드 세트는 아핀 병합 모드를 포함하지 않으며; 그 외의 경우, 후보 예측 모드 세트는 아핀 병합 모드를 포함하지 않는다.
제2 가능한 구현 예에서, 인접 재구성 블록 중에서 예측 유형이 아핀 예측 인 블록이 존재하는지를 판정한다. 인접 재구성 블록 중에서 예측 유형이 아핀 예측인 블록이 존재하지 않으면, 인코딩될 블록의 후보 예측 모드 세트는 아핀 병합 모드를 포함하지 않거나; 또는 인접 재구성 블록 중에서 예측 유형이 아핀 예측인 블록이 존재하면, 인코딩될 블록의 후보 예측 모드 세트는 아핀 병합 모드를 포함한다.
제3 가능한 구현예에서, 인접 재구성 블록은, 예를 들어 제1 아핀 모드 또는 제2 아핀 모드를 포함하는, 복수의 아핀 모드를 포함하고, 이에 상응하게, 아핀 병합 모드는 제1 아핀 모드를 병합하는 제1 아핀 병합 모드 또는 제2 아핀 모드를 병합하는 제2 아핀 병합 모드를 포함한다. 인접 재구성 블록 중의 제1 아핀 모드, 제2 아핀 모드 및 비아핀 모드의 수량은 통계 수집을 통해 개별적으로 취득되다. 인접 재구성 블록 중에서 제1 아핀 모드가 가장 많은 경우, 후보 예측 모드 세트는 제1 아핀 병합 모드를 포함하고 제2 아핀 병합 모드를 포함하지 않는다. 인접 재구성 블록 중에서 제2 아핀 모드가 가장 많은 경우, 후보 예측 모드 세트는 제2 아핀 병합 모드를 포함하고 제1 아핀 병합 모드를 포함하지 않는다. 인접 재구성 블록 중에서 비 아핀 모드가 가장 많은 경우, 후보 예측 모드 세트는 아핀 병합 모드를 포함하지 않는다.
또는, 제3의 가능한 구현 예에서, 인접 재구성 블록 중에서 제1 아핀 모드가 가장 많은 경우, 후보 예측 모드 세트는 제1 아핀 병합 모드를 포함하고 제2 아핀 병합 모드를 포함하지 않는다. 인접 재구성 블록 중에서 제2 아핀 모드가 가장 많은 경우, 후보 예측 모드 세트는 제2 아핀 병합 모드를 포함하고 제1 아핀 병합 모드를 포함하지 않는다. 인접 재구성 블록 중에서 비 아핀 모드가 가장 많은 경우, 인접 재구성 블록 중에서 제1 아핀 모드 또는 제2 아핀 모드가 두 번째로 많은지를 통계 수집을 통해 취득한다. 제1 아핀 모드가 인접 재구성 블록 중에서 두 번째로 많은 경우, 후보 예측 모드 세트는 제1 아핀 병합 모드를 포함하고 제2 아핀 병합 모드를 포함하지 않는다. 제2 아핀 모드가 인접 재구성 블록 중에서 두 번째로 많은 경우, 후보 예측 모드 세트는 제2 아핀 병합 모드를 포함하고 제1 아핀 병합 모드를 포함하지 않는다.
제4 가능한 구현예에서, 두 조건이 충족하는지를 판정한다: (1) 인접 재구성 블록 중에서 예측 유형이 아핀 모드인 블록이 있는지 여부; 및 (2) 아핀 모드에서 인접 블록의 폭 및 높이가 인코딩될 블록의 폭 및 높이보다 작은지의 여부를 판정한다. 조건 중 하나가 충족되지 않으면, 인코딩될 블록의 후보 예측 모드 세트는 아핀 병합 모드를 포함하지 않는다. 두 조건이 모두 충족되면, 비트스림을 파싱하여 제3 지시 정보를 취득한다. 제3 지시 정보가 1인 경우, 후보 예측 모드 세트는 아핀 병합 모드를 포함하거나, 또는 제3 지시 정보가 0인 경우, 후보 예측 모드 세트는 아핀 병합 모드를 포함하지 않으며; 그 외의 경우, 후보 예측 모드 세트는 아핀 병합 모드를 포함하지 않는다.
이해해야 할 것은, 본 발명의 실시예에서의 판정 조건 (2)는, 아핀 모드에서의 인접 블록의 폭이 인코딩될 블록의 폭보다 작고, 아핀 모드에서의 인접 블록의 높이는 인코딩될 블록의 높이보다 작다는 것을 의미한다. 또는 다른 실시예에서, 상기 판정 조건은, 아핀 모드에서의 인접 블록의 폭이 인코딩될 블록의 폭보다 작거나, 또는 아핀 모드에서의 인접 블록의 높이가 인코딩될 블록의 높이보다 작은 것일 수 있으며, 이에 한정되지 않는다.
제5 가능한 구현에서, 다음 두 조건이 충족되는지를 판정한다: (1) 인접 재구성 블록 중에서 예측 유형이 아핀 모드인 블록이 있는지 여부; 및 (2) 아핀 모드에서의 인접 블록의 폭 및 높이가 인코딩될 블록의 폭 및 높이보다 작은지 여부를 판정한다. 조건 중 하나가 충족되지 않으면, 인코딩될 블록의 후보 예측 모드 세트는 아핀 병합 모드를 포함하지 않는다. 두 조건이 모두 충족되면, 인코딩될 블록의 후보 예측 모드 세트는 아핀 병합 모드를 포함한다.
이해해야 할 것은, 본 발명의 본 실시예에서, 인접 재구성 블록의 예측 유형 및 크기는 현재 인코딩될 블록의 후보 예측 모드 세트를 결정하기 위한 기초로서 사용되고, 그 방법이 인코딩 측에 대응하는 것이기만 하면, 파싱을 통해 취득되는 인접 재구성 블록의 속성 정보가 또한 결정에 사용될 수 있다. 여기서는 이를 한정하지 않는다.
또한 이해해야 할 것은, 제2 가능한 구현과 같은, 예시를 위한, 본 발명의 본 실시예에서의 여러 가능한 구현예에서, 다음 판정 기준이, 인접 재구성 블록 중에서 예측 유형이 아핀 예측인 블록이 존재하는지를 판정하는 데 사용될 있다는 것이다. 예시를 위해, 둘 이상의 인접 블록의 예측 유형이 아핀 모드인 경우, 인코딩될 블록의 후보 예측 모드 세트는 아핀 병합 모드를 포함하고; 그 외의 경우, 인코딩될 블록의 후보 예측 모드 세트는 아핀 병합 모드를 포함하지 않는다. 또는, 예측 유형이 아핀 모드인 인접 블록의 수량은 세 개 이상 또는 네 개 이상일 수 있으며, 이것이 인코딩 측에 대응하기만 하면, 이에 한정되지 않는다.
또한 이해해야 할 것은, 제5 가능한 구현예와 같은, 예시를 위한, 본 발명의 이 실시예에서의 여러 가능한 구현예에서, 두 조건이 충족되는지를 판정한다: (1) 인접 재구성 블록 중에서 예측 유형이 아핀 모드인 블록이 존재하는지 여부; 및 (2) 아핀 모드에서 인접 블록의 폭 및 높이가 인코딩될 블록의 폭 및 높이보다 작은지의 여부를 판정한다. 두 번째 판정 조건은, 설명을 위해, 아핀 모드에서의 인접 블록의 폭과 높이가 인코딩 블록의 폭과 높이의 1/2, 1/3, 또는 1/4 보다 작은지를 판정하는 것일 수 있으며, 이것이 인코딩 측에 대응하기만 하면, 이에 한정되는 것은 아니다.
또한, 본 발명의 본 실시예에서, 0 또는 1로 설정되는 지시 정보는 인코딩 측에 대응한다는 것을 이해해야 한다.
S420. 비트스트림을 파싱하여 제1 지시 정보를 취득한다.
제1 지시 정보는 디코딩될 블록의 예측 모드의 색인 정보를 지시한다. 이 단계는 인코딩 측의 단계 S240에 대응한다.
S430. 제1 지시 정보에 따라, 후보 예측 모드 세트에서, 처리될 이미지 유닛의 예측 모드를 결정한다.
후보 예측 모드의 상이한 세트는 예측 모드의 상이한 리스트에 대응한다.
S410에서 결정된 후보 예측 모드 세트에 대응하는 예측 모드의 리스트는 S420에서 취득된 색인 정보에 따라 검색되므로, 디코딩될 블록의 예측 모드를 발견할 수 있다.
S440. 예측 모드에 따라 처리될 이미지 유닛의 예측 이미지를 결정한다.
구체적인 방법은 S230과 유사하므로 상세한 설명은 생략한다.
도 10은 본 발명의 하나 이상의 기술에 따라, 비디오 데이터를 디코딩하는 다른 비디오 디코더(60)의 일례를 나타낸 블록도이다.
비디오 디코더(60)는 제1 결정 모듈(61), 파싱 모듈(62), 제2 결정 모듈(63) 및 제3 결정 모듈(64)을 포함한다.
제1 결정 모듈(61)은, 처리될 이미지 유닛에 인접한 인접 이미지 유닛에 관한 정보에 따라, 처리될 이미지 유닛의 후보 예측 모드 세트가 아핀 병합 모드를 포함하는지를 판정하는 S410을 수행하도록 구성된다.
파싱 모듈(62)은 비트스트림을 파싱하여 제1 지시 정보를 취득하는 S420를 수행하도록 구성된다.
제2 결정 모듈(63)은 제1 지시 정보에 따라, 후보 예측 모드 세트에서, 처리 될 이미지 유닛에 대한 예측 모드를 결정하는 S430를 수행하도록 구성된다.
제3 결정 모듈(64)은 예측 모드에 따라 처리될 이미 유닛의 예측 모드를 결정하는 S440을 수행하도록 구성된다.
인접 블록들의 움직임 정보는 상관되기 때문에, 현재 블록과 인접 블록이 동일하거나 유사한 예측 모드를 가질 확률이 매우 높다. 본 발명의 본 실시예에서는, 현재 블록의 예측 모드 정보를 인접 블록에 관한 정보를 결정함으로써 도출하므로, 예측 모드의 인코딩 레이트를 감소시키고, 이에 따라 인코딩 효율을 향상시킨다.
도 11은 본 발명의 하나 이상의 기술에 따라, 비디오 데이터를 디코딩하는 비디오 디코더의 동작(500)의 일례를 나타낸 흐름도이다. 도 11의 실시예는 일례로서 제공된다. 다른 예에서, 본 발명의 기술은 도 11의 예에 도시된 것보다 더 많거나, 더 적거나, 또는 상이한 단계들을 사용하여 구현될 수 있다. 도 11의 예시적인 방법에 따르면, 비디오 디코더(20)는 다음 단계를 수행한다.
S510. 비트스트림을 파싱하여 제1 지시 정보를 취득한다
제1 지시 정보는 제1 처리될 이미지 영역의 후보 모드 세트가 아핀 움직임 모델을 포함하는지를 지시한다. 이 단계는 인코딩 측의 단계 S310에 대응한다.
S520. 제1 지시 정보에 따라 제1 처리될 이미지 유닛의 예측 모드 세트를 결정한다.
제1 지시 정보가 0인 경우, 후보 병진 모드 세크가 제1 처리될 이미지 영역의 후보 모드 세트로 사용되며, 여기서 병진 모드는 예측 이미지가 병진 모델을 사용하여 취득되는 예측 모드를 지시한다. 제1 지시 정보가 1인 경우, 후보 병진 모드 세트 및 후보 아핀 모드 세트가 제1 처리될 이미지 영역의 후보 모드 세트로서 사용되며, 여기서 아핀 모드는, 예측 이미지가 아핀 모델을 사용하여 취득되는 예측 모드를 지시한다. 제1 처리될 이미지 영역은, 이미지 프레임 그룹, 이미지 프레임, 이미지 타일 세트, 이미지 슬라이스 세트, 이미지 타일, 이미지 슬라이스, 이미지 인코딩 유닛 세트, 이미지 인코딩 유닛 중 어느 하나일 수 있다. 이에 상응하게, 제1 지시 정보는 이미지 프레임 그룹의 헤더, 예를 들어, 비디오 파라미터 세트(VPS), 시퀀스 파라미터 세트(SPS), 보충 강화 정보(SEI), 또는 이미지 프레임 헤더에 인코딩된다. 예를 들어, 이미지 파라미터 세트(PPS), 이미지 타일 세트의 헤더, 이미지 슬라이스 세트의 헤더, 또는 이미지 타일의 헤더, 또는 예를 들어 이미지 타일 헤더(tile header), 이미지 슬라이스 헤더(slice header), 이미지 인코딩 유닛 세트의 헤더, 또는 이미지 인코딩 유닛의 헤더일 수 있다.
또한 이해해야 할 것은, 이 단계에서의 제1 처리될 이미지 영역은 미리 구성될 수 있거나, 인코딩 프로세스에서 적응적으로 결정될 수 있다는 것이다. 제1 처리될 이미지 영역의 범위의 표현은 인코딩/디코딩 측의 프로토콜로부터 알 수 있거거나, 또는 제1 처리될 이미지 영역의 범위는 송신을 위한 비트스트림 내에 인코딩될 수 있으며, 이것이 인코딩 측에 대응하기만 하면, 이에 한정되되지 않는다.
또한 이해해야 할 것은, 본 발명의 본 실시예에서는, 지시 정보가 0 또는 1로 설정된다는 것은 예시를 위한 것이고, 이것은 인코딩 측에 대응하기만 하면된다다는 것이다.
S530. 비트스트림을 파싱하여 제2 지시 정보를 취득한다.
제2 지시 정보는, 제1 처리될 이미지 영역 내의 처리될 블록의 예측 모드를 지시한다. 이 단계는 인코딩 측의 단계 S340에 대응한다.
S540. 제2 지시 정보에 따라, 제1 처리될 이미지 영역의 후보 예측 모드 세트에서, 처리될 이미지 유닛의 예측 모드를 결정한다.
구체적인 방법은 S320과 유사하며, 자세한 것은 여기서 설명하지 않는다.
S550. 예측 모드에 따라 처리될 이미지 유닛의 예측된 이미지를 결정한다.
구체적인 방법은 S330과 유사하며, 자세한 것은 여기서 설명하지 않는다.
도 12는 본 발명의 하나 이상의 기술에 따라, 비디오 데이터를 디코딩하는 다른 비디오 디코더(70)의 일례를 나타낸 블록도이다.
비디오 디코더(70)는 제1 파싱 모듈(71), 제1 결정 모듈(72), 제2 파싱 모듈(73), 제2 결정 모듈(74) 및 제3 결정 모듈(75)을 포함한다.
제1 파싱 모듈(71)은, 비트스트림을 파싱하려 제1 지시 정보를 취득하는 S510를 수행하도록 구성된다.
제1 결정 모듈(72)은 제1 지시 정보에 따라, 제1 처리될 이미지 영역의 후보 모드 세트를 결정하는 S520을 수행하도록 구성된다.
제2 파싱 모듈(73)은 비트스트림을 파싱하여 제2 지시 정보를 취득하는 S530을 수행하도록 구성된다.
제2 결정 모듈(74)은 제2 지시 정보에 따라, 제1 처리될 이미지 영역의 후보 예측 모드 세트에서, 처리될 이미지 유닛의 예측 모드를 결정하는 S540를 수행하도록 구성된다.
제3 결정 모듈(75)은 예측 모드에 따라 처리될 이미지 유닛의 예측 이미지를 결정하는 S550을 수행하도록 구성된다.
인접 블록들의 움직임 정보는 상관되기 때문에, 동일한 영역에서 병진 움직임만 있고 아핀 움직임이 없을 확률이 매우 높다. 본 발명의 본 실시예에서는, 영역 레벨을 표시하는 후보 예측 모드 세트를 설정하여, 리던던트 모드를 인코딩하는 비트 레이트를 회피함으로써, 인코딩 효율을 향상시킨다.
하나 이상의 실시예에서, 기술한 기능은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합으로 구현될 수 있다. 기능이 소프트웨어로 구현되는 경우, 기능은 하나 이상의 명령어 또는 코드로서, 컴퓨터로 판독할 수 있는 매체에 저장되거나, 컴퓨터로 판독할 수 있는 매체에 의해 전송될 수 있으며, 하드웨어에 기초한 처리리 유닛에 의해 실행된다. 컴퓨터로 판독할 수 있는 매체로는 컴퓨터로 판독할 수 있는 저장 매체(데이터 저장 매체와 같은 유형 매체에 대응함) 또는 통신 매체를 포함할 수 있다. 통신 매체는, 예를 들어 통신 프로토콜에 따라 어느 한 장소에서 다른 장소로, 컴퓨터 프로그램을 사용하여 데이터의 송신을 촉진하는 임의의 매체를 포함한다. 이러한 방식에서, 컴퓨터로 판독할 수 있는 매체는 일반적으로 (1) 비일시적 유형의(non-transitory tangible), 컴퓨터로 판독할 수 있는 저장 매체, 또는 (2) 신호 또는 캐리어와 같은 통신 매체에 대응할 수 있다. 데이터 저장 매체는 본 발명에 기재된 기술을 구현하기 위한 명령어, 코드 및/또는 데이터 구조를 검색하기 위해 하나 이상의 컴퓨터 또는 하나 이상의 프로세서에 의해 액세스될 수 있는 임의의 이용 가능한 매체일 수 있다. 컴퓨터 프로그램 제품은 컴퓨터로 판독할 수 있는 매체를 포함할 수 있다.
한정사항이 아닌 예로서, 컴퓨터로 판독할 수 있는 저장 매체는 RAM, ROM, EEPROM, CD-ROM, 다른 광디스크 스토리지 또는 자기 디스크 스토리지, 다른 자기 스토리지 장치, 플래시 메모리, 또는 명령어 또는 데이터 구조의 형태로 필요한 프로그램 코드를 저장할 수 있고 또한 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체일 수 있다. 또한, 임의의 연결은 적절히 컴퓨터로 판독할 수 있는 매체라고 할 수 있다. 예를 들어, 동축 케이블, 광케이블, 연선, 디지털 가입자 회선(digital subscriber line, DSL), 또는 무선 기술(예: 적외선, 무선, 마이크로파)을 사용하여 웹사이트, 서버 또는 다른 원격 소스로부터 명령어가 송신되면, 동축 케이블, 광케이블, 연선, DSL, 또는 무선 기술(예: 적외선, 무선, 마이크로파)가 매체의 정의에 포함된다. 그러나 이해해야 할 것은, 컴퓨터로 판독할 수 있는 저장 매체 및 데이터 저장 매체는 연결, 캐리어, 신호 또는 다른 일시적인 매체(transitory medium)를 포함하지 않을 수 있지만, 비일시적인 유형의 저장 매체라는 것이다. 본 명세서에서 사용된 디스크 및 광디스크는 CD(Compact Disc), 레이저 디스크, 광디스크, DVD(Digital Versatile Disc), 플로피 디스크 및 블루 레이 디스크를 포함하며, 여기서 디스크(disk)는 일반적으로 데이터를 자기적인 방식(magnetic manner)으로 복제하고, 광디스크는 광학적인 방식(optical manner)으로 레이저를 사용하여 데이터를 복제한다. 전술한 것(object)의 조합이 또한 컴퓨터로 판독할 수 있는 매체의 범위에 더 포함되어야 한다.
명령어는 하나 이상의 디지털 신호 프로세서(DSP), 범용 마이크로 프로세서, ASIC(application-specific integrated circuit), FPGA(field programmable gate array) 또는 다른 등가의 통합되거나 이산된 논리 회로와 같은, 하나 이상의 프로세서에 의해 실행될 수 있다. 따라서, 본 명세서에서 사용된 "프로세서"라는 용어는 전술한 구성 또는 본 명세서에 기재된 기술을 구현하기 위해 적용될 수 있는 임의의 다른 구성을 지칭할 수 있다. 또한, 어떤 측면에서, 본 명세서에 기재된 기능은 인코딩 및 디코딩을 위해 구성된 전용 하드웨어 및/또는 소프트웨어 모듈에 제공되거나, 결합된 코더-디코더에 통합될 수 있다. 또한, 기술은 하나 이상의 회로 또는 논리 요소에 완전하게 구현될 수 있다.
본 발명에서의 기술은 복수의 장치 또는 기기에 의해 광범위하게 구현될 수 있다. 장치 또는 기기는 무선 핸드세트, 집적 회로(IC) 또는 IC 세트(예: 칩 세트)를 포함한다. 본 발명에서는, 개시된 기술을 구현하도록 구성된 장치의 기능을 강조하기 위해 다양한 구성요소, 모듈 및 유닛을 설명하였지만, 기능이 반드시 상이한 하드웨어 유닛에 의해 구현될 필요는 없다. 정확히 말하면, 전술한 바와 같이, 다양한 유닛이 코더-디코더 하드웨어 유닛에 결합될 수 있거나, 적절한 소프트웨어 및/또는 펌웨어 함께 상호운용 가능한(interoperabl) 하드웨어 유닛 세트(전술한 하나 이상의 프로세서를 포함함)에 의해 제공될 수 있다.
이해해야 할 것은, 본 명세서 전체에서 언급된 "하나의 실시예" 또는 "일 실시예"는 실시예와 관련된 특정한 특징, 구조 또는 특성이 본 발명의 적어도 하나의 실시예에 포함된다는 것이다. 따라서, 명세서 전반에 나타나는 "하나의 실시예에서" 또는 "일 실시예에서"는 반드시 동일한 실시예를 가리키는 것이 아닐 수도 있다. 또한, 이러한 특정한 특징, 구조 또는 특성은 임의의 적절한 방식을 사용하여 하나 이상의 실시예에 결합될 수 있다.
이해해야 할 것은, 본 발명의 다양한 실시예에서, 전술한 프로세스의 시퀀스 번호는 실행 시퀀스를 의미하지는 않고, 본 발명의 실시예의 구현 프로세스에 대한 어떠한 제한으로도 해석되어서는 안된다는 것이다. 프로세스의 실행 시퀀스는 프로세스의 기능 및 내부 논리에 따라 결정되어야 한다.
또한, "시스템" 및 "네트워크"라는 용어는 본 명세서에서 상호 교환적으로 사용될 수 있다. 본 명세서에서 용어 "및/또는"은 연관된 대상(object)을 설명하기 위한 연관 관계만을 설명하고 세 가지 관계가 존재할 수 있음을 나타낸다. 예를 들어, A 및/또는 B는 다음 세 가지 경우: A만 존재하는 경우, A와 B가 모두 존재하는 경우 및 B만 존재하는 경우를 나타낼 수 있다. 또한, 본 명세서에서 문자 "/"는 일반적으로 연관된 대상 사이의 "또는(or)" 관계를 나타낸다.
본 발명의 실시예에서 이해해야 할 것은, "A에 대응하는 B"는 B가 A와 연관되어 있고, B는 A에 따라 결정될 수 있음을 나타낸다는 것이다. 그러나 또한 이해해야 할 것은, A에 따라 B를 결정하는 것은, B가 A에 따라서만 결정된다는 것을 의미하지는 않고; B는 A 및/또는 다른 정보에 따라 결정될 수도 있다는 것이다.
당업자라면, 본 명세서에 개시된 실시예에 설명한 예와 함께, 유닛 및 알고리즘 단계를 전자적인 하드웨어, 컴퓨터 소프트웨어 또는 이들의 조합으로 구현할 수 있음을 알 수 있을 것이다. 하드웨어와 소프트웨어 간의 상호 호환성을 명확하게 설명하기 위해, 이상의 설명에서는 기능에 따라 각각의 예의 구성 및 단계를 일반적으로 설명하였다. 기능이 하드웨어 또는 소프트웨어에 의해 수행되는지는 기술적 방안의 구체적인 애플리케이션 및 설계 제약 조건에 따라 달라진다. 당업자는 구체적인 애플리케이션 각각에 대해 설명한 기능을 구현하기 위해 다른 방법을 사용할 수도 있지만, 그러한 구현이 본 발명의 범위를 벗어나는 것으로 생각되어서는 안 된다.
당업자라면, 편의 및 간략한 설명을 위해, 전술한 시스템, 장치 및 유닛의 세부 작동 프로세스에 대해서는 전술한 방법 실시예에서의 대응하는 프로세스를 참고할 수 있고, 자세한 것은 여기서 설명하지 않는다는 것을 명백히 이해할 수 있을 것이다.
본 출원에 제공된 여러 실시예에서, 개시된 시스템, 장치 및 방법은 다른 방식으로도 구현될 수 있음을 이해해야 한다. 예를 들어, 설명된 장치 실시예는 일례에 불과하다. 예를 들어, 유닛의 분할은 논리 기능 분할일 뿐이고, 실제 구현에서는 다른 분할일 수 있다. 예를 들어, 복수의 유닛 또는 구성요소는 다른 시스템에 결합 또는 통합될 수 있거나, 또는 일부 특징은 무시되거나 수행되지 않을 수 있다. 또한, 표시되거나 논의된 상호 결합 또는 직접 결합 또는 통신 연결은 소정의 인터페이스로 구현될 수 있다. 장치 또는 유닛 사이의 간접 결합 또는 통신 연결은 전자적, 기계적 또는 다른 형태로 구현될 수 있다.
별개의 부분(separate part)으로서 설명된 유닛은, 물리적으로 분리될 수도 분리될 수 없을 수도 있으며, 유닛으로 표시된 부분은 물리적인 유닛일 수도 물리적인 유닛이 아닐 수도 있으며, 한 장소에 위치할 수 있거나, 또는 복수의 네트워크 유닛에 분산될 수도 있다. 유닛의 일부 또는 전부는 실시예의 방안의 목적을 달성하기 위한 실제 필요에 따라 선택될 수 있다.
또한, 본 발명의 실시예에서의 기능 유닛들은 하나의 처리 유닛에 통합될 수 있거나, 또는 각각의 유닛이 물리적으로 단독으로 존재할 수 있거나, 둘 이상의 유닛이 하나의 유닛으로 통합된다.
이상의 설명은 단지 본 발명의 구체적인 구현예에 불과하고, 본 발명의 보호 범위를 한정하는 것은 아니다. 본 발명에 개시된 기술 범위 내에서 당업자가 쉽게 생각해낼 수 있는 변형 또는 대체는 본 발명의 보호 범위에 속한다. 따라서, 본 발명의 보호 범위는 청구범위의 보호 범위를 따라야 한다.

Claims (9)

  1. 예측 이미지를 디코딩하는 방법으로서,
    비트스트림을 파싱하여 제1 지시 정보를 취득하는 단계;
    상기 제1 지시 정보에 따라 제1 처리될 이미지 영역의 후보 모드 세트를 결정하는 단계 - 상기 제1 지시 정보는 상기 제1 처리될 이미지 영역의 후보 모드 세트 내에 아핀(affine) 모드가 있는지 여부를 나타냄 - ;
    상기 비트스트림을 파싱하여 제2 지시 정보를 취득하는 단계;
    상기 제2 지시 정보에 따라, 상기 제1 처리될 이미지 영역의 후보 예측 모드 세트에서, 처리될 이미지 유닛의 예측 모드를 결정하는 단계 - 상기 처리될 이미지 유닛은 상기 제1 처리될 이미지 영역에 속함 -; 및
    상기 예측 모드에 따라 상기 처리될 이미지 유닛의 예측 이미지를 결정하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서,
    상기 제1 처리될 이미지 영역은 이미지 시퀀스, 또는 이미지 픽처, 또는 이미지 타일 세트, 또는 이미지 슬라이스 세트, 또는 이미지 타일, 또는 이미지 슬라이스, 또는 이미지 인코딩 유닛 세트, 또는 이미지 인코딩 유닛을 포함하는, 방법.
  3. 예측 이미지를 인코딩하는 방법으로서,
    제1 처리될 이미지 영역의 후보 모드 세트를 결정하는 단계;
    상기 제1 처리될 이미지 영역의 후보 예측 모드 세트에서, 처리될 이미지 유닛의 예측 모드를 결정하는 단계 - 상기 처리될 이미지 유닛은 상기 제1 처리될 이미지 영역에 속함 -;
    상기 예측 모드에 따라 상기 처리될 이미지 유닛의 예측 이미지를 결정하는 단계; 및
    제1 지시 정보와 제2 지시 정보를 비트스트림 내에 인코딩하는 단계 - 상기 제1 지시 정보는 상기 제1 처리될 이미지 영역의 후보 모드 세트 내에 아핀(affine) 모드가 있는지 여부를 나타내고, 상기 제2 지시 정보는 상기 예측 모드를 지시함 -
    를 포함하는 방법.
  4. 제3항에 있어서,
    상기 제1 처리될 이미지 영역은 이미지 시퀀스, 또는 이미지 픽처, 또는 이미지 타일 세트, 또는 이미지 슬라이스 세트, 또는 이미지 타일, 또는 이미지 슬라이스, 또는 이미지 인코딩 유닛 세트, 또는 이미지 인코딩 유닛을 포함하는, 방법.
  5. 예측 이미지를 디코딩하는 장치로서,
    비트스트림을 파싱하여 제1 지시 정보를 취득하도록 구성된 제1 파싱 모듈;
    상기 제1 지시 정보에 따라 제1 처리될 이미지 영역의 후보 모드 세트를 결정하도록 구성된 제1 결정 모듈 - 상기 제1 지시 정보는 상기 제1 처리될 이미지 영역의 후보 모드 세트 내에 아핀(affine) 모드가 있는지 여부를 나타냄 -;
    상기 비트스트림을 파싱하여 제2 지시 정보를 취득하도록 구성된 제2 파싱 모듈;
    상기 제2 지시 정보에 따라, 상기 제1 처리될 이미지 영역의 후보 예측 모드 세트에서, 처리될 이미지 유닛의 예측 모드를 결정하도록 구성된 제2 결정 모듈 - 상기 처리될 이미지 유닛은 상기 제1 처리될 이미지 영역에 속함 -; 및
    상기 예측 모드에 따라 상기 처리될 이미지 유닛의 예측 이미지를 결정하도록 구성된 제3 결정 모듈
    을 포함하는 장치.
  6. 제5항에 있어서,
    상기 제1 처리될 이미지 영역은 이미지 시퀀스, 또는 이미지 픽처, 또는 이미지 타일 세트, 또는 이미지 슬라이스 세트, 또는 이미지 타일, 또는 이미지 슬라이스, 또는 이미지 인코딩 유닛 세트, 또는 이미지 인코딩 유닛을 포함하는, 장치.
  7. 예측 이미지를 인코딩하는 장치로서,
    제1 처리될 이미지 영역의 후보 모드 세트를 결정하도록 구성된 제1 인코딩 모듈;
    상기 제1 처리될 이미지 영역의 후보 예측 모드 세트에서, 성능 및 가격 중 적어도 하나에 기초하여 처리될 이미지 유닛의 예측 모드를 결정하도록 구성된 제1 결정 모듈 - 상기 처리될 이미지 유닛은 상기 제1 처리될 이미지 영역에 속함 -;
    상기 예측 모드에 따라 상기 처리될 이미지 유닛의 예측 이미지를 결정도록 구성된 제2 결정 모듈; 및
    제1 지시 정보와 제2 지시 정보를 비트스트림 내에 인코딩하도록 구성된 제2 인코딩 모듈 - 상기 제1 지시 정보는 상기 제1 처리될 이미지 영역의 후보 모드 세트 내에 아핀(affine) 모드가 있는지 여부를 나타내고, 상기 제2 지시 정보는 상기 예측 모드를 지시함 -
    을 포함하는 장치.
  8. 제7항에 있어서,
    상기 제1 처리될 이미지 영역은 이미지 시퀀스, 또는 이미지 픽처, 또는 이미지 타일 세트, 또는 이미지 슬라이스 세트, 또는 이미지 타일, 또는 이미지 슬라이스, 또는 이미지 인코딩 유닛 세트, 또는 이미지 인코딩 유닛 중 하나를 포함하는, 장치.
  9. 제1항 내지 제4항 중 어느 한 항의 방법에 의해 인코딩/디코딩되는 비트스트림을 포함하는 비-일시적인 컴퓨터 판독 가능 저장 매체.
KR1020207014280A 2015-09-29 2016-09-08 이미지 예측 방법 및 장치 KR102240141B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201510632589.1A CN106559669B (zh) 2015-09-29 2015-09-29 预测图像编解码方法及装置
CN201510632589.1 2015-09-29
PCT/CN2016/098464 WO2017054630A1 (zh) 2015-09-29 2016-09-08 图像预测的方法及装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020187008717A Division KR102114764B1 (ko) 2015-09-29 2016-09-08 이미지 예측 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20200057120A KR20200057120A (ko) 2020-05-25
KR102240141B1 true KR102240141B1 (ko) 2021-04-13

Family

ID=58414556

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020187008717A KR102114764B1 (ko) 2015-09-29 2016-09-08 이미지 예측 방법 및 장치
KR1020207014280A KR102240141B1 (ko) 2015-09-29 2016-09-08 이미지 예측 방법 및 장치

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020187008717A KR102114764B1 (ko) 2015-09-29 2016-09-08 이미지 예측 방법 및 장치

Country Status (13)

Country Link
US (2) US11323736B2 (ko)
EP (1) EP3331243B1 (ko)
JP (4) JP6669859B2 (ko)
KR (2) KR102114764B1 (ko)
CN (3) CN108965871B (ko)
AU (1) AU2016333221B2 (ko)
BR (1) BR112018006271B1 (ko)
MX (1) MX2018003764A (ko)
MY (1) MY196371A (ko)
RU (1) RU2697726C1 (ko)
SG (1) SG11201801863QA (ko)
WO (1) WO2017054630A1 (ko)
ZA (1) ZA201801541B (ko)

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108965871B (zh) * 2015-09-29 2023-11-10 华为技术有限公司 图像预测的方法及装置
WO2018124627A1 (ko) * 2016-12-27 2018-07-05 삼성전자 주식회사 부호화 방법 및 그 장치, 복호화 방법 및 그 장치
US10630994B2 (en) * 2017-06-28 2020-04-21 Agora Lab, Inc. Specific operation prediction in video compression
US10979718B2 (en) * 2017-09-01 2021-04-13 Apple Inc. Machine learning video processing systems and methods
US10609384B2 (en) * 2017-09-21 2020-03-31 Futurewei Technologies, Inc. Restriction on sub-block size derivation for affine inter prediction
EP3468195A1 (en) 2017-10-05 2019-04-10 Thomson Licensing Improved predictor candidates for motion compensation
US20190208211A1 (en) * 2018-01-04 2019-07-04 Qualcomm Incorporated Generated affine motion vectors
US20190222834A1 (en) * 2018-01-18 2019-07-18 Mediatek Inc. Variable affine merge candidates for video coding
WO2019234598A1 (en) 2018-06-05 2019-12-12 Beijing Bytedance Network Technology Co., Ltd. Interaction between ibc and stmvp
EP4307671A3 (en) 2018-06-21 2024-02-07 Beijing Bytedance Network Technology Co., Ltd. Sub-block mv inheritance between color components
TWI739120B (zh) 2018-06-21 2021-09-11 大陸商北京字節跳動網絡技術有限公司 合併仿射模式與非合併仿射模式的統一拘束
KR20210024487A (ko) * 2018-07-01 2021-03-05 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 효율적인 아핀 병합 모션 벡터 유도
CN110677645B (zh) * 2018-07-02 2022-06-10 华为技术有限公司 一种图像预测方法及装置
US10516885B1 (en) * 2018-07-11 2019-12-24 Tencent America LLC Method and apparatus for video coding
DK3815377T3 (da) 2018-07-16 2023-04-03 Huawei Tech Co Ltd Videokoder, videoafkoder og tilsvarende kodnings- og afkodningsfremgangsmåder
CN110868587B (zh) 2018-08-27 2023-10-20 华为技术有限公司 一种视频图像预测方法及装置
CN117241039A (zh) * 2018-08-28 2023-12-15 华为技术有限公司 帧间预测方法、装置以及视频编码器和视频解码器
CN112673640A (zh) * 2018-08-30 2021-04-16 华为技术有限公司 使用调色板译码的编码器、解码器和相应方法
KR102573250B1 (ko) * 2018-09-12 2023-08-30 후아웨이 테크놀러지 컴퍼니 리미티드 델타 화상 순서 카운트에 대한 사인값 및 절대값 시그널링
BR122023024004A2 (pt) 2018-09-18 2023-12-26 Huawei Technologies Co., Ltd. Codificador de vídeo, decodificador de vídeo e métodos correspondentes
WO2020057530A1 (en) 2018-09-18 2020-03-26 Huawei Technologies Co., Ltd. Coding method, device, system
GB2579763B (en) 2018-09-21 2021-06-09 Canon Kk Video coding and decoding
GB2597616B (en) * 2018-09-21 2023-01-18 Canon Kk Video coding and decoding
GB2577318B (en) * 2018-09-21 2021-03-10 Canon Kk Video coding and decoding
EP3854078A1 (en) * 2018-09-21 2021-07-28 InterDigital VC Holdings, Inc. Translational and affine candidates in a unified list
CN117768651A (zh) 2018-09-24 2024-03-26 北京字节跳动网络技术有限公司 处理视频数据的方法、装置、介质、以及比特流存储方法
WO2020070729A1 (en) * 2018-10-06 2020-04-09 Beijing Bytedance Network Technology Co., Ltd. Size restriction based on motion information
WO2020077003A1 (en) 2018-10-10 2020-04-16 Interdigital Vc Holdings, Inc. Affine mode signaling in video encoding and decoding
GB2595054B (en) 2018-10-18 2022-07-06 Canon Kk Video coding and decoding
GB2595053B (en) * 2018-10-18 2022-07-06 Canon Kk Video coding and decoding
CN111107373B (zh) * 2018-10-29 2023-11-03 华为技术有限公司 基于仿射预测模式的帧间预测的方法及相关装置
CN111107354A (zh) 2018-10-29 2020-05-05 华为技术有限公司 一种视频图像预测方法及装置
CN112997480B (zh) 2018-11-10 2023-08-22 北京字节跳动网络技术有限公司 成对平均候选计算中的取整
CN112997487A (zh) * 2018-11-15 2021-06-18 北京字节跳动网络技术有限公司 仿射模式与其他帧间编解码工具之间的协调
WO2020098810A1 (en) * 2018-11-17 2020-05-22 Beijing Bytedance Network Technology Co., Ltd. Merge with motion vector difference in video processing
CN111263147B (zh) * 2018-12-03 2023-02-14 华为技术有限公司 帧间预测方法和相关装置
WO2020125751A1 (en) * 2018-12-21 2020-06-25 Beijing Bytedance Network Technology Co., Ltd. Information signaling in current picture referencing mode
CN111526362B (zh) * 2019-02-01 2023-12-29 华为技术有限公司 帧间预测方法和装置
CN113597767A (zh) 2019-03-08 2021-11-02 Oppo广东移动通信有限公司 预测方法、编码器、解码器及计算机存储介质
WO2020181471A1 (zh) * 2019-03-11 2020-09-17 Oppo广东移动通信有限公司 帧内预测方法、装置及计算机存储介质
CN117793374A (zh) * 2019-03-12 2024-03-29 Lg电子株式会社 图像编码/解码设备以及发送数据的设备
CN118118688A (zh) * 2019-03-18 2024-05-31 华为技术有限公司 基于三角预测单元模式的处理方法及装置
KR20220009952A (ko) * 2019-05-21 2022-01-25 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 서브블록 머지 모드에서의 신택스 시그널링
CN113411591B (zh) * 2019-06-21 2022-03-11 杭州海康威视数字技术股份有限公司 预测模式的解码、编码方法及装置
US11132780B2 (en) * 2020-02-14 2021-09-28 Huawei Technologies Co., Ltd. Target detection method, training method, electronic device, and computer-readable medium
CN112822514B (zh) * 2020-12-30 2022-06-28 北京大学 基于依赖关系的视频流分组传输方法、系统、终端及介质
CN112801906B (zh) * 2021-02-03 2023-02-21 福州大学 基于循环神经网络的循环迭代图像去噪方法
US20230412794A1 (en) * 2022-06-17 2023-12-21 Tencent America LLC Affine merge mode with translational motion vectors

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3654664B2 (ja) 1994-08-23 2005-06-02 シャープ株式会社 画像符号化装置及び画像復号装置
JP3681342B2 (ja) * 2000-05-24 2005-08-10 三星電子株式会社 映像コーディング方法
JP4245587B2 (ja) * 2005-06-22 2009-03-25 シャープ株式会社 動き補償予測方法
US9258519B2 (en) 2005-09-27 2016-02-09 Qualcomm Incorporated Encoder assisted frame rate up conversion using various motion models
JP2012080151A (ja) 2009-02-09 2012-04-19 Toshiba Corp 幾何変換動き補償予測を用いる動画像符号化及び動画像復号化の方法と装置
US20100246675A1 (en) * 2009-03-30 2010-09-30 Sony Corporation Method and apparatus for intra-prediction in a video encoder
WO2011013253A1 (ja) * 2009-07-31 2011-02-03 株式会社 東芝 幾何変換動き補償予測を用いる予測信号生成装置、動画像符号化装置及び動画像復号化装置
KR101611437B1 (ko) 2009-10-28 2016-04-26 삼성전자주식회사 복수의 프레임을 참조하여 영상을 부호화, 복호화하는 방법 및 장치
US8179446B2 (en) * 2010-01-18 2012-05-15 Texas Instruments Incorporated Video stabilization and reduction of rolling shutter distortion
KR102108078B1 (ko) 2010-05-26 2020-05-08 엘지전자 주식회사 비디오 신호의 처리 방법 및 장치
CN102377992B (zh) * 2010-08-06 2014-06-04 华为技术有限公司 运动矢量的预测值的获取方法和装置
ES2955542T3 (es) * 2010-11-04 2023-12-04 Ge Video Compression Llc Codificación de instantánea que soporta unión de bloques y modo de salto
CN105847830B (zh) * 2010-11-23 2019-07-12 Lg电子株式会社 由编码装置和解码装置执行的间预测方法
US9319716B2 (en) 2011-01-27 2016-04-19 Qualcomm Incorporated Performing motion vector prediction for video coding
CA2830242C (en) * 2011-03-21 2016-11-22 Qualcomm Incorporated Bi-predictive merge mode based on uni-predictive neighbors in video coding
US9282338B2 (en) 2011-06-20 2016-03-08 Qualcomm Incorporated Unified merge mode and adaptive motion vector prediction mode candidates selection
JP6178326B2 (ja) * 2011-11-11 2017-08-09 ジーイー ビデオ コンプレッション エルエルシー デプスマップの推定および更新を用いる効率的なマルチビュー符号化
US9420285B2 (en) * 2012-04-12 2016-08-16 Qualcomm Incorporated Inter-layer mode derivation for prediction in scalable video coding
EP2683165B1 (en) * 2012-07-04 2015-10-14 Thomson Licensing Method for coding and decoding a block of pixels from a motion model
WO2016008157A1 (en) * 2014-07-18 2016-01-21 Mediatek Singapore Pte. Ltd. Methods for motion compensation using high order motion model
CN112087630B (zh) * 2014-09-30 2022-04-08 华为技术有限公司 图像预测方法、装置、解码器及存储介质
CN104363451B (zh) 2014-10-27 2019-01-25 华为技术有限公司 图像预测方法及相关装置
CN104661031B (zh) * 2015-02-16 2017-12-22 华为技术有限公司 用于视频图像编码和解码的方法、编码设备和解码设备
US10856001B2 (en) * 2015-02-24 2020-12-01 Lg Electronics Inc. Polygon unit-based image processing method, and device for same
CN106303543B (zh) 2015-05-15 2018-10-30 华为技术有限公司 视频图像编码和解码的方法、编码设备和解码设备
CN106331722B (zh) 2015-07-03 2019-04-26 华为技术有限公司 图像预测方法和相关设备
US10728571B2 (en) * 2015-08-04 2020-07-28 Lg Electronics Inc. Inter prediction method and device in video coding system
CN108600749B (zh) 2015-08-29 2021-12-28 华为技术有限公司 图像预测的方法及设备
CN108965871B (zh) 2015-09-29 2023-11-10 华为技术有限公司 图像预测的方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Mathew, Reji, and David S. Taubman. "Quad-tree motion modeling with leaf merging." IEEE Transactions on Circuits and Systems for Video Technology 20.10 (2010): 1331-1345.

Also Published As

Publication number Publication date
BR112018006271A2 (pt) 2018-10-16
MX2018003764A (es) 2018-07-06
AU2016333221A1 (en) 2018-03-29
EP3331243A4 (en) 2018-07-18
US20220094969A1 (en) 2022-03-24
RU2019124468A (ru) 2019-09-03
RU2697726C1 (ru) 2019-08-19
CN109274974B (zh) 2022-02-11
JP2021119709A (ja) 2021-08-12
ZA201801541B (en) 2019-08-28
KR20200057120A (ko) 2020-05-25
SG11201801863QA (en) 2018-04-27
CN108965871A (zh) 2018-12-07
EP3331243B1 (en) 2021-04-21
KR102114764B1 (ko) 2020-05-25
US20180205965A1 (en) 2018-07-19
US11323736B2 (en) 2022-05-03
JP6882560B2 (ja) 2021-06-02
KR20180043830A (ko) 2018-04-30
JP2024020203A (ja) 2024-02-14
JP2018533261A (ja) 2018-11-08
BR112018006271B1 (pt) 2021-01-26
JP7368414B2 (ja) 2023-10-24
JP6669859B2 (ja) 2020-03-18
CN106559669B (zh) 2018-10-09
CN108965871B (zh) 2023-11-10
MY196371A (en) 2023-03-27
AU2016333221B2 (en) 2019-10-03
JP2020092457A (ja) 2020-06-11
CN106559669A (zh) 2017-04-05
EP3331243A1 (en) 2018-06-06
CN109274974A (zh) 2019-01-25
WO2017054630A1 (zh) 2017-04-06

Similar Documents

Publication Publication Date Title
KR102240141B1 (ko) 이미지 예측 방법 및 장치
US9699472B2 (en) Restriction of prediction units in B slices to uni-directional inter prediction
US9736489B2 (en) Motion vector determination for video coding
RU2584498C2 (ru) Видеокодирование интра-режима
US9426463B2 (en) Restriction of prediction units in B slices to uni-directional inter prediction
US20130070848A1 (en) Line buffer reduction for short distance intra-prediction
WO2015031806A1 (en) Constrained intra prediction in video coding
TW201937926A (zh) 在視訊寫碼中用於適應性算術寫碼之機率初始化及發信號
TW201517599A (zh) 內部運動補償延伸
US9674527B2 (en) Implicit derivation of parallel motion estimation range size
CN112514386A (zh) 网格编解码量化系数编解码
US11601667B2 (en) Inter prediction method and related apparatus
RU2804871C2 (ru) Способ и устройство предсказания изображений

Legal Events

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