KR20200134319A - 비디오 이미지 처리 방법 및 장치 - Google Patents

비디오 이미지 처리 방법 및 장치 Download PDF

Info

Publication number
KR20200134319A
KR20200134319A KR1020207031587A KR20207031587A KR20200134319A KR 20200134319 A KR20200134319 A KR 20200134319A KR 1020207031587 A KR1020207031587 A KR 1020207031587A KR 20207031587 A KR20207031587 A KR 20207031587A KR 20200134319 A KR20200134319 A KR 20200134319A
Authority
KR
South Korea
Prior art keywords
motion vector
block
image block
current image
candidate
Prior art date
Application number
KR1020207031587A
Other languages
English (en)
Inventor
샤오전 정
쑤훙 왕
산서 왕
씨웨이 마
Original Assignee
에스지 디제이아이 테크놀러지 코., 엘티디
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from PCT/CN2018/112805 external-priority patent/WO2019192170A1/zh
Application filed by 에스지 디제이아이 테크놀러지 코., 엘티디 filed Critical 에스지 디제이아이 테크놀러지 코., 엘티디
Priority claimed from PCT/CN2019/078051 external-priority patent/WO2019192301A1/zh
Publication of KR20200134319A publication Critical patent/KR20200134319A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • 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/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • 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/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • 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/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/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/56Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search
    • 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/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
    • 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/58Motion compensation with long-term prediction, i.e. the reference frame for a current frame not being the temporally closest one
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Landscapes

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

Abstract

비디오 이미지 처리 방법 및 장치를 제공하며, 상기 방법은, 현재 이미지 블록의 미리 설정된 M개 인접 블록 중의 N개 인접 블록을 차례로 스캔하고, 스캔 결과에 따라 목표 인접 블록을 결정하는 단계로서, N은 M보다 작은 단계; 상기 목표 인접 블록의 움직임 벡터, 상기 현재 이미지 블록 및 상기 현재 이미지 블록의 참조 이미지에 따라, 상기 현재 이미지 블록의 관련 블록을 결정하는 단계; 상기 현재 이미지 블록 및 상기 관련 블록을 동일한 방식으로 복수의 서브 이미지 블록으로 분할하고, 상기 현재 이미지 블록 중의 각 서브 이미지 블록과 상기 관련 블록 중의 각 서브 이미지 블록을 일대일 대응시키는 단계; 상기 관련 블록 중 각 서브 이미지 블록의 움직임 벡터에 따라 상기 현재 이미지 블록 중 대응되는 서브 이미지 블록을 각각 예측하는 단계를 포함한다. 부호화/복호화 성능을 보장하는 전제 하에서, 복잡성을 감소시킬 수 있다.

Description

비디오 이미지 처리 방법 및 장치
본 출원은 PCT/CN2018/081652, PCT/CN2018/095710, PCT/CN2018/103693, PCT/CN2018/107436 및 PCT/CN2018/112805호 PCT출원의 우선권을 주장하며 모든 내용은 본 출원에 원용된다.
본 특허 문서에 개시된 내용은 저작권으로 보호되는 재료가 포함된다. 저작권은 저작권 소유자에게 있다. 저작권 소유자는 전리국 및 상표국의 공식 기록 및 문서에 존재하는 해당 특허 문서 또는 특허 공개 내용을 복사하는 것을 반대하지 않는다.
본 출원은 비디오 부호화/복호화 분야에 관한 것으로, 구체적으로 비디오 이미지 처리 방법 및 장치에 관한 것이다.
현재, 주요 비디오 부호화 표준은 인터 예측부에서 모두 블록의 움직임에 기초한 보상 기술을 사용하였고, 주요 원리는 현재 이미지 블록에 대해 부호화된 이미지 중에서 가장 유사한 블록을 찾는 것이고, 해당 과정을 움직임 보상이라고 한다. 예를 들면, 한 프레임의 이미지에 대해, 먼저 동일한 크기의 부호화 영역(Coding Tree Unit, CTU)으로 나눈다(예를 들면 크기는 64×64 또는 128×128이다). 각 CTU는 정사각형 또는 직사각형의 부호화 단위(Coding Unit, CU)로 더 분할될 수 있다. 각 CU는 참조 프레임 중에서(일반적으로 현재 프레임의 시간적으로 근접한 재구성 프레임이다) 가장 유사한 블록을 찾아 현재 CU의 예측 블록으로 한다. 현재 블록(즉 현재 CU)과 유사 블록(즉 현재 CU의 예측 블록) 사이의 상대적 변위를 움직임 벡터(Motion Vector, MV)라고 한다. 참조 프레임에서 가장 유사한 블록을 찾아 현재 블록의 예측 블록으로 하는 과정이 바로 움직임 보상이다.
현재 기술에서, 일반적으로 두 가지 방식에 따라 현재 CU의 움직임 벡터 후보 리스트를 구축하고, 움직임 벡터 후보 리스트는 merge후보 리스트하고도 한다. 움직임 벡터 후보 리스트에는 공간적 후보 움직임 벡터가 포함되고, 일반적으로 현재 CU의 부호화된 인접 블록의 움직임 벡터(또는 움직임 정보)를 움직임 벡터 후보 리스트에 채운다. 움직임 벡터 후보 리스트는 시간적 후보 움직임 벡터를 더 포함하고, 시간적 움직임 벡터 예측(Temproal Motion Vector Prediction, TMVP)은 현재 CU의 부호화된 인접 이미지 중 대응하는 위치의 CU(즉 동일 위치 CU)의 움직임 벡터(또는 움직임 정보)를 이용한다. merge후보 리스트에서 최적의 후보 움직임 벡터를 선택하여 현재 CU의 움직임 벡터로 하고, 현재 CU의 움직임 벡터에 따라 현재 CU의 예측 블록을 결정한다.
고급/선택 가능한 시간적 움직임 벡터 예측 기술(Advanced/Alternative temporal motion vector prediction, ATMVP)은 움직임 벡터 예측 메커니즘이다. ATMVP 기술의 기본 사상은 현재 CU 내의 복수의 서브 블록의 움직임 정보를 획득하여 움직임 보상을 진행하는 것이다. ATMVP 기술은 구축하는 후보 리스트(예를 들면 merge후보 리스트 또는 AMVP(Advanced Motion Vector Prediction)후보 리스트)에 현재 CU 내의 복수의 서브 블록의 움직임 정보를 도입하여 후보로 한다. ATMVP 기술의 구현은 크게 두 단계로 나눌 수 있다. 첫 번째 단계는, 스캔현재 CU의 후보 움직임 벡터 리스트 또는 현재 CU의 인접 이미지 블록의 움직임 벡터를 스캔하여, 하나의 시간적 벡터를 결정하는 것이고, 두 번째 단계는, 현재 CU를 N×N(N은 기본적으로 4이다)인 서브 블록(sub-CU)으로 분할하고, 첫 번째 단계에서 획득한 시간적 벡터에 따라 각 서브 블록의 참조 프레임 중의 대응 블록을 결정하고, 또한 각 서브 블록의 참조 프레임 중의 대응 블록의 움직임 벡터에 따라, 각 서브 블록의 움직임 벡터를 결정하는 것이다.
현재 ATMVP 기술의 첫 번째 단계에서, 현재 CU의 후보 움직임 벡터 리스트 또는 현재 CU의 인접 이미지 블록의 움직임 벡터를 스캔하여, 하나의 시간적 벡터를 결정하는 과정은 개선의 여지가 있다. 현재 ATMVP 기술의 두 번째 단계에서 sub-CU의 크기에 대해 프레임 레벨 자기 적응 설정을 진행하였고, 기본 크기는 4×4이다. 특정된 미리 설정된 조건을 만족하면, sub-CU의 크기는 8×8로 설정된다. sub-CU의 크기의 설정은 현재 움직임 정보 저장 입도(8×8)와 매칭되지 않는 문제가 존재한다. ATMVP 기술과 TMVP 기술은 경우에 따라 리던던시 동작이 존재하고, 후보 움직임 벡터 리스트를 구성하는 과정에서 개선의 여지가 있다.
본 출원은 종래 ATMVP 기술의 성능 이득을 유지하는 전제하에, ATMVP 기술의 복잡성을 줄일 수 있는 비디오 이미지 처리 방법 및 장치를 제공한다.
제1 측면에서,
현재 이미지 블록의 미리 설정된 M개 인접 블록 중의 N개 인접 블록을 차례로 스캔하고, 스캔 결과에 따라 목표 인접 블록을 결정하는 단계로서, N은 M보다 작은 단계;
상기 목표 인접 블록의 움직임 벡터, 상기 현재 이미지 블록 및 상기 현재 이미지 블록의 참조 이미지에 따라, 상기 현재 이미지 블록의 관련 블록을 결정하는 단계;
상기 현재 이미지 블록 및 상기 관련 블록을 동일한 방식으로 복수의 서브 이미지 블록으로 분할하고, 상기 현재 이미지 블록 중의 각 서브 이미지 블록과 상기 관련 블록 중의 각 서브 이미지 블록을 일대일 대응시키는 단계;
상기 관련 블록 중 각 서브 이미지 블록의 움직임 벡터에 따라 상기 현재 이미지 블록 중 대응되는 서브 이미지 블록을 각각 예측하는 단계; 를 포함하는 비디오 이미지 처리 방법을 제공한다.
본 출원에서 제공한 방안에서, 현재 이미지 블록의 참조 움직임 벡터를 획득하는 과정에서, 이미 획득한 M개 후보 움직임 벡터 중의 N(N은 M보다 작다)개 후보 움직임 벡터만 차례로 스캔하며, 종래 기술과 비교했을 때, 현재 이미지 블록의 참조 움직임 벡터를 획득하는 과정에서 후보 움직임 벡터에 대한 스캔 횟수를 줄일 수 있다. 이해해야 할 것은, 본 출원에서 제공한 방안을 종래 ATMVP 기술의 첫 번째 단계에 응용할 경우, 존재하는 리던던시 동작을 간소화 할 수 있다.
제2 측면에서,
현재 이미지 블록의 움직임 벡터 제2 후보 리스트 중의 M개 후보에 따라 상기 현재 이미지 블록의 M개 인접 블록을 결정하는 단계;
상기 M개 인접 블록 중의 N개 인접 블록을 차례로 스캔하고, 스캔 결과에 따라 목표 인접 블록을 결정하는 단계로서, N은 M보다 작은 단계;
상기 목표 인접 블록의 움직임 벡터, 상기 현재 이미지 블록 및 상기 현재 이미지 블록의 참조 이미지에 따라, 상기 현재 이미지 블록의 관련 블록을 결정하는 단계;
상기 현재 이미지 블록의 관련 블록에 따라 상기 현재 이미지 블록의 움직임 벡터 제1 후보 리스트 중의 특정 후보를 결정하는 단계;
상기 특정 후보를 사용하는 것으로 결정할 경우, 상기 현재 이미지 블록 및 상기 관련 블록을 동일한 방식으로 복수의 서브 이미지 블록으로 분할하고, 상기 현재 이미지 블록 중의 각 서브 이미지 블록과 상기 관련 블록 중의 각 서브 이미지 블록을 일대일 대응시키는 단계;
상기 관련 블록 중 각 서브 이미지 블록의 움직임 벡터에 따라 상기 현재 이미지 블록 중 대응되는 서브 이미지 블록을 각각 예측하는 단계; 를 포함하는 비디오 이미지 처리 방법을 제공한다.
제3 측면에서,
현재 이미지 블록의 미리 설정된 M개 인접 블록 중의 N개 인접 블록을 차례로 스캔하고, 스캔 결과에 따라 목표 인접 블록을 결정하며, N은 M보다 작고; 상기 목표 인접 블록의 움직임 벡터, 상기 현재 이미지 블록 및 상기 현재 이미지 블록의 참조 이미지에 따라, 상기 현재 이미지 블록의 관련 블록을 결정하며; 상기 현재 이미지 블록 및 상기 관련 블록을 동일한 방식으로 복수의 서브 이미지 블록으로 분할하고, 상기 현재 이미지 블록 중의 각 서브 이미지 블록과 상기 관련 블록 중의 각 서브 이미지 블록을 일대일 대응시키는 구축 모듈;
상기 관련 블록 중 각 서브 이미지 블록의 움직임 벡터에 따라 상기 현재 이미지 블록 중 대응되는 서브 이미지 블록을 각각 예측하는 예측 모듈; 을 포함하는, 비디오 이미지 처리 장치를 제공한다.
제4 측면에서,
현재 이미지 블록의 움직임 벡터 제2 후보 리스트 중의 M개 후보에 따라 상기 현재 이미지 블록의 M개 인접 블록을 결정하며; 상기 M개 인접 블록 중의 N개 인접 블록을 차례로 스캔하고, 스캔 결과에 따라 목표 인접 블록을 결정하며, N은 M보다 작고; 상기 목표 인접 블록의 움직임 벡터, 상기 현재 이미지 블록 및 상기 현재 이미지 블록의 참조 이미지에 따라, 상기 현재 이미지 블록의 관련 블록을 결정하며; 상기 현재 이미지 블록의 관련 블록에 따라 상기 현재 이미지 블록의 움직임 벡터 제1 후보 리스트 중의 특정 후보를 결정하며; 상기 특정 후보를 사용하는 것으로 결정할 경우, 상기 현재 이미지 블록 및 상기 관련 블록을 동일한 방식으로 복수의 서브 이미지 블록으로 분할하고, 상기 현재 이미지 블록 중의 각 서브 이미지 블록과 상기 관련 블록 중의 각 서브 이미지 블록을 일대일 대응시키는 구축 모듈;
상기 관련 블록 중 각 서브 이미지 블록의 움직임 벡터에 따라 상기 현재 이미지 블록 중 대응되는 서브 이미지 블록을 각각 예측하는 예측 모듈; 을 포함하는 비디오 이미지 처리 장치를 제공한다.
제5 측면에서,
메모리 및 프로세서를 포함하고, 상기 메모리는 명령을 저장하며, 상기 프로세서는 상기 메모리에 저장된 명령을 실생하고, 상기 메모리에 저장된 명령을 실행함으로써, 상기 프로세서는 제1측면 또는 제1 측면의 어느 하나의 가능한 구현예에 따른 방법을 실행하게 되는 비디오 이미지 처리 장치를 제공한다.
제6 측면에서,
메모리 및 프로세서를 포함하고, 상기 메모리는 명령을 저장하며, 상기 프로세서는 상기 메모리에 저장된 명령을 실생하고, 상기 메모리에 저장된 명령을 실행함으로써, 상기 프로세서는 제2측면 또는 제2 측면의 어느 하나의 가능한 구현예에 따른 방법을 실행하게 되는 비디오 이미지 처리 장치를 제공한다.
제7 측면에서, 컴퓨터 프로그램이 저장되어 있으며, 상기 컴퓨터 프로그램이 컴퓨터에 의해 실행되면서, 상기 컴퓨터가 제1 측면 또는 제1 측면의 어느 하나의 가능한 구현예에 따른 방법을 실행하게 되는 컴퓨터 저장 매체를 제공한다.
제8 측면에서, 컴퓨터 프로그램이 저장되어 있으며, 상기 컴퓨터 프로그램이 컴퓨터에 의해 실행되면서, 상기 컴퓨터가 제2 측면 또는 제2 측면의 어느 하나의 가능한 구현예에 따른 방법을 실행하게 되는 컴퓨터 저장 매체를 제공한다.
제9 측면에서, 명령이 컴퓨터에 의해 실행되면서 컴퓨터가 제1 측면 또는 제1 측면의 어느 하나의 가능한 구현예에 따른 방법을 실행하게 되는, 명령을 포함하는 컴퓨터 프로그램 제품을 제공한다.
제10 측면에서, 명령이 컴퓨터에 의해 실행되면서 컴퓨터가 제2 측면 또는 제2 측면의 어느 하나의 가능한 구현예에 따른 방법을 실행하게 되는, 명령을 포함하는 컴퓨터 프로그램 제품을 제공한다.
제11 측면에서,
베이스 움직임 벡터 리스트를 결정하는 단계로서, 상기 베이스 움직임 벡터 리스트에는 적어도 하나의 쌍예측 베이스 움직임 벡터군이 포함되고, 상기 쌍예측 베이스 움직임 벡터군에는 제1 베이스 움직임 벡터 및 제2 베이스 움직임 벡터가 포함되는 단계;
미리 설정된 오프셋 집합에서 2개의 움직임 벡터 오프셋을 결정하는 단계로서, 상기 2개의 움직임 벡터 오프셋은 각각 상기 제1 베이스 움직임 벡터 및 상기 제2 베이스 움직임 벡터에 대응되는 단계;
상기 제1 베이스 움직임 벡터, 상기 제2 베이스 움직임 벡터 및 상기 2개의 움직임 벡터 오프셋에 따라, 현재 이미지 블록의 움직임 벡터를 결정하는 단계;
상기 현재 이미지 블록의 움직임 벡터에 따라 상기 현재 이미지 블록을 예측하는 단계; 를 포함하는 비디오 이미지 처리 방법을 제공한다.
제12 측면에서,
베이스 움직임 벡터 리스트를 결정하는 단계로서, 상기 베이스 움직임 벡터 리스트에는 베이스 움직임 벡터군이 포함되는 단계;
상기 베이스 움직임 벡터군에 특정 참조 이미지를 가리키는 적어도 하나의 베이스 움직임 벡터가 있을 경우, 상기 베이스 움직임 벡터군 및 움직임 벡터의 오프셋에 따라 상기 현재 이미지 블록의 움직임 벡터를 결정하는 것을 포기하는 단계;를 포함하는 비디오 이미지 처리 방법을 제공한다.
제13 측면에서,
베이스 움직임 벡터 리스트를 결정하며, 상기 베이스 움직임 벡터 리스트에는 적어도 하나의 쌍예측 베이스 움직임 벡터군이 포함되고, 상기 쌍예측 베이스 움직임 벡터군에는 제1 베이스 움직임 벡터 및 제2 베이스 움직임 벡터가 포함되며; 미리 설정된 오프셋 집합에서 2개의 움직임 벡터 오프셋을 결정하고, 상기 2개의 움직임 벡터 오프셋은 각각 상기 제1 베이스 움직임 벡터 및 상기 제2 베이스 움직임 벡터에 대응되며; 상기 제1 베이스 움직임 벡터, 상기 제2 베이스 움직임 벡터 및 상기 2개의 움직임 벡터 오프셋에 따라, 현재 이미지 블록의 움직임 벡터를 결정하는 구축 모듈;
상기 현재 이미지 블록의 움직임 벡터에 따라 상기 현재 이미지 블록을 예측하는 예측 모듈; 을 포함하는 비디오 이미지 처리 장치를 제공한다.
제14 측면에서,
베이스 움직임 벡터 리스트를 결정하고, 상기 베이스 움직임 벡터 리스트에는 베이스 움직임 벡터군이 포함되는 결정 모듈;
상기 베이스 움직임 벡터군에 특정 참조 이미지를 가리키는 적어도 하나의 베이스 움직임 벡터가 있을 경우, 상기 베이스 움직임 벡터군 및 움직임 벡터 오프셋에 따라 상기 현재 이미지 블록의 움직임 벡터를 결정하는 것을 포기하는 처리 모듈;을 포함하는 비디오 이미지 처리 장치를 제공한다.
제15 측면에서, 메모리 및 프로세서를 포함하고, 상기 메모리는 명령을 저장하며, 상기 프로세서는 상기 메모리에 저장된 명령을 실생하고, 상기 메모리에 저장된 명령을 실행함으로써, 상기 프로세서는 제11 측면 또는 제11 측면의 어느 하나의 가능한 구현예에 따른 방법을 실행하게 되는 비디오 이미지 처리 장치를 제공한다.
제16 측면에서, 메모리 및 프로세서를 포함하고, 상기 메모리는 명령을 저장하며, 상기 프로세서는 상기 메모리에 저장된 명령을 실행하고, 상기 메모리에 저장된 명령을 실행함으로써, 상기 프로세서는 제12 측면 또는 제12 측면의 어느 하나의 가능한 구현예에 따른 방법을 실행하게 되는 비디오 이미지 처리 장치를 제공한다.
제17 측면에서, 컴퓨터 프로그램이 저장되어 있으며, 상기 컴퓨터 프로그램이 컴퓨터에 의해 실행되면서, 상기 컴퓨터가 제11 측면 또는 제11 측면의 어느 하나의 가능한 구현예에 따른 방법을 실행하게 되는 컴퓨터 저장 매체를 제공한다.
제18 측면에서, 컴퓨터 프로그램이 저장되어 있으며, 상기 컴퓨터 프로그램이 컴퓨터에 의해 실행되면서, 상기 컴퓨터가 제12 측면 또는 제12 측면의 어느 하나의 가능한 구현예에 따른 방법을 실행하게 되는 컴퓨터 저장 매체를 제공한다.
제19 측면에서, 명령이 컴퓨터에 의해 실행되면서 컴퓨터가 제11 측면 또는 제11 측면의 어느 하나의 가능한 구현예에 따른 방법을 실행하게 되는, 명령을 포함하는 컴퓨터 프로그램 제품을 제공한다.
제20 측면에서, 명령이 컴퓨터에 의해 실행되면서 컴퓨터가 제12 측면 또는 제12 측면의 어느 하나의 가능한 구현예에 따른 방법을 실행하게 되는, 명령을 포함하는 컴퓨터 프로그램 제품을 제공한다.
도 1은 본 출원의 실시예에 의해 제공되는 비디오 이미지 처리 방법의 개략적인 흐름도이다.
도 2는 현재 이미지 블록의 인접 블록을 통해 현재 블록의 후보 움직임 벡터를 획득하는 개략도이다.
도 3은 후보 움직임 벡터를 스케일링 처리한 개략도이다.
도 4는 본 출원의 실시예에 의해 제공되는 비디오 이미지 처리 방법의 다른 개략적인 흐름도이다.
도 5는 본 출원의 실시예에 의해 제공되는 비디오 이미지 처리 장치의 개략적인 블록도이다.
도 6은 본 출원의 실시예에 의해 제공되는 비디오 이미지 처리 장치의 다른 개략적인 블록도이다.
도 7은 본 출원의 실시예에 의해 제공되는 비디오 이미지 처리 방법의 개략적인 흐름도이다.
도 8은 본 출원의 실시예에 의해 제공되는 비디오 이미지 처리 방법의 다른 개략적인 흐름도이다.
도 9는 본 출원의 실시예에 의해 제공되는 비디오 이미지 처리 장치의 또 다른 개략적인 블록도이다.
도 10은 본 출원의 실시예에 의해 제공되는 비디오 이미지 처리 장치의 또 다른 개략적인 블록도이다.
도 11은 본 출원의 실시예에 의해 제공되는 비디오 이미지 처리 장치의 또 다른 개략적인 블록도이다.
도 12는 움직임 벡터 제1 후보 리스트의 후보를 얻는 개략도이다.
도 13은 움직임 벡터 제1 후보 리스트의 후보를 구성하는 또 다른 개략도이다.
도 14 및 도 15는 본 출원의 실시예에 의해 제공되는 비디오 이미지 처리 방법의 개략적인 흐름도이다.
도 16은 본 출원의 실시예에 의해 제공되는 비디오 이미지 처리 장치의 또 다른 개략적인 블록도이다.
도 17은 본 출원의 실시예에 의해 제공되는 비디오 이미지 처리 장치의 또 다른 개략적인 블록도이다.
도 18은 본 출원의 실시예에 의해 제공되는 비디오 이미지 처리 방법의 다른 개략적인 흐름도이다.
도 19는 본 출원의 실시예에 의해 제공되는 비디오 이미지 처리 장치의 또 다른 개략적인 블록도이다.
도 20은 본 출원의 실시예에 의해 제공되는 비디오 이미지 처리 장치의 또 다른 개략적인 블록도이다.
이하, 도면을 결합하여, 본 출원의 실시예의 기술방안을 설명한다.
달리 정의되지 않는 한, 본문에서 사용된 모든 기술 및 과학 용어는 당업자가 일반적으로 이해하는 것과 동일한 의미를 갖는다. 본 출원의 명세서에 사용된 용어는 구체적인 실시예를 설명하기 위한 것일 뿐이며, 본 출원을 제한하기 위한 것은 아니다.
비디오 부호화/복호화에 있어서, 예측 단계는 이미지 중의 리던던시 정보를 감소시킨다. 예측 블록은 한 프레임의 이미지에서 예측에 사용되는 기본 단위를 가리키고, 일부 표준에서, 상기 예측 블록은 예측 단위(Prediction Unit, PU)라고도 한다. 한 프레임의 이미지를 부호화/압축하기 전에, 이미지는 복수의 이미지 블록으로 분할되고, 추가적으로, 상기 복수의 이미지 블록 중의 각 이미지 블록은 다시 복수의 이미지 블록으로 분할될 수 있고, 이와 같이 유추할 수 있다. 상이한 부호화 방법에서, 분할되는 레벨 수는 상이할 수 있고, 대응하는 작동 방법도 상이하다. 상이한 부호화 표준에서, 동일 레벨 상의 이미지 블록에 대한 명칭은 상이할 수 있다. 예를 들면, 일부 비디오 표준에서, 한 프레임의 이미지가 처음 분할된 복수의 이미지 블록 중의 각 이미지 블록을 부호화 트리 단위(Coding Tree Unit, CTU)라고 하고, 각 부호화 트리 단위는 하나의 부호화 단위(Coding Unit, CU)를 포함하거나 또는 다시 복수의 부호화 단위로 분할될 수 있고, 하나의 부호화 단위는 예측 방식에 따라 1개, 2개, 4개 또는 기타 수량의 예측 단위로 분할될 수 있다. 일부 비디오 표준에서, 상기 부호화 트리 단위는 최대 부호화 단위(Largest Coding Unit, LCU)라고도 한다.
예측은 해당 예측 블록과 유사한 이미지 데이터(해당 예측 블록의 참조 블록이라고도 함)를 찾는 것을 의미한다. 해당 예측 블록과 해당 예측 블록의 참조 블록 사이의 차이를 부호화/압축하는 것을 통해, 부호화/압축에서의 리던던시 정보를 감소시킬 수 있다. 여기서, 예측 블록과 참조 블록의 차이는 해당 예측 블록과 해당 참조 블록의 상응한 화소 값을 뺄셈하여 얻은 잔차일 수 있다. 예측은 인트라 예측 및 인터 예측을 포함한다. 인트라 예측은 예측 블록이 위치한 프레임 내에서 상기 예측 블록의 참조 블록을 찾는 것을 의미하고, 인터 예측은 예측 블록이 위치한 프레임을 제외한 기타 프레임 내에서 상기 예측 블록의 참조 블록을 찾는 것을 의미한다.
종래의 일부 비디오 표준에서, 예측 단위는 이미지 중 가장 작은 단위이고, 예측 단위는 더 이상 복수의 이미지 블록으로 분할되지 않는다. 이하에서 언급한 "이미지 블록" 또는 "현재 이미지 블록"은, 하나의 예측 단위(또는 하나의 부호화 단위)를 의미하고, 또한 하나의 이미지 블록은 복수의 서브 이미지 블록으로 계속 분할될 수 있으며, 각 서브 이미지 블록을 추가 예측할 수 있다.
본 방안에서, 현재 이미지 블록을 예측하기 전에, 움직임 벡터 후보 리스트를 구축하고, 상기 움직임 벡터 후보 리스트에서 선택된 후보 움직임 벡터에 따라 현재 이미지 블록을 예측한다. 움직임 벡터 후보 리스트는 다양한 모드가 존재한다. 이하에서는 먼저 움직임 벡터 후보 리스트의 다양한 모드에 대해 예를 들어 설명한다.
제1 유형의 모드에서, 제1 예시로서, 부호화단에서, 움직임 벡터 후보 리스트를 구축한 후, 아래와 같은 단계를 통해 현재 이미지 블록의 부호화를 완성할 수 있다.
1) 움직임 벡터 후보 리스트에서 최적의 움직임 벡터(MV1로 기록)를 선택하고, 선택된 MV1를 현재 이미지 블록의 움직임 벡터로 하여, 움직임 벡터 후보 리스트에서의 상기 MV1의 인덱스를 획득한다.
2) 현재 이미지 블록의 움직임 벡터(MV1)에 따라, 참조 이미지(즉 참조 프레임)에서 현재 이미지 블록의 예측 이미지 블록을 결정한다. 즉, 참조 프레임에서의 현재 이미지 블록의 예측 이미지 블록의 위치를 결정한다.
3) 현재 이미지 블록과 예측 이미지 블록 사이의 잔차를 획득한다.
4) 움직임 벡터 후보 리스트에서의 현재 이미지 블록의 움직임 벡터(MV1)의 인덱스 및 단계 3)에서 획득한 잔차를 복호화단으로 발송한다.
예시로서, 복호화단에서, 아래와 같은 단계를 통해 현재 이미지 블록을 복호화할 수 있다.
1) 부호화단으로부터 잔차와 현재 이미지 블록의 움직임 벡터의 움직임 벡터 후보 리스트에서의 인덱스를 수신한다.
2) 본 출원의 실시예에 따른 방법을 통해 움직임 벡터 후보 리스트를 획득한다. 복호화단에서 획득한 움직임 벡터 후보 리스트는 부호화단에서 획득한 움직임 벡터 후보 리스트와 일치하다.
3) 인덱스에 따라, 움직임 벡터 후보 리스트에서 현재 이미지 블록의 움직임 벡터(MV1)를 획득한다.
4) 움직임 벡터(MV1)에 따라, 현재 이미지 블록의 예측 이미지 블록을 획득한 후, 잔차를 결합하고, 복호화하여 현재 이미지 블록을 얻는다.
즉 제1 유형의 모드에서, 현재 이미지 블록의 움직임 벡터는 예측 MV(Motion vector prediction, MVP)와 동일하다. 일부 표준에서, 상기 제1 유형의 모드는 Merge모드라고도 한다.
제2 유형의 모드에서, 제1 유형의 모드와 다른 점은, 부호화단은 움직임 벡터 후보 리스트에서 최적의 움직임 벡터(MV1)를 선택한 후, 또한 상기 MV1를 검색 시작점으로 하여 움직임 검색을 진행하고, 최종적으로 검색된 위치와 검색 시작점의 변위를 움직임 벡터 차이(Motion vector difference, MVD)로 기록한다. 이후, 현재 이미지 블록의 움직임 벡터(MV1+MVD)에 따라, 참조 이미지에서 현재 이미지 블록의 예측 이미지 블록을 결정한다. 부호화단은 복호화단으로 MVD를 발송한다. 일부 표준에서, 상기 제2 유형의 모드는 AMVP 모드(즉 일반적인 인터 예측 모드)라고도 한다.
상이한 유형의 모드에서의 움직임 벡터 후보 리스트의 구축 방식은 동일하거나 동일하지 않을 수도 있다. 동일한 방식으로 구축된 움직임 벡터 후보 리스트는 한 가지 유형의 모드만 적용할 수도 있고, 상이한 유형의 구축 모드를 적용할 수도 있으며, 이에 대해 한정하지 않는다.
본 방안에서는 두 가지 구축 방식의 움직임 벡터 후보 리스트를 제공할 것이며, 설명의 편의를 위해, 이하에서는 상기 두 가지 구축 방식의 움직임 벡터 후보 리스트를 움직임 벡터 제1 후보 리스트 및 움직임 벡터 제2 후보 리스트라고 한다. 상기 두 가지 리스트의 차이점은, 움직임 벡터 제1 후보 리스트 중 적어도 하나의 후보는 서브 이미지 블록의 움직임 벡터를 포함하고, 움직임 벡터 제2 후보 리스트 중의 각 후보는 이미지 블록의 움직임 벡터를 포함한다. 상술한 바와 같이, 여기서 이미지 블록과 현재 이미지 블록은 동일한 개념으로, 모두 하나의 예측 단위(또는 하나의 부호화 단위)를 의미하고, 서브 이미지 블록은 상기 이미지 블록을 바탕으로 분할하여 얻은 복수의 서브 이미지 블록을 의미한다. 움직임 벡터 제1 후보 리스트 중의 후보를 사용하여 예측할 경우, 상기 후보에 따라 현재 이미지 블록의 참조 블록을 결정한 다음, 상기 이미지 블록과 상기 참조 블록의 잔차를 계산한다. 움직임 벡터 제2 후보 리스트 중의 후보를 사용하여 예측할 경우, 사용된 후보가 서브 이미지 블록의 움직임 벡터이면, 상기 후보에 따라 현재 이미지 블록 중의 각 서브 이미지 블록의 참조 블록을 결정한 다음, 현재 이미지 블록 중의 각 서브 이미지 블록과 그 참조 블록의 잔차를 계산하여, 각 서브 이미지 블록의 잔차를 상기 현재 이미지 블록의 잔차로 맞춰 놓는다.
여기서, 움직임 벡터 제1 후보 리스트 및/또는 움직임 벡터 제2 후보 리스트 중의 후보를 결정할 때, 후보 중 하나는 ATMVP기술에 따라 결정할 수 있다. 일 예시에서, 움직임 벡터 제1 후보 리스트를 구축할 때, ATMVP기술에 따라 결정된 움직임 벡터를 첫 후보로서 리스트에 추가할 수 있다. 일 예시에서, 움직임 벡터 제2 후보 리스트를 구축할 때, 현재 이미지 블록의 미리 설정된 위치에서의 미리 설정된 수량의 공간적 인접 블록의 움직임 벡터에 따라 움직임 벡터 제2 후보 리스트에 후보를 추가한 후, ATMVP기술에 따라 결정한 움직임 벡터를 후보로서 리스트에 추가할 수 있다. 물론, 상기 2개의 후보 리스트의 후보 추가 순서는 다른 순서일 수도 있고 이에 대해 제한하지 않는다.
이하에서는 움직임 벡터 제2 후보 리스트의 구축 방식 및 사용 방식을 결합하여 어떻게 ATMVP기술에 따라 후보 중 하나를 결정할 것인가에 대해 예를 들어 설명한다.
움직임 벡터 제2 후보 리스트의 구축 방식을 설명함에 있어서, 이해를 돕기 위해, 여기서 움직임 벡터에 대해 해석한다. 하나의 이미지 블록의 움직임 벡터는, 두 가지 정보인 1) 상기 움직임 벡터가 가리키는 이미지; 2) 변위를 포함할 수 있다. 하나의 이미지 블록의 움직임 벡터는, 상기 움직임 벡터가 가리키는 이미지 중 상기 이미지 블록과 상기 변위를 갖는 이미지 블록을 의미한다. 부호화/복호화된 이미지 블록의 경우, 그 움직임 벡터에 포함된 의미는, 상기 부호화/복호화된 이미지 블록의 참조 이미지, 및 상기 부호화/복호화된 이미지 블록에 대한 부호화/복호화된 이미지 블록의 참조 블록의 변위를 포함하는 것이다. 주의해야 할 것은, 본문에서 언급된 하나의 이미지 블록의 참조 블록은, 상기 이미지 블록의 잔차를 계산하기 위한 이미지 블록을 가리킨다.
도 1은 본 출원의 실시예에 의해 제공되는 비디오 이미지 처리 방법의 개략적인 흐름도이다. 상기 방법은 아래와 같은 단계들을 포함한다.
S110, 현재 이미지 블록의 움직임 벡터 제2 후보 리스트에 추가하기 위한 M개 후보 움직임 벡터를 결정한다.
현재 이미지 블록은 부호화(또는 복호화)할 이미지 블록이다. 현재 이미지 블록이 위치하는 이미지 프레임을 현재 프레임이라고 한다. 예를 들면, 현재 이미지 블록은 하나의 부호화 단위(CU)이다.
예를 들면, 현재 이미지 블록의 움직임 벡터 제2 후보 리스트는 Merge후보 리스트 또는 AMVP후보 리스트일 수 있다. 예를 들면, 상기 움직임 벡터 제2 후보 리스트는 Merge후보 리스트 중의 일반적인 움직임 벡터 후보 리스트(Normal Merge List)일 수 있다. 이해해야 할 것은, 움직임 벡터 제2 후보 리스트는 다른 이름을 가질 수도 있다.
M개 후보 움직임 벡터는 현재 이미지 블록의 현재 프레임 내에서의 M개 인접 블록의 움직임 벡터에 따라 결정되는 것일 수 있다. 인접 블록은 현재 프레임 상에서 현재 이미지 블록의 위치와 인접하거나 또는 일정한 위치 간격이 있는 이미지 블록일 수 있다. 이해해야 할 것은, 해당 M개 인접 블록은 현재 프레임 내에서 부호화(또는 복호화)를 완성한 이미지 블록이다.
예시로서, 도 2에 도시된 바와 같이, 현재 이미지 블록의 M개 인접 블록은 도 2에서 도시된 현재 이미지 블록 주변의 4개의 위치(A1(왼쪽) *1(상단) *0(오른쪽 상단) *0(왼쪽 하단)에 위치한 이미지 블록이다. 해당 4개 위치의 이미지 블록의 움직임 벡터에 따라 현재 이미지 블록의 M(즉 M은 4와 같음)개 후보 움직임 벡터를 결정한다.
또한, 상기 M개 인접 블록에 획득할 수 없는 인접 블록이 나타날 경우, 또는 상기 M개 인접 블록에 인트라 부호화 모드를 사용하는 인접 블록이 나타날 경우, 상기 획득할 수 없는 인접 블록 또는 상기 인트라 부호화 모드를 사용하는 인접 블록의 움직임 벡터를 얻을 수 없다. 그러면, 상기 획득할 수 없는 인접 블록의 움직임 벡터를 후보 움직임 벡터로 하지 않고, 상기 획득할 수 없는 움직임 벡터를 현재 이미지 블록의 움직임 벡터 제2 후보 리스트에 추가하는 것을 포기한다.
가능한 구현예로서, 단계(S110)가 완료되면, M개 후보 움직임 벡터가 움직임 벡터 제2 후보 리스트에 추가된다. 단계(S120)에서, 움직임 벡터 제2 후보 리스트를 직접 스캔할 수 있다.
S120, M개 후보 움직임 벡터 중의 N개 후보 움직임 벡터를 차례로 스캔하고, 스캔 결과에 따라 참조 움직임 벡터를 결정하고, N은 M보다 작다. 여기서, M 및 N은 모두 자연수이다.
상기 M개 후보 움직임 벡터가 움직임 벡터 제2 후보 리스트에 모두 추가되든, 상기 M개 후보 움직임 벡터에 획득할 수 없는 일부 움직임 벡터가 나타나 상기 M개 후보 움직임 벡터 중 일부 후보 움직임 벡터만 움직임 벡터 제2 후보 리스트에 추가되든, 상기 M개 후보 움직임 벡터 중의 N개 후보 움직임 벡터를 차례로 스캔하는 것은 모두 고정된다. 상기 M개 후보 움직임 벡터 중의 N개 후보 움직임 벡터를 차례로 스캔하는 것이 고정되는 것은, 상기 N개 후보 움직임 벡터 중 후보 움직임 벡터 리스트에 추가된 후보 움직임 벡터를 스캔하는 것이 고정되거나, 또는, 상기 M개 후보 움직임 벡터 중 후보 움직임 벡터 리스트에 추가된 N개 후보 움직임 벡터를 스캔하는 것이 고정되는 것을 의미할 수 있다.
N개 후보 움직임 벡터의 스캔 결과에 따라 참조 움직임 벡터를 결정하는 과정은, 미리 설정된 조건에 기초하여 N개 후보 움직임 벡터를 차례로 판단하고, 판단 결과에 따라 참조 움직임 벡터를 결정하는 것일 수 있다.
예시로서, 미리 설정된 조건은, 이미지 블록은 인트라 예측 부호화 모드를 획득하거나 사용하지 않을 수 있고, 또한 상기 후보 움직임 벡터가 가리키는 참조 프레임은 현재 이미지 블록의 참조 이미지와 동일한 것을 포함한다.
여기서, 현재 이미지 블록의 참조 이미지는 현재 이미지 블록이 위치하는 이미지와 시간적 거리가 가장 가까운 참조 이미지이거나, 또는 현재 이미지 블록의 참조 이미지는 부호화단/복호화단에 미리 설정된 참조 이미지이거나, 또는 현재 이미지 블록의 참조 이미지는 비디오 파라미터 세트, 시퀀스 헤더, 시퀀스 파라미터 세트, 이미지 헤더, 이미지 파라미터 세트, 슬라이스 헤더 중에서 지정된 참조 이미지이다.
예를 들면, 상기 현재 이미지 블록의 참조 이미지는 현재 이미지 블록의 동일 위치 프레임이고, 동일 위치 프레임은 바로 슬라이스 레벨 정보 헤더에 설정된 움직임 정보를 획득하여 예측하기 위한 프레임이다. 일부 응용 장면에서, 상기 동일 위치 프레임은 위치 관련 프레임(collocated picture)이라고도 한다.
이해해야 할 것은, 미래 기술발전에 따라, 상기 미리 설정된 조건은 다른 상이한 정의가 부여될 수 있으며, 관련 방안도 본 출원의 보호범위에 속한다.
이하에서는 N개 후보 움직임 벡터의 스캔 결과에 따라 참조 움직임 벡터를 결정하는 과정에 대해 상세하게 설명한다.
단계(S120)에서는, 단계(S110)에서 획득한 M개 후보 움직임 벡터 중의 N개 움직임 벡터만 스캔하며, 그러면 스캔 횟수를 줄일 수 있다.
선택적으로, 단계(S120)에서, M개 후보 움직임 벡터 중의 처음 N개 후보 움직임 벡터를 차례로 스캔할 수 있다.
선택적으로, 단계(S120)에서, M개 후보 움직임 벡터 중의 마지막 N개 후보 움직임 벡터를 차례로 스캔할 수 있거나, 또는, M개 후보 움직임 벡터 중의 중간 N개 후보 움직임 벡터를 차례로 스캔할 수 있다. 본 출원은 이에 대해 한정하지 않는다.
예시로서, 단계(S120)에서, M개 후보 움직임 벡터 중의 일부 후보 움직임 벡터를 차례로 스캔한다.
다른 예시로서, 단계(S120)에서, 현재 움직임 벡터 제2 후보 리스트에 추가된 후보 움직임 벡터 중의 일부 후보 움직임 벡터를 차례로 스캔한다.
S130, 참조 움직임 벡터, 현재 이미지 블록 및 현재 이미지 블록의 참조 이미지에 따라, 움직임 벡터 제2 후보 리스트에 계속 추가할 후보 움직임 벡터를 결정한다.
현재 이미지 블록의 움직임 벡터 제2 후보 리스트에는 단계(S110)에서 결정한 M개 후보 움직임 벡터 및 단계(S130)에서 결정한 후보 움직임 벡터가 포함된다. 일 예시에서, S130에 따라 움직임 벡터 제2 후보 리스트에 계속 추가할 제M+1개 후보 움직임 벡터를 결정한 후, 기타 방법으로 움직임 벡터 제2 후보 리스트에 계속 추가할 기타 후보 움직임 벡터를 결정하며, 이에 대해 제한하지 않는다.
움직임 벡터 제2 후보 리스트를 구축한 후, 도 1에 도시된 바와 같이, 상기 방법은 다음 단계를 더 포함한다: S140, 단계(S130)에서 얻은 움직임 벡터 제2 후보 리스트에 따라, 현재 이미지 블록의 움직임 벡터를 결정한다.
이해해야 할 것은, 본 출원에서 제공한 방안은 ATMVP 기술에 적용될 수 있다. 종래의 ATMVP 기술의 첫 번째 단계에서, 움직임 벡터 제2 후보 리스트 중 현재 추가된 모든 공간적 후보 움직임 벡터를 스캔하여, 현재 이미지 블록의 시간적 벡터를 획득한다. 예를 들면, 움직임 벡터 제2 후보 리스트는 일반적으로 4개의 공간적 후보 움직임 벡터가 채워지며, 4개의 후보 움직임 벡터를 스캔해야만 현재 이미지 블록의 시간적 벡터를 얻을 수 있는 상황이 발생할 수 있다.
본 출원의 실시예에서, 현재 이미지 블록의 참조 움직임 벡터를 획득하는 과정에서, 이미 획득한 M개 후보 움직임 벡터 중의 N(N은 M보다 작다)개 후보 움직임 벡터만 차례로 스캔하며, 종래 기술과 비교했을 때, 현재 이미지 블록의 참조 움직임 벡터를 획득하는 과정에서 후보 움직임 벡터에 대한 스캔 횟수를 줄일 수 있다. 이해해야 할 것은, 본 출원에서 제공한 방안을 종래 ATMVP의 첫 번째 단계에 응용할 경우, 존재하는 리던던시 동작을 간소화할 수 있다.
출원인은 다용도 비디오 부호화(Versatile Video Coding) 최신 참조 소프트웨어(VTM-2.0)에서, 공식적인 일반 테스트 시퀀스를 선택하여 테스트 시퀀스로 하고, 테스트 구성은 RA 구성 및 LDB 구성이며, 본 출원에서 제공한 방안을 테스트하였고, 테스트 결과에 의하면, 스캔 횟수를 줄인 후에도, ATMVP 기술의 성능 이득을 유지할 수 있다.
따라서, 본 출원에서 제공한 방안은 종래 ATMVP 기술의 성능 이득을 유지하는 전제하에, ATMVP 기술의 복잡성을 줄일 수 있다.
이해해야 할 것은, 본 출원에서 제공하는 구축 방안으로 형성된 움직임 벡터 제2 후보 리스트는 부호화단과 복호화단에 응용될 수 있다. 다시 말하면, 본 출원에서 제공하는 방법의 실행 주체는 부호화단일 수도 있고, 복호화단일 수도 있다.
예시로서, 본 출원에서 제공하는 구축 방안으로 형성된 움직임 벡터 제2 후보 리스트는 상술한 제1 유형의 모드(예를 들면 Merge 모드)에 응용될 수 있다.
선택적으로, 본 실시예에서, 단계(S110)에서, 현재 이미지 블록의 현재 프레임 내에서의 4개의 인접 블록의 움직임 벡터에 따라, 현재 이미지 블록의 움직임 벡터 제2 후보 리스트에 추가하기 위한 4개의 후보 움직임 벡터를 결정한다. 즉, M은 4이다. 단계(S120)에서, 4개의 후보 움직임 벡터 중의 N개 후보 움직임 벡터를 스캔하고, N은 4보다 작다.
예를 들면, N은 1이다. 예를 들면, 단계(S120)에서, 움직임 벡터 제2 후보 리스트 중의 첫 후보 움직임 벡터만 스캔한다. 또한 예를 들면, N은 2 또는 3이다.
이하에서는 단계(S120)에서, N개 후보 움직임 벡터의 스캔 결과에 따라 현재 이미지 블록의 참조 움직임 벡터를 결정하는 방식을 설명한다.
단계(S120)에서, M개 후보 움직임 벡터 중의 N개 후보 움직임 벡터가 미리 설정된 조건을 만족시키는지 하나씩 판단하고, 판단 결과에 따라 참조 움직임 벡터를 결정한다. 본문에서 미리 설정된 조건은 후보 움직임 벡터가 가리키는 참조 프레임과 현재 이미지 블록의 참조 이미지가 동일한 것으로 정의되는 것을 예로 들어 설명한다.
선택적으로, 단계(S120)에서, N개 후보 움직임 벡터를 차례로 스캔하고, 미리 설정된 조건에 부합하는 첫 후보 움직임 벡터가 스캔되면, 즉 참조 프레임과 현재 프레임의 동일 위치 프레임이 동일한 첫 후보 움직임 벡터가 스캔되면, 스캔을 정지하고, 스캔된 미리 설정된 조건에 부합하는 첫 후보 움직임 벡터에 따라 참조 움직임 벡터를 결정한다.
이해해야 할 것은, 미리 설정된 조건에 부합하는 첫 후보 움직임 벡터가 스캔되면, 스캔 횟수는 N일 수도 있고, N보다 작을 수도 있다. 예를 들면, 스캔된 첫 후보 움직임 벡터가 미리 설정된 조건을 만족시키면, 스캔을 정지하고, 해당 후보 움직임 벡터를 현재 이미지 블록의 참조 움직임 벡터로 한다.
선택적으로, 단계(S120)에서, N개 후보 움직임 벡터에서 미리 설정된 조건에 부합하는 후보 움직임 벡터가 스캔되지 않으면, 즉 N개 후보 움직임 벡터가 가리키는 참조 프레임이 모두 현재 이미지 블록의 동일 위치 프레임과 다르면, 디폴트 값을 참조 움직임 벡터의 값으로 한다.
예를 들면, 디폴트 값이 (0, 0)이면, 참조 움직임 벡터는 (0, 0)이다. 이해해야 할 것은, 실제 상황에 따라, 디폴트 값은 다르게 정의될 수도 있다.
선택적으로, 단계(S120)에서, N개 후보 움직임 벡터에서 미리 설정된 조건에 부합하는 후보 움직임 벡터가 스캔되지 않으면, 즉 N개 후보 움직임 벡터가 가리키는 참조 프레임이 모두 현재 이미지 블록의 동일 위치 프레임과 다르면, 움직임 벡터 제2 후보 리스트 중의 특정 후보 움직임 벡터를 스케일링 처리하여, 스케일링 처리된 특정 후보 움직임 벡터에 따라 참조 움직임 벡터를 결정한다.
상기 특정 후보 움직임 벡터는 N개 후보 움직임 벡터에서, 스캔 순서에 따라 얻은 첫 움직임 벡터 또는 마지막 움직임 벡터일 수 있다.
상기 특정 후보 움직임 벡터는 또한 N개 후보 움직임 벡터에서, 기타 스캔 순서에 따라 얻은 움직임 벡터일 수 있다.
미리 설정된 조건이 후보 움직임 벡터가 가리키는 참조 프레임과 현재 이미지 블록의 참조 프레임이 동일한 것으로 정의될 경우, 움직임 벡터 제2 후보 리스트 중의 특정 후보 움직임 벡터를 스케일링 처리하여, 스케일링 처리된 특정 후보 움직임 벡터에 따라 참조 움직임 벡터를 결정하는 단계는, 움직임 벡터 제2 후보 리스트 중의 특정 후보 움직임 벡터를 스케일링 처리하여, 스케일링 처리된 특정 후보 움직임 벡터가 가리키는 참조 프레임과 현재 이미지 블록의 참조 이미지가 동일하도록 하는 단계; 스케일링 처리된 특정 후보 움직임 벡터를 참조 움직임 벡터로 하는 단계;를 포함한다.
도 3에 도시된 바와 같이, curr_pic은 현재 이미지 블록이 위치한 이미지를 나타내고, col_pic은 현재 이미지 블록의 동일 위치 프레임(collocated picture)을 나타내고, neigh_ref_pic은 특정 후보 움직임 벡터가 가리키는 참조 프레임을 나타낸다. 일 구현예에서, 특정 후보 움직임 벡터가 가리키는 참조 이미지(neigh_ref_pic)와 상기 특정 움직임 벡터에 대응되는 이미지 블록이 위치하는 이미지(curr_pic) 사이의 시간적 거리 및 현재 이미지 블록의 참조 이미지(col_pic)와 현재 이미지 블록이 위치한 이미지(curr_pic) 사이의 시간적 거리를 기초로, 상기 특정 움직임 벡터의 스케일링 비율을 결정한다.
이해해야 할 것은, 이미지 프레임과 이미지 프레임 사이의 움직임 정도 차이성이 떨어져, 현재 프레임과 그 동일 위치 프레임 사이의 움직임이 심한 경우, 현재 블록의 대응하는 블록의 위치를 결정하는 근거로서 움직임 벡터(0, 0)를 사용하면, 프레임 사이의 움직임을 고려하지 않고, 바로 현재 블록의 동일 위치 프레임 중의 절대 좌표에 아무런 변화가 없는 것으로 가정하게 되나, 실제로는 현재 블록의 동일 위치 프레임 중의 좌표는 현재 블록의 현재 프레임 중의 좌표와 상이할 확률이 매우 크므로, 큰 편차가 발생하게 된다.
본 출원의 실시예에서, N개 후보 움직임 벡터 중 참조 프레임과 현재 프레임의 동일 위치 프레임이 동일한 후보 움직임 벡터가 스캔되지 않으면, N개 후보 움직임 벡터 중의 하나의 후보 움직임 벡터를 스케일링 처리하여, 참조 프레임과 현재 프레임의 동일 위치 프레임이 동일하도록 한 다음, 상기 스케일링 처리된 후보 움직임 벡터를 현재 이미지 블록의 움직임 벡터로 한다. 이 경우 현재 이미지 블록의 움직임 벡터의 정확도를 향상시킬 수 있다.
선택적으로, N이 M보다 작고 1보다 큰 정수인 경우, 본 실시예의 특정 후보 움직임 벡터는 N개 후보 움직임 벡터 중 참조 프레임과 현재 이미지 블록의 동일 위치 프레임이 시간적으로 거리가 가장 가까운 후보 움직임 벡터일 수 있다.
이해해야 할 것은, N개 후보 움직임 벡터 중 참조 프레임과 현재 프레임의 동일 위치 프레임의 거리가 가장 가까운 하나의 후보 움직임 벡터를 선택하여 스케일링 처리하면, 스케일링 처리에 소요되는 시간을 줄일 수 있어, 현재 이미지 블록의 움직임 벡터를 획득하는 효율을 높일 수 있다.
선택적으로, N이 M보다 작고 1보다 큰 정수인 경우, 본 실시예의 특정 후보 움직임 벡터는 N개 후보 움직임 벡터 중 어느 하나의 후보 움직임 벡터일 수도 있다.
이해해야 할 것은, N이 1인 경우, 본 실시예의 특정 후보 움직임 벡터는 스캔된 해당 후보 움직임 벡터이다.
선택적으로, 일 실시예로서, N이 1인 경우, 단계(S120)에서, 상기 움직임 벡터 제2 후보 리스트 중의 하나의 후보 움직임 벡터를 스캔하여, 상기 현재 이미지 블록의 참조 움직임 벡터를 획득한다. 스캔된 해당 후보 움직임 벡터가 참조 프레임과 현재 이미지 블록이 위치하는 현재 프레임의 동일 위치 프레임이 상이한 것을 가리키는 경우, 해당 후보 움직임 벡터를 스케일링 처리하여, 상기 스케일링 처리된 후보 움직임 벡터의 참조 프레임과 상기 현재 프레임의 동일 위치 프레임이 동일하도록 하고, 상기 스케일링 처리된 후보 움직임 벡터를 상기 현재 이미지 블록의 참조 움직임 벡터로 한다. 스캔된 해당 후보 움직임 벡터의 참조 프레임과 현재 프레임의 동일 위치 프레임이 동일한 경우, 해당 후보 움직임 벡터를 현재 이미지 블록의 움직임 벡터로 한다.
본 실시예에서, 상기 후보 움직임 벡터 리스트 중의 하나의 후보 움직임 벡터를 스캔하여, 상기 현재 이미지 블록의 움직임 벡터를 획득하므로, 현재 이미지 블록의 움직임 벡터를 획득하는 과정에서 후보 움직임 벡터를 스캔하는 횟수를 효과적으로 줄였고, 스캔된 후보 움직임 벡터의 참조 프레임과 현재 프레임의 동일 위치 프레임이 상이할 경우, 해당 후보 움직임 벡터를 스케일링 처리하여, 참조 프레임과 현재 프레임의 동일 위치 프레임이 동일하도록 한 다음, 해당 스케일링 처리된 후보 움직임 벡터를 현재 이미지 블록의 움직임 벡터로 하며, 이 경우 현재 이미지 블록의 움직임 벡터의 정확도를 향상시킬 수 있다. 따라서, 종래 기술과 비교했을 때, 본 출원의 실시예에 의해 제공되는 방안은, 현재 이미지 블록의 움직임 벡터를 결정하는 과정을 간소화할 수 있을 뿐만 아니라, 현재 이미지 블록의 움직임 벡터의 정확도를 높일 수 있다.
이해해야 할 것은, 미리 설정된 조건의 정의가 변경될 경우, 움직임 벡터 제2 후보 리스트 중의 특정 후보 움직임 벡터를 스케일링 처리하는 과정도 상응하게 변경되어야 한다. 즉, 스케일링 처리된 특정 후보 움직임 벡터가 미리 설정된 조건을 만족시키도록 보장한다.
이하에서는 단계(S130)에서, 참조 움직임 벡터, 현재 이미지 블록 및 현재 이미지 블록의 참조 이미지에 따라, 움직임 벡터 제2 후보 리스트에 계속 추가할 후보 움직임 벡터를 결정하는 과정을 설명한다.
선택적으로, 하나의 구현예로서, 참조 움직임 벡터, 현재 이미지 블록 및 현재 이미지 블록의 참조 이미지에 따라, 움직임 벡터 제2 후보 리스트에 계속 추가할 후보 움직임 벡터를 결정하는 단계는, 현재 이미지 블록을 복수의 서브 이미지 블록으로 분할하는 단계; 참조 움직임 벡터에 따라, 현재 이미지 블록의 참조 이미지에서 서브 이미지 블록의 관련 블록을 결정하는 단계; 관련 블록의 움직임 벡터에 따라, 움직임 벡터 제2 후보 리스트에 계속 추가할 후보 움직임 벡터를 결정하는 단계;를 포함한다.
일 예시에서, 현재 이미지 블록 중 각 서브 이미지 블록의 관련 블록의 움직임 벡터를 후보로서 움직임 벡터 제2 후보 리스트에 추가한다. 상기 후보를 사용하여 예측할 경우, 현재 이미지 블록 중 각 서브 이미지 블록의 관련 블록의 움직임 벡터에 따라 상기 서브 이미지 블록을 예측한다.
일 예시에서, 현재 이미지 블록의 관련 블록의 대표 움직임 벡터를 후보로서 움직임 벡터 제2 후보 리스트에 추가하고, 상기 후보는 ATMVP기술에 따라 결정된 것임을 표기한다. 상기 후보를 사용하여 예측할 경우, 상기 표기 및 후보에 따라 현재 이미지 블록의 관련 블록을 결정하고, 현재 이미지 블록 및 상기 관련 블록을 동일한 방식으로 복수의 서브 이미지 블록으로 분할하며, 현재 이미지 블록 중의 각 서브 이미지 블록과 상기 관련 블록 중의 각 서브 이미지 블록을 일대일 대응시키고, 상기 관련 블록 중 각 서브 이미지 블록의 움직임 벡터에 따라 현재 이미지 블록 중 대응되는 서브 이미지 블록을 각각 예측한다. 선택적으로, 관련 블록에 움직임 벡터를 획득할 수 없는 서브 이미지 블록이 나타날 경우, 상기 관련 블록의 대표 움직임 벡터로 상기 획득할 수 없는 움직임 벡터를 대체하여, 현재 이미지 블록 중 대응되는 서브 이미지 블록을 예측한다. 선택적으로, 관련 블록에 움직임 벡터를 획득할 수 없는 서브 이미지 블록이 나타날 경우, 또한 관련 블록의 대표 움직임 벡터를 모두 획득할 수 없는 경우, ATMVP기술에 따라 결정된 후보를 상기 움직임 벡터 제2 후보 리스트에 추가하는 것을 포기한다. 일 예시에서, 관련 블록 중의 서브 이미지 블록을 얻을 수 없거나, 관련 블록 중의 서브 이미지 블록이 인트라 부호화 모드를 사용할 경우, 상기 관련 블록에 움직임 벡터를 획득할 수 없는 서브 이미지 블록이 나타나는 것으로 결정한다.
선택적으로, 현재 이미지 블록의 관련 블록의 대표 움직임 벡터는 상기 관련 블록의 중심 위치의 움직임 벡터를 가리키거나, 또는 기타 상기 관련 블록을 대표하는 움직임 벡터를 가리킬 수 있고, 이에 대해 제한하지 않는다.
일부 비디오 부호화/복호화 표준에서는, 관련 블록을 collocated block 또는 corresponding block라고 할 수 있다.
예를 들면, 현재 이미지 블록은 하나의 CU이고, 이를 분할한 후 얻은 서브 이미지 블록은 sub-CU라고 할 수 있다. 선택적으로, 서브 이미지 블록의 크기 및/또는 서브 이미지 블록의 관련 블록의 크기는 64개 이상의 화소로 고정된다. 선택적으로, 서브 이미지 블록의 크기 및/또는 서브 이미지 블록의 관련 블록의 크기는 모두 8×8개 화소로 고정된다.
현재 ATMVP 기술에서는, 서브 이미지 블록의 크기에 대해 프레임 레벨 자기 적응 설정을 진행하고, 서브 이미지 블록의 크기는 기본적으로 4×4이고, 특정 조건을 만족시킬 경우, 서브 이미지 블록의 크기는 8×8로 설정된다. 예를 들면, 부호화단에서, 현재 이미지 블록을 부호화할 경우, 동일한 시간적 계층의 이전 부호화된 이미지 블록을 ATMVP모드 부호화할 때 CU 중의 각 서브 이미지 블록의 평균 블록 크기를 계산하고, 평균 블록 크기가 임계 값보다 크면, 현재 이미지 블록의 서브 이미지 블록의 크기는 8×8로 설정되고, 그렇지 않으면 디폴드 값 4×4를 사용한다. 현재, 차세대 비디오 부호화 표준(Versatile Video Coding, VVC)에서는, 8×8의 크기로 움직임 벡터를 저장한다. 이해해야 할 것은, 서브 이미지 블록의 크기를 4×4로 설정한 경우, 상기 서브 이미지 블록의 움직임 벡터의 크기(즉 4×4)는 현재 표준의 움직임 벡터의 저장 입도에 부합하지 않는다. 또한, 현재 ATMVP 기술에서, 현재 이미지 블록을 부호화할 경우, 동일한 시간적 계층의 이전 부호화된 이미지 블록의 서브 이미지 블록의 크기 정보도 저장해야 한다.
본 출원의 실시예에서, 현재 이미지 블록의 서브 이미지 블록의 크기를 8×8로 설정하면, 한편으로는 비디오 표준 VVC에 규정된 움직임 벡터의 저장 입도에 적응할 수 있고, 다른 한편으로는, 이전 부호화된 이미지 블록의 서브 이미지 블록의 크기 정보를 저장할 필요가 없으므로, 저장 공간을 절약할 수 있다.
현재, TMVP기술은 현재 CU의 오른쪽 하단 또는 중심 위치의 부호화된 이미지 중 동일 위치 CU에 인접한 MV를 스케일링하여 현재 CU의 시간적 후보 움직임 벡터를 얻는다. 다시 말하면, TMVP는 참조 이미지 중 2개의 고정 위치의 부호화 블록을 탐색하여 MVP을 얻은 것이고, 상기 순서는 TB→TC이고, 직접 첫 번째로 탐색된 MV를 TMVP의 MVP로 한다. 본 출원의 실시예에서, ATMVP 기술 중의 서브 이미지 블록의 크기는 8×8로 설정하고, 이는 본 출원의 각 실시예의 기존 병합(merge) 후보 리스트(merge list) 중의 하나의 MV를 사용하여 관련 블록의 위치 결정을 진행하고, 위치 결정된 관련 블록의 MV를 ATMVP의 MVP로 한다.
비디오 표준 VVC의 일부 버전에서, merge리스트를 구축하는 것은 먼저 ATMVP의 merge후보 리스트를 구축한 다음 TMVP의 merge후보 리스트를 구축한다. 비디오 표준 VVC의 다른 일부 버전에서, TMVP의 merge후보 리스트의 구축은 merge list의 구축 과정에서 진행되고, ATMVP의 merge후보 리스트의 구축은 affine merge list의 구축 과정에서 진행된다. ATMVP 및 TMVP는 각각 2개의 상이한 리스트를 구축하지만, 논리적으로는 2개의 merge후보 리스트에 동일한 MV 또는 동일한 조의 MV를 추가할 필요가 없다. 현재 CU의 넓이 및 높이가 모두 8인 경우, TMVP와 ATMVP에서 각각 구축한 merge후보 리스트는 일정한 리던던시가 존재할 수 있다. 즉, 두 가지 기술은 현재 CU에 대해 동일한 조의 시간적 후보 움직임 정보를 도출할 수 있다.
본 출원의 일부 실시예에서, 현재 CU의 넓이 및 높이가 모두 8인 경우, TMVP 동작을 진행하지 않도록 설정된다. 다시 말하면, 서브 이미지 블록의 크기 및/또는 상기 서브 이미지 블록의 관련 블록의 크기가 8×8개 화소인 경우, TMVP 동작을 진행하지 않도록 설정된다. 따라서 ATMVP 및 TMVP에서 각각 구축한 merge후보 리스트에 동일한 MV 또는 동일한 조의 MV가 포함되는 것을 방지할 수 있고, 일부 리던던시 동작을 건너뛰어, 부호화/복호화 시간을 효과적으로 절약하고, 부호화 효율을 향상시킬 수 있다.
본 출원의 일부 실시예에서, 현재 CU의 넓이 및/또는 높이가 8 화소보다 작으면, TMVP 동작을 진행하지 않도록 설정된다. 다시 말하면, 서브 이미지 블록 및/또는 상기 서브 이미지 블록의 관련 블록의 넓이 및 높이 중에서 적어도 하나가 8 화소보다 작으면, TMVP 동작을 진행하지 않도록 설정된다. 그 이유는, 부호화기 및/또는 복호화기의 하드웨어 설계는 동일한 크기의 영역에서 부호화 또는 복호화를 완성하는 시간이 가능한 일치하도록 요구하기 때문이다. 그러나 많은 작은 블록을 포함하는 영역인 경우, 부호화 또는 복호화해야 하는 실행 시간은 다른 영역을 훨씬 초과한다. 추가적으로, 서브 이미지 블록 및/또는 상기 서브 이미지 블록의 관련 블록의 넓이 및 높이가 모두 8 화소보다 작을 경우, TMVP 동작을 진행하지 않도록 설정될 수 있다. 작은 블록의 부호화 또는 복호화 실행 시간을 절약하는 것은 하드웨어의 병행 처리에 매우 의미가 있다. 이를 제외하고, 현재 부호화 기술은 시간적 관련성에 대한 활용률이 점점 높아지고 있으며, ATMVP 기술과 같은 많은 시간적 예측 기술이 채택된다. 따라서, 작은 블록의 경우, TMVP 동작을 건너뜀으로 인한 성능 영향을 무시할 수 있어, 부호화/복호화 시간을 효과적으로 절약하고, 부호화 효율을 향상시킬 수 있다.
이해해야 할 것은, 서브 이미지 블록의 크기 및/또는 서브 이미지 블록의 관련 블록의 크기가 64개의 화소로 고정되도록 보장하는 전제 하에서, 서브 이미지 블록의 크기 및/또는 서브 이미지 블록의 관련 블록의 크기는 다른 크기일 수도 있다. 예를 들면 서브 이미지 블록의 크기 및/또는 서브 이미지 블록의 관련 블록의 크기는 A×B이고, A≤64, B≤64이며, A 및 B는 모두 4의 정수이다. 예를 들면, 서브 이미지 블록의 크기 및/또는 서브 이미지 블록의 관련 블록의 크기는 4×16개 화소 또는 16×4개 화소이다.
선택적으로, 다른 구현예로서, 참조 움직임 벡터, 현재 이미지 블록 및 현재 이미지 블록의 참조 이미지에 따라, 움직임 벡터 제2 후보 리스트에 계속 추가할 후보 움직임 벡터를 결정하는 단계는, 참조 움직임 벡터에 따라, 현재 이미지 블록의 참조 이미지에서 현재 이미지 블록의 관련 블록을 결정하는 단계; 관련 블록의 움직임 벡터에 따라, 움직임 벡터 제2 후보 리스트에 계속 추가할 후보 움직임 벡터를 결정하는 단계;를 포함한다.
부호화/복호화 기술에서, 일반적으로 부호화/복호화된 이미지를 사용하여 현재 부호화/복호화할 참조 이미지로 한다. 일부 실시예에서, 하나의 참조 이미지를 구성하여, 참조 이미지와 현재 부호화/복호화할 이미지의 유사도를 향상시킬 수 있다.
예를 들면, 비디오 내용에 한 가지 특정 부호화/복호화 장면이 존재하면, 상기 장면에서 배경은 거의 변하지 않고, 비디오 중의 전경(前景)만 변하거나 움직인다. 예를 들면, 비디오 모니터링이 바로 상기 장면에 속한다. 비디오 모니터링 장면에서 일반적으로 모니터링 카메라는 고정되어 있거나 느리게만 움직이며, 배경이 거의 변하지 않는다고 볼 수 있다. 이와 반대로, 비디오 모니터링 렌즈에 촬영된 사람 또는 차량 등 물체는 자주 움직이거나 변하며, 전경이 자주 변하는 것으로 볼 수 있다. 이러한 장면에서는, 특정 참조 이미지를 만들수 있고, 상기 특정 참조 이미지에는 고품질 배경 정보만 포함한다. 상기 특정 참조 이미지는 복수의 이미지 블록을 포함할 수 있고, 임의의 하나의 이미지 블록은 모두 특정 복호화된 이미지로부터 취한 것이며, 상기 특정 참조 이미지 중의 상이한 이미지 블록은 상이한 복호화된 이미지로부터 취한 것일 수 있다. 인터 예측을 진행할 때, 현재 부호화/복호화할 이미지의 배경 부분은 상기 특정 참조 이미지를 참조할 수 있고, 이러한 방식으로 인터 예측의 잔차 정보를 줄여, 부호화/복호화 효율을 높일 수 있다.
이상은 특정 참조 이미지에 대한 구체적인 예시이다. 일부 구현예에서, 특정 참조 이미지는 구성 프레임(composite reference), 장기 참조 이미지, 출력되지 않는 이미지 중 적어도 하나의 성질을 갖는다. 여기서, 상기 출력되지 않는 이미지는, 출력되어 나타나지 않는 이미지를 가리키며, 일반적으로, 상기 출력되지 않는 이미지는 기타 이미지의 참조 이미지로서 존재한다. 예를 들면, 상기 특정 참조 이미지는 구성된 장기 참조 이미지거나, 또는 출력되지 않는 구성 프레임이거나, 또는 출력되지 않는 장기 참조 이미지일 수 있다. 일부 구현예에서, 구성 프레임은 병합 참조 프레임이라고도 한다.
일부 구현예에서, 비특정 참조 이미지는 구성 프레임, 장기 참조 이미지, 출력되지 않는 이미지 중 적어도 하나의 성질을 가지지 않는 참조 이미지일 수 있다. 예를 들면, 상기 비특정 참조 이미지는 구성 프레임을 제외한 참조 이미지를 포함하거나, 또는 장기 참조 이미지를 제외한 참조 이미지를 포함하거나, 또는 출력되지 않는 이미지를 제외한 참조 이미지를 포함하거나, 구성된 장기 참조 이미지를 제외한 참조 이미지를 포함하거나, 또는 출력되지 않는 구성 프레임을 제외한 참조 이미지를 포함하거나, 또는 출력되지 않는 장기 참조 이미지를 제외한 참조 이미지 등등을 포함할 수 있다.
일부 구현예에서, 비디오 중의 이미지가 참조 이미지로 사용될 수 있을 경우, 장기 참조 이미지와 단기 참조 이미지로 구분할 수 있다. 여기서, 상기 단기 참조 이미지는 장기 참조 이미지에 대응되는 하나의 개념이다. 단기 참조 이미지는 참조 이미지 버퍼링 영역에 일정 시간 동안 존재하고, 상기 단기 참조 이미지를 거친 복호화된 참조 이미지는 참조 이미지 버퍼링 영역에서의 어느 정도의 안 또는 밖으로 이동하는 동작 이후, 단기 참조 이미지는 참조 이미지 버퍼링 영역 밖으로 이동하게 된다. 참조 이미지 버퍼링 영역은 참조 이미지 리스트 버퍼 메모리, 참조 이미지 리스트, 참조 프레임 리스트 버퍼 메모리 또는 참조 프레임 리스트 등이라고도 하고, 본문에서는 총칭하여 참조 이미지 버퍼링 영역이라고 한다.
장기 참조 이미지(또는 장기 참조 이미지 중 일부 데이터)는 참조 이미지 버퍼링 영역에 항상 존재할 수 있고, 상기 장기 참조 이미지(또는 장기 참조 이미지 중 일부 데이터)는 복호화된 참조 이미지의 참조 이미지 버퍼링 영역에서의 안 또는 밖으로 이동하는 동작의 영향을 받지 않으며, 복호화단에서 업데이트 명령 동작을 보낼 때에만 상기 장기 참조 이미지(또는 장기 참조 이미지 중 일부 데이터)는 참조 이미지 버퍼링 영역 밖으로 이동한다.
단기 참조 이미지 및 장기 참조 이미지는 표준에 따라 다르게 불릴 수 있다. 예를 들면, H.264/고급 비디오 부호화(advanced video coding, AVC) 또는 H.265/HEVC 등 표준에서 단기 참조 이미지는 단기 참조 프레임(short-term reference)이라고 하고, 장기 참조 이미지는 장기 참조 프레임(long-term reference)이라고 한다. 또한 정보원(信源) 부호화 표준(audio video coding standard, AVS) 1-P2, AVS2-P2, 전기 및 전자 엔지니어 협회(institute of electrical and electronics engineers, IEEE) 1857.9-P4 등 표준에서, 장기 참조 이미지는 백그라운드 프레임(background picture)이라고 한다. 또한 VP8, VP9 등 표준에서, 장기 참조 이미지는 골든 프레임(golden frame)이라고 한다.
이해해야 할 것은, 본 출원의 실시예에서 특정 용어의 사용은 반드시 특정 장면에서만 적용되어야 함을 의미하는 것은 아니며, 예를 들면, 장기 참조 이미지를 장기 참조 프레임이라고 해서 반드시 H.264/ AVC 또는 H.265/HEVC 등 표준에 해당하는 기술에 사용해야 한다는 의미는 아니다.
이상 언급된 장기 참조 이미지는 복수의 복호화된 이미지에서 취한 이미지 블록으로 구성되거나, 또는 복수의 복호화된 이미지를 이용하여 기존의 참조 프레임(예를 들면, 미리 저장된 참조 프레임)을 업데이트하여 얻을 수 있다. 물론, 상기 구성된 특정 참조 이미지는 단기 참조 이미지일 수도 있다. 또는, 장기 참조 이미지는 구성된 참조 이미지가 아닐 수도 있다.
상기 구현예에서, 특정 참조 이미지는 장기 참조 이미지를 포함할 수 있고, 비특정 참조 이미지는 단기 참조 이미지를 포함할 수 있다.
선택적으로, 참조 프레임의 유형은 비트 스트림 구조에서 특수 필드로 표기될 수 있다.
선택적으로, 참조 이미지가 장기 참조 이미지인 것으로 결정되면, 상기 참조 이미지를 특정 참조 이미지로 결정하거나, 또는 참조 이미지가 출력되지 않는 프레임인 것으로 결정되면, 상기 참조 이미지를 특정 참조 이미지로 결정하거나, 또는 참조 이미지가 구성 프레임인 것으로 결정되면, 상기 참조 이미지를 특정 참조 이미지로 결정하거나, 또는 참조 이미지가 출력되지 않는 프레임인 것으로 결정되고, 또한 상기 참조 이미지가 구성 프레임인 것으로 추가로 결정되면, 상기 참조 이미지를 특정 참조 이미지로 결정한다.
선택적으로, 다양한 유형의 참조 이미지는 모두 상응한 식별자를 가질 수 있고, 이때 복호화단은, 참조 이미지가 갖고 있는 식별자에 근거하여 상기 참조 이미지가 특정 참조 이미지인지 결정할 수 있다.
일부 구현예에서, 참조 이미지가 장기 참조 이미지의 식별자를 갖는 것으로 결정되면, 상기 참조 이미지를 특정 참조 이미지로 결정한다.
일부 구현예에서, 참조 이미지가 출력되지 않는 식별자를 갖는 것으로 결정되면, 상기 참조 이미지를 특정 참조 이미지로 결정한다.
일부 구현예에서, 참조 이미지가 구성 프레임의 식별자를 식별자를 갖는 것으로 결정되면, 상기 참조 이미지를 특정 참조 이미지로 결정한다.
일부 구현예에서, 참조 이미지가 장기 참조 이미지의 식별자, 출력되지 않는 식별자, 구성 프레임 또는 병합 참조 프레임의 식별자 등 3개 식별자 중 적어도 2개 식별자를 갖는 것으로 결정되면, 참조 이미지를 특정 참조 이미지로 결정한다. 예를 들면, 참조 이미지가 출력되지 않는 식별자를 갖는 것으로 결정되고, 또한 참조 이미지가 구성 프레임의 식별자를 갖는 것으로 결정되면, 참조 이미지를 특정 참조 이미지로 결정한다.
구체적으로, 이미지는 출력되는 프레임인지 여부를 표시하는 식별자를 가질 수 있고, 어느 한 이미지가 출력되지 않는 것으로 표시될 경우, 상기 프레임은 참조 이미지임을 의미하고, 추가적으로, 상기 프레임이 구성 프레임의 식별자를 갖는지 여부를 판단하고, 구성 프레임의 식별자를 갖는다면, 상기 참조 이미지를 특정 참조 이미지로 결정한다. 어느 한 이미지가 출력되는 것으로 표시될 경우, 구성 프레임인지 여부를 판단하지 않고, 직접 상기 프레임은 특정 참조 이미지가 아닌 것으로 결정할 수 있다. 또는, 어느 한 이미지가 출력되지 않는 것으로 표시되지만, 구성 프레임이 아닌 식별자를 가질 경우, 상기 프레임은 특정 참조 이미지가 아닌 것으로 결정할 수 있다.
선택적으로, 이미지 헤더(picture header), 이미지 파라미터 세트(PPS, picture parameter set), 슬라이스 헤더(slice header) 중 파라미터를 분석하여 상기 참조 이미지가 아래 조건 중 하나를 만족하는 것으로 결정되면, 상기 참조 이미지를 특정 참조 이미지로 결정한다:
상기 참조 이미지가 장기 참조 이미지인 것;
상기 참조 이미지가 구성 참조 이미지인 것;
상기 참조 이미지가 출력되지 않는 이미지인 것;
상기 참조 이미지가 출력되지 않는 이미지일 경우, 상기 참조 이미지는 구성 참조 이미지인 것으로 추가로 판단하는 것.
본 출원의 실시예의 일부 구현예에서, 현재 이미지 블록의 움직임 벡터를 결정하는 과정에서, 기타 이미지 상의 어느 한 이미지 블록의 움직임 벡터를 이용하여 상기 이미지 블록의 움직임 벡터를 결정해야 하는 것에 관련된다. 설명의 편의를 위해, 상기 이미지 블록을 제1 이미지 블록이라고 하고, 이용하고자 할 기타 이미지 상의 어느 한 이미지 블록을 상기 제1 이미지 블록의 시간적 참조 블록 또는 관련 블록이라고 한다. 제1 이미지 블록 및 상기 제1 이미지 블록의 시간적 참조 블록(또는 관련 블록)은 상이한 이미지 상에 위치한다는 것을 이해할 수 있다. 그러면, 상기 시간적 참조 블록(또는 관련 블록)의 움직임 벡터를 이용하여 제1 이미지 블록의 움직임 벡터를 결정하는 과정에서, 상기 시간적 참조 블록(또는 관련 블록)의 움직임 벡터를 스케일링 처리할 필요가 있을 수 있다. 설명의 편의를 위해, 본문에서는 "관련 블록"이라는 용어를 통일적으로 사용한다.
예를 들면, AMVP후보 리스트의 구축에 ATMVP기술을 응용할 경우, ATMVP기술에 따라 현재 이미지 블록의 관련 블록의 움직임 벡터를 결정할 때, 상기 관련 블록의 움직임 벡터를 스케일링한 후, 스케일링된 움직임 벡터에 따라 현재 이미지 블록의 움직임 벡터를 결정해야 한다. 일반적으로, 관련 블록의 움직임 벡터가 가리키는 참조 이미지와 상기 관련 블록이 위치하는 이미지 사이의 시간적 거리 및 현재 이미지 블록의 참조 이미지와 현재 이미지 블록이 위치한 이미지 사이의 시간적 거리를 기초로, 상기 관련 블록의 움직임 벡터의 스케일링 비율을 결정한다.
일 예시에서, 상기 관련 블록의 움직임 벡터를 MV 2라고 하고, 상기 움직임 벡터(MV 2)가 가리키는 참조 이미지의 참조 프레임 인덱스 값은 x이다. 여기서, 상기 참조 프레임 인덱스 값 x는 MV 2가 가리키는 참조 이미지의 순서 번호(예를 들면 POC)와 상기 관련 블록이 위치하는 이미지의 순서 번호의 차이이다. 제1 이미지 블록의 참조 이미지의 참조 프레임 인덱스 값을 y라고 한다. 여기서, 상기 참조 프레임 인덱스 값 y는 제1 이미지 블록의 참조 이미지의 순서 번호와 상기 제1 이미지 블록이 위치하는 이미지의 순서 번호의 차이이다. 그러면, 움직임 벡터(MV 2)에 대한 스케일링 비율은 y/x이다. 선택적으로, 움직임 벡터(MV 2)와 y/x의 곱을 제1 이미지 블록의 움직임 벡터로 할 수 있다.
그러나, 관련 블록의 움직임 벡터(MV 2)가 하나의 특정 참조 이미지를 가리키거나, 또는 제1 이미지 블록의 참조 이미지가 하나의 특정 참조 이미지일 경우, 특정 참조 이미지와 제1 이미지 블록이 위치하는 이미지의 시간적 거리의 정의가 불명확하므로, 관련 블록의 움직임 벡터(MV 2)에 대한 스케일링은 의미가 없다.
선택적으로, 본 실시예에서, 관련 블록의 움직임 벡터에 따라 현재 이미지 블록의 움직임 벡터를 결정하는 경우, 구체적으로, 관련 블록의 움직임 벡터가 특정 참조 이미지를 가리키거나, 또는 현재 이미지 블록의 참조 이미지가 특정 참조 이미지일 경우, 처리 후의 관련 블록의 움직임 벡터에 따라 현재 이미지 블록의 움직임 벡터를 결정하고, 여기서, 처리 후의 관련 블록의 움직임 벡터는 처리 전의 관련 블록의 움직임 벡터와 동일하다.
예를 들면, 처리 후의 관련 블록의 움직임 벡터는, 수치가 1인 스케일링 비율에 따라 관련 블록의 움직임 벡터를 스케일링한 후 얻은 움직임 벡터, 또는 스케일링 단계를 건너뛴 관련 블록의 움직임 벡터를 포함한다.
선택적으로, 본 실시예에서, 관련 블록의 움직임 벡터에 따라 현재 이미지 블록의 움직임 벡터를 결정할 경우, 구체적으로, 관련 블록의 움직임 벡터가 특정 참조 이미지를 가리키거나, 또는 현재 이미지 블록의 참조 이미지가 특정 참조 이미지일 경우, 관련 블록의 움직임 벡터에 따라 현재 이미지 블록의 움직임 벡터를 결정하는 것을 포기한다.
일부 실시예에서, 단계(S120)는, N개 후보 움직임 벡터에서 미리 설정된 조건에 부합하는 후보 움직임 벡터가 스캔되지 않으면, 움직임 벡터 제2 후보 리스트 중의 특정 후보 움직임 벡터를 스케일링 처리하여, 스케일링 처리된 특정 후보 움직임 벡터에 따라 참조 움직임 벡터를 결정하는 것을 포함한다. 이 경우, 선택적으로, 상기 방법은 특정 후보 움직임 벡터가 특정 참조 이미지를 가리키거나, 또는 현재 이미지 블록의 참조 이미지가 특정 참조 이미지일 경우, 처리 후의 특정 후보 움직임 벡터에 따라 움직임 벡터 제2 후보 리스트에 계속 추가할 후보 움직임 벡터를 결정하는 단계를 더 포함하고, 여기서, 처리 후의 특정 후보 움직임 벡터는 처리 전의 특정 후보 움직임 벡터와 동일하다.
여기서, 처리 후의 관련 블록의 움직임 벡터는, 수치가 1인 스케일링 비율에 따라 관련 블록의 움직임 벡터를 스케일링한 후 얻은 움직임 벡터, 또는 스케일링 단계를 건너뛴 관련 블록의 움직임 벡터를 포함한다.
일부 실시예에서, 단계(S120)는, N개 후보 움직임 벡터에서 미리 설정된 조건에 부합하는 후보 움직임 벡터가 스캔되지 않으면, 움직임 벡터 제2 후보 리스트 중의 특정 후보 움직임 벡터를 스케일링 처리하여, 스케일링 처리된 특정 후보 움직임 벡터에 따라 참조 움직임 벡터를 결정하는 것을 포함한다. 이 경우, 선택적으로, 상기 방법은, 특정 후보 움직임 벡터가 특정 참조 이미지를 가리키거나, 또는 현재 이미지 블록의 참조 이미지가 특정 참조 이미지일 경우, 특정 후보 움직임 벡터에 따라 움직임 벡터 제2 후보 리스트에 계속 추가할 후보 움직임 벡터를 결정하는 것을 포기하는 단계를 더 포함한다.
상술한 바를 통해 알 수 있듯이, 본 출원의 실시예는, 현재 이미지 블록의 참조 움직임 벡터를 획득하는 과정에서, 이미 획득한 M개 후보 움직임 벡터 중의 N(N은 M보다 작다)개 후보 움직임 벡터만 차례로 스캔하며, 종래 기술과 비교했을 때, 현재 이미지 블록의 참조 움직임 벡터를 획득하는 과정에서 후보 움직임 벡터에 대한 스캔 횟수를 줄일 수 있다. 이해해야 할 것은, 본 출원에서 제공한 방안을 종래 ATMVP 기술에 응용할 경우, 존재하는 리던던시 동작을 간소화 할 수 있다.
N개 후보 움직임 벡터 중 참조 프레임과 현재 프레임의 동일 위치 프레임이 동일한 후보 움직임 벡터가 스캔되지 않으면, N개 후보 움직임 벡터 중의 하나의 후보 움직임 벡터를 스케일링 처리하여, 참조 프레임과 현재 프레임의 동일 위치 프레임이 동일하도록 한 다음, 상기 스케일링 처리된 후보 움직임 벡터를 현재 이미지 블록의 움직임 벡터로 하며, 이 경우 현재 이미지 블록의 움직임 벡터의 정확도를 향상시킬 수 있다.
현재 이미지 블록을 크기가 8×8인 서브 이미지 블록으로 분할하면, 한편으로는 비디오 표준 VVC에 규정된 움직임 벡터의 저장 입도에 적응할 수 있고, 다른 한편으로는, 이전 부호화된 이미지 블록의 서브 블록의 크기 정보를 저장할 필요가 없으므로, 저장 공간을 절약할 수 있다.
본 출원의 일부 실시예에서, 서브 이미지 블록의 크기 및/또는 상기 서브 이미지 블록의 관련 블록의 크기가 8×8개 화소인 경우, TMVP 동작을 진행하지 않도록 설정되므로, 일부 리던던시 동작을 건너뛰어, 부호화/복호화 시간을 효과적으로 절약하고, 부호화 효율을 향상시킬 수 있다.
본 출원의 일부 실시예에서, 현재 CU의 넓이 및/또는 높이가 8 화소보다 작으면, TMVP 동작을 진행하지 않도록 설정된다. 다시 말하면, 서브 이미지 블록 및/또는 상기 서브 이미지 블록의 관련 블록의 넓이 및 높이 중에서 적어도 하나가 8 화소보다 작으면, TMVP 동작을 진행하지 않도록 설정된다. 상술한 경우, TMVP 동작을 건너뜀으로 인한 성능 영향을 무시할 수 있으므로, 부호화/복호화 시간을 효과적으로 절약하고, 부호화 효율을 향상시킬 수 있다.
도 4에 도시된 바와 같이, 본 출원의 실시예는 비디오 이미지 처리 방법을 더 제공하고, 상기 방법은 아래와 같은 단계들을 포함한다.
S410, 현재 이미지 블록의 움직임 벡터 제2 후보 리스트에 추가하기 위한 M개 후보 움직임 벡터를 획득한다.
단계(S410)는 상술한 단계(S110)에 대응되고, 구체적인 설명은 상술한 설명을 참조하기 바라면, 여기서는 설명을 생략한다.
S420, M개 후보 움직임 벡터 중의 적어도 일부 후보 움직임 벡터를 차례로 스캔하고, 스캔 결과에 따라 현재 이미지 블록의 참조 움직임 벡터를 결정한다.
선택 가능한 구현예로서, M개 후보 움직임 벡터 중의 일부 후보 움직임 벡터를 차례로 스캔하고, 스캔 결과에 따라 현재 이미지 블록의 참조 움직임 벡터를 결정한다. 이러한 구현예에서, 단계(S420)는 상술한 단계(S120)에 대응될 수 있고, 구체적인 설명은 상술한 설명을 참조하기 바란다.
다른 선택 가능한 구현예로서, M개 후보 움직임 벡터 중의 모든 후보 움직임 벡터를 차례로 스캔하고, 스캔 결과에 따라 현재 이미지 블록의 참조 움직임 벡터를 결정한다.
이해해야 할 것은, 단계(S420)에서, 스캔 결과에 따라 현재 이미지 블록의 참조 움직임 벡터를 결정하는 구체적인 방법은 상술한 실시예의 관련 설명을 참조할 수 있고, 여기서는 설명을 생략한다.
S430, 현재 이미지 블록을 복수의 서브 이미지 블록으로 분할하고, 여기서, 서브 이미지 블록의 크기는 64개 이상의 화소로 고정된다.
예를 들면, 현재 이미지 블록은 하나의 CU이고, 이를 분할한 후 얻은 서브 이미지 블록은 sub-CU라고 할 수 있다.
S440, 참조 움직임 벡터에 따라 현재 이미지 블록의 참조 이미지에서 서브 이미지 블록의 관련 블록을 결정한다.
현재 이미지 블록의 참조 이미지는 현재 이미지 블록의 동일 위치 프레임일 수 있다.
S450, 관련 블록의 움직임 벡터에 따라 움직임 벡터 제2 후보 리스트에 계속 추가할 후보 움직임 벡터를 결정한다.
현재 ATMVP 기술에서는, 서브 이미지 블록의 크기에 대해 프레임 레벨 자기 적응 설정을 진행하고, 서브 이미지 블록의 크기는 기본적으로 4×4이고, 특정 조건을 만족시킬 경우, 서브 이미지 블록의 크기는 8×8로 설정된다. 예를 들면, 부호화단에서, 현재 이미지 블록을 부호화할 경우, 동일한 시간적 계층의 이전 부호화된 이미지 블록을 ATMVP모드 부호화할 때 CU 중의 각 서브 이미지 블록의 평균 블록 크기를 계산하고, 평균 블록 크기가 임계 값보다 크면, 현재 이미지 블록의 서브 이미지 블록의 크기는 8×8로 설정되고, 그렇지 않으면 디폴드 값 4×4를 사용한다. 다시 말하면, 종래 기술에서, 현재 이미지 블록을 부호화할 경우, 동일한 시간적 계층의 이전 부호화된 이미지 블록의 서브 이미지 블록의 크기 정보도 저장해야 한다.
본 출원의 실시예에서, 현재 이미지 블록의 서브 이미지 블록의 크기는 64개 이상의 화소로 고정되고, 이전 부호화된 이미지 블록의 서브 이미지 블록의 크기 정보를 저장할 필요가 없으므로, 저장 공간을 절약할 수 있다.
선택적으로, 본 실시예에서, 서브 이미지 블록의 크기 및/또는 서브 이미지 블록의 관련 블록의 크기는 모두 8×8개 화소로 고정된다.
현재 ATMVP 기술에서는, 서브 이미지 블록의 크기에 대해 프레임 레벨 자기 적응 설정을 진행하고, 서브 이미지 블록의 크기는 기본적으로 4×4이고, 특정 조건을 만족시킬 경우, 서브 이미지 블록의 크기는 8×8로 설정된다. 예를 들면, 부호화단에서, 현재 이미지 블록을 부호화할 경우, 동일한 시간적 계층의 이전 부호화된 이미지 블록을 ATMVP모드 부호화할 때 CU 중의 각 서브 이미지 블록의 평균 블록 크기를 계산하고, 평균 블록 크기가 임계 값보다 크면, 현재 이미지 블록의 서브 이미지 블록의 크기는 8×8로 설정되고, 그렇지 않으면 디폴드 값 4×4를 사용한다. 현재, 차세대 비디오 부호화 표준(Versatile Video Coding, VVC)에서는, 8×8의 크기로 움직임 벡터를 저장한다. 이해해야 할 것은, 서브 이미지 블록의 크기를 4×4로 설정한 경우, 상기 서브 이미지 블록의 움직임 벡터의 크기 (즉 4×4)는 현재 표준의 움직임 벡터의 저장 입도에 부합하지 않는다. 또한, 현재 ATMVP 기술에서, 현재 이미지 블록을 부호화할 경우, 동일한 시간적 계층의 이전 부호화된 이미지 블록의 서브 이미지 블록의 크기 정보도 저장해야 한다.
본 출원의 실시예에서, 현재 이미지 블록의 서브 이미지 블록의 크기를 8×8로 설정하면, 한편으로는 비디오 표준 VVC에 규정된 움직임 벡터의 저장 입도에 적응할 수 있고, 다른 한편으로는, 이전 부호화된 이미지 블록의 서브 이미지 블록의 크기 정보를 저장할 필요가 없으므로, 저장 공간을 절약할 수 있다.
본 출원의 일부 실시예에서, 서브 이미지 블록의 크기 및/또는 상기 서브 이미지 블록의 관련 블록의 크기가 8×8개 화소인 경우, TMVP 동작을 진행하지 않도록 설정되므로, 일부 리던던시 동작을 건너뛰어, 부호화/복호화 시간을 효과적으로 절약하고, 부호화 효율을 향상시킬 수 있다.
본 출원의 일부 실시예에서, 현재 CU의 넓이 및/또는 높이가 8 화소보다 작으면, TMVP 동작을 진행하지 않도록 설정된다. 다시 말하면, 서브 이미지 블록 및/또는 상기 서브 이미지 블록의 관련 블록의 넓이 및 높이 중에서 적어도 하나가 8 화소보다 작으면, TMVP 동작을 진행하지 않도록 설정된다. 상술한 경우, TMVP 동작을 건너뜀으로 인한 성능 영향을 무시할 수 있으므로, 부호화/복호화 시간을 효과적으로 절약하고, 부호화 효율을 향상시킬 수 있다.
이해해야 할 것은, 서브 이미지 블록의 크기 및/또는 서브 이미지 블록의 관련 블록의 크기가 64개의 화소로 고정되도록 보장하는 전제 하에서, 서브 이미지 블록의 크기 및/또는 서브 이미지 블록의 관련 블록의 크기는 다른 크기일 수도 있다. 예를 들면 서브 이미지 블록의 크기 및/또는 서브 이미지 블록의 관련 블록의 크기는 A×B이고, A≤64, B≤64이며, A 및 B는 모두 4의 정수이다. 예를 들면, 서브 이미지 블록의 크기 및/또는 서브 이미지 블록의 관련 블록의 크기는 4×16개 화소이거나, 16×4개 화소이다.
선택적으로, 단계(S420)에서, 일부 후보 움직임 벡터를 차례로 스캔하고, 미리 설정된 조건에 부합하는 첫 후보 움직임 벡터가 스캔되면, 스캔을 정지하고, 스캔된 미리 설정된 조건에 부합하는 첫 후보 움직임 벡터에 따라 참조 움직임 벡터를 결정한다.
스캔된 미리 설정된 조건에 부합하는 첫 후보 움직임 벡터에 따라 참조 움직임 벡터를 결정하는 단계는, 미리 설정된 조건에 부합하는 첫 후보 움직임 벡터를 목표 인접 블록으로 하는 것을 포함할 수 있다.
선택적으로, 미리 설정된 조건은 후보 움직임 벡터의 참조 이미지와 현재 이미지 블록의 참조 이미지가 동일한 것을 포함한다.
선택적으로, 단계(S450)는, 관련 블록의 움직임 벡터가 특정 참조 이미지를 가리키거나, 또는 현재 이미지 블록의 참조 이미지가 특정 참조 이미지일 경우, 처리 후의 관련 블록의 움직임 벡터에 따라 움직임 벡터 제2 후보 리스트에 계속 추가할 후보 움직임 벡터를 결정하는 단계를 포함하고, 여기서, 처리 후의 관련 블록의 움직임 벡터는 처리 전의 관련 블록의 움직임 벡터와 동일하다.
예를 들면, 처리 후의 관련 블록의 움직임 벡터는, 수치가 1인 스케일링 비율에 따라 관련 블록의 움직임 벡터를 스케일링한 후 얻은 움직임 벡터, 또는 스케일링 단계를 건너뛴 관련 블록의 움직임 벡터를 포함한다.
선택적으로, 단계(S450)는, 관련 블록의 움직임 벡터가 특정 참조 이미지를 가리키거나, 또는 현재 이미지 블록의 참조 이미지가 특정 참조 이미지일 경우, 관련 블록의 움직임 벡터에 따라 움직임 벡터 제2 후보 리스트에 계속 추가할 후보 움직임 벡터를 결정하는 것을 포기하는 단계를 포함한다.
따라서, 도 4에 도시된 실시예에서, 현재 이미지 블록을 크기가 8×8인 서브 이미지 블록으로 분할하면, 한편으로는 비디오 표준 VVC에 규정된 움직임 벡터의 저장 입도에 적응할 수 있고, 다른 한편으로는, 이전 부호화된 이미지 블록의 서브 블록의 크기 정보를 저장할 필요가 없으므로, 저장 공간을 절약할 수 있다.
본 출원의 일부 실시예에서, 서브 이미지 블록의 크기 및/또는 상기 서브 이미지 블록의 관련 블록의 크기가 8×8개 화소인 경우, TMVP 동작을 진행하지 않도록 설정되므로, 일부 리던던시 동작을 건너뛰어, 부호화/복호화 시간을 효과적으로 절약하고, 부호화 효율을 향상시킬 수 있다.
본 출원의 일부 실시예에서, 현재 CU의 넓이 및/또는 높이가 8 화소보다 작으면, TMVP 동작을 진행하지 않도록 설정된다. 다시 말하면, 서브 이미지 블록 및/또는 상기 서브 이미지 블록의 관련 블록의 넓이 및 높이 중에서 적어도 하나가 8 화소보다 작으면, TMVP 동작을 진행하지 않도록 설정된다. 상술한 경우, TMVP 동작을 건너뜀으로 인한 성능 영향을 무시할 수 있으므로, 부호화/복호화 시간을 효과적으로 절약하고, 부호화 효율을 향상시킬 수 있다.
이상은 ATMVP기술에 따라 움직임 벡터 제2 후보 리스트에 추가할 후보를 결정하는 방법을 설명하였다. 일부 구현예에서, 움직임 벡터 제2 후보 리스트에 기타 후보를 더 추가할 수 있고, 이에 대해 제한하지 않는다.
이상은 도 1 및 도 4를 결합하여 본 출원의 방법 실시예를 설명하였고, 이하 상기 방법 실시예에 대응되는 장치 실시예를 설명한다. 이해해야 할 것은, 장치 실시예의 설명은 방법 실시예의 설명과 서로 대응되므로, 상세하게 설명되지 않은 내용은 앞의 방법 실시예를 참조할 수 있고, 간결함을 위해 상세한 설명을 생략한다.
도 5는 본 출원의 실시예에 의해 제공되는 비디오 이미지 처리 장치(500)의 개략적인 블록도이다. 상기 장치(500)는 도 1에 도시된 방법 실시예를 실행하기 위한 것이다. 상기 장치(500)는 아래와 같은 유닛들을 포함한다.
획득 유닛(510)은, 현재 이미지 블록의 움직임 벡터 제2 후보 리스트에 추가하기 위한 M개 후보 움직임 벡터를 획득하며;
결정 유닛(520)은, M개 후보 움직임 벡터 중의 N개 후보 움직임 벡터를 차례로 스캔하고, 스캔 결과에 따라 참조 움직임 벡터를 결정하며, N은 M보다 작고;
결정 유닛(520)은, 또한 참조 움직임 벡터, 현재 이미지 블록 및 현재 이미지 블록의 참조 이미지에 따라, 움직임 벡터 제2 후보 리스트에 계속 추가할 후보 움직임 벡터를 결정하며;
결정 유닛(520)은 또한, 움직임 벡터 제2 후보 리스트에 따라, 현재 이미지 블록의 움직임 벡터를 결정한다.
종래의 ATMVP 기술의 첫 번째 단계에서, 움직임 벡터 제2 후보 리스트 중 현재 추가된 모든 후보 움직임 벡터를 스캔하여, 현재 이미지 블록의 시간적 벡터를 획득한다. 예를 들면, 움직임 벡터 제2 후보 리스트는 일반적으로 4개의 후보 움직임 벡터가 채워지며, 4개의 후보 움직임 벡터를 스캔해야만 현재 이미지 블록의 시간적 벡터를 얻을 수 있는 상황이 발생할 수 있다.
본 출원의 실시예에서, 현재 이미지 블록의 참조 움직임 벡터를 획득하는 과정에서, 이미 획득한 M개 후보 움직임 벡터 중의 N(N은 M보다 작다)개 후보 움직임 벡터만 차례로 스캔하며, 종래 기술과 비교했을 때, 현재 이미지 블록의 참조 움직임 벡터를 획득하는 과정에서 후보 움직임 벡터에 대한 스캔 횟수를 줄일 수 있다. 이해해야 할 것은, 본 출원에서 제공한 방안을 종래 ATMVP 기술의 첫 번째 단계에 응용할 경우, 존재하는 리던던시 동작을 간소화 할 수 있다.
출원인은 다용도 비디오 부호화(Versatile Video Coding) 최신 참조 소프트웨어(VTM-2.0) 상에서, 공식전인 일반 테스트 시퀀스를 선택하여 테스트 시퀀스로 하고, 테스트 구성은 RA 구성 및 LDB 구성이며, 본 출원에서 제공한 방안을 테스트하였고, 테스트 결과에 의하면, 스캔 횟수를 줄인 후에도, ATMVP 기술의 성능 이득을 유지할 수 있다.
따라서, 본 출원에서 제공한 방안은 종래 ATMVP 기술의 성능 이득을 유지하는 전제하에, ATMVP 기술의 복잡성을 줄일 수 있다.
선택적으로, 일 실시예로서, 획득 유닛(510)은, 현재 이미지 블록의 현재 프레임 내에서의 M개 인접 블록의 움직임 벡터에 따라, 현재 이미지 블록의 움직임 벡터 제2 후보 리스트에 추가하기 위한 M개 후보 움직임 벡터를 획득한다.
선택적으로, 일 실시예로서, 인접 블록은 현재 프레임 상에서 현재 이미지 블록의 위치와 인접하거나 일정한 위치 간격이 있는 이미지 블록이다.
선택적으로, 일 실시예로서, 결정 유닛(520)은, M개 후보 움직임 벡터 중의 처음 N개 후보 움직임 벡터를 차례로 스캔한다.
선택적으로, 일 실시예로서, M은 4이고, N은 4보다 작다.
선택적으로, 일 실시예로서, N은 1 또는 2이다.
선택적으로, 일 실시예로서, 결정 유닛(520)은, 미리 설정된 조건에 따라, M개 후보 움직임 벡터 중의 N개 후보 움직임 벡터를 차례로 스캔하고, 스캔 결과에 따라 참조 움직임 벡터를 결정한다.
선택적으로, 일 실시예로서, 미리 설정된 조건은 가리키는 참조 프레임과 현재 이미지 블록의 참조 이미지가 동일한 후보 움직임 벡터인 것을 포함한다.
선택적으로, 일 실시예로서, 결정 유닛(520)은, N개 후보 움직임 벡터를 차례로 스캔하고, 미리 설정된 조건에 부합하는 첫 후보 움직임 벡터가 스캔되면, 스캔을 정지하고, 스캔된 미리 설정된 조건에 부합하는 첫 후보 움직임 벡터에 따라 참조 움직임 벡터를 결정한다.
선택적으로, 일 실시예로서, 결정 유닛(520)은, N개 후보 움직임 벡터에서 미리 설정된 조건에 부합하는 후보 움직임 벡터가 스캔되지 않으면, 움직임 벡터 제2 후보 리스트 중의 특정 후보 움직임 벡터를 스케일링 처리하여, 스케일링 처리된 특정 후보 움직임 벡터에 따라 참조 움직임 벡터를 결정한다.
선택적으로, 일 실시예로서, 특정 후보 움직임 벡터는 N개 후보 움직임 벡터에서, 스캔 순서에 따라 얻은 첫 움직임 벡터 또는 마지막 움직임 벡터이다.
선택적으로, 일 실시예로서, 결정 유닛(520)은, 움직임 벡터 제2 후보 리스트 중의 특정 후보 움직임 벡터를 스케일링 처리하여, 스케일링 처리된 특정 후보 움직임 벡터가 가리키는 참조 프레임과 현재 이미지 블록의 참조 이미지가 동일하도록 하고, 스케일링 처리된 특정 후보 움직임 벡터를 참조 움직임 벡터로 한다.
선택적으로, 일 실시예로서, 결정 유닛(520)은, N개 후보 움직임 벡터에서 미리 설정된 조건에 부합하는 후보 움직임 벡터가 스캔되지 않으면, 디폴트 값을 참조 움직임 벡터로 한다.
선택적으로, 일 실시예로서, 디폴트 값은 움직임 벡터(0, 0)이다.
선택적으로, 일 실시예로서, 결정 유닛(520)은, 현재 이미지 블록을 복수의 서브 이미지 블록으로 분할하고, 참조 움직임 벡터에 따라, 현재 이미지 블록의 참조 이미지에서 서브 이미지 블록의 관련 블록을 결정하고, 관련 블록의 움직임 벡터에 따라, 움직임 벡터 제2 후보 리스트에 계속 추가할 후보 움직임 벡터를 결정한다.
선택적으로, 일 실시예로서, 서브 이미지 블록의 크기 및/또는 서브 이미지 블록의 관련 블록의 크기는 64개 이상의 화소로 고정된다.
선택적으로, 일 실시예로서, 현재 이미지 블록은 하나의 부호화 단위(CU)이다.
선택적으로, 일 실시예로서, 결정 유닛(520)은, 참조 움직임 벡터에 따라, 현재 이미지 블록의 참조 이미지에서 현재 이미지 블록의 관련 블록을 결정하고, 관련 블록의 움직임 벡터에 따라, 움직임 벡터 제2 후보 리스트에 계속 추가할 후보 움직임 벡터를 결정한다.
선택적으로, 일 실시예로서, 결정 유닛(520)은, 관련 블록의 움직임 벡터가 특정 참조 이미지를 가리키거나, 또는 현재 이미지 블록의 참조 이미지가 특정 참조 이미지일 경우, 처리 후의 관련 블록의 움직임 벡터에 따라 움직임 벡터 제2 후보 리스트에 계속 추가할 후보 움직임 벡터를 결정하고, 여기서, 처리 후의 관련 블록의 움직임 벡터는 처리 전의 관련 블록의 움직임 벡터와 동일하다.
선택적으로, 일 실시예로서, 처리 후의 관련 블록의 움직임 벡터는, 수치가 1인 스케일링 비율에 따라 관련 블록의 움직임 벡터를 스케일링한 후 얻은 움직임 벡터, 또는 스케일링 단계를 건너뛴 관련 블록의 움직임 벡터를 포함한다.
선택적으로, 일 실시예로서, 결정 유닛(520)은, 관련 블록의 움직임 벡터가 특정 참조 이미지를 가리키거나, 또는 현재 이미지 블록의 참조 이미지가 특정 참조 이미지일 경우, 관련 블록의 움직임 벡터에 따라 움직임 벡터 제2 후보 리스트에 계속 추가할 후보 움직임 벡터를 결정하는 것을 포기한다.
선택적으로, 일 실시예로서, 결정 유닛(520)은, 특정 후보 움직임 벡터가 특정 참조 이미지를 가리키거나, 또는 현재 이미지 블록의 참조 이미지가 특정 참조 이미지일 경우, 처리 후의 특정 후보 움직임 벡터에 따라 움직임 벡터 제2 후보 리스트에 계속 추가할 후보 움직임 벡터를 결정하고, 여기서, 처리 후의 특정 후보 움직임 벡터는 처리 전의 특정 후보 움직임 벡터와 동일하다.
선택적으로, 일 실시예로서, 처리된 관련 블록의 움직임 벡터는, 수치가 1인 스케일링 비율에 따라 관련 블록의 움직임 벡터를 스케일링한 후 얻은 움직임 벡터, 또는 스케일링 단계를 건너뛴 관련 블록의 움직임 벡터를 포함한다.
선택적으로, 일 실시예로서, 결정 유닛(520)은, 특정 후보 움직임 벡터가 특정 참조 이미지를 가리키거나, 또는 현재 이미지 블록의 참조 이미지가 특정 참조 이미지일 경우, 특정 후보 움직임 벡터에 따라 움직임 벡터 제2 후보 리스트에 계속 추가할 후보 움직임 벡터를 결정하는 것을 포기한다.
선택적으로, 일 실시예로서, 움직임 벡터 제2 후보 리스트는 Merge후보 리스트이다.
선택적으로, 일 실시예로서, 현재 이미지 블록의 참조 이미지는 현재 이미지 블록의 동일 위치 프레임이다.
선택적으로, 일 실시예로서, 서브 이미지 블록의 크기 및/또는 서브 이미지 블록의 관련 블록의 크기는 모두 8×8개 화소로 고정된다.
선택적으로, 본 출원의 일부 실시예에서, 서브 이미지 블록의 크기 및/또는 상기 서브 이미지 블록의 관련 블록의 크기가 8×8개 화소인 경우, TMVP 동작을 진행하지 않도록 설정되므로, 일부 리던던시 동작을 건너뛰어, 부호화/복호화 시간을 효과적으로 절약하고, 부호화 효율을 향상시킬 수 있다.
선택적으로, 본 출원의 일부 실시예에서, 현재 CU의 넓이 및/또는 높이가 8 화소보다 작으면, TMVP 동작을 진행하지 않도록 설정된다. 다시 말하면, 서브 이미지 블록 및/또는 상기 서브 이미지 블록의 관련 블록의 넓이 및 높이 중에서 적어도 하나가 8 화소보다 작으면, TMVP 동작을 진행하지 않도록 설정된다. 상술한 경우, TMVP 동작을 건너뜀으로 인한 성능 영향을 무시할 수 있으므로, 부호화/복호화 시간을 효과적으로 절약하고, 부호화 효율을 향상시킬 수 있다.
이해해야 할 것은, 본 실시예의 획득 유닛(510) 및 결정 유닛(520)은 모두 프로세서에 의해 실현될 수 있다.
도 6에 도시된 바와 같이, 본 출원의 실시예는 비디오 이미지 처리 장치(600)를 더 제공한다. 상기 장치(600)는 도 4에 도시된 방법 실시예를 실행하기 위한 것이다. 상기 장치(600)는 아래와 같은 유닛들을 포함한다.
결정 유닛(610)은, 현재 이미지 블록의 움직임 벡터 제2 후보 리스트에 추가하기 위한 M개 후보 움직임 벡터를 획득하며;
결정 유닛(620)은, M개 후보 움직임 벡터 중의 적어도 일부 후보 움직임 벡터를 차례로 스캔하고, 스캔 결과에 따라 현재 이미지 블록의 참조 움직임 벡터를 결정하며;
분할 유닛(630)은, 현재 이미지 블록을 복수의 서브 이미지 블록으로 분할하고, 서브 이미지 블록의 크기는 64개 이상의 화소로 고정되며;
결정 유닛(620)은 또한, 참조 움직임 벡터에 따라 현재 이미지 블록의 참조 이미지에서 서브 이미지 블록의 관련 블록을 결정하고,
결정 유닛(620)은 또한, 관련 블록의 움직임 벡터에 따라 움직임 벡터 제2 후보 리스트에 계속 추가할 후보 움직임 벡터를 결정한다.
현재 ATMVP 기술에서는, 서브 이미지 블록의 크기에 대해 프레임 레벨 자기 적응 설정을 진행하고, 서브 이미지 블록의 크기는 기본적으로 4×4이고, 특정 조건을 만족시킬 경우, 서브 이미지 블록의 크기는 8×8로 설정된다. 예를 들면, 부호화단에서, 현재 이미지 블록을 부호화할 경우, 동일한 시간적 계층의 이전 부호화된 이미지 블록을 ATMVP모드 부호화할 때 CU 중의 각 서브 이미지 블록의 평균 블록 크기를 계산하고, 평균 블록 크기가 임계 값보다 크면, 현재 이미지 블록의 서브 이미지 블록의 크기는 8×8로 설정되고, 그렇지 않으면 디폴드 값 4×4를 사용한다. 다시 말하면, 종래 기술에서, 현재 이미지 블록을 부호화할 경우, 동일한 시간적 계층의 이전 부호화된 이미지 블록의 서브 이미지 블록의 크기 정보도 저장해야 한다.
본 출원의 실시예에서, 현재 이미지 블록의 서브 이미지 블록의 크기는 64개 이상의 화소로 고정되고, 이전 부호화된 이미지 블록의 서브 이미지 블록의 크기 정보를 저장할 필요가 없으므로, 저장 공간을 절약할 수 있다.
선택적으로, 일 실시예로서, 서브 이미지 블록의 크기 및/또는 서브 이미지 블록의 관련 블록의 크기는 모두 8×8개 화소로 고정된다.
현재, 차세대 비디오 부호화 표준(Versatile Video Coding, VVC)에서는, 8×8의 크기로 움직임 벡터를 저장한다. 본 출원의 실시예에서, 현재 이미지 블록의 서브 이미지 블록의 크기를 8×8로 설정하면, 한편으로는 비디오 표준 VVC에 규정된 움직임 벡터의 저장 입도에 적응할 수 있고, 다른 한편으로는, 이전 부호화된 이미지 블록의 서브 이미지 블록의 크기 정보를 저장할 필요가 없으므로, 저장 공간을 절약할 수 있다.
본 출원의 일부 실시예에서, 서브 이미지 블록의 크기 및/또는 상기 서브 이미지 블록의 관련 블록의 크기가 8×8개 화소인 경우, TMVP 동작을 진행하지 않도록 설정되므로, 일부 리던던시 동작을 건너뛰어, 부호화/복호화 시간을 효과적으로 절약하고, 부호화 효율을 향상시킬 수 있다.
본 출원의 일부 실시예에서, 현재 CU의 넓이 및/또는 높이가 8 화소보다 작으면, TMVP 동작을 진행하지 않도록 설정된다. 다시 말하면, 서브 이미지 블록 및/또는 상기 서브 이미지 블록의 관련 블록의 넓이 및 높이 중에서 적어도 하나가 8 화소보다 작으면, TMVP 동작을 진행하지 않도록 설정된다. 상술한 경우, TMVP 동작을 건너뜀으로 인한 성능 영향을 무시할 수 있으므로, 부호화/복호화 시간을 효과적으로 절약하고, 부호화 효율을 향상시킬 수 있다.
선택적으로, 일 실시예로서, 결정 유닛(620)은 적어도 일부 후보 움직임 벡터를 차례로 스캔하고, 미리 설정된 조건에 부합하는 첫 후보 움직임 벡터가 스캔되면, 스캔을 정지하고, 스캔된 미리 설정된 조건에 부합하는 첫 후보 움직임 벡터에 따라 참조 움직임 벡터를 결정한다.
선택적으로, 일 실시예로서, 결정 유닛(620)은, 미리 설정된 조건에 부합하는 첫 후보 움직임 벡터를 목표 인접 블록으로 한다.
선택적으로, 일 실시예로서, 미리 설정된 조건은 후보 움직임 벡터의 참조 이미지와 현재 이미지 블록의 참조 이미지가 동일한 것을 포함한다.
이해해야 할 것은, 본 실시예의 획득 유닛(10), 결정 유닛(620) 및 분할 유닛(630)은 모두 프로세서에 의해 실현될 수 있다.
상술한 설명에서, 하나의 이미지 블록의 움직임 벡터는 두 가지 정보인 1) 상기 움직임 벡터가 가리키는 이미지; 2) 변위를 포함한다. 일부 응용 장면에서, 하나의 이미지 블록의 움직임 벡터는 "변위" 정보만 포함한다. 상기 이미지 블록은 상기 이미지 블록의 참조 이미지를 표시하는 인덱스 정보를 별도로 제공한다. 부호화/복호화된 이미지 블록의 경우, 그 움직임 벡터에 포함된 의미는, 참조 이미지 상에서 상기 부호화/복호화된 이미지 블록과 위치가 동일하고 또한 상기 참조 이미지에 위치하는 이미지 블록에 대한 상기 부호화/복호화된 이미지 블록의 참조 블록의 변위를 포함하는 것이다. 상기 부호화/복호화된 이미지 블록의 참조 블록을 결정할 때, 상기 부호화/복호화된 이미지 블록의 참조 이미지의 인덱스 정보 및 상기 부호화/복호화된 이미지 블록의 움직임 벡터를 통해 상기 부호화/복호화된 이미지 블록의 참조 블록을 결정해야 한다. 그러면, 도 1에 도시된 비디오 이미지 처리 방법에서, 단계(S120)는 움직임 벡터 제2 후보 리스트 중의 후보 움직임 벡터를 스캔하는 것이 아니라, 상기 후보 움직임 벡터에 대응되는 이미지 블록을 직접 스캔한다. 이하에서는 상기 움직임 벡터의 새로운 정의(즉 "변위" 정보를 포함하지만 "가리키는 이미지"를 포함하지 않는다)에 대해, 비디오 이미지 처리 방법을 제공한다. 주의해야 할 것은, "움직임 벡터"의 해당 두 가지 상이한 의미에 대해 각각 제공되는 ATMVP 기술에 기초하여 후보 움직임 벡터를 결정하는 방법은 거의 일치하고, 상술한 해석은 이하에서 제공되는 비디오 이미지 처리 방법에도 적용되며, 구별점은 주로 움직임 벡터 제2 후보 리스트의 구축에 있어서, ATMVP기술에 따라 움직임 벡터 제2 후보 리스트에 추가할 후보를 결정할 때, 상기에서 설명한 비디오 이미지 처리 방법에서는 움직임 벡터 제2 후보 리스트에 추가된 움직임 벡터를 스캔하는 것이고, 이하에서 제공하는 비디오 이미지 처리 방법에서는 상기 움직임 벡터 제2 후보 리스트에 추가된 움직임 벡터에 대응되는 이미지 블록을 스캔하는 것이다.
도 7에 도시된 바와 같이, 본 출원의 실시예는 비디오 이미지 처리 방법을 제공하며, 상기 방법은 아래와 같은 단계들을 포함한다.
S710, 현재 이미지 블록의 M개 인접 블록을 결정한다.
현재 이미지 블록은 부호화(또는 복호화)할 이미지 블록이다. 예를 들면, 현재 이미지 블록은 하나의 부호화 단위(CU)이다.
현재 이미지 블록이 위치하는 이미지 프레임을 현재 프레임이라고 한다.
인접 블록은 현재 이미지 상에서 현재 이미지 블록의 위치와 인접하거나 일정한 위치 간격이 있는 이미지 블록이다.
M개 인접 블록은 현재 프레임 내에서 부호화(또는 복호화)된 이미지 블록이다.
예시로서, 도 2에 도시된 바와 같이, 도 2에서 도시된 현재 이미지 블록 주변의 4개 위치(A1(왼쪽) *1(상단) *0(오른쪽 상단) *0(왼쪽 하단))에 위치한 이미지 블록의 순서에 따라, 현재 이미지 블록의 4개 인접 블록을 차례로 결정한다.
S720, M개 인접 블록 중의 N개 인접 블록을 차례로 스캔하고, 스캔 결과에 따라 목표 인접 블록을 결정하고, N은 M보다 작다.
N개 인접 블록의 스캔 결과에 따라 목표 인접 블록을 결정하는 과정은 미리 설정된 조건에 기초하여 N개 인접 블록을 차례로 판단하고, 판단 결과에 따라 목표 인접 블록을 결정하는 것일 수 있다.
예시로서, 미리 설정된 조건은, 인접 블록의 참조 이미지와 현재 이미지 블록의 참조 이미지가 동일한 것으로 정의된다.
여기서, 현재 이미지 블록의 참조 이미지는 현재 이미지 블록이 위치하는 이미지와 시간적 거리가 가장 가까운 참조 이미지이거나, 또는 현재 이미지 블록의 참조 이미지는 부호화단/복호화단의 미리 설정된 참조 이미지이거나, 또는 현재 이미지 블록의 참조 이미지는 비디오 파라미터 세트, 시퀀스 헤더, 시퀀스 파라미터 세트, 이미지 헤더, 이미지 파라미터 세트, 슬라이스 헤더 중에서 지정된 참조 이미지이다.
예를 들면, 상기 현재 이미지 블록의 참조 이미지는 현재 이미지 블록의 동일 위치 프레임이고, 동일 위치 프레임은 바로 슬라이스 레벨 정보 헤더에 설정된 움직임 정보를 획득하여 예측하기 위한 프레임이다.
이해해야 할 것은, 미래 기술발전에 따라, 상기 미리 설정된 조건은 기타 상이한 정의가 부여될 수 있고, 관련 방안도 본 출원의 보호범위에 속한다.
이하에서는 N개 인접 블록의 스캔 결과에 따라 목표 인접 블록을 결정하는 과정을 상세하게 설명한다.
단계(S720)에서는, 단계(S710)에서 획득한 M개 인접 블록 중의 N개 인접 블록만 스캔하며, 그러면 스캔 횟수를 줄일 수 있다.
선택적으로, 단계(S720)에서, M개 인접 블록 중의 처음 N개 인접 블록을 차례로 스캔할 수 있다.
단계(S710)에서, 미리 설정된 순서에 따라 현재 이미지 블록의 M개 인접 블록을 차례로 결정할 때, 단계(S720)에서 획득한 처음 N개 인접 블록은, 상기 미리 설정된 순서에 따라 먼저 결정된 N개 인접 블록을 의미한다.
선택적으로, 단계(S720)에서, M개 인접 블록 중의 마지막 N개 인접 블록을 차례로 스캔하거나; 또는, M개 인접 블록 중의 중간 N개 인접 블록을 차례로 스캔할 수 있다. 본 출원은 이에 대해 제한하지 않는다.
S730, 목표 인접 블록의 움직임 벡터, 현재 이미지 블록 및 현재 이미지 블록의 참조 이미지에 따라, 현재 이미지 블록의 관련 블록을 결정한다.
S740, 관련 블록의 움직임 벡터에 따라 현재 이미지 블록을 부호화/복호화한다.
선택적으로, 단계(S740)는 관련 블록의 움직임 벡터 및 참조 이미지에 따라 현재 이미지 블록의 참조 블록을 결정하는 단계를 포함한다.
예를 들면, 단계(S740)는 현재 이미지 블록의 후보 블록 리스트를 구축하는 단계로서, 상기 후보 블록 리스트 중의 후보 블록은 M개 인접 블록 및 관련 블록을 포함하는 단계; 후보 블록 리스트 중의 후보 블록의 참조 블록에 따라 현재 이미지 블록을 부호화/복호화하는 단계를 포함한다.
일 예시에서, 상기 후보 블록 리스트는 현재 이미지 블록의 merge후보 리스트이다. 일 예시에서. 상기 후보 블록 리스트는 현재 이미지 블록의 AMVP후보 리스트이다.
부호화단에서, 현재 블록의 후보 블록의 인덱스(index)를 비트 스트림에 기입한다. 복호화단에서, 인덱스를 획득한 후, 후보 블록 리스트에서 상기 인덱스에 대응되는 후보 블록을 찾고, 상기 후보 블록의 참조 블록에 따라 현재 이미지 블록의 참조 블록을 결정하거나, 또는, 상기 후보 블록의 움직임 벡터에 따라 현재 이미지 블록의 움직임 벡터를 결정한다.
예를 들면, 후보 블록의 참조 블록을 현재 이미지 블록의 참조 블록으로 직접 결정하거나, 또는, 후보 블록의 움직임 벡터를 현재 이미지 블록의 움직임 벡터로 직접 결정한다. 또한 예를 들면, 부호화단은 또한 상기 현재 블록의 MVD를 비트 스트림에 기입한다. 복호화단은 상기 MVD을 획득한 후, 상기 후보 블록의 움직임 벡터에 MVD를 추가하여 현재 블록의 움직임 벡터로 한 다음, 상기 움직임 벡터 및 현재 블록의 참조 이미지에 따라 현재 블록의 참조 블록을 결정한다.
본 출원의 실시예에서, 현재 이미지 블록의 목표 인접 블록을 획득하는 과정에서, 이미 획득한 M개 인접 블록 중의 N(N은 M보다 작다)개 인접 블록만 차례로 스캔하며, 종래 기술과 비교했을 때, 현재 이미지 블록의 목표 인접 블록을 획득하는 과정에서 후보 인접 블록에 대한 스캔 횟수를 줄일 수 있어, 복잡성을 감소시킨다.
선택적으로, 본 실시예에서, 단계(S710)에서, 현재 이미지 블록의 현재 프레임 내에서의 4개 인접 블록을 결정하고, 즉 M은 4이다. 단계(S720)에서, 4개 인접 블록 중의 N개 인접 블록을 스캔하고, N은 4보다 작다.
예를 들면, N은 1이다. 예를 들면, 단계(S720)에서, 4개 인접 블록 중의 첫 인접 블록만 스캔한다.
또 예를 들면, N은 2 또는 3이다.
이하에서는 단계(S720)에서, N개 인접 블록의 스캔 결과에 따라 목표 인접 블록을 결정하는 방식을 설명한다.
선택적으로, 단계(S720)에서, N개 인접 블록을 차례로 스캔하고, 미리 설정된 조건에 부합하는 첫 인접 블록이 스캔되면, 스캔을 정지하고, 스캔된 미리 설정된 조건에 부합하는 첫 인접 블록에 따라 목표 인접 블록을 결정한다.
예를 들면, 미리 설정된 조건은 인접 블록의 참조 이미지와 현재 이미지 블록의 참조 이미지가 동일한 것으로 정의된다.
이해해야 할 것은, 미래 기술 발전에 따라, 미리 설정된 조건은 기타 정의가 더 부여될 수 있다.
이하에서는, 미리 설정된 조건이 인접 블록의 참조 이미지와 현재 이미지 블록의 참조 이미지가 동일한 것으로 정의되는 것을 예로 들어 설명한다.
예를 들면, 미리 설정된 조건에 부합하는 첫 인접 블록을 목표 인접 블록으로 한다.
선택적으로, 단계(S720)에서, N개 인접 블록에서 미리 설정된 조건에 부합하는 인접 블록이 스캔되지 않으면, 상기 방법은 M개 인접 블록 중의 특정 인접 블록의 움직임 벡터를 스케일링 처리하고, 스케일링 처리된 움직임 벡터에 따라 현재 이미지 블록을 부호화/복호화하는 단계를 더 포함한다.
예를 들면, 스케일링 처리된 움직임 벡터 및 현재 이미지 블록의 참조 이미지에 따라 현재 이미지 블록의 참조 블록을 결정한다.
선택적으로, 특정 인접 블록은 N개 인접 블록에서, 스캔 순서에 따라 얻은 첫 인접 블록이거나 마지막 인접 블록이다.
상기 특정 인접 블록은 N개 인접 블록에서, 기타 스캔 순서에 따라 얻은 인접 블록일 수도 있다.
선택적으로, 스케일링 처리된 움직임 벡터에 따라 현재 이미지 블록을 부호화/복호화하는 단계는, 특정 인접 블록의 움직임 벡터를 스케일링 처리하여, 스케일링 처리된 움직임 벡터가 가리키는 참조 프레임과 현재 이미지 블록의 참조 이미지가 동일하도록 하는 단계; 스케일링 처리된 움직임 벡터가 현재 이미지 블록의 참조 이미지에서 가리키는 이미지 블록을 현재 이미지 블록의 참조 블록으로 하는 단계를 포함한다.
선택적으로, 단계(S720)에서, N개 인접 블록에서 미리 설정된 조건에 부합하는 인접 블록이 스캔되지 않으면, 디폴트 블록을 현재 이미지 블록의 후보 참조 블록으로 한다.
예를 들면, 디폴트 블록은 움직임 벡터(0, 0)가 가리키는 이미지 블록이다.
이하에서는 단계(S730)에서, 목표 인접 블록의 움직임 벡터, 현재 이미지 블록 및 현재 이미지 블록의 참조 이미지에 따라, 현재 이미지 블록의 관련 블록을 결정하는 과정을 설명한다.
선택적으로, 하나의 구현예로서, 목표 인접 블록의 움직임 벡터, 현재 이미지 블록 및 현재 이미지 블록의 참조 이미지에 따라, 현재 이미지 블록의 관련 블록을 결정하는 단계는, 현재 이미지 블록을 복수의 서브 이미지 블록으로 분할하는 단계; 목표 인접 블록의 움직임 벡터에 따라, 현재 이미지 블록의 참조 이미지에서 서브 이미지 블록의 관련 블록을 결정하는 단계를 포함하고, 현재 이미지 블록의 관련 블록은 서브 이미지 블록의 관련 블록을 포함한다.
관련 블록은 collocated block 또는 corresponding block이라고 할 수 있다.
예를 들면, 현재 이미지 블록은 하나의 CU이고, 이를 분할한 후 얻은 서브 이미지 블록은 sub-CU라고 할 수 있다.
선택적으로, 서브 이미지 블록의 크기 및/또는 서브 이미지 블록의 관련 블록의 크기는 64개 이상의 화소로 고정된다.
선택적으로, 서브 이미지 블록의 크기 및/또는 서브 이미지 블록의 관련 블록의 크기는 모두 8×8개 화소로 고정된다.
현재 ATMVP 기술에서는, 서브 이미지 블록의 크기에 대해 프레임 레벨 자기 적응 설정을 진행하고, 서브 이미지 블록의 크기는 기본적으로 4×4이고, 특정 조건을 만족시킬 경우, 서브 이미지 블록의 크기는 8×8로 설정된다. 예를 들면, 부호화단에서, 현재 이미지 블록을 부호화할 경우, 동일한 시간적 계층의 이전 부호화된 이미지 블록을 ATMVP모드 부호화할 때 CU 중의 각 서브 이미지 블록의 평균 블록 크기를 계산하고, 평균 블록 크기가 임계 값보다 크면, 현재 이미지 블록의 서브 이미지 블록의 크기는 8×8로 설정되고, 그렇지 않으면 디폴드 값 4×4를 사용한다. 현재, 차세대 비디오 부호화 표준(Versatile Video Coding, VVC)에서는, 8×8의 크기로 움직임 벡터를 저장한다. 이해해야 할 것은, 서브 이미지 블록의 크기를 4×4로 설정한 경우, 상기 서브 이미지 블록의 움직임 벡터의 크기(즉 4×4)는 현재 표준의 움직임 벡터의 저장 입도에 부합하지 않는다. 또한, 현재 ATMVP 기술에서, 현재 이미지 블록을 부호화할 경우, 동일한 시간적 계층의 이전 부호화된 이미지 블록의 서브 이미지 블록의 크기 정보도 저장해야 한다.
본 출원의 실시예에서, 현재 이미지 블록의 서브 이미지 블록의 크기를 8×8로 설정하면, 한편으로는 비디오 표준 VVC에 규정된 움직임 벡터의 저장 입도에 적응할 수 있고, 다른 한편으로는, 이전 부호화된 이미지 블록의 서브 이미지 블록의 크기 정보를 저장할 필요가 없으므로, 저장 공간을 절약할 수 있다.
본 출원의 일부 실시예에서, 서브 이미지 블록의 크기 및/또는 상기 서브 이미지 블록의 관련 블록의 크기가 8×8개 화소인 경우, TMVP 동작을 진행하지 않도록 설정되므로, 일부 리던던시 동작을 건너뛰어, 부호화/복호화 시간을 효과적으로 절약하고, 부호화 효율을 향상시킬 수 있다.
본 출원의 일부 실시예에서, 현재 CU의 넓이 및/또는 높이가 8 화소보다 작으면, TMVP 동작을 진행하지 않도록 설정된다. 다시 말하면, 서브 이미지 블록 및/또는 상기 서브 이미지 블록의 관련 블록의 넓이 및 높이 중에서 적어도 하나가 8 화소보다 작으면, TMVP 동작을 진행하지 않도록 설정된다. 상술한 경우, TMVP 동작을 건너뜀으로 인한 성능 영향을 무시할 수 있으므로, 부호화/복호화 시간을 효과적으로 절약하고, 부호화 효율을 향상시킬 수 있다.
이해해야 할 것은, 서브 이미지 블록의 크기 및/또는 서브 이미지 블록의 관련 블록의 크기가 64개의 화소로 고정되도록 보장하는 전제 하에서, 서브 이미지 블록의 크기 및/또는 서브 이미지 블록의 관련 블록의 크기는 다른 크기일 수도 있다. 예를 들면 서브 이미지 블록의 크기 및/또는 서브 이미지 블록의 관련 블록의 크기는 A×B이고, A≤64, B≤64이며, A 및 B는 모두 4의 정수이다. 예를 들면, 서브 이미지 블록의 크기 및/또는 서브 이미지 블록의 관련 블록의 크기는 4×16개 화소이거나, 16×4개 화소이다.
선택적으로, 다른 구현예로서, 목표 인접 블록의 움직임 벡터, 현재 이미지 블록 및 현재 이미지 블록의 참조 이미지에 따라, 현재 이미지 블록의 관련 블록을 결정하는 단계는, 목표 인접 블록의 움직임 벡터에 따라, 현재 이미지 블록의 참조 이미지에서 현재 이미지 블록의 관련 블록을 결정하는 단계를 포함한다.
선택적으로, 단계(S740)는, 관련 블록의 참조 이미지가 특정 참조 이미지이거나, 현재 이미지 블록의 참조 이미지가 특정 참조 이미지일 경우, 처리 후의 관련 블록의 움직임 벡터 및 현재 이미지 블록의 참조 이미지에 따라 현재 이미지 블록의 후보 참조 블록을 결정하는 단계를 포함하고, 여기서, 처리 후의 관련 블록의 움직임 벡터는 처리 전의 관련 블록의 움직임 벡터와 동일하다.
예를 들면, 처리 후의 관련 블록의 움직임 벡터는, 수치가 1인 스케일링 비율에 따라 관련 블록의 움직임 벡터를 스케일링한 후 얻은 움직임 벡터, 또는 스케일링 단계를 건너뛴 관련 블록의 움직임 벡터를 포함한다.
선택적으로, 단계(S740)는 관련 블록의 참조 이미지가 특정 참조 이미지이거나, 또는 현재 블록의 참조 이미지가 특정 참조 이미지일 경우, 관련 블록의 움직임 벡터에 따라 현재 이미지 블록의 후보 참조 블록을 결정하는 것을 포기하는 단계를 포함한다.
일부 실시예에서, 단계(S720)는 특정 인접 블록의 움직임 벡터가 특정 참조 이미지를 가리키거나, 또는 현재 이미지 블록의 참조 이미지가 특정 참조 이미지일 경우, 처리 후의 관련 블록의 움직임 벡터 및 현재 이미지 블록의 참조 이미지에 따라 현재 이미지 블록의 참조 블록을 결정하는 단계를 포함하고, 여기서, 처리 후의 관련 블록의 움직임 벡터는 처리 전의 관련 블록의 움직임 벡터와 동일하다.
여기서, 처리 후의 관련 블록의 움직임 벡터는, 수치가 1인 스케일링 비율에 따라 관련 블록의 움직임 벡터를 스케일링한 후 얻은 움직임 벡터, 또는 스케일링 단계를 건너뛴 관련 블록의 움직임 벡터를 포함한다.
상술한 바를 통해 알 수 있듯이, 본 출원의 실시예, 현재 이미지 블록의 목표 인접 블록을 획득하는 과정에서, 이미 획득한 M개 인접 블록 중의 N(N은 M보다 작다)개 인접 블록만 차례로 스캔하며, 종래 기술과 비교했을 때, 현재 이미지 블록의 목표 인접 블록을 획득하는 과정에서 후보 인접 블록에 대한 스캔 횟수를 줄일 수 있어, 복잡성을 감소시킨다.
N개 인접 블록에서 참조 프레임과 현재 프레임의 동일 위치 프레임이 동일한 인접 블록이 스캔되지 않으면, N개 인접 블록 중의 하나의 인접 블록의 움직임 벡터를 스케일링 처리하여, 참조 프레임과 현재 프레임의 동일 위치 프레임이 동일하도록 한 다음, 상기 스케일링 처리된 움직임 벡터를 현재 이미지 블록의 움직임 벡터로 하고, 이 경우 현재 이미지 블록의 움직임 벡터의 정확도를 향상시킬 수 있다.
현재 이미지 블록을 크기가 8×8인 서브 이미지 블록으로 분할하면, 한편으로는 비디오 표준 VVC에 규정된 움직임 벡터의 저장 입도에 적응할 수 있고, 다른 한편으로는, 이전 부호화된 이미지 블록의 서브 블록의 크기 정보를 저장할 필요가 없으므로, 저장 공간을 절약할 수 있다.
본 출원의 일부 실시예에서, 서브 이미지 블록의 크기 및/또는 상기 서브 이미지 블록의 관련 블록의 크기가 8×8개 화소인 경우, TMVP 동작을 진행하지 않도록 설정되고, 일부 리던던시 동작을 건너뛰어, 부호화/복호화 시간을 효과적으로 절약하고, 부호화 효율을 향상시킬 수 있다.
본 출원의 일부 실시예에서, 현재 CU의 넓이 및/또는 높이가 8 화소보다 작으면, TMVP 동작을 진행하지 않도록 설정된다. 다시 말하면, 서브 이미지 블록 및/또는 상기 서브 이미지 블록의 관련 블록의 넓이 및 높이 중에서 적어도 하나가 8 화소보다 작으면, TMVP 동작을 진행하지 않도록 설정된다. 상술한 경우, TMVP 동작을 건너뜀으로 인한 성능 영향을 무시할 수 있으므로, 부호화/복호화 시간을 효과적으로 절약하고, 부호화 효율을 향상시킬 수 있다.
본 출원의 실시예의 일부 구현예에서, 현재 이미지 블록의 움직임 벡터를 결정하는 과정에서, 기타 이미지 상의 어느 한 이미지 블록의 움직임 벡터를 이용하여 상기 이미지 블록의 움직임 벡터를 결정해야 하는 것에 관련된다. 설명의 편의를 위해, 상기 이미지 블록을 제1 이미지 블록이라고 하고, 이용하고자 할 기타 이미지 상의 어느 한 이미지 블록을 상기 제1 이미지 블록의 시간적 참조 블록 또는 관련 블록이라고 한다. 제1 이미지 블록 및 상기 제1 이미지 블록의 시간적 참조 블록(또는 관련 블록)은 상이한 이미지 상에 위치한다는 것을 이해할 수 있다. 그러면, 상기 시간적 참조 블록(또는 관련 블록)의 움직임 벡터를 이용하여 제1 이미지 블록의 움직임 벡터를 결정하는 과정에서, 상기 시간적 참조 블록(또는 관련 블록)의 움직임 벡터를 스케일링 처리할 필요가 있을 수 있다. 설명의 편의를 위해, 본문에서는 "관련 블록"이라는 용어를 통일적으로 사용한다.
예를 들면, AMVP후보 리스트의 구축에 ATMVP기술을 응용할 경우, ATMVP기술에 따라 현재 이미지 블록의 관련 블록을 결정한 후, 상기 관련 블록의 움직임 벡터에 따라 현재 이미지 블록의 움직임 벡터를 결정할 때, 상기 관련 블록의 움직임 벡터를 스케일링한 후, 스케일링된 움직임 벡터에 따라 현재 이미지 블록의 움직임 벡터를 결정해야 한다. 일반적으로, 관련 블록의 움직임 벡터가 가리키는 참조 이미지와 상기 관련 블록이 위치하는 이미지 사이의 시간적 거리 및 현재 이미지 블록의 참조 이미지와 현재 이미지 블록이 위치한 이미지 사이의 시간적 거리를 기초로, 상기 관련 블록의 움직임 벡터의 스케일링 비율을 결정한다.
일 예시에서, 상기 관련 블록의 움직임 벡터를 MV 2라고 하고, 상기 움직임 벡터(MV 2)가 가리키는 참조 이미지의 참조 프레임 인덱스 값은 x이다. 여기서, 상기 참조 프레임 인덱스 값 x는 MV 2가 가리키는 참조 이미지의 순서 번호(예를 들면 POC)와 상기 관련 블록이 위치하는 이미지의 순서 번호의 차이이다. 제1 이미지 블록의 참조 이미지의 참조 프레임 인덱스 값을 y라고 한다. 여기서, 상기 참조 프레임 인덱스 값 y는 제1 이미지 블록의 참조 이미지의 순서 번호와 상기 제1 이미지 블록이 위치하는 이미지의 순서 번호의 차이이다. 그러면, 움직임 벡터(MV 2)에 대한 스케일링 비율은 y/x이다. 선택적으로, 움직임 벡터(MV 2)와 y/x의 곱을 제1 이미지 블록의 움직임 벡터로 할 수 있다.
그러나, 관련 블록의 움직임 벡터(MV 2)가 하나의 특정 참조 이미지를 가리키거나, 또는 제1 이미지 블록의 참조 이미지가 하나의 특정 참조 이미지일 경우, 특정 참조 이미지와 제1 이미지 블록이 위치하는 이미지의 시간적 거리의 정의가 불명확하므로, 관련 블록의 움직임 벡터(MV 2)에 대한 스케일링은 의미가 없다.
선택적으로, 본 실시예에서, 관련 블록의 움직임 벡터에 따라 현재 이미지 블록의 움직임 벡터를 결정할 경우, 구체적으로, 관련 블록의 움직임 벡터가 특정 참조 이미지를 가리키거나, 또는 현재 이미지 블록의 참조 이미지가 특정 참조 이미지일 경우, 처리 후의 관련 블록의 움직임 벡터에 따라 현재 이미지 블록의 움직임 벡터를 결정하고, 여기서, 처리 후의 관련 블록의 움직임 벡터는 처리 전의 관련 블록의 움직임 벡터와 동일하다.
예를 들면, 처리 후의 관련 블록의 움직임 벡터는, 수치가 1인 스케일링 비율에 따라 관련 블록의 움직임 벡터를 스케일링한 후 얻은 움직임 벡터, 또는 스케일링 단계를 건너뛴 관련 블록의 움직임 벡터를 포함한다.
선택적으로, 본 실시예에서, 관련 블록의 움직임 벡터에 따라 현재 이미지 블록의 움직임 벡터를 결정할 경우, 구체적으로, 관련 블록의 움직임 벡터가 특정 참조 이미지를 가리키거나, 또는 현재 이미지 블록의 참조 이미지가 특정 참조 이미지일 경우, 관련 블록의 움직임 벡터에 따라 현재 이미지 블록의 움직임 벡터를 결정하는 것을 포기한다.
도 8에 도시된 바와 같이, 본 출원의 실시예는 비디오 이미지 처리 방법을 더 제공하고, 상기 방법은 아래와 같은 단계들을 포함한다.
S810, 현재 이미지 블록의 M개 인접 블록을 결정한다.
단계(S810)는 상술한 실시예의 단계(S710)에 대응될 수 있다.
S820, M개 인접 블록 중의 적어도 일부 인접 블록을 차례로 스캔하고, 스캔 결과에 따라 목표 인접 블록을 결정한다.
선택적으로, M개 인접 블록 중의 일부 인접 블록을 차례로 스캔하고, 스캔 결과에 따라 목표 인접 블록을 결정한다.
선택적으로, M개 인접 블록 중의 모든 인접 블록을 차례로 스캔하고, 스캔 결과에 따라 목표 인접 블록을 결정한다.
S830, 현재 이미지 블록을 복수의 서브 이미지 블록으로 분할하고, 서브 이미지 블록의 크기는 64개 이상의 화소로 고정된다.
S840, 목표 인접 블록의 움직임 벡터 및 서브 이미지 블록에 따라, 현재 이미지 블록의 참조 이미지에서 현재 이미지 블록의 관련 블록을 결정한다.
선택적으로, 현재 이미지 블록의 참조 이미지는 현재 이미지 블록이 위치한 이미지와 시간적 거리가 가장 가까운 참조 이미지이다.
선택적으로, 현재 이미지 블록의 참조 이미지는 부호화단/복호화단에 미리 설정된 참조 이미지이다.
선택적으로, 현재 이미지 블록의 참조 이미지는 비디오 파라미터 세트, 시퀀스 헤더, 시퀀스 파라미터 세트, 이미지 헤더, 이미지 파라미터 세트, 슬라이스 헤더 중에서 지정된 참조 이미지이다.
S850, 관련 블록의 움직임 벡터에 따라 현재 이미지 블록을 부호화/복호화 한다.
본 출원의 실시예에서, 현재 이미지 블록의 서브 이미지 블록의 크기는 64개 화소로 고정되어, 이전 부호화된 이미지 블록의 서브 이미지 블록의 크기 정보를 저장할 필요가 없으므로, 저장 공간을 절약할 수 있다.
선택적으로, 본 실시예에서, 서브 이미지 블록의 크기 및/또는 서브 이미지 블록의 시간적 참조 블록의 크기는 모두 8×8개 화소로 고정된다.
현재, 차세대 비디오 부호화 표준(Versatile Video Coding)에서는, 8×8의 크기로 움직임 벡터를 저장한다. 본 출원의 실시예에서, 현재 이미지 블록의 서브 이미지 블록의 크기를 8×8로 설정하면, 한편으로는 비디오 표준VVC에 규정된 움직임 벡터의 저장 입도에 적응할 수 있으며, 다른 한편으로는 이전 부호화된 이미지 블록의 서브 이미지 블록의 크기 정보를 저장할 필요가 없으므로, 저장 공간을 절약할 수 있다.
본 출원의 일부 실시예에서, 서브 이미지 블록의 크기 및/또는 상기 이미지 블록의 관련 블록의 크기가 8×8개 화소인 경우, TMVP 동작을 진행하지 않도록 설정되므로, 일부 리던던시 동작을 건너뛰어, 부호화/복호화 시간을 효과적으로 절약하고, 부호화 효율을 향상시킬 수 있다.
본 출원의 일부 실시예에서, 현재 CU의 넓이 및/또는 높이가 8화소보다 작으면, TMVP 동작을 진행하지 않도록 설정된다. 즉, 서브 이미지 블록 및/또는 상기 서브 이미지 블록의 관련 블록의 넓이 및/높이 중에서 적어도 하나가 8화소보다 작으면, TMVP 동작을 진행하지 않도록 설정된다. 상술한 경우, TMVP 동작을 건너뜀으로 인한 성능 영향을 무시할 수 있으므로, 부호화/복호화 시간을 효과적으로 절약하고, 부호화 효율을 향상시킬 수 있다.
이해해야 할 것은, 서브 이미지 블록의 크기 및/또는 서브 이미지 블록의 관련 블록의 크기가 64개 화소로 고정되도록 보장하는 전제 하에서, 서브 이미지 블록의 크기 및/또는 서브 이미지 블록의 관련 블록의 크기는 다른 크기일 수도 있다. 예를 들면 서브 이미지 블록의 크기 및/또는 서브 이미지 블록의 관련 블록의 크기는 A×B이고, A≤64, B≤64이며, A 및 B는 모두 4의 정수이다. 예를 들면, 서브 이미지 블록의 크기 및/또는 서브 이미지 블록의 관련 블록의 크기는 4×16개 화소이거나 또는 16×4개 화소이다.
선택적으로, 단계(S820)은, 적어도 일부 인접 블록을 차례로 스캔하고, 미리 설정된 조건에 부합하는 첫 인접 블록이 스캔되면, 스캔을 정지하고, 상기 스캔된 미리 설정된 조건에 부합하는 첫 인접 블록에 따라 목표 인접 블록을 결정하는 단계를 포함한다.
예를 들면, 상기 미리 설정된 조건에 부합하는 첫 인접 블록을 목표 인접 블록으로 한다.
예를 들면, 미리 설정된 조건은 인접 블록의 참조 이미지와 현재 이미지 블록의 참조 이미지가 동일한 것으로 정의된다.
선택적으로, 단계(S840)은, 목표 인접 블록의 움직임 벡터 및 서브 이미지 블록에 따라, 현재 이미지 블록의 참조 이미지에서 서브 이미지 블록의 관련 블록을 결정하는 단계를 포함하고, 여기서 현재 이미지 블록의 관련 블록은 서브 이미지 블록의 관련 블록을 포함한다.
이상은 도 7 및 도 8을 결합하여 본 출원의 방법 실시예를 설명하였고, 이하 도 7 및 도 8에 도시한 방법 실시예에 대응되는 장치 실시예를 설명한다. 이해해야 할 것은, 장치 실시예의 설명은 방법 실시예의 설명과 서로 대응되므로, 상세히 설명되지 않은 내용은 앞의 방법 실시예를 참고할 수 있으며, 간결함을 위해 상세한 설명은 생략한다.
도 9는 본 출원의 실시예에 의해 제공되는 비디오 이미지 처리 장치(900)의 개략적 블록도이다. 상기 장치(900)는 도 7에 도시된 방법 실시예를 실행하기 위한 것이다. 상기 장치(900)는 아래 유닛들을 포함한다.
획득 유닛(910)은, 이미지 블록의 M개 인접 블록을 획득한다.
결정 유닛(920)은, M개 인접 블록 중의 N개 인접 블록을 차례로 스캔하고, 스캔 결과에 따라 목표 인접 블록을 결정하며, N은 M보다 작다.
결정 유닛(920)은 또한, 목표 인접 블록의 움직임 벡터, 현재 이미지 블록 및 현재 이미지 블록의 참조 이미지에 따라, 현재 이미지 블록의 관련 블록을 결정한다.
부호화/복호화 유닛(930)은, 관련 블록의 움직임 벡터에 따라 현재 이미지 블록을 부호화/복호화한다.
본 출원의 실시예에서, 현재 이미지 블록의 목표 인접 블록을 획득하는 과정에서, 이미 획득한 M개 인접 블록 중의 N(N은 M보다 작다)개 인접 블록만 차례로 스캔하며, 종래 기술과 비교했을 때, 현재 이미지 블록의 목표 인접 블록을 획득하는 과정에서 후보 인접 블록에 대한 스캔 횟수를 줄일 수 있어, 복잡성을 감소시킨다.
선택적으로, 일 실시예로서, M은 4이고, N은 4보다 작다.
선택적으로, 일 실시예로서, N은 1 또는 2이다.
선택적으로, 일 실시예로서, 결정 유닛(920)은, M개 인접 블록 중의 처음 N개 인접 블록을 차례로 스캔한다.
선택적으로, 일 실시예로서, 획득 유닛(910)은 미리 설정된 순서에 따라 현재 이미지 블록의 M개 인접 블록을 차례로 획득하고, 처음N개 인접 블록은 미리 설정된 순서에 따라 먼저 결정된 N개 인접 블록을 의미한다.
선택적으로, 일 실시예로서, 결정 유닛(920)은 N개의 인접 블록을 차례로 스캔하고, 미리 설정된 조건에 부합하는 첫 인접 블록이 스캔되면, 스캔을 정지하고, 스캔된 미리 설정된 조건에 부합하는 첫 인접 블록에 따라 목표 인접 블록을 결정한다.
선택적으로, 일 실시예로서, 결정 유닛(920)은 미리 설정된 조건에 부합하는 첫 인접 블록을 목표 인접 블록으로 한다.
선택적으로, 일 실시예로서, 미리 설정된 조건은, 인접 블록의 참조 이미지와 현재 이미지 블록의 참조 이미지가 동일한 것을 포함한다.
선택적으로, 일 실시예로서, 부호화/복호화 유닛(930)은 관련 블록의 움직임 벡터 및 참조 이미지에 따라 현재 이미지 블록의 참조 블록을 결정한다.
선택적으로, 일 실시예로서, 부호화/복호화 유닛(930)은 현재 이미지 블록의 후보 블록 리스트를 구축하고, 후보 블록 리스트 중의 후보 블록은 M개의 인접 블록 및 관련 블록을 포함하고, 후보 블록 리스트 중의 후보 블록의 참조 블록에 따라 현재 이미지 블록을 부호화/복호화한다.
선택적으로, 일 실시예로서, 부호화/복호화 유닛(930)은 또한, N개의 인접 블록에서 미리 설정된 조건에 부합하는 인접 블록이 스캔되지 않으면, M개 인접 블록 중의 특정 인접 블록의 움직임 벡터를 스케일링 처리하여, 상기 스케일링 처리된 움직임 벡터에 따라 현재 이미지 블록을 부호화/복호화한다.
선택적으로, 일 실시예로서, 부호화/복호화 유닛(930)은 스케일링 처리된 움직임 벡터 및 현재 이미지 블록의 참조 이미지에 따라 현재 이미지 블록의 참조 블록을 결정한다.
선택적으로, 일 실시예로서, 특정 인접 블록은 N개 인접 블록에서, 스캔 순서에 따라 얻은 첫 인접 블록 또는 마지막 인접 블록이다.
선택적으로, 일 실시예로서, 부호화/복호화 유닛(930)은, 특정 인접 블록의 움직임 벡터를 스케일링 처리하여, 스케일링 처리된 움직임 벡터가 가리키는 참조 프레임과 상기 현재 이미지 블록의 참조 이미지가 동일하도록 하고; 스케일링 처리된 움직임 벡터가 현재 이미지 블록의 참조 이미지에서 가리키는 이미지 블록을 상기 현재 이미지 블록의 참조 블록으로 한다.
선택적으로, 일 실시예로서, 결정 유닛(920)은, N개 인접 블록에서 미리 설정된 조건에 부합하는 인접 블록이 스캔되지 않으면, 디폴트 블록을 상기 현재 이미지 블록의 참조 블록으로 한다.
선택적으로, 일 실시예로서, 디폴트 블록은 움직임 벡터(0, 0)가 가리키는 이미지 블록이다.
선택적으로, 일 실시예로서, 결정 유닛(920)은 현재 이미지 블록을 복수의 서브 이미지 블록으로 분할하고; 목표 인접 블록의 움직임 벡터에 따라, 현재 이미지 블록의 참조 이미지에서 서브 이미지 블록의 관련 블록을 결정하고, 현재 이미지 블록의 관련 블록은 서브 이미지 블록의 관련 블록을 포함한다.
선택적으로, 일 실시예로서, 서브 이미지 블록의 크기 및/또는 서브 이미지 블록의 관련 블록의 크기는 64개 이상의 화소로 고정된다.
선택적으로, 본 출원의 일부 실시예에서, 서브 이미지 블록의 크기 및/또는 상기 서브 이미지 블록의 관련 블록의 크기가 8×8개 화소인 경우, TMVP 동작을 진행하지 않도록 설정되므로, 일부 리던던시 동작을 건너뛰어, 부호화/복호화 시간을 효과적으로 절약하고, 부호화 효율을 향상시킬 수 있다.
선택적으로, 본 출원의 일부 실시예에서, 현재 CU의 넓이 및/또는 높이가 8화소보다 작으면, TMVP 동작을 진행하지 않도록 설정된다. 즉, 서브 이미지 블록 및/또는 상기 서브 이미지 블록의 관련 블록의 넓이 및 높이 중에서 적어도 하나가 8화소보다 작으면, TMVP 동작을 진행하지 않도록 설정된다. 상술한 경우, TMVP 동작을 건너뜀으로 인한 성능 영향을 무시할 수 있으므로, 부호화/복호화 시간을 효과적으로 절약하고, 부호화 효율을 향상시킬 수 있다.
선택적으로, 일 실시예로서, 현재 이미지 블록은 하나의 부호화 단위(CU)이다.
선택적으로, 일 실시예로서, 결정 유닛(920)은 목표 인접 블록의 움직임 벡터에 따라, 현재 이미지 블록의 참조 이미지에서 현재 이미지 블록의 관련 블록을 결정한다.
선택적으로, 일 실시예로서, 인접 블록은 현재 이미지 상에서 현재 이미지 블록의 위치와 인접하거나 일정한 위치 간격이 있는 이미지 블록이다.
선택적으로, 일 실시예로서, 부호화/복호화 유닛(930)은, 관련 블록의 참조 이미지가 특정 참조 이미지이거나, 또는 현재 이미지 블록의 참조 이미지가 특정 참조 이미지일 경우, 처리 후의 관련 블록의 움직임 벡터 및 현재 이미지 블록의 참조 이미지에 따라 현재 이미지 블록의 참조 블록을 결정하고, 처리 후의 관련 블록의 움직임 벡터는 처리 전의 관련 블록의 움직임 벡터와 동일하다.
선택적으로, 일 실시예로서, 처리 후의 관련 블록의 움직임 벡터는, 수치가 1인 스케일링 비율에 따라 관련 블록의 움직임 벡터를 스케일링한 후 얻은 움직임 벡터, 또는 스케일링 단계를 건너뛴 관련 블록의 움직임 벡터를 포함한다.
선택적으로, 일 실시예로서, 부호화/복호화 유닛(930)은, 관련 블록의 참조 이미지가 특정 참조 이미지이거나 또는 현재 블록의 참조 이미지는 특정 참조 이미지일 경우, 관련 블록의 움직임 벡터에 따라 현재 이미지 블록의 참조 블록을 결정하는 것을 포기한다.
선택적으로, 일 실시예로서, 결정 유닛(920)은 특정 인접 블록의 움직임 벡터가 특정 참조 이미지를 가리키거나, 또는 현재 이미지 블록의 참조 이미지가 특정 참조 이미지일 경우, 처리 후의 관련 블록의 움직임 벡터 및 현재 이미지 블록의 참조 이미지에 따라 현재 이미지 블록의 참조 블록을 결정하고, 처리 후의 관련 블록의 움직임 벡터는 처리 전의 관련 블록의 움직임 벡터와 동일하다.
선택적으로, 일 실시예로서, 처리 후의 관련 블록의 움직임 벡터는, 수치가 1인 스케일링 비율에 따라 관련 블록의 움직임 벡터를 스케일링한 후 얻은 움직임 벡터, 또는 스케일링 단계를 건너뛴 관련 블록의 움직임 벡터를 포함한다.
이해해야 할 것은, 본 실시예의 획득 유닛(910), 결정 유닛(920) 및 부호화/복호화 유닛(930)은 모두 프로세서에 의해 구현된다.
도 10에 도시한 바와 같이, 본 출원 실시예는 비디오 이미지 처리 장치(1000)를 더 제공한다. 상기 장치(1000)는 도 8에 도시된 방법 실시예를 실행하기 위한 것이다. 상기 장치(1000)는 아래와 같은 유닛들을 포함한다.
획득 유닛(1010)은, 현재 이미지 블록의 M개 인접 블록을 획득하며;
결정 유닛(1020)은, M개 인접 블록 중의 적어도 일부 인접 블록을 차례로 스캔하고, 스캔 결과에 따라 목표 인접 블록을 결정하며;
분할 유닛(1030)은, 현재 이미지 블록을 복수의 서브 이미지 블록으로 분할하고, 서브 이미지 블록의 크기는 64개 이상의 화소로 고정되며;
결정 유닛(1020)은 또한, 목표 인접 블록의 움직임 벡터 및 서브 이미지 블록에 따라, 현재 이미지 블록의 참조 이미지에서 현재 이미지 블록의 관련 블록을 결정하며;
부호화/복호화 유닛(1040)은, 관련 블록의 움직임 벡터에 따라 현재 이미지 블록을 부호화/복호화한다.
본 출원 실시예에서, 현재 이미지 블록의 서브 이미지 블록의 크기는 64개 이상의 화소로 고정되고, 이전 부호화된 이미지 블록의 서브 이미지 블록의 크기 정보를 저장할 필요가 없으므로, 저장 공간을 절약할 수 있다.
선택적으로, 일 실시예로서, 서브 이미지 블록의 크기 및/또는 서브 이미지 블록의 시간적 참조 블록의 크기는 모두 8×8개 화소로 고정된다.
현재, 차세대 비디오 부호화 표준(Versatile Video Coding, VVC)에서는, 8×8의 크기로 움직임 벡터를 저장한다. 본 출원 실시예에서, 현재 이미지 블록의 서브 이미지 블록의 크기를 8×8로 설정하면, 한편으로는 비디오 표준VVC에 규정된 움직임 벡터의 저장 입도에 적응할 수 있으며, 다른 한편으로는, 이전 부호화된 이미지 블록의 서브 이미지 블록의 크기 정보를 저장할 필요가 없으므로, 저장 공간을 절약할 수 있다.
본 출원의 일부 실시예에서, ATMVP기술에서의 서브 이미지 블록의 크기 및/또는 상기 서브 이미지 블록의 관련 블록의 크기가 8×8의 화소인 경우, TMVP 동작을 진행하지 않도록 설정되므로, 일부 리던던시 동작을 건너뛰어, 부호화/복호화의 시간을 효과적으로 절약하고, 부호화 효율을 향상시킬 수 있다.
본 출원의 일부 실시예에서, 현재 CU의 넓이 및 높이 중에서 적어도 하나가 8보다 작으면, TMVP동작을 진행하지 않도록 설정되고, TMVP 동작을 건너뜀으로 인한 성능 영향을 무시할 수 있으므로, 부호화/복호화 시간을 효과적으로 절약하고, 부호화 효율을 향상시킬 수 있다.
이해해야 할 것은, 서브 이미지 블록의 크기 및/또는 서브 이미지 블록의 관련 블록의 크기가 64개의 화소로 고정되도록 보장하는 전제 하에서, 서브 이미지 블록의 크기 및/또는 서브 이미지 블록의 관련 블록의 크기는 다른 크기일 수도 있다. 예를 들면 서브 이미지 블록의 크기 및/또는 서브 이미지 블록의 관련 블록의 크기는 A×B이고, A≤64, B≤64이며, A 및 B는 모두 4의 정수이다. 예를 들면, 서브 이미지 블록의 크기 및/또는 서브 이미지 블록의 관련 블록의 크기는 4×16개 화소이거나 또는 16×4개 화소이다.
선택적으로, 일 실시예로서, M개 인접 블록 중의 적어도 일부 인접 블록을 차례로 스캔하고, 스캔 결과에 따라 목표 인접 블록을 결정하는 것은, 적어도 일부 인접 블록을 차례로 스캔하고, 미리 설정된 조건에 부합하는 첫 인접 블록이 스캔되면, 스캔을 정지하고, 스캔된 상기 미리 설정된 조건에 부합하는 첫 인접 블록에 따라 목표 인접 블록을 결정하는 것을 포함한다.
선택적으로, 일 실시예로서, 결정 유닛(1020)은 미리 설정된 조건에 부합하는 첫 인접 블록을 목표 인접 블록으로 한다.
선택적으로, 일 실시예로서, 미리 설정된 조건은, 인접 블록의 참조 이미지와 현재 이미지 블록의 참조 이미지가 동일한 것을 포함한다.
선택적으로, 일 실시예로서, 결정 유닛(1020)은 목표 인접 블록의 움직임 벡터 및 서브 이미지 블록에 따라, 현재 이미지 블록의 참조 이미지에서 서브 이미지 블록의 관련 블록을 결정하고, 현재 이미지 블록의 관련 블록은 서브 이미지 블록의 관련 블록을 포함한다.
이해해야 할 것은, 본 실시예의 획득 유닛(1010), 결정 유닛(1020), 분할 유닛(1030) 및 부호화/복호화 유닛(1040)은 모두 프로세서에 의해 구현될 수 있다.
도 11에 도시한 바와 같이, 본 출원 실시예는 비디오 이미지 처리 장치(1100)를 더 제공한다. 장치(1100)는 상술한 방법 실시예를 실행할 수 있다. 장치(1100)는 프로세서(1100), 메모리(1120)를 포함하고, 메모리(1120)는 명령을 저장하며, 프로세서(1110)는 메모리(1120)에 저장된 명령을 실행하고, 메모리(1120)에 저장된 명령을 실행함으로써 프로세서(1100)는 상기 방법 실시예에 따른 방법을 실행하게 된다.
선택적으로, 도 11에 도시한 바와 같이, 상기 장치(1100)는 외부 장치와 통신을 진행하는 통신 인터페이스(1130)를 더 포함할 수 있다. 예를 들면, 프로세서(1110)는 통신 인터페이스(1130)의 신호 수신 및/또는 발송을 제어한다.
본 출원에서 제공하는 장치(500, 600, 900, 1000 및 1100)은 부호화기에 응용될 수도 있고, 복호화기에 응용될 수도 있다.
이상 움직임 벡터 제2 후보 리스트에 대해 해석하였고, 이하 움직임 벡터 제1 후보 리스트에 대해 해석한다.
움직임 보상 예측 단계에서, 종래의 주요 비디오 부호화 표준은 평행 이동 움직임 모델만 응용하였다. 그러나, 현실 세계에는, 확대/축소, 회전, 원경 움직임 및 기타 불규칙적 움직임과 같은 매우 다양한 움직임 형태가 존재한다. 인터 예측의 효율을 향상시키기 위해, 부호화/복호화 기술에 어파인 변환 움직임 보상 모델을 도입할 수 있다. 어파인 변환 움직임 보상은 1조의 제어점(control point)들의 MV를 통해 이미지 블록의 어파인 움직임 필드를 설명한다. 일 예시에서, 어파인 변환 움직임 보상 모델은 4-파라미터 어파인 모델을 사용하며, 상기 제어점(control point)들은 2개 제어점(예를 들면 이미지 블록의 좌측 상단의 점 및 우측 상단의 점)을 포함한다. 일 예시에서, 어파인 변환 움직임 보상 모델은 6-파라미터 어파인 모델을 사용하며, 상기 제어점들은 3개 제어점(예를 들면 이미지 블록의 좌측 상단의 점, 우측 상단의 점 및 좌측 하단의 점)을 포함한다.
일 구현예에서, 움직임 벡터 제1 후보 리스트를 구축할 때, 추가하는 후보는 1조의 제어점들의 MV이거나, 또는 제어점 예측 움직임 벡터(CPMVP, Control point motion vector prediction)라고 할 수 있다. 선택적으로, 움직임 벡터 제1 후보 리스트는 Merge 모드에 사용될 수 있으며, 구체적으로 Affine Merge모드라고 할 수 있다. 상응하게, 상기 움직임 벡터 제1 후보 리스트는 affine merge candidate list라고 할 수 있다. Affine Merge모드에서, 움직임 벡터의 제1 후보 리스트에서의 예측을 현재 이미지 블록의 CPMV(Control point motion vector)로 직접 사용할 수 있다. 즉, affine 움직임 추정 과정이 필요치 않다.
일 구현예에서, ATMVP 기술에 따라 결정된 후보를 움직임 벡터 제1 후보 리스트에 추가할 수 있다.
일 예시에서, 현재 이미지 블록의 관련 블록의 제어점 움직임 벡터군을 후보로서 움직임 벡터 제1 후보 리스트에 추가한다. 움직임 벡터 제1 리스트 중의 상기 후보를 사용하여 예측할 경우, 현재 이미지 블록의 관련 블록의 제어점 움직임 벡터군에 따라 상기 현재 이미지 블록을 예측한다.
일 예시에서, 상술한 바와 같이, 현재 이미지 블록의 관련 블록의 대표 움직임 벡터를 후보로서 움직임 벡터 제1 후보 리스트에 추가한다. 또한, 선택적으로, 상기 후보는 ATMVP기술에 따라 결정된 것임을 표기하기도 한다. 움직임 벡터 제1 후보 리스트 중의 상기 후보를 사용하여 예측할 경우, 상기 표기 및 후보에 따라 현재 이미지 블록의 관련 블록을 결정하고, 현재 이미지 블록 및 상기 관련 블록을 동일한 방식으로 복수의 서브 이미지 블록으로 분할하며, 현재 이미지 블록 중의 각 서브 이미지 블록과 상기 관련 블록 중의 각 서브 이미지 블록을 일대일 대응시키고, 상기 관련 블록 중 각 서브 이미지 블록의 움직임 벡터에 따라 상기 현재 이미지 블록 중 대응되는 서브 이미지 블록을 각각 예측한다.
선택적으로, 관련 블록에 움직임 벡터를 획득할 수 없는 서브 이미지 블록이 나타날 경우, 상기 관련 블록의 대표 움직임 벡터로 상기 획득할 수 없는 움직임 벡터를 대체하여, 현재 이미지 블록 중 대응되는 서브 이미지 블록을 예측한다. 선택적으로, 관련 블록의 대표 움직임 벡터를 모두 획득할 수 없는 경우, ATMVP 기술에 따라 결정된 후보를 상기 움직임 벡터 제2 후보 리스트에 추가하는 것을 포기한다. 일 예시에서, 관련 블록 중의 서브 이미지 블록을 획득할 수 없거나, 또는 관련 블록 중의 서브 이미지 블록이 인트라 부호화 모드를 사용할 경우, 상기 관련 블록에 움직임 벡터를 획득할 수 없는 서브 이미지 블록이 나타나는 것으로 결정한다.
선택적으로, 움직임 벡터 제1 후보 리스트 중에서 각 후보는 1조의 제어점들의 움직임 벡터를 포함하고, 현재 이미지 블록의 관련 블록의 대표 움직임 벡터를 움직임 벡터 제1 후보 리스트에 추가할 경우, 데이터 형식의 일치성을 보장하기 위해, 상기 관련 블록의 대표 움직임 벡터를 후보 중의 각 제어점의 움직임 벡터로 삽입한다(즉 상기 후보 중의 각 제어점의 움직임 벡터는 모두 해당 관련 블록의 대표 움직임 벡터로 값 매김한다.
선택적으로, 현재 이미지 블록의 관련 블록의 대표 움직임 벡터는 상기 관련 블록의 중심 위치의 움직임 벡터 또는 상기 관련 블록을 대표하는 다른 움직임 벡터를 의미할 수 있으며, 이에 대해 제한하지 않는다.
상술한 움직임 벡터 제2 후보 리스트에 대한 설명에 의해 알 수 있듯이, ATMVP 기술에 따라 후보를 선택할 경우, 현재 이미지 블록의 관련 블록을 결정해야 한다. 본 방안에서, ATMVP 기술에 따라 움직임 벡터 제1 후보 리스트에 추가하는 후보를 결정할 경우, 현재 이미지 블록의 관련 블록을 결정하는 방법은 두 가지가 있다.
방법 1, 현재 이미지 블록의 미리 설정된 M개 인접 블록 중의 N개 인접 블록을 차례로 스캔하고, 스캔 결과에 따라 목표 인접 블록을 결정하며, N은 M보다 작고, M은 4 이하이며; 상기 목표 인접 블록의 움직임 벡터, 상기 현재 이미지 블록 및 상기 현재 이미지 블록의 참조 이미지에 따라, 상기 현재 이미지 블록의 관련 블록을 결정한다.
방법 2, 현재 이미지 블록의 움직임 벡터 제2 후보 리스트 중의 M개 후보에 따라 현재 이미지 블록의 M개 인접 블록을 결정하며, 상기 M개 인접 블록 중의 N개 인접 블록을 차례로 스캔하고, 스캔 결과에 따라 목표 인접 블록을 결정하며, N은 M보다 작고, M은 4 이하이며; 목표 인접 블록의 움직임 벡터, 현재 이미지 블록 및 현재 이미지 블록의 참조 이미지에 따라, 상기 현재 이미지 블록의 관련 블록을 결정한다. 움직임 벡터 제2 후보 리스트 중의 M개 후보는 현재 이미지 블록의 M개 인접 블록을 의미할 수 있다.
방법 1 및 방법 2에서 "스캔 결과에 따라 목표 인접 블록을 결정하며" 및 "상기 목표 인접 블록의 움직임 벡터, 상기 현재 이미지 블록 및 상기 현재 이미지 블록의 참조 이미지에 따라, 상기 현재 이미지 블록의 관련 블록을 결정하는" 두 단계에 관한 설명은, 상술한 해석을 참고할 수 있으므로, 상세한 설명은 생략한다.
일 구현예에서, 움직임 벡터 제1 후보 리스트에 추가할 후보를 결정하는 방법은, 상기 현재 이미지 블록의 인접 블록에서, 특정 스캔 순서에 따라 어파인 변환 모드를 사용하여 예측하는 인접 블록의 제어점 움직임 벡터군를 결정하는 단계; 각각의 결정된 인접 블록의 제어점 움직임 벡터군를 하나의 후보로서 상기 움직임 벡터 제1 후보 리스트에 추가하는 단계를 포함한다.
일 예시에서, 어파인 변환 모드를 사용하여 예측하는 인접 블록은 상기 인접 블록의 움직임 벡터가 affine merge candidate list 중의 후보에 따라 결정되는 것을 말한다. 즉, 후보는 현재 이미지 블록의 affine모드를 사용하는 공간적 인접 블록의 affine움직임 모델에서 유래한 것이다. 즉. affine모드를 사용하는 공간적 인접 블록의 CPMV를 현재 블록의 CPMVP로 한다.
일 예시에서, 제어점 움직임 벡터군은 상기 인접 블록의 2개 제어점의 움직임 벡터(예를 들면 상기 인접 블록의 좌측 상단의 점 및 우측 상단의 점)를 포함하거나 또는 상기 인접 블록의 3개 제어점의 움직임 벡터(예를 들면 이미지 블록의 좌측 상단의 점, 우측 상단의 점 및 좌측 하단으 점)를 포함할 수 있으며, 이는 4-파라미터 Affine모델 또는 6-파라미터 Affine모델을 사용할 것인가에 의해 결정된다.
일 예시에서, 특정 스캔 순서에 따라 어파인 변환 모드를 사용하여 예측하는 인접 블록의 제어점 움직임 벡터군를 결정하는 단계는,
상기 현재 이미지 블록의 좌측 인접 블록에서 제1 스캔 순서에 따라 제1 인접 블록의 제어점 움직임 벡터군를 결정하는 단계;
상기 현재 이미지 블록의 상측 인접 블록에서 제2 스캔 순서에 따라 제2 인접 블록의 제어점 움직임 벡터군을 결정하는 단계;
상기 제1 인접 블록의 제어점 움직임 벡터군 및 상기 제2 인접 블록의 제어점 움직임 벡터군을 상기 움직임 벡터 제1 후보 리스트에 추가하는 단계를 포함한다.
예를 들면, 도 12에 도시한 바와 같이, 도 12는 현재 이미지 블록의 인접 블록을 통해 움직임 벡터 제1 후보 리스트의 후보를 획득하는 것을 나타낸 개략도이다. 현재 이미지 블록의 좌측에서, 이미지 블록(A) -> 이미지 블록(D) -> 이미지 블록(E)의 스캔 순서에 따라 차례로 스캔하고, 미리 설정된 조건을 만족하는 첫 이미지 블록의 제어점 움직임 벡터군을 하나의 후보로서 움직임 벡터 제1 후보 리스트에 추가한다. 현재 이미지 블록의 상측에서, 이미지 블록(B) -> 이미지 블록(C)의 스캔 순서에 따라 차례로 스캔하고, 미리 설정된 조건을 만족하는 첫 이미지 블록의 제어점 움직임 벡터군을 하나의 후보로서 움직임 벡터 제1 후보 리스트에 추가한다. 선택적으로, 상기 스캔 순서에서, 상기 임계 값 조건에 부합하는 이미지 블록을 찾지 못하면, 상기 스캔 순서에서 후보를 결정하는 것을 포기한다.
일 구현예에서, 움직임 벡터 제1 후보 리스트에 추가할 후보를 결정하는 방법은,
상기 현재 이미지 블록의 일부 제어점의 인접 블록에 따라 상기 일부 제어점의 움직임 벡터를 구성하는 단계;
상기 현재 이미지 블록의 일부 제어점의 움직임 벡터를 상기 움직임 벡터 제1 후보 리스트에 추가하는 단계를 포함한다.
즉, 상기 구현예에서, 후보를 구성하여 움직임 벡터 제1 후보 리스트에 추가한다. 일 예시에서, 후보를 구성하여 움직임 벡터 제1 후보 리스트에 추가하기 전에, 먼저 움직임 벡터 제1 후보 리스트 중의 후보의 수량이 미리 설정된 수치(예를 들면 5)에 도달했는지 판단하고, 만약 미리 설정된 수치에 도달하지 않았으면, 후보를 구성하여 움직임 벡터 제1 후보리스트에 추가한다.
일 예시에서, 구성된 후보는 현재 이미지 블록의 일부 제어점의 인접 블록의 움직임 정보를 조합한 후 CMPVP로서 움직임 벡터 제1 후보 리스트에 추가한다.
도 13에 도시한 바와 같이, 도 13은 현재 이미지 블록의 인접 블록을 통해 움직임 벡터 제1 후보 리스트의 후보를 구성하는 개략도이다. 현재 이미지 블록은 4개 제어점을 공유하고, 각각 CP1, CP2, CP3, CP4이다. 이미지 블록(A0)과 이미지 블록(A1)은 CP1의 공간적 인접 블록이고; 이미지 블록(B0)과 이미지 블록(B1)은 CP2의 공간적 인접 블록이며, T는 CP4의 시간적 인접 블록이다. 제어점(CP1, CP2, CP3 및 CP4)의 좌표는 각각 (0, 0), (W, 0), (H, 0) 및 (W, H)이고, W와 H는 각각 현재 CU의 넓이와 높이를 나타낸다. 각 제어점의 인접 블록 움직임 벡터의 획득 우선 순위는 아래와 같다.
CP1의 경우, 획득 우선 순위는 B2->B3->A2이다. B2를 사용할 수 있으면, B2의 MV를 제어점(CP1)의 MV로 사용하고, B2를 사용할 수 없으면, B3의 MV를 제어점(CP1)의 MV로 사용한다. B2와 B3를 모두 사용할 수 없으면, A1의 MV를 제어점(CP1)의 MV로 사용하고, B2, B3 및 A1을 모두 사용할 수 없으면, 제어점(CP1)의 움직임 정보를 획득할 수 없다.
마찬가지로, CP2의 경우, 획득 우선 순위는 B1->B0이다. CP3의 경우, 획득 우선 순위는 A1->A0이다. CP4의 경우, T의 MV를 직접 제어점(CP4)의 MV로 사용한다.
현재 CU의 제어점(6-파라미터 모델: CP0, CP1 및 CP2; 4-파라미터 모델: CP4 및 CP1)의 MV을 모두 사용할 수 있을 때만, 구성된 MV를 삽입하고, 그렇지 않으며, 직접 다음 단계로 건너뛴다. 모든 제어점의 MV(존재할 경우)를 획득한 후, 제어점의 MV를 상이하게 조합하면 복수의 affine candidates를 얻을 수 있으며, 조합 방식은 아래와 같다.
4-파라미터 affine모델을 사용할 경우, 4개 제어점의 MV 중의 2개를 조합하면 하나 이상의 후보를 얻을 수 있으며, 그 중 두 가지 조합 방식인 {CP1, CP2}, {CP1, CP3}를 선택한다. 조합 방식{CP1, CP3}은 4-파라미터 모델에 따라 선택된 2개 제어점의 MV를 현재 CU의 좌측 상단 및 우측 상단의 제어점의 MV(CP1 및 CP2)로 전환해야 한다.
6-파라미터 affine모델을 사용할 경우, 4개 제어점의 MV 중의 3개를 조합하면 하나 이상의 후보를 얻을 수 있으며, 4개 조합 방식인 {CP1, CP2, CP4}, {CP1, CP2, CP3}, {CP2, CP3, CP4}, {CP1, CP3, CP4}을 선택한다. 조합 방식{CP1, CP2, CP3}, {CP2, CP3, CP4}, {CP1, CP3, CP4}은 6-파라미터 모델에 따라 선택된 3개 제어점의 MV를 현재 CU의 좌측 상단, 우측 상단 및 좌측 하단의 제어점의 MV(CP1, CP2 및 CP3)로 전환해야 한다.
일 예시에서, 상이한 조합의 MV(2개 또는 3개)에 사용된 참조 프레임이 다를 경우, 상기 조합으로 구성된 후보는 사용할 수 없는 것으로 인정된다.
일 구현예에서, 움직임 벡터 제1 후보 리스트에 추가할 후보를 결정하는 방법은, 디폴트 벡터를 사용하여 채우는 단계를 포함한다. 선택적으로, 상기 디폴트 벡터는 제로 벡터 또는 기타 벡터일 수 있다. 선택적으로, 기타 방법으로 움직임 벡터 제1 후보 리스트에 추가할 후보를 결정한 후, 현재 상기 제1 후보 리스트에 추가된 후보의 수가 미리 설정된 수치에 도달했는지 여부를 판단하고, 만약 도달하지 않았으면, 제1 후보 리스트 중의 후보의 수가 미리 설정된 수치에 도달할 때까지 디폴트 벡터를 제1 후보 리스트에 채운다.
움직임 벡터 제1 후보 리스트 중의 후보를 사용하여 현재 이미지 블록을 예측할 경우, 사용하는 후보가 ATMVP 기술을 이용하여 결정된 후보를 제외한 적어도 하나의 후보이면, 어파인 움직임 모델을 통해 상기 후보에 따라 현재 이미지 블록 중의 서브 이미지 블록의 움직임 벡터를 도출한다. 사용하는 후보가 ATMVP 기술을 이용하여 결정된 후보이면, 상술한 내용에 따라, 관련 블록 중의 각 서브 이미지 블록의 움직임 벡터에 따라 현재 이미지 블록 중의 각 이미지 블록의 참조 블록을 결정하고, 각 서브 이미지 블록의 참조 블록을 현재 이미지 블록의 참조 블록으로 맞춰 놓고, 상기 참조 블록에 따라 현재 이미지 블록의 잔차를 계산한다.
이하, 도 14 및 도 15를 결합하여 본 출원의 실시예에 의해 제공되는 비디오 이미지 처리 방법에 대해 예를 들어 설명한다. 도 14에 도시한 바와 같이, 상기 방법은, 아래와 같은 단계들을 포함한다.
S1410, 현재 이미지 블록의 미리 설정된 M개 인접 블록 중의 N개 인접 블록을 차례로 스캔하고, 스캔 결과에 따라 목표 인접 블록을 결정하며, N은 M보다 작다. 선택적으로, M은 4 이하이다.
S1420, 상기 목표 인접 블록의 움직임 벡터, 상기 현재 이미지 블록 및 상기 현재 이미지 블록의 참조 이미지에 따라, 상기 현재 이미지 블록의 관련 블록을 결정한다.
S1430, 상기 현재 이미지 블록 및 상기 관련 블록을 동일한 방식으로 복수의 서브 이미지 블록으로 분할하고, 상기 현재 이미지 블록 중의 각 서브 이미지 블록과 상기 관련 블록 중의 각 서브 이미지 블록을 일대일 대응시킨다.
S1440, 상기 관련 블록 중 각 서브 이미지 블록의 움직임 벡터에 따라 상기 현재 이미지 블록 중 대응되는 서브 이미지 블록을 각각 예측한다.
도 14에 도시한 비디오 이미지 처리 방법에 대한 해석은 상술한 내용을 참고할 수 있으므로, 상세한 설명은 생략한다.
도 15에 도시한 바와 같이, 상기 방법은 아래와 같은 단계들을 포함한다.
S1510, 현재 이미지 블록의 움직임 벡터 제2 후보 리스트 중의 M개 후보에 따라 상기 현재 이미지 블록의 M개 인접 블록을 결정한다.
S1520, 상기 M개 인접 블록 중의 N개 인접 블록을 차례로 스캔하고, 스캔 결과에 따라 목표 인접 블록을 결정하며, N은 M보다 작다. 선택적으로, M은 4 이하이다.
S1530, 상기 목표 인접 블록의 움직임 벡터, 상기 현재 이미지 블록 및 상기 현재 이미지 블록의 참조 이미지에 따라, 상기 현재 이미지 블록의 관련 블록을 결정한다.
S1540, 상기 현재 이미지 블록의 관련 블록에 따라 상기 현재 이미지 블록의 움직임 벡터 제1 후보 리스트 중의 특정 후보를 결정한다. 상기 특정 후보는 위에서 언급한 ATMVP 기술에 의해 결정된 후보일 수 있다.
S1550, 상기 특정 후보를 사용하는 것으로 결정할 경우, 상기 현재 이미지 블록 및 상기 관련 블록을 동일한 방식으로 복수의 서브 이미지 블록으로 분할하고, 상기 현재 이미지 블록 중의 각 서브 이미지 블록과 상기 관련 블록 중의 각 서브 이미지 블록을 일대일 대응시킨다.
S1560, 상기 관련 블록 중 각 서브 이미지 블록의 움직임 벡터에 따라 상기 현재 이미지 블록 중 대응되는 서브 이미지 블록을 각각 예측한다.
도 15에 도시한 비디오 이미지 처리 방법에 대한 해석은 상술한 내용을 참고할 수 있으므로, 상세한 설명은 생략한다.
도 16은 본 출원의 실시예에 의해 제공되는 비디오 이미지 처리 장치(1600)의 개략적 블록도이다. 상기 장치(1600)는 도 14에 도시한 방법 실시예를 실행하기 위한 것이다. 상기 장치(1600)는 아래와 같은 유닛들을 포함한다.
구축 모듈(1610)은, 현재 이미지 블록의 미리 설정된 M개 인접 블록 중의 N개 인접 블록을 차례로 스캔하고, 스캔 결과에 따라 목표 인접 블록을 결정하며, N은 M보다 작고; 상기 목표 인접 블록의 움직임 벡터, 상기 현재 이미지 블록 및 상기 현재 이미지 블록의 참조 이미지에 따라, 상기 현재 이미지 블록의 관련 블록을 결정하며; 상기 현재 이미지 블록 및 상기 관련 블록을 동일한 방식으로 복수의 서브 이미지 블록으로 분할하고, 상기 현재 이미지 블록 중의 각 서브 이미지 블록과 상기 관련 블록 중의 각 서브 이미지 블록을 일대일 대응시킨다.
예측 모듈(1620)은, 상기 관련 블록 중 각 서브 이미지 블록의 움직임 벡터에 따라 상기 현재 이미지 블록 중 대응되는 서브 이미지 블록을 각각 예측한다.
일 예시에서, N은 1또는 2이다.
일 예시에서, 상기 예측 모듈은 또한, 상술한 상기 관련 블록 중 각 서브 이미지 블록의 움직임 벡터에 따라 상기 현재 이미지 블록 중 대응되는 서브 이미지 블록을 각각 예측하기 전에, 상기 관련 블록의 대표 움직임 벡터를 후보로서 움직임 벡터 제1 후보 리스트에 추가하며;
상기 후보를 사용하는 것으로 결정할 경우, 상기 예측 모듈은 상기 관련 블록 중 각 서브 이미지 블록의 움직임 벡터에 따라 상기 현재 이미지 블록 중 대응되는 서브 이미지 블록을 각각 예측한다.
일 예시에서, 상술한 상기 관련 블록 중 각 서브 이미지 블록의 움직임 벡터에 따라 상기 현재 이미지 블록 중 대응되는 서브 이미지 블록을 각각 예측하는 것은,
상기 관련 블록 중 각 서브 이미지 블록의 움직임 벡터들을 각각 상기 현재 이미지 블록 중 대응되는 서브 이미지 블록의 움직임 벡터로 하는 것을 포함한다.
일 예시에서, 상기 관련 블록의 대표 움직임 벡터를 제1 후보로서 움직임 벡터 제1 후보 리스트에 추가한다.
일 예시에서, 상기 관련 블록의 대표 움직임 벡터는 상기 관련 블록의 중심 위치의 움직임 벡터를 포함한다.
일 예시에서, 상기 예측 모듈은 또한, 상기 관련 블록에 움직임 벡터를 획득할 수 없는 서브 이미지 블록이 나타날 경우, 상기 관련 블록의 대표 움직임 벡터를 상기 움직임 벡터를 획득할 수 없는 서브 이미지 블록의 움직임 벡터로 하여, 상기 현재 이미지 블록 중 대응되는 서브 이미지 블록을 예측한다.
일 예시에서, 예측 모듈은 또한, 상기 관련 블록에 움직임 벡터를 획득할 수 없는 서브 이미지 블록이 나타나고, 상기 관련 블록의 대표 움직임 벡터를 획득할 수 없는 경우, 상기 관련 블록 중 각 서브 이미지 블록의 움직임 벡터에 따라 상기 현재 이미지 블록 중 대응되는 서브 이미지 블록을 각각 예측하는 것을 포기한다.
일 예시에서, 예측 모듈은 또한, 상기 관련 블록 중의 서브 이미지 블록을 획득할 수 없거나, 또는 상기 관련 블록 중의 서브 이미지 블록이 인트라 부호화 모드를 사용할 경우, 상기 관련 블록에 움직임 벡터를 획득할 수 없는 서브 이미지 블록이 나타나는 것으로 결정한다.
일 예시에서, 구축 모듈은 또한, 기타 후보를 결정하여, 상기 기타 후보를 상기 움직임 벡터 제1 후보 리스트에 추가하고,상기 기타 후보 중의 적어도 하나의 후보는 서브 이미지 블록의 움직임 벡터를 포함한다.
일 예시에서, 구축 모듈은 또한, 상기 기타 후보 중 하나의 후보를 사용하는 것으로 결정할 경우, 상기 사용되는 후보에 따라 상기 현재 이미지 블록 중의 서브 이미지 블록의 움직임 벡터를 결정한다.
일 예시에서, 상기 적어도 하나의 후보는 1조의 제어점들의 움직임 벡터를 포함한다.
일 예시에서, 예측 모듈은 또한,
상기 적어도 하나의 후보 중의 후보를 사용하는 것으로 결정할 경우, 어파인 변환 모델에 따라 상기 사용되는 후보를 어파인 변환하며;
상기 어파인 변환 후의 후보에 따라 상기 현재 이미지 블록 중의 서브 이미지 블록을 예측한다.
일 예시에서, 어파인 변환 모델이 4-파라미터 어파인 변환 모델을 포함할 경우, 상기 적어도 하나의 후보 중에서, 각 후보는 2개 제어점의 움직임 벡터를 포함하며;
상기 어파인 변환 모델이 6-파라미터 어파인 변환 모델을 포함할 경우, 상기 적어도 하나의 후보 중에서, 각 후보는 3개 제어점의 움직임 벡터를 포함한다.
일 예시에서, 구축 모듈은 또한, 상기 현재 이미지 블록의 인접 블록에서, 특정 스캔 순서에 따라 어파인 변환 모드를 사용하여 예측하는 인접 블록의 제어점 움직임 벡터군를 결정하며;
각각의 결정된 인접 블록의 제어점 움직임 벡터군를 하나의 후보로서 상기 움직임 벡터 제1 후보 리스트에 추가한다.
일 예시에서, 상술한 상기 현재 이미지 블록의 인접 블록에서, 특정 스캔 순서에 따라 어파인 변환 모드를 사용하여 예측하는 인접 블록의 제어점 움직임 벡터군를 결정하는 것은,
상기 현재 이미지 블록의 좌측 인접 블록에서 제1 스캔 순서에 따라 제1 인접 블록의 제어점 움직임 벡터군를 결정하는 것;
상기 현재 이미지 블록의 상측 인접 블록에서 제2 스캔 순서에 따라 제2 인접 블록의 제어점 움직임 벡터군을 결정하는 것;
상기 제1 인접 블록의 제어점 움직임 벡터군 및 상기 제2 인접 블록의 제어점 움직임 벡터군을 상기 움직임 벡터 제1 후보 리스트에 추가하는 것을 포함한다.
일 예시에서, 구축 모듈은 또한, 상기 현재 이미지 블록의 일부 제어점의 인접 블록에 따라 상기 일부 제어점의 움직임 벡터를 구성하며;
상기 현재 이미지 블록의 일부 제어점의 움직임 벡터를 상기 움직임 벡터 제1 후보 리스트에 추가한다.
일 예시에서, 상술한 상기 현재 이미지 블록의 일부 제어점의 인접 블록에 따라 상기 일부 제어점의 움직임 벡터를 구성하는 것은,
상기 일부 제어점 중의 각 제어점에 대해, 제3 스캔 순서에 따라 상기 제어점의 특정 인접 블록을 차례로 스캔하여, 미리 설정된 조건을 만족시키는 특정 인접 블록의 움직임 벡터를 상기 제어점의 움직임 벡터로 하는 것을 포함한다.
일 예시에서, 구축 모듈은 또한,
상기 일부 제어점의 움직임 벡터가 각각 서로 다른 참조 프레임을 가리킬 경우, 상기 현재 이미지 블록의 일부 제어점의 움직임 벡터를 상기 움직임 벡터 제1 후보 리스트에 추가하는 것을 포기한다.
일 예시에서, 상기 움직임 벡터 제1 후보 리스트 중의 후보의 수량이 미리 설정된 수치보다 클 경우, 상기 현재 이미지 블록의 일부 제어점의 움직임 벡터를 상기 움직임 벡터 제1 후보 리스트에 추가하는 것을 포기한다.
일 예시에서, 구축 모듈은 또한,
움직임 벡터 제2 후보 리스트를 구축하고, 상기 움직임 벡터 제2 후보 리스트에 추가하는 후보는 하나의 이미지 블록의 움직임 벡터이며;
상기 움직임 벡터 제2 후보 리스트 중의 후보를 사용하는 것이 확인될 경우, 상기 후보의 움직임 벡터에 따라 상기 현재 이미지 블록의 움직임 벡터를 결정한다.
일 예시에서, 상술한 상기 후보의 움직임 벡터에 따라 상기 현재 이미지 블록의 움직임 벡터를 결정하는 것은,
상기 사용하는 것이 확인된 후보를 상기 현재 이미지 블록의 움직임 벡터로 하거나, 또는 상기 사용하는 것이 확인된 후보를 스케일링한 후 상기 현재 이미지 블록의 움직임 벡터로 하는 것을 포함한다.
일 예시에서, 상기 움직임 벡터 제2 후보 리스트를 구축하는 것은,
상기 현재 이미지 블록의 현재 이미지에서의 몇 개 인접 블록의 움직임 벡터에 따라 상기 움직임 벡터 제2 후보 리스트에 추가할 후보를 결정하는 것을 포함한다.
일 예시에서, 상기 현재 이미지 블록의 현재 이미지에서의 몇 개 인접 블록은 상기 미리 설정된 M개 인접 블록을 포함한다.
일 예시에서, 구축 모듈은 또한,
미리 설정된 순서에 따라 상기 미리 설정된 M개 인접 블록의 움직임 벡터를 각각 M개 후보로 하여, 상기 움직임 벡터 제2 후보 리스트에 추가하며;
상기 N개 인접 블록은, 상기 미리 설정된 순서에 따라 먼저 결정된 N개 인접 블록을 의미한다.
일 예시에서, 구축 모듈은 또한,
상기 M개 인접 블록 중의 하나 이상의 인접 블록의 움직임 벡터가 획득할 수 없는 것일 경우, 상기 하나 이상의 인접 블록의 움직임 벡터에 따라 상기 움직임 벡터 제2 후보 리스트에 추가할 후보를 결정하는 것을 포기한다.
일 예시에서, 상술한 상기 M개 인접 블록 중의 N개 인접 블록을 차례로 스캔하고, 스캔 결과에 따라 목표 인접 블록을 결정하는 것은,
상기 N개 인접 블록을 차례로 스캔하고, 미리 설정된 조건에 부합하는 첫 인접 블록이 스캔되면, 스캔을 정지하고, 상기 스캔된 상기 미리 설정된 조건에 부합하는 첫 인접 블록에 따라 목표 인접 블록을 결정하는 것을 포함한다.
일 예시에서, 상술한 상기 스캔된 상기 미리 설정된 조건에 부합하는 첫 인접 블록에 따라 목표 인접 블록을 결정하는 것은,
상기 미리 설정된 조건에 부합하는 첫 인접 블록을 상기 목표 인접 블록으로 하는 것을 포함한다.
일 예시에서, 상기 미리 설정된 조건은,
인접 블록의 참조 이미지와 상기 현재 이미지 블록의 참조 이미지가 동일한 것을 포함한다.
일 예시에서, 구축 모듈은 또한, 상기 N개 인접 블록에서 상기 미리 설정된 조건에 부합하는 인접 블록이 스캔되지 않으면, 상기 M개 인접 블록 중의 특정 인접 블록의 움직임 벡터를 스케일링 처리하며, 예측 모듈은 또한, 상기 스케일링 처리된 움직임 벡터에 따라 상기 현재 이미지 블록을 예측한다.
일 예시에서, 상술한 상기 스케일링 처리된 움직임 벡터에 따라 상기 현재 이미지 블록을 예측하는 것은,
상기 스케일링 처리된 움직임 벡터 및 상기 현재 이미지 블록의 참조 이미지에 따라 상기 현재 이미지 블록의 참조 블록을 결정하는 것을 포함한다.
일 예시에서, 상기 특정 인접 블록은 상기 N개 인접 블록에서 스캔 순서에 따라 얻은 첫 인접 블록 또는 마지막 인접 블록이다.
일 예시에서, 상술한 상기 M개 인접 블록 중의 특정 인접 블록의 움직임 벡터를 스케일링 처리하여, 상기 스케일링 처리된 움직임 벡터에 따라 상기 현재 이미지 블록을 예측하는 것은,
상기 특정 인접 블록의 움직임 벡터를 스케일링 처리하여, 상기 스케일링 처리를 거친 움직임 벡터가 가리키는 참조 프레임과 상기 현재 이미지 블록의 참조 이미지가 동일하도록 하는 것;
상기 스케일링 처리를 거친 움직임 벡터가 상기 현재 이미지 블록의 참조 이미지에서 가리키는 이미지 블록을 상기 현재 이미지 블록의 참조 블록으로 하는 것을 포함한다.
일 예시에서, 상기 N개 인접 블록에서 상기 미리 설정된 조건에 부합하는 인접 블록이 스캔되지 않으면, 디폴트 블록을 상기 현재 이미지 블록의 참조 블록으로 한다.
일 예시에서, 상기 디폴트 블록은 움직임 벡터(0, 0)가 가리키는 이미지 블록이다.
일 예시에서, 상기 서브 이미지 블록의 크기 및/또는 상기 서브 이미지 블록의 관련 블록의 크기는 64개 화소로 고정된다.
일 예시에서, 상기 서브 이미지 블록의 크기 및/또는 상기 서브 이미지 블록의 관련 블록의 크기는 8×8개 화소, 또는 16×4개 화소 또는 4×16개 화소로 고정된다.
일 예시에서, ATMVP기술에서의 서브 이미지 블록의 크기 및/또는 상기 서브 이미지 블록의 관련 블록의 크기가 8×8개 화소이거나 또는 그 넓이 및 높이 중에서 적어도 하나가 8화소보다 작은 경우, TMVP 동작을 진행하지 않도록 설정되므로, 일부 리던던시 동작을 건너뛰어, 부호화/복호화의 시간을 효과적으로 절약하고, 부호화 효율을 향상시킬 수 있다.
일 예시에서, 상기 현재 이미지 블록은 하나의 부호화 단위(CU)이다.
일 예시에서, 상술한 상기 목표 인접 블록의 움직임 벡터, 상기 현재 이미지 블록 및 상기 현재 이미지 블록의 참조 이미지에 따라, 상기 현재 이미지 블록의 관련 블록을 결정하는 것은,
상기 목표 인접 블록의 움직임 벡터에 따라, 상기 현재 이미지 블록의 참조 이미지에서 상기 현재 이미지 블록의 관련 블록을 결정하는 것을 포함한다.
일 예시에서, 상기 인접 블록은 상기 현재 이미지에서 상기 현재 이미지 블록의 위치와 인접하거나 또는 일정한 위치 간격이 있는 이미지 블록이다.
일 예시에서, 상술한 상기 관련 블록의 움직임 벡터에 따라 상기 현재 이미지 블록을 예측하는 것은,
상기 관련 블록의 참조 이미지가 특정 참조 이미지이거나, 또는 상기 현재 이미지 블록의 참조 이미지가 특정 참조 이미지일 경우, 처리 후의 상기 관련 블록의 움직임 벡터 및 상기 현재 이미지 블록의 참조 이미지에 따라 상기 현재 이미지 블록의 참조 블록을 결정하는 것을 포함하며;
상기 처리 후의 상기 관련 블록의 움직임 벡터는 처리 전의 관련 블록의 움직임 벡터와 동일하다.
일 예시에서, 상기 처리 후의 상기 관련 블록의 움직임 벡터는,
수치가 1인 스케일링 비율에 따라 상기 관련 블록의 움직임 벡터를 스케일링한 후 얻은 움직임 벡터, 또는 스케일링 단계를 건너뛴 상기 관련 블록의 움직임 벡터를 포함한다.
일 예시에서, 상술한 상기 관련 블록의 움직임 벡터에 따라 상기 현재 이미지 블록을 예측하는 것은,
상기 관련 블록의 참조 이미지가 특정 참조 이미지이거나, 또는 상기 현재 블록의 참조 이미지가 특정 참조 이미지일 경우, 상기 관련 블록의 움직임 벡터에 따라 상기 현재 이미지 블록의 참조 블록을 결정하는 것을 포기한다.
일 예시에서, 구축 모듈은 또한,
상기 특정 인접 블록의 움직임 벡터가 특정 참조 이미지를 가리키거나, 또는 상기 현재 이미지 블록의 참조 이미지가 특정 참조 이미지일 경우, 처리 후의 상기 관련 블록의 움직임 벡터 및 상기 현재 이미지 블록의 참조 이미지에 따라 상기 현재 이미지 블록의 참조 블록을 결정하며;
상기 처리 후의 상기 관련 블록의 움직임 벡터는 처리 전의 관련 블록의 움직임 벡터와 동일하다.
일 예시에서, 상기 처리 후의 상기 관련 블록의 움직임 벡터는,
수치가 1인 스케일링 비율에 따라 상기 관련 블록의 움직임 벡터를 스케일링한 후 얻은 움직임 벡터, 또는 스케일링 단계를 건너뛴 상기 관련 블록의 움직임 벡터를 포함한다.
일 예시에서, M은 4 이하이다.
도 17은 본 출원의 실시예에 의해 제공되는 비디오 이미지 처리 장치(1700)의 개략적 블록도이다. 상기 장치(1700)는 도 15에 도시한 방법 실시예를 실행하기 위한 것이다. 상기 장치(1700)는 아래와 같은 유닛들을 포함한다.
구축 모듈(1170)은, 현재 이미지 블록의 움직임 벡터 제2 후보 리스트 중의 M개 후보에 따라 상기 현재 이미지 블록의 M개 인접 블록을 결정하며; 상기 M개 인접 블록 중의 N개 인접 블록을 차례로 스캔하고, 스캔 결과에 따라 목표 인접 블록을 결정하며, N은 M보다 작고; 상기 목표 인접 블록의 움직임 벡터, 상기 현재 이미지 블록 및 상기 현재 이미지 블록의 참조 이미지에 따라, 상기 현재 이미지 블록의 관련 블록을 결정하며; 상기 현재 이미지 블록의 관련 블록에 따라 상기 현재 이미지 블록의 움직임 벡터 제1 후보 리스트 중의 특정 후보를 결정하며; 상기 특정 후보를 사용하는 것으로 결정할 경우, 상기 현재 이미지 블록 및 상기 관련 블록을 동일한 방식으로 복수의 서브 이미지 블록으로 분할하고, 상기 현재 이미지 블록 중의 각 서브 이미지 블록과 상기 관련 블록 중의 각 서브 이미지 블록을 일대일 대응시킨다.
예측 모듈(1720)은, 상기 관련 블록 중 각 서브 이미지 블록의 움직임 벡터에 따라 상기 현재 이미지 블록 중 대응되는 서브 이미지 블록을 각각 예측한다.
일 예시에서, 상기 움직임 벡터 제1 후보 리스트 중의 적어도 하나의 후보는 서브 이미지 블록의 움직임 벡터를 포함하고, 상기 움직임 벡터 제2 후보 리스트 중의 각 후보는 이미지 블록의 움직임 벡터를 포함한다.
일 예시에서, N은 1 또는 2이다.
일 예시에서, 상기 M개 후보는 상기 현재 이미지 블록의 현재 이미지에서의 M개 인접 블록의 움직임 벡터를 포함한다.
일 예시에서, 상술한 상기 M개 인접 블록 중의 N개 인접 블록을 차례로 스캔하고, 스캔 결과에 따라 목표 인접 블록을 결정하는 것은,
상기 N개 인접 블록을 차례로 스캔하고, 미리 설정된 조건에 부합하는 첫 인접 블록이 스캔되면, 스캔을 정지하고, 상기 스캔된 상기 미리 설정된 조건에 부합하는 첫 인접 블록에 따라 목표 인접 블록을 결정하는 것을 포함한다.
일 예시에서, 상술한 상기 스캔된 상기 미리 설정된 조건에 부합하는 첫 인접 블록에 따라 목표 인접 블록을 결정하는 것은,
상기 미리 설정된 조건에 부합하는 첫 인접 블록을 상기 목표 인접 블록으로 하는 것을 포함한다.
일 예시에서, 상기 미리 설정된 조건은,
인접 블록의 참조 이미지와 상기 현재 이미지 블록의 참조 이미지가 동일한 것을 포함한다.
일 예시에서, 구축 모듈은 또한, 상기 N개 인접 블록에서 상기 미리 설정된 조건에 부합하는 인접 블록이 스캔되지 않으면, 상기 M개 인접 블록 중의 특정 인접 블록의 움직임 벡터를 스케일링 처리하며, 예측 모듈은 또한, 상기 스케일링 처리된 움직임 벡터에 따라 상기 현재 이미지 블록을 예측한다.
일 예시에서, 상술한 상기 스케일링 처리된 움직임 벡터에 따라 상기 현재 이미지 블록을 예측하는 것은,
상기 스케일링 처리된 움직임 벡터 및 상기 현재 이미지 블록의 참조 이미지에 따라 상기 현재 이미지 블록의 참조 블록을 결정하는 것을 포함한다.
일 예시에서, 상기 특정 인접 블록은 상기 N개 인접 블록에서 스캔 순서에 따라 얻은 첫 인접 블록 또는 마지막 인접 블록이다.
일 예시에서, 상술한 상기 M개 인접 블록 중의 특정 인접 블록의 움직임 벡터를 스케일링 처리하여, 상기 스케일링 처리된 움직임 벡터에 따라 상기 현재 이미지 블록을 예측하는 것은,
상기 특정 인접 블록의 움직임 벡터를 스케일링 처리하여, 상기 스케일링 처리를 거친 움직임 벡터가 가리키는 참조 프레임과 상기 현재 이미지 블록의 참조 이미지가 동일하도록 하는 것;
상기 스케일링 처리를 거친 움직임 벡터가 상기 현재 이미지 블록의 참조 이미지에서 가리키는 이미지 블록을 상기 현재 이미지 블록의 참조 블록으로 하는 것을 포함한다.
일 예시에서, 상기 N개 인접 블록에서 상기 미리 설정된 조건에 부합하는 인접 블록이 스캔되지 않으면, 디폴트 블록을 상기 현재 이미지 블록의 참조 블록으로 한다.
일 예시에서, 상기 디폴트 블록은 움직임 벡터(0, 0)가 가리키는 이미지 블록이다.
일 예시에서, 상기 서브 이미지 블록의 크기 및/또는 상기 서브 이미지 블록의 관련 블록의 크기는 64개 이상의 화소로 고정된다.
일 예시에서, 상기 서브 이미지 블록의 크기 및/또는 상기 서브 이미지 블록의 관련 블록의 크기는 8×8개 화소, 또는 16×4개 화소 또는 4×16개 화소로 고정된다.
일 예시에서, ATMVP기술에서의 서브 이미지 블록의 크기 및/또는 상기 서브 이미지 블록의 관련 블록의 크기가 8×8개 화소이거나 또는 그 넓이 및 높이 중에서 적어도 하나가 8화소보다 작은 경우, TMVP 동작을 진행하지 않도록 설정되므로, 일부 리던던시 동작을 건너뛰어, 부호화/복호화의 시간을 효과적으로 절약하고, 부호화 효율을 향상시킬 수 있다.
일 예시에서, 상기 현재 이미지 블록은 하나의 부호화 단위(CU)이다.
일 예시에서, 상술한 상기 목표 인접 블록의 움직임 벡터, 상기 현재 이미지 블록 및 상기 현재 이미지 블록의 참조 이미지에 따라, 상기 현재 이미지 블록의 관련 블록을 결정하는 것은,
상기 목표 인접 블록의 움직임 벡터에 따라, 상기 현재 이미지 블록의 참조 이미지에서 상기 현재 이미지 블록의 관련 블록을 결정하는 것을 포함한다.
일 예시에서, 상기 인접 블록은 상기 현재 이미지에서 상기 현재 이미지 블록의 위치와 인접하거나 또는 일정한 위치 간격이 있는 이미지 블록이다.
일 예시에서, 상술한 상기 관련 블록의 움직임 벡터에 따라 상기 현재 이미지 블록을 예측하는 것은,
상기 관련 블록의 참조 이미지가 특정 참조 이미지이거나, 또는 상기 현재 이미지 블록의 참조 이미지가 특정 참조 이미지일 경우, 처리 후의 상기 관련 블록의 움직임 벡터 및 상기 현재 이미지 블록의 참조 이미지에 따라 상기 현재 이미지 블록의 참조 블록을 결정하는 것을 포함하며;
상기 처리 후의 상기 관련 블록의 움직임 벡터는 처리 전의 관련 블록의 움직임 벡터와 동일하다.
일 예시에서, 상기 처리 후의 상기 관련 블록의 움직임 벡터는,
수치가 1인 스케일링 비율에 따라 상기 관련 블록의 움직임 벡터를 스케일링한 후 얻은 움직임 벡터, 또는 스케일링 단계를 건너뛴 상기 관련 블록의 움직임 벡터를 포함한다.
일 예시에서, 상술한 상기 관련 블록의 움직임 벡터에 따라 상기 현재 이미지 블록을 예측하는 것은,
상기 관련 블록의 참조 이미지가 특정 참조 이미지이거나, 또는 상기 현재 블록의 참조 이미지가 특정 참조 이미지일 경우, 상기 관련 블록의 움직임 벡터에 따라 상기 현재 이미지 블록의 참조 블록을 결정하는 것을 포기하는 것을 포함한다.
일 예시에서, 구축 모듈은 또한, 상기 특정 인접 블록의 움직임 벡터가 특정 참조 이미지를 가리키거나, 또는 상기 현재 이미지 블록의 참조 이미지가 특정 참조 이미지일 경우, 처리 후의 상기 관련 블록의 움직임 벡터 및 상기 현재 이미지 블록의 참조 이미지에 따라 상기 현재 이미지 블록의 참조 블록을 결정하며;
상기 처리 후의 상기 관련 블록의 움직임 벡터는 처리 전의 관련 블록의 움직임 벡터와 동일하다.
일 예시에서, 상기 처리 후의 상기 관련 블록의 움직임 벡터는,
수치가 1인 스케일링 비율에 따라 상기 관련 블록의 움직임 벡터를 스케일링한 후 얻은 움직임 벡터, 또는 스케일링 단계를 건너뛴 상기 관련 블록의 움직임 벡터를 포함한다.
일 예시에서, 상술한 상기 관련 블록 중 각 서브 이미지 블록의 움직임 벡터에 따라 상기 현재 이미지 블록 중 대응되는 서브 이미지 블록을 각각 예측하는 것은,
상기 관련 블록 중 각 서브 이미지 블록의 움직임 벡터들을 각각 상기 현재 이미지 블록 중 대응되는 서브 이미지 블록의 움직임 벡터로 하는 것을 포함한다.
일 예시에서, 상술한 상기 현재 이미지 블록의 관련 블록에 따라 상기 현재 이미지 블록의 움직임 벡터 제1 후보 리스트 중의 특정 후보를 결정하는 것은,
상기 현재 이미지 블록의 관련 블록의 대표 움직임 벡터를 상기 특정 후보로서 상기 움직임 벡터 제1 후보 리스트에 추가하는 것을 포함한다.
일 예시에서, 상기 관련 블록의 대표 움직임 벡터를 제1 후보로서 움직임 벡터 제1 후보 리스트에 추가한다.
일 예시에서, 상기 관련 블록의 대표 움직임 벡터는 상기 관련 블록의 중심 위치의 움직임 벡터를 포함한다.
일 예시에서, 예측 모듈은 또한, 상기 관련 블록에 움직임 벡터를 획득할 수 없는 서브 이미지 블록이 나타날 경우, 상기 관련 블록의 대표 움직임 벡터를 상기 움직임 벡터를 획득할 수 없는 서브 이미지 블록의 움직임 벡터로 하여, 상기 현재 이미지 블록 중 대응되는 서브 이미지 블록을 예측한다.
일 예시에서, 예측 모듈은 또한, 상기 관련 블록에 움직임 벡터를 획득할 수 없는 서브 이미지 블록이 나타나고, 상기 관련 블록의 대표 움직임 벡터를 획득할 수 없는 경우, 상기 관련 블록 중 각 서브 이미지 블록의 움직임 벡터에 따라 상기 현재 이미지 블록 중 대응되는 서브 이미지 블록을 각각 예측하는 것을 포기한다.
일 예시에서, 예측 모듈은 또한, 상기 관련 블록 중의 서브 이미지 블록을 획득할 수 없거나, 또는 상기 관련 블록 중의 서브 이미지 블록이 인트라 부호화 모드를 사용할 경우, 상기 관련 블록에 움직임 벡터를 획득할 수 없는 서브 이미지 블록이 나타나는 것으로 결정한다.
일 예시에서, 예측 모듈은 또한, 상기 움직임 벡터 제2 후보 리스트에서 상기 특정 후보를 제외한 후보 중 하나를 사용하는 것으로 결정할 경우, 어파인 변환 모델에 따라 상기 사용되는 후보를 어파인 변환하며;
상기 어파인 변환 후의 후보에 따라 상기 현재 이미지 블록 중의 서브 이미지 블록을 예측한다.
일 예시에서, 상기 움직임 벡터 제2 후보 리스트에서 상기 특정 후보를 제외한 적어도 하나의 후보 중에서, 각 후보는 1조의 제어점들의 움직임 벡터를 포함한다.
일 예시에서, 상기 어파인 변환 모델이 4-파라미터 어파인 변환 모델을 포함할 경우, 상기 적어도 하나의 후보 중에서, 각 후보는 2개 제어점의 움직임 벡터를 포함하며;
상기 어파인 변환 모델이 6-파라미터 어파인 변환 모델을 포함할 경우, 상기 적어도 하나의 후보 중에서, 각 후보는 3개 제어점의 움직임 벡터를 포함한다.
일 예시에서, 예측 모듈은 또한, 상기 현재 이미지 블록의 인접 블록에서, 특정 스캔 순서에 따라 어파인 변환 모드를 사용하여 예측하는 인접 블록의 제어점 움직임 벡터군를 결정하며;
각각의 결정된 인접 블록의 제어점 움직임 벡터군를 하나의 후보로서 상기 움직임 벡터 제1 후보 리스트에 추가한다.
일 예시에서, 상술한 상기 현재 이미지 블록의 인접 블록에서, 특정 스캔 순서에 따라 어파인 변환 모드를 사용하여 예측하는 인접 블록의 제어점 움직임 벡터군를 결정하는 것은,
상기 현재 이미지 블록의 좌측 인접 블록에서 제1 스캔 순서에 따라 제1 인접 블록의 제어점 움직임 벡터군를 결정하는 것;
상기 현재 이미지 블록의 상측 인접 블록에서 제2 스캔 순서에 따라 제2 인접 블록의 제어점 움직임 벡터군을 결정하는 것;
상기 제1 인접 블록의 제어점 움직임 벡터군 및 상기 제2 인접 블록의 제어점 움직임 벡터군을 상기 움직임 벡터 제1 후보 리스트에 추가하는 것을 포함한다.
일 예시에서, 구축 모듈은 또한, 상기 현재 이미지 블록의 일부 제어점의 인접 블록에 따라 상기 일부 제어점의 움직임 벡터를 구성하며;
상기 현재 이미지 블록의 일부 제어점의 움직임 벡터를 상기 움직임 벡터 제1 후보 리스트에 추가한다.
일 예시에서, 상술한 상기 현재 이미지 블록의 일부 제어점의 인접 블록에 따라 상기 일부 제어점의 움직임 벡터를 구성하는 것은,
상기 일부 제어점 중의 각 제어점에 대해, 제3 스캔 순서에 따라 상기 제어점의 특정 인접 블록을 차례로 스캔하여, 미리 설정된 조건을 만족시키는 특정 인접 블록의 움직임 벡터를 상기 제어점의 움직임 벡터로 하는 것을 포함한다.
일 예시에서, 구축 모듈은 또한, 상기 일부 제어점의 움직임 벡터가 각각 서로 다른 참조 프레임을 가리킬 경우, 상기 현재 이미지 블록의 일부 제어점의 움직임 벡터를 상기 움직임 벡터 제1 후보 리스트에 추가하는 것을 포기한다.
일 예시에서, 구축 모듈은 또한, 상기 움직임 벡터 제1 후보 리스트 중의 후보의 수량이 미리 설정된 수치보다 클 경우, 상기 현재 이미지 블록의 일부 제어점의 움직임 벡터를 상기 움직임 벡터 제1 후보 리스트에 추가하는 것을 포기한다.
일 예시에서, 구축 모듈은 또한, 움직임 벡터 제2 후보 리스트를 구축하고, 상기 움직임 벡터 제2 후보 리스트에 추가하는 후보는 하나의 이미지 블록의 움직임 벡터이며;
상기 움직임 벡터 제2 후보 리스트 중의 후보를 사용하는 것이 확인될 경우, 상기 후보의 움직임 벡터에 따라 상기 현재 이미지 블록의 움직임 벡터를 결정한다.
일 예시에서, 상술한 상기 후보의 움직임 벡터에 따라 상기 현재 이미지 블록의 움직임 벡터를 결정하는 것은,
상기 사용하는 것이 확인된 후보를 상기 현재 이미지 블록의 움직임 벡터로 하거나, 또는 상기 사용하는 것이 확인된 후보를 스케일링한 후 상기 현재 이미지 블록의 움직임 벡터로 하는 것을 포함한다.
일 예시에서, 상기 움직임 벡터 제2 후보 리스트를 구축하는 것은,
상기 현재 이미지 블록의 현재 이미지에서의 M개 인접 블록의 움직임 벡터에 따라 상기 움직임 벡터 제2 후보 리스트에 추가하는 상기 M 개 후보를 결정하는 것을 포함한다.
일 예시에서, 구축 모듈은 또한, 미리 설정된 순서에 따라 상기 미리 설정된 M개 인접 블록의 움직임 벡터를 각각 M개 후보로 하여, 상기 움직임 벡터 제2 후보 리스트에 추가하고;
상기 N개 인접 블록은, 상기 미리 설정된 순서에 따라 먼저 결정된 N개 인접 블록을 의미한다.
일 예시에서, 구축 모듈은 또한, 상기 M개 인접 블록 중의 하나 이상의 인접 블록의 움직임 벡터가 획득할 수 없는 것일 경우, 상기 하나 이상의 인접 블록의 움직임 벡터에 따라 상기 움직임 벡터 제2 후보 리스트에 추가할 후보를 결정하는 것을 포기한다.
일 예시에서, M은 4 이하이다.
도 18에 도시한 바와 같이, 본 출원의 실시예는 비디어 이미지 처리 방법(1800)을 더 제공하며, 상기 방법은 아래와 같은 단계들을 포함한다.
S1810, 베이스 움직임 벡터 리스트를 결정하며, 상기 베이스 움직임 벡터 리스트에는 적어도 하나의 쌍예측 베이스 움직임 벡터군이 포함되고, 상기 쌍예측 베이스 움직임 벡터군에는 제1 베이스 움직임 벡터 및 제2 베이스 움직임 벡터가 포함된다.
S1820, 미리 설정된 오프셋 집합에서 2개의 움직임 벡터 오프셋을 결정하며, 상기 2개의 움직임 벡터 오프셋은 각각 상기 제1 베이스 움직임 벡터 및 상기 제2 베이스 움직임 벡터에 대응된다.
S1830, 상기 제1 베이스 움직임 벡터, 상기 제2 베이스 움직임 벡터 및 상기 2개의 움직임 벡터 오프셋에 따라, 현재 이미지 블록의 움직임 벡터를 결정한다.
S1840, 상기 현재 이미지 블록의 움직임 벡터에 따라 상기 현재 이미지 블록을 예측한다.
본 출원의 실시예의 비디오 이미지 처리 방법은, 미리 설정된 오프셋 집합을 베이스로 하여 쌍예측 베이스 움직임 벡터군 중의 베이스 움직임 벡터를 오프셋하고, 유한 횟수의 계산을 통해 현재 이미지 블록의 더욱 정확한 움직임 벡터를 얻을 수 있어, 예측으로 얻은 잔차를 더 작게 하여, 부호화 효율을 향상시킬 수 있다.
일부 실시예에서, 본 출원의 실시예의 비디오 이미지 처리 방법은 MMVD(Merge with Motion Vector Difference) 기술(UMVE(Ultimate motion vector expression) 기술이라고도 함)의 개선에 응용될 수 있다. 특히 MMVD 기술에 응용하여 병합(merge) 후보 리스트(움직임 벡터 후보 리스트라고도 함)를 구축할 수 있다.
일부 실시예에서, S1810 단계 이전에, 비디오 이미지 처리 방법(1800)은 병합 후보 리스트를 획득하는 단계를 더 포함할 수 있으며, 상기 병합 후보 리스트에는 P조의 병합 움직임 벡터 후보가 포함되고, P는 1 이상의 정수이다. S1810의 베이스 움직임 벡터 리스트를 결정하는 단계는, 상기 병합 후보 리스트에 따라, 상기 베이스 움직임 벡터 리스트를 결정하는 것을 포함할 수 있다. 예를 들면, P가 2 이상일 경우, 상기 병합 후보 리스트 중의 2조의 병합 움직임 벡터 후보를 취하여 상기 베이스 움직임 벡터 리스트를 형성한다. 선택적으로, 상기 2조의 병합 움직임 벡터 후보는 병합 후보 리스트 중 처음 2조의 병합 움직임 벡터 후보일 수 있으며, 또한 처음 2조의 병합 움직임 벡터 후보가 조건에 부합하지 않을 경우 기타 2조의 병합 움직임 벡터 후보일 수도 있다. 또는 상기 2조의 병합 움직임 벡터 후보는 병합 후보 리스트에서 조건에 부합하는 임의의 2조의 병합 움직임 벡터 후보일 수 있으며, 본 출원의 실시예는 이에 대해 한정하지 않는다. 또 예를 들면, P가 2보다 작을 경우, 움직임 벡터(0,0)로 채워서 상기 베이스 움직임 벡터 리스트를 형성한다.
구체적으로 상기 MMVD 기술은 먼저 종래의 merge후보 리스트(또는 앞에서 설명한 상이한 유형의 모드에서 획득한 다양한 움직임 벡터 후보 리스트) 중의 병합 움직임 벡터 후보(candidate)를 이용하여 베이스 움직임 벡터 리스트(base MVP list)를 구축한다. 예를 들면, 종래의 merge후보 리스트(merge list)에서의 병합 움직임 벡터 후보를 탐색하고, 만약 종래의 merge list 중의 병합 움직임 벡터 후보군의 수가 2보다 크면, merge list 중 처음 2조의 병합 움직임 벡터 candidate를 취하여 MMVD의 base MVP list를 형성하고, 그렇지 않으면 MV(0, 0)로 채워서 MMVD의 baset MVP list를 형성한다. 본 출원의 실시예에서는 기타 디폴트 움직임 벡터로 채워서 베이스 움직임 벡터 리스트를 형성할 수도 있으며, 예를 들면 (1, 1), (2, 2) 등이며, 본 출원의 실시예는 이에 대해 한정하지 않는다.
이해해야 할 것은, base MVP list 중의 2조의 베이스 MV에서 각 조의 베이스 MV는 일방향으로 예측하는 베이스 움직임 벡터일 수도 있고, 쌍예측 베이스 움직임 벡터군일 수도 있다. 물론, base MVP list에는 더 많은 조 또는 더 적은 조의 베이스 MV가 포함될 수 있으며, 본 발명은 이에 대해 한정하지 않는다. 여기서는 단지 쌍예측 베이스 움직임 벡터군의 경우에 대해서만 토론하며, 쌍예측 베이스 움직임 벡터군에 포함되는 2개의 베이스 움직임 벡터는 전방 베이스 움직임 벡터 및 후방 베이스 움직임 벡터일 수도 있고, 방향이 동일한 2개의 베이스 움직임 벡터일 수도 있으며, 예를 들면 2개의 전방 베이스 움직임 벡터 또는 2개의 후방 베이스 움직임 벡터일 수 있다.
선택적으로, 일부 실시예에서, S1820의 미리 설정된 오프셋 집합에서 2개의 움직임 벡터 오프셋을 결정하는 단계는, 상기 오프셋 집합에서 2개의 움직임 벡터 오프셋을 포함하는 복수의 움직임 벡터 오프셋 조합을 결정하는 단계를 포함할 수 있으며; S1830의 상기 제1 베이스 움직임 벡터, 상기 제2 베이스 움직임 벡터 및 상기 2개의 움직임 벡터 오프셋에 따라, 현재 이미지 블록의 움직임 벡터를 결정하는 단계는, 상기 복수의 움직임 벡터 오프셋 조합에서 율왜곡 손실이 미리 설정된 조건을 만족하게 하는 움직임 벡터 오프셋 조합을 결정하여, 상기 제1 베이스 움직임 벡터, 상기 제2 베이스 움직임 벡터 및 상기 율왜곡 손실이 미리 설정된 조건을 만족하게 하는 움직임 벡터 오프셋 조합에 따라, 현재 이미지 블록의 움직임 벡터를 결정하는 단계를 포함할 수 있다. 선택적으로, 율왜곡 손실이 미리 설정된 조건을 만족하는 것은 율왜곡 손실이 미리 설정된 임계 값보다 작거나, 또는 율왜곡 손실이 가장 작은 것(예를 들면 예측 잔차가 가장 작은 것 등)일 수 있으며, 본 출원의 실시예는 이에 대해 한정하지 않는다.
본 출원의 실시예에서, MMVD 기술은 일정한 규칙에 따라 베이스 움직임 벡터 예측 값을 오프셋하고, 새로운 움직임 벡터 예측 후보를 생성하여 MMVD 움직임 벡터 예측 값으로 하여, MMVD움직임 벡터 후보 리스트에 추가한다. 선택적으로, 일부 실시예에서, 오프셋 집합에서 움직임 벡터 오프셋(offset)은 8개의 선택(21, 22, ……, 28)이 존재할 수 있으며, 즉 미리 설정된 오프셋 집합은 {2, 4, 8, 16, 32, 64, 128, 256}이다. 예를 들면, base MVP list 중의 베이스 움직임 벡터(베이스 움직임 벡터 candidate라고도 함)군의 수는 2이며, 움직임 벡터 오프셋(offset)은 8개의 선택(21, 22, ……, 28)이 존재한다. MMVD의 base MVP list 중의 1조의 베이스 MV의 2개 분량MV_x, MV_y은, 이들에 움직임 벡터offset을 더하거나 뺄 수 있다(2가지 선택). 구체적으로 예를 들자면, MMVD움직임 벡터 예측 값 = 베이스 움직임 벡터 예측 값 + 움직임 벡터 오프셋(offset)이다. 이를 통해, MMVD의 현재 이미지 블록의 움직임 벡터는 모두 2x8x2x2 = 64가지 개선(refine) 모드가 존재한다. 본 출원의 실시예는 64가지 개선 모드에서 일부를 선택하거나, 또는 64가지 개선 모드에서 더 많은 개선 모드를 도출할 수도 있으며, 64가지 개선 모드에 한정되지 않는다. 예를 들면 개선 모드의 수는 32가지 또는 128가지일 수 있으며, 본 출원의 실시예는 이에 대해 한정하지 않는다. 이러한 움직임 벡터에서 율왜곡 손실이 미리 설정된 조건을 만족하게 하는 움직임 벡터를 결정하여 부호화/또는 복호화할 때의 현재 이미지 블록의 움직임 벡터로 한다.
다른 각도에서 이해하면, 율왜곡 손실이 미리 설정된 조건을 만족하게 하는 움직임 벡터를 결정하는 것은 상기 복수의 움직임 벡터 오프셋 조합에서 율왜곡 손실이 미리 설정된 조건을 만족하게 하는 움직임 벡터 오프셋 조합을 결정하여, 상기 제1 베이스 움직임 벡터, 상기 제2 베이스 움직임 벡터 및 상기 율왜곡 손실이 미리 설정된 조건을 만족하게 하는 움직임 벡터 오프셋 조합에 따라, 현재 이미지 블록의 움직임 벡터를 결정하는 것으로 등가 인정할 수도 있다.
이해해야 할 것은, 움직임 벡터 오프셋 조합 중의 2개의 움직임 벡터 오프셋은 같을 수도 있고 다를 수도 있다.
선택적으로, 2개의 움직임 벡터 오프셋을 포함하는 복수의 움직임 벡터 오프셋 조합은 미리 설정된 오프셋 집합 중의 움직임 벡터 오프셋을 탐색하여, 복수의 움직임 벡터 오프셋 조합으로 형성한 것일 수 있다.
또는, 복수의 움직임 벡터 오프셋 조합 중의 하나의 움직임 벡터 오프셋은, 미리 설정된 계산법에 의해 계산된 오프셋 집합 중의 하나의 움직임 벡터 오프셋일 수 있으며, 상기 계산된 움직임 벡터 오프셋을 고정된 값으로 하고, 오프셋 집합 중의 움직임 벡터 오프셋을 탐색하여 복수의 움직임 벡터 오프셋 조합 중의 다른 하나의 움직임 벡터 오프셋으로 하여, 복수의 움직임 벡터 오프셋 조합을 형성하도록 한다. 스케일링 동작을 진행하지 않고(스케일링 비율이 1인 스케일링 동작을 진행), 간단한 탐색을 진행하여 적합한 움직임 벡터 오프셋 조합을 찾으므로, 전체적으로 계산량을 감소시켜, 부호화/복호화 효율을 향상시킬 수 있다.
또는, 복수의 움직임 벡터 오프셋 조합 중의 하나의 움직임 벡터 오프셋은 미리 설정된 계산법에 의해 계산된 오프셋 집합 중의 하나의 움직임 벡터 오프셋일 수 있으며, 상기 계산된 움직임 벡터 오프셋을 고정된 값으로 하고, 상기 고정된 값에 대해 스케일링 동작을 진행하여 복수의 움직임 벡터 오프셋 조합 중 다른 하나의 움직임 벡터 오프셋을 얻음으로써, 복수의 움직임 벡터 오프셋 조합을 형성하도록 한다.
또는, 2개의 움직임 벡터 오프셋을 포함하는 복수의 움직임 벡터 오프셋 조합은 기타 방식으로 형성될 수도 있으며, 본 출원의 실시예는 이에 대해 한정하지 않는다.
선택적으로, 일부 실시예에서, 상기 제1 베이스 움직임 벡터 및 제2 베이스 움직임 벡터가 모두 비특정 참조 이미지를 가리킬 경우, 이미 선택된 움직임 벡터 오프셋에 대해 스케일링 동작을 진행하면 새로운 움직임 벡터 오프셋을 얻을 수 있다. 그 다음 새로운 움직임 벡터 오프셋을 통해 제1 베이스 움직임 벡터 및 제2 베이스 움직임 벡터를 조절한다. 제1 베이스 움직임 벡터, 제2 베이스 움직임 벡터 및 2개의 새로운 움직임 벡터 오프셋에 따라, 즉 조절된 것에 따라 현재 이미지 블록의 움직임 벡터를 결정하고; 상기 현재 이미지 블록의 움직임 벡터에 따라 상기 현재 이미지 블록을 예측한다. 바꿔 말하면, 쌍예측에서, MMVD 기술에 따라 현재 이미지 블록의 움직임 벡터 예측 값을 결정할 경우, 현재 이미지에서 2개의 베이스 움직임 벡터의 참조 이미지까지의 거리가 다르면, 움직임 벡터 오프셋을 스케일링한 후, 스케일링된 움직임 벡터 오프셋과 베이스 움직임 벡터 예측을 덧셈(또는 뺄셈)하여 현재 이미지 블록의 움직임 벡터를 결정하도록 한다.
상기 제1 베이스 움직임 벡터 및 제2 베이스 움직임 벡터가 모두 비특정 참조 이미지를 가리킬 경우, 상기 2개의 움직임 벡터 오프셋은, 상기 2개의 움직임 벡터 오프셋에 따라 상기 제1 베이스 움직임 벡터 및 제2 베이스 움직임 벡터를 조절하는데 사용된다. 선택적으로, 상기 현재 이미지에서 상기 제1 베이스 움직임 벡터의 참조 이미지까지의 거리와 상기 현재 이미지에서 상기 제2 베이스 움직임 벡터의 참조 이미지까지의 거리의 비는, 상기 제1 베이스 움직임 벡터에 사용되는 움직임 벡터 오프셋과 상기 제2 베이스 움직임 벡터에 사용되는 움직임 벡터 오프셋의 비와 같다. 바꾸어 말하자면, 스케일링 비율은 현재 이미지 블록(예를 들면 제1 이미지 블록)이 위치하는 이미지와 현재 이미지 블록의 2개 참조 방향에서의 참조 이미지 사이의 거리에 의해 결정되며, 이 두 참조 이미지가 바로 현재 베이스 움직임 벡터의 참조 이미지이다. 상기 구현예는 시도해야 할 움직임 벡터 오프셋 조합의 수량을 더 줄일 수 있어, 부호화/복호화 효율을 더 향상시킬 수 있다.
이해해야 할 것은, 조절은 2개의 움직임 벡터 오프셋을 각각 제1 베이스 움직임 벡터 및 제2 베이스 움직임 벡터와 덧셈하는 것일 수 있으며; 또는 조절은 2개의 움직임 벡터 오프셋을 각각 제1 베이스 움직임 벡터 및 제2 베이스 움직임 벡터와 –y셈하는 것일 수 있다.
예를 들면, 부호화 또는 복호화 과정에서, 선택 가능한 움직임 벡터 오프셋은 {2, 4, 8, 16, 32, 64, 128, 256} 이 8가지 선택이 존재한다. 현재 과정에서 선택된 움직임 벡터 오프셋을 X로 기록한다. 현재 이미지의 프레임 번호는 P2로 기록하고, 제1 베이스 움직임 벡터의 참조 이미지의 프레임 번호, 제2 베이스 움직임 벡터의 참조 이미지의 프레임 번호는 각각 P0, P1이다. 만약 P2 - P0 = P2 - P1이면, 2개의 베이스 움직임 벡터에 동일한 크기의 움직임 벡터 오프셋X를 더한다. 만약 P2 - P0 = 2 * (P2 - P1)이면, 제1 베이스 움직임 벡터에 움직임 벡터 오프셋2*X을 더하고, 제2 베이스 움직임 벡터에 움직임 벡터 오프셋X를 더한다. 마찬가지로, 만약 P2 - P1 = 2 * (P2 - P0)이면, 제1 베이스 움직임 벡터에 움직임 벡터 오프셋X를 더하고, 제2 베이스 움직임 벡터에 움직임 벡터 오프셋2*X을 더한다.
또한, 현재 이미지에서 제1 베이스 움직임 벡터의 참조 이미지까지의 거리와 현재 이미지에서 제2 베이스 움직임 벡터의 참조 이미지까지의 거리의 비가 2의 배수가 아니면, 적합한 비의 값(2의 배수)를 선택하여, 제1 베이스 움직임 벡터에 사용되는 움직임 벡터 오프셋과 제2 베이스 움직임 벡터에 사용되는 움직임 벡터 오프셋의 비가 현재 이미지 블록에서 제1 베이스 움직임 벡터의 참조 이미지까지의 거리와 현재 이미지에서 제2 베이스 움직임 벡터의 참조 이미지까지의 비에 최대한 근접하게 한다. 예를 들면, P2 - P0 = 3 * (P2 - P1)이면, 비의 값은 2 또는 4를 선택한다. 제1 베이스 움직임 벡터에 움직임 벡터 오프셋 2*X를 더하고, 제2 베이스 움직임 벡터에 움직임 벡터 오프셋X를 더하거나, 또는 제1 베이스 움직임 벡터에 움직임 벡터 오프셋4*X를 더하고, 제2 베이스 움직임 벡터에 움직임 벡터 오프셋X를 더한다. 또 예를 들면, P2 - P0 = 5 * (P2 - P1)이면, 비의 값은 5와 가장 가까운 2의 배수인 4를 선택한다. 제1 베이스 움직임 벡터에 움직임 벡터 오프셋4*X를 더하고, 제2 베이스 움직임 벡터에 움직임 벡터 오프셋X를 더한다.
상기 제1 베이스 움직임 벡터 및/또는 제2 베이스 움직임 벡터가 특정 참조 이미지를 가리킬 경우(즉 현재 이미지 블록의 참조 이미지가 특정 참조 이미지임), 특정 참조 이미지와 현재 이미지 블록이 위치하는 블록의 시간적 거리의 정의가 불명확하므로, 움직임 벡터 오프셋에 대한 스케일링은 의미가 없다.
선택적으로, 일부 실시예에서, 상기 제1 베이스 움직임 벡터 및/또는 제2 베이스 움직임 벡터가 특정 참조 이미지를 가리킬 경우, 상기 2개의 움직임 벡터 오프셋 중의 적어도 하나의 움직임 벡터 오프셋은, 수치가 1인 스케일링 비율에 따라 초기 움직임 벡터 오프셋을 스케일링한 후 얻은 움직임 벡터 오프셋, 또는 스케일링 동작을 건너뛰어 얻은 움직임 벡터 오프셋을 포함한다.
또는 바꾸어 말하면, 상기 제1 베이스 움직임 벡터 및/또는 제2 베이스 움직임 벡터가 특정 참조 이미지를 가리킬 경우, 처리 후의 움직임 벡터 오프셋 및 베이스 움직임 벡터군에 따라 현재 이미지 블록의 움직임 벡터를 결정하고, 처리 후의 움직임 벡터 오프셋은 처리 전의 움직임 벡터 오프셋과 동일하다. 예를 들면, 처리 후의 2개의 움직임 벡터 오프셋 중의 적어도 하나의 움직임 벡터 오프셋은, 수치가 1인 스케일링 비율에 따라 초기 움직임 벡터 오프셋을 스케일링한 후 얻은 움직임 벡터 오프셋, 또는 스케일링 동작을 건너뛰어 얻은 움직임 벡터 오프셋을 포함한다.
하나의 구체적인 실시예에서, 2개의 움직임 벡터 오프셋 중의 어느 하나의 움직임 벡터 오프셋(예를 들면 offset1)은 미리 설정된 계산법에 의해 계산된 것일 수 있다. 제1 베이스 움직임 벡터가 특정 참조 이미지를 가리키거나, 또는 제2 베이스 움직임 벡터가 특정 참조 이미지를 가리키거나, 또는 제1 베이스 움직임 벡터 및 제2 베이스 움직임 벡터가 모두 특정 참조 이미지를 가리킬 경우, 다른 하나의 움직임 벡터 오프셋(예를 들면 offset2)는 offset1에 대해 스케일링 비율이 1인 스케일링을 진행하여 얻은 것이거나 또는 offset1에 대해 스케일링 동작을 진행하지 않고 얻은 것일 수 있다. 또는 다른 하나의 움직임 벡터 오프셋(예를 들면 offset2)은 어느 초기 오프셋에 대해 스케일링 비율이 1인 스케일링을 진행하여 얻은 것이거나 또는 스케일링 동작을 진행하지 않고 얻은 것일 수 있다. 바꾸어 말하면 초기 움직임 벡터 오프셋은 offset1일 수도 있고 기타 초기 오프셋일 수도 있으며, 본 출원의 실시예는 이에 대해 한정하지 않는다.
본 출원의 일부 실시예에서, 방법은 부호화단에 의해 실행되며, 상기 방법은, 예측한 결과에 따라 부호화하여 복호화단에 비트스트림를 발송하는 단계를 더 포함하고, 상기 비트스트림에는 율왜곡 손실이 미리 설정된 조건을 만족하게 하는 움직임 벡터 오프셋 조합을 표시하는 인덱스가 포함된다. 상기 실시예에서, 부호화단은 결정된 움직임 벡터 오프셋 조합의 인덱스를 복호화단에 통지하고, 그러면 복호화단은 적은 계산량으로 2개의 움직임 벡터 오프셋을 알 수 있으며, 복호화단을 간단화할 수 있다. 선택적으로, 2개의 움직임 벡터 오프셋 중의 어느 하나의 움직임 벡터 오프셋(예를 들면 offset1)이 미리 설정된 계산법에 의해 계산될 수 있는 것일 경우, 상기 인덱스는 다른 하나의 움직임 벡터 오프셋(예를 들면 offset2)과 offset1의 비일 수 있다.
본 출원의 일부 실시예에서, 방법은 복호화단에 의해 실행되며, 상기 방법은, 부호화단이 발송한 비트스트림를 수신하는 단계를 더 포함하고, 상기 비트스트림은 2개의 움직임 벡터 오프셋의 형성 조합을 표시하는 인덱스를 포함하며; 상기 미리 설정된 오프셋 집합에서 2개의 움직임 벡터 오프셋을 결정하는 단계는, 상기 인덱스에 따라 상기 2개의 움직임 벡터 오프셋을 결정하는 단계를 포함한다. 상기 실시예에서, 부호화단은 결정된 움직임 벡터 오프셋 조합의 인덱스를 복호화단에 통지하고, 그러면 복호화단은 적은 계산량으로 2개의 움직임 벡터 오프셋을 알 수 있으며, 복호화단을 간단화할 수 있다. 선택적으로, 2개의 움직임 벡터 오프셋 중의 어느 하나의 움직임 벡터 오프셋(예를 들면 offset1)이 미리 설정된 계산법에 의해 계산될 수 있는 것일 경우, 상기 인덱스는 다른 하나의 움직임 벡터 오프셋(예를 들면 offset2)과 offset1의 비일 수 있다
이상은 도 18을 결합하여 본 출원의 방법 실시예를 설명하고, 이하 상기 방법 실시예에 대응되는 장치 실시예를 설명한다. 이해해야 할 것은, 장치 실시예의 설명은 방법 실시예의 설명과 서로 대응되므로, 상세히 설명되지 않은 내용은 앞의 방법 실시예를 참고할 수 있으며, 간결함을 위해 상세한 설명은 생략한다.
도 19는 본 출원의 실시예에 의해 제공되는 비디오 이미지 처리 장치(1900)의 개략적 블록도이다. 상기 장치(1900)는 도 18에 도시한 방법 실시예를 실행하기 위한 것이다. 상기 장치(1900)는 아래와 같은 유닛들을 포함한다.
구축 모듈(1910)은, 베이스 움직임 벡터 리스트를 결정하며, 상기 베이스 움직임 벡터 리스트에는 적어도 하나의 쌍예측 베이스 움직임 벡터군이 포함되고, 상기 쌍예측 베이스 움직임 벡터군에는 제1 베이스 움직임 벡터 및 제2 베이스 움직임 벡터가 포함되며; 미리 설정된 오프셋 집합에서 2개의 움직임 벡터 오프셋을 결정하고, 상기 2개의 움직임 벡터 오프셋은 각각 상기 제1 베이스 움직임 벡터 및 상기 제2 베이스 움직임 벡터에 대응되며; 상기 제1 베이스 움직임 벡터, 상기 제2 베이스 움직임 벡터 및 상기 2개의 움직임 벡터 오프셋에 따라, 현재 이미지 블록의 움직임 벡터를 결정한다.
예측 모듈(1920)은, 상기 현재 이미지 블록의 움직임 벡터에 따라 상기 현재 이미지 블록을 예측한다.
본 출원의 실시예의 비디오 이미지 처리 장치는, 미리 설정된 오프셋 집합을 베이스로 하여 쌍예측 베이스 움직임 벡터군 중의 베이스 움직임 벡터를 오프셋하고, 유한 횟수의 계산을 통해 현재 이미지 블록의 더욱 정확한 움직임 벡터를 얻을 수 있어, 예측으로 얻은 잔차를 더 작게 하여, 부호화 효율을 향상시킬 수 있다.
선택적으로, 일부 실시예에서, 상기 구축 모듈(1910)이 미리 설정된 오프셋 집합에서 2개의 움직임 벡터 오프셋을 결정하는 것은, 상기 구축 모듈이 상기 오프셋 집합에서 2개의 움직임 벡터 오프셋을 포함하는 복수의 움직임 벡터 오프셋 조합을 결정하는 것을 포함하며; 상기 구축 모듈(1910)이 상기 제1 베이스 움직임 벡터, 상기 제2 베이스 움직임 벡터 및 상기 2개의 움직임 벡터 오프셋에 따라, 현재 이미지 블록의 움직임 벡터를 결정하는 것은, 상기 구축 모듈(1910)이 상기 복수의 움직임 벡터 오프셋 조합에서 율왜곡 손실이 미리 설정된 조건을 만족하게 하는 움직임 벡터 오프셋 조합을 결정하여, 상기 제1 베이스 움직임 벡터, 상기 제2 베이스 움직임 벡터 및 상기 율왜곡 손실이 미리 설정된 조건을 만족하게 하는 움직임 벡터 오프셋 조합에 따라, 현재 이미지 블록의 움직임 벡터를 결정하는 것을 포함한다.
선택적으로, 일부 실시예에서, 비디오 이미지 처리 장치(1900)는 부호화단에 사용되며, 비디오 이미지 처리 장치(1900)는 예측한 결과에 따라 부호화하여 복호화단에 비트스트림를 발송하는 발송 모듈을 더 포함하고, 상기 비트스트림에는 율왜곡 손실이 미리 설정된 조건을 만족하게 하는 움직임 벡터 오프셋 조합을 표시하는 인덱스가 포함된다.
선택적으로, 일부 실시예에서, 비디오 이미지 처리 장치(1900)는 복호화단에 사용되며, 비디오 이미지 처리 장치(1900)는 부호화단이 발송한 비트스트림를 수신하는 수신 모듈을 더 포함하고, 상기 비트스트림에는 2개의 움직임 벡터 오프셋의 형성 조합을 표시하는 인덱스가 포함되며; 구축 모듈(1910)이 미리 설정된 오프셋 집합에서 2개의 움직임 벡터 오프셋을 결정하는 것은, 상기 인덱스에 따라 상기 2개의 움직임 벡터 오프셋을 결정하는 것을 포함한다.
선택적으로, 일부 실시예에서, 상기 제1 베이스 움직임 벡터 및/또는 제2 베이스 움직임 벡터가 특정 참조 이미지를 가리킬 경우, 상기 2개의 움직임 벡터 오프셋 중의 적어도 하나의 움직임 벡터 오프셋은, 수치가 1인 스케일링 비율에 따라 초기 움직임 벡터 오프셋을 스케일링한 후 얻은 움직임 벡터 오프셋, 또는 스케일링 동작을 건너뛰어 얻은 움직임 벡터 오프셋을 포함한다.
선택적으로, 일부 실시예에서, 상기 제1 베이스 움직임 벡터 및 제2 베이스 움직임 벡터가 모두 비특정 참조 이미지를 가리킬 경우, 상기 2개의 움직임 벡터 오프셋은, 상기 2개의 움직임 벡터 오프셋에 따라 상기 제1 베이스 움직임 벡터 및 제2 베이스 움직임 벡터를 조절하는데 사용된다.
선택적으로, 일부 실시예에서, 상기 현재 이미지에서 상기 제1 베이스 움직임 벡터의 참조 이미지까지의 거리와 상기 현재 이미지에서 상기 제2 베이스 움직임 벡터의 참조 이미지까지의 거리의 비는, 상기 제1 베이스 움직임 벡터에 사용되는 움직임 벡터 오프셋과 상기 제2 베이스 움직임 벡터에 사용되는 움직임 벡터 오프셋의 비와 같다.
선택적으로, 일부 실시예에서, 상기 구축 모듈(1910)은 또한, 병합 후보 리스트를 획득하며, 상기 병합 후보 리스트에는 P조의 병합 움직임 벡터 후보가 포함되고, P는 1 이상의 정수이며; 상기 구축 모듈(1910)이 베이스 움직임 벡터 리스트를 결정하는 것은, 상기 구축 모듈(1910)이 상기 병합 후보 리스트에 따라, 상기 베이스 움직임 벡터 리스트를 결정하는 것을 포함한다.
선택적으로, 일부 실시예에서, 상기 구축 모듈(1910)이 상기 병합 후보 리스트에 따라, 상기 베이스 움직임 벡터 리스트를 결정하는 것은, P가 2 이상일 경우, 상기 구축 모듈(1910)은 상기 병합 후보 리스트 중의 처음 2조의 병합 움직임 벡터 후보를 취하여 상기 베이스 움직임 벡터 리스트를 형성하는 것을 포함한다.
선택적으로, 일부 실시예에서, 상기 구축 모듈(1910)이 상기 병합 후보 리스트에 따라, 상기 베이스 움직임 벡터 리스트를 결정하는 것은, P가 2보다 작을 경우, 상기 구축 모듈(1910)은 움직임 벡터(0, 0)로 채워서 상기 베이스 움직임 벡터 리스트를 형성하는 것을 포함한다.
선택적으로, 일부 실시예에서, 상기 미리 설정된 오프셋 집합은 {2, 4, 8, 16, 32, 64, 128, 256}이다.
선택적으로, 일부 실시예에서, 상기 현재 이미지 블록은 하나의 부호화 단위(CU)이다.
선택적으로, 일부 실시예에서, 상기 현재 이미지 블록은 쌍예측 이미지 블록이다.
도 20은 본 출원의 실시예에 의해 제공되는 비디오 이미지 처리 장치(2000)의 개략적 블록도이다. 도20에 도시한 비디오 이미지 처리 장치(2000)는 프로세서(2010) 및 메모리(2020)를 포함할 수 있으며, 상기 메모리(2020)에 컴퓨터 명령이 저장되어 있고, 상기 프로세서(2010)가 상기 컴퓨터 명령을 실행할 경우, 상기 비디오 이미지 처리 장치(2000)는, 베이스 움직임 벡터 리스트를 결정하는 단계로서, 상기 베이스 움직임 벡터 리스트에는 적어도 하나의 쌍예측 베이스 움직임 벡터군이 포함되고, 상기 쌍예측 베이스 움직임 벡터군에는 제1 베이스 움직임 벡터 및 제2 베이스 움직임 벡터가 포함되는 단계; 미리 설정된 오프셋 집합에서 2개의 움직임 벡터 오프셋을 결정하는 단계로서, 상기 2개의 움직임 벡터 오프셋은 각각 상기 제1 베이스 움직임 벡터 및 상기 제2 베이스 움직임 벡터에 대응되는 단계; 상기 제1 베이스 움직임 벡터, 상기 제2 베이스 움직임 벡터 및 상기 2개의 움직임 벡터 오프셋에 따라, 현재 이미지 블록의 움직임 벡터를 결정하는 단계; 상기 현재 이미지 블록의 움직임 벡터에 따라 상기 현재 이미지 블록을 예측하는 단계를 실행하게 된다.
이해해야 할 것은, 본 출원의 실시예의 비디오 이미지 처리 장치(2000)는 비트스트림을 전송하는 네트워크 인터페이스를 더 포함할 수 있다. 예를 들면 부호화 장치에서 발송하는 비트스트림을 수신한다.
본 출원의 일부 실시예에서, 프로세서(2010)가 상기 미리 설정된 오프셋 집합에서 2개의 움직임 벡터 오프셋을 결정하는 것은, 상기 오프셋 집합에서 2개의 움직임 벡터 오프셋을 포함하는 복수의 움직임 벡터 오프셋 조합을 결정하는 것을 포함하고; 프로세서(2010)가 상기 제1 베이스 움직임 벡터, 상기 제2 베이스 움직임 벡터 및 상기 2개의 움직임 벡터 오프셋에 따라, 현재 이미지 블록의 움직임 벡터를 결정하는 것은, 상기 복수의 움직임 벡터 오프셋 조합에서 율왜곡 손실이 미리 설정된 조건을 만족하게 하는 움직임 벡터 오프셋 조합을 결정하여, 상기 제1 베이스 움직임 벡터, 상기 제2 베이스 움직임 벡터 및 상기 율왜곡 손실이 미리 설정된 조건을 만족하게 하는 움직임 벡터 오프셋 조합에 따라, 현재 이미지 블록의 움직임 벡터를 결정하는 것을 포함한다.
본 출원의 일부 실시예에서, 비디오 이미지 처리 장치(2000)는 부호화단에 사용되며, 프로세서(2010)는 또한 예측한 결과에 따라 부호화하여 복호화단에 비트스트림를 발송하고, 상기 비트스트림에는 율왜곡 손실이 미리 설정된 조건을 만족하게 하는 움직임 벡터 오프셋 조합을 표시하는 인덱스가 포함된다.
본 출원의 일부 실시예에서, 비디오 이미지 처리 장치(2000)는 복호화단에 사용되며, 프로세서(2010)는 또한 부호화단이 발송한 비트스트림를 수신하고, 상기 비트스트림에는 2개의 움직임 벡터 오프셋의 형성 조합을 표시하는 인덱스가 포함되며; 프로세서(2010)가 미리 설정된 오프셋 집합에서 2개의 움직임 벡터 오프셋을 결정하는 것은, 상기 인덱스에 따라 상기 2개의 움직임 벡터 오프셋을 결정하는 것을 포함한다.
본 출원의 일부 실시예에서, 상기 제1 베이스 움직임 벡터 및/또는 제2 베이스 움직임 벡터가 특정 참조 이미지를 가리킬 경우, 상기 2개의 움직임 벡터 오프셋 중의 적어도 하나의 움직임 벡터 오프셋은, 수치가 1인 스케일링 비율에 따라 초기 움직임 벡터 오프셋을 스케일링한 후 얻은 움직임 벡터 오프셋, 또는 스케일링 동작을 건너뛰어 얻은 움직임 벡터 오프셋을 포함한다.
본 출원의 일부 실시예에서, 상기 제1 베이스 움직임 벡터 및 제2 베이스 움직임 벡터가 모두 비특정 참조 이미지를 가리킬 경우, 상기 2개의 움직임 벡터 오프셋은, 상기 2개의 움직임 벡터 오프셋에 따라 상기 제1 베이스 움직임 벡터 및 제2 베이스 움직임 벡터를 조절하는데 사용된다.
본 출원의 일부 실시예에서, 상기 현재 이미지에서 상기 제1 베이스 움직임 벡터의 참조 이미지까지의 거리와 상기 현재 이미지에서 상기 제2 베이스 움직임 벡터의 참조 이미지까지의 거리의 비는, 상기 제1 베이스 움직임 벡터에 사용되는 움직임 벡터 오프셋과 상기 제2 베이스 움직임 벡터에 사용되는 움직임 벡터 오프셋의 비와 같다.
본 출원의 일부 실시예에서, 프로세서(2010)는 또한, 병합 후보 리스트를 획득하며, 상기 병합 후보 리스트에는 P조의 병합 움직임 벡터 후보가 포함되고, P는 1 이상의 정수이며; 프로세서(2010)가 베이스 움직임 벡터 리스트를 결정하는 것은, 상기 병합 후보 리스트에 따라, 상기 베이스 움직임 벡터 리스트를 결정하는 것을 포함한다.
상기 프로세서(2010)가 상기 병합 후보 리스트에 따라, 상기 베이스 움직임 벡터 리스트를 결정하는 것은, P가 2 이상일 경우, 상기 병합 후보 리스트 중의 처음 2조의 병합 움직임 벡터 후보를 취하여 상기 베이스 움직임 벡터 리스트를 형성하는 것을 포함한다.
본 출원의 일부 실시예에서, 상기 프로세서(2010)가 상기 병합 후보 리스트에 따라, 상기 베이스 움직임 벡터 리스트를 결정하는 것은, P가 2보다 작을 경우, 움직임 벡터(0, 0)로 채워서 상기 베이스 움직임 벡터 리스트를 형성하는 것을 포함한다.
본 출원의 일부 실시예에서, 미리 설정된 오프셋 집합은 {2, 4, 8, 16, 32, 64, 128, 256}이다.
본 출원의 일부 실시예에서, 현재 이미지 블록은 하나의 부호화 단위(CU)이다.
본 출원의 일부 실시예에서, 현재 이미지 블록은 쌍예측 이미지 블록이다.
이해해야 할 것은, 도 20에 도시한 비디오 이미지 처리 장치(2000) 또는 도 19에 도시한 비디오 이미지 처리 장치(1900)는 상기 방법 실시예의 동작 또는 흐름을 실행할 수 있으며, 또한 비디오 이미지 처리 장치(2000) 또는 비디오 이미지 처리 장치(1900)에서의 각 모듈 및 디바이스의 동작 및/또는 기능은 각각 상기 방법 실시예의 상응한 흐름을 실현하기 위한 것이며, 간결함을 위해 상세한 설명은 생략한다.
본 출원의 실시예는 또한, 베이스 움직임 벡터 리스트를 결정하는 단계로서, 상기 베이스 움직임 벡터 리스트에는 베이스 움직임 벡터군이 포함되는 단계; 상기 베이스 움직임 벡터군에 특정 참조 이미지를 가리키는 적어도 하나의 베이스 움직임 벡터가 있을 경우, 상기 베이스 움직임 벡터군 및 움직임 벡터 오프셋에 따라 상기 현재 이미지 블록의 움직임 벡터를 결정하는 것을 포기하는 단계를 포함하는 비디오 이미지 처리 방법을 제공한다. 즉, 베이스 움직임 벡터군에 특정 참조 이미지를 가리키는 적어도 하나의 베이스 움직임 벡터가 있을 경우, 대응되는 움직임 벡터를 MV후보 리스트에 넣는 것을 포기한다.
본 출원의 일부 실시예에서, 병합 후보 리스트를 획득하고, 상기 병합 후보 리스트에는 P조의 병합 움직임 벡터 후보가 포함되고, P는 1 이상의 정수이며; 상기 베이스 움직임 벡터 리스트를 결정하는 것은, 상기 병합 후보 리스트에 따라, 상기 베이스 움직임 벡터 리스트를 결정하는 것을 포함한다.
본 출원의 일부 실시예에서, 상기 병합 후보 리스트에 따라, 상기 베이스 움직임 벡터 리스트를 결정하는 것은 P가 2 이상일 경우, 상기 병합 후보 리스트 중의 처음 2조의 병합 움직임 벡터 후보를 취하여 상기 베이스 움직임 벡터 리스트를 형성하는 것을 포함한다.
본 출원의 일부 실시예에서, 상술한 상기 병합 후보 리스트에 따라, 상기 베이스 움직임 벡터 리스트를 결정하는 것은, P가 2보다 작을 경우, 움직임 벡터(0, 0)로 채워서 상기 베이스 움직임 벡터 리스트를 형성하는 것을 포함한다.
본 출원의 일부 실시예에서, 상기 현재 이미지 블록은 하나의 부호화 단위(CU)이다.
대응되게, 본 출원은, 베이스 움직임 벡터 리스트를 결정하고, 상기 베이스 움직임 벡터 리스트에는 베이스 움직임 벡터군이 포함되는 결정 모듈; 상기 베이스 움직임 벡터군에 특정 참조 이미지를 가리키는 적어도 하나의 베이스 움직임 벡터가 있을 경우, 상기 베이스 움직임 벡터군 및 움직임 벡터 오프셋에 따라 상기 현재 이미지 블록의 움직임 벡터를 결정하는 것을 포기하는 처리 모듈을 포함하는 비디오 이미지 처리 장치를 제공한다.
본 출원의 일부 실시예에서, 상기 비디오 이미지 처리 장치는, 병합 후보 리스트를 획득하는 구축 모듈을 더 포함하며, 상기 병합 후보 리스트에는 P조의 병합 움직임 벡터 후보가 포함되고, P는 1 이상의 정수이며, 상기 결정 모듈은 구체적으로, 상기 병합 후보 리스트에 따라, 상기 베이스 움직임 벡터 리스트를 결정한다.
본 출원의 일부 실시예에서, 상기 결정 모듈은 구체적으로, P가 2 이상일 경우, 상기 병합 후보 리스트 중의 처음 2조의 병합 움직임 벡터 후보를 취하여 상기 베이스 움직임 벡터 리스트를 형성한다.
본 출원의 일부 실시예에서, 상기 결정 모듈은 구체적으로, P가 2보다 작을 경우, 움직임 벡터(0, 0)로 채워서 상기 베이스 움직임 벡터 리스트를 형성한다.
본 출원의 일부 실시예에서, 상기 현재 이미지 블록은 하나의 부호화 단위(CU)이다.
본 발명은 또한 프로세서 및 메모리를 포함하는 비디오 이미지 처리 장치를 더 제공하고, 상기 메모리에 컴퓨터 명령이 저장되어 있고, 상기 프로세서가 상기 컴퓨터 명령을 실행할 경우, 상기 비디오 이미지 처리 장치는, 베이스 움직임 벡터 리스트를 결정하는 단계로서, 상기 베이스 움직임 벡터 리스트에는 베이스 움직임 벡터군이 포함되는 단계; 상기 베이스 움직임 벡터군에 특정 참조 이미지를 가리키는 적어도 하나의 베이스 움직임 벡터가 있을 경우, 상기 베이스 움직임 벡터군 및 움직임벡터 오프셋에 따라 상기 현재 이미지 블록의 움직임 벡터를 결정하는 것을 포기하는 단계를 실행하게 된다.
이해해야 할 것은, 본 출원의 각 실시예의 장치는 메모리 및 프로세서를 기반으로 실현될 수 있으며, 각 메모리는 본 출원의 각 실시예의 방법을 실행하는 명령을 저장하고, 프로세스는 상기 명령을 실행하여, 장치가 본 출원의 각 실시예의 방법을 실행하도록 한다.
이해해야 할 것은, 본 발명의 실시예에서 언급된 프로세서는 CPU(central processing unit), NP(network processor) 또는 CPU 및 NP의 조합을 포함할 수 있다. 프로세서는 또한 하드웨어 칩을 더 포함할 수 있다. 상기 하드웨어 칩은 ASIC(application-specific integrated circuit), PLD(programmable logic device) 또는 이들의 조합일 수 있다. 상기 PLD는 CPLD(complex programmable logic device), FPGA(field-programmable gate array), GAL(generic array logic) 또는 이들의 임의의 조합일 수 있다.
추가로 이해해야 할 것은, 본 출원의 실시예에서 언급된 메모리는 휘발성 메모리(volatile memory) 또는 비휘발성 메모리(non-volatile memory)거나, 휘발성 메모리 및 비휘발성 메모리를 포함할 수 있다. 비휘발성 메모리는 ROM(Read-Only Memory), PROM(Programmable ROM), EPROM(Erasable PROM), EEPROM(Electrically EPROM) 또는 플래시 메모리(flaseh memory), 하드디스크(hard disk drive, HDD) 또는 SSD(solid-state drive)일 수 있다. 휘발성 메모리는 RAM(Random Access Memory)일 수 있으며, RAM는 외부 캐시로 이용된다. 비한정적인 예시에 의하면, 여러 가지 형태의 RAM을 사용할 수 있으며, 예를 들어 SRAM(Static RAM), DRAM(Dynamic RAM), SDRAM(Synchronous DRAM), DDR SDRAM(Double Data Rate SDRAM), ESDRAM(Enhanced SDRAM), SLDRAM(Synch link DRAM) 및 DR RAM(Direct Rambus RAM)을 사용할 수 있다.
참고로, 프로세서가 범용 프로세서, DSP, ASIC, FPGA 또는 기타 프로그래머블 로직 디바이스, 개별 게이트 또는 트랜지스터 로직 디바이스, 개별 하드웨어 컴퍼넌트일 경우, 메모리(메모리 모듈)은 프로세서에 통합된다.
주의해야 할 점은, 본문에서 설명한 메모리는 상술한 메모리 및 임의의 기타 적합한 유형의 메모리를 포함하나 이에 한정되지 않는다.
본 출원의 실시예는 또한 명령이 저장된 컴퓨터 판독 가능 저장매체를 제공하며, 명령이 컴퓨터에서 실행되면, 상기 컴퓨터가 상기 각 방법 실시예의 단계를 실행하도록 한다.
본 출원의 실시예는 컴퓨터 장치를 더 제공하며, 상기 컴퓨터 장치는 상기 컴퓨터 판독 가능 저장매체를 포함한다.
본 출원의 실시예는 명령을 포함하는 컴퓨터 프로그램 제품을 더 제공하며, 컴퓨터가 상기 컴퓨터 프로그램 제품의 상기 명령을 실행하면, 상기 컴퓨터는 상기 방법 실시예의 단계를 실행한다.
본 출원의 실시예는 컴퓨터가 상기 방법 실시예의 단계를 실행하도록 컴퓨터 칩을 더 제공한다.
본 출원의 실시예는 항공기에 응용될 수 있으며, 특히 무인기 분야에 응용될 수 있다.
이해해야 할 것은, 본 출원의 각 실시예의 회로, 서브 회로, 서브 유닛의 구분은 개략적인 것에 불과하다. 해당 분야에서 통상의 지식을 가진 자라면 본문에서 공개된 실시예에서 설명된 각 예시적 회로, 서브 회로 및 서브 유닛은 다시 분리 또는 조합할 수 있음을 이해할 것이다.
본 출원의 실시예에서 제공되는 장치는, 전체적 또는 부분적으로 하드웨어, 소프트웨어, 펌웨어 또는 이들의 임의의 조합을 통하여 구현될 수 있다. 소프트웨어를 사용하여 구현할 경우, 전체적 또는 부분적으로 컴퓨터 프로그램 제품의 형태로 구현될 수 있다. 컴퓨터 프로그램 제품은 하나 이상의 컴퓨터 명령을 포함한다. 컴퓨터에 컴퓨터 명령이 로딩되어 실행되면, 전체적 또는 부분적으로 본 출원의 실시예에 따른 프로세서 또는 기능이 생성된다. 상기 컴퓨터는 범용 컴퓨터 또는 특수 컴퓨터, 컴퓨터 네트워크 또는 기타 프로그램 가능한 장치일 수 있다. 상기 컴퓨터 명령은 컴퓨터 판독 가능 저장매체에 저장되거나 또는 컴퓨터 판독 가능 저장매체에서 다른 컴퓨터 판독 가능 저장매체로 전송될 수 있다. 예를 들면, 상기 컴퓨터 명령은 웹사이트, 컴퓨터, 서버 또는 데이터 센터로부터 유선(예를 들면 동축 케이블, 광케이블, DSL(Digital Subscriber Line) 또는 무선(적외선, 무선, 마이크로파 등) 방식으로 다른 웹사이트, 컴퓨터, 서버 또는 데이터 센터로 전송될 수 있다. 상기 컴퓨터 판독 가능 저장매체는 컴퓨터가 엑세스할 수 있는 임의의 사용 가능 매체이거나 또는 하나 이상의 사용 가능 매체가 통합된 서버, 데이터 센터 등 데이터 저장장치를 포함할 수 있다. 상기 사용 가능한 매체는 자기매체(예를 들면, 플로피 디스크, 하드 디스크, 자기 테이프), 광학 매체(예를 들면, DVD), 또는 반도체 매체(예를 들면, SSD)등 일 수 있다.
이해해야 할 것은, 본문에서 언급된 제1, 제2 및 각종 숫자 번호는 단지 설명의 편의를 위해 구분한 것일 뿐, 본 출원의 범위를 한정하는 것은 아니다.
본문에서 용어 “및/또는”은 관련 대상의 관련 관계를 설명하기 위한 것에 불과하고, 세 가지 관계가 존재할 수 있음을 의미한다. 예컨대, 'A 및/또는 B'는 A가 단독으로 존재하거나, A와 B가 동시에 존재하거나, B가 단독으로 존재하는 등 세 가지 경우를 의미할 수 있다. 또한, 본문에서 문자부호 “/”는, 일반적으로 전후 관련 대상이 “또는”의 관계임을 의미한다.
이해해야 할 것은, 본 출원의 각 실시예에서, 상기 각 과정의 순번은 실행 순서의 선후를 의미하지 않으며, 각 과정의 실행 순서는 그 기능과 내부적 논리에 따라 결정되며, 이는 본 출원의 실시예의 실시 과정을 어떤 식으로든 한정하려는 것이 아니다.
본 분야에서 통상의 지식을 가진 자라면 본문에 공개된 실시예에서 설명한 각 예시를 결합한 유닛 및 계산법 단계는, 전자식 하드웨어 또는 컴퓨터 소프트웨어와 전자식 하드웨어의 결합으로 구현할 수 있음을 이해할 수 있다. 이러한 기능을 하드웨어 방식으로 실행할 것인지 아니면 소프트웨어 방식으로 실행할 것인지는 기술방안의 특정 응용 및 설계 규제 조건에 의해 결정된다. 전문기술자는 각각의 특정 응용에 따라 다양한 방법으로 상술한 기능을 실현할 수 있으나, 이러한 실현은 본 출원의 범위를 초과한 것으로 보아서는 안 된다.
설명의 편의 및 간결함을 위해, 상술한 시스템, 장치 및 유닛의 구체적인 작동 과정은, 상술한 방법 실시예의 대응하는 과정을 참조할 수 있고, 이는 본 분야에서 통상의 지식을 가진 자에게 명백한 것이므로, 설명을 생략한다.
본 출원에서 제공한 여러 실시예에서 개시된 시스템, 장치 및 방법은 다른 방식으로 실행될 수 있음을 이해할 수 있다. 예컨대 상술한 장치 실시예는 개략적인 것에 불과하며, 예컨대 상기 유닛의 구분은 논리적 기능을 구분한 것에 불과하고, 실제 구현 시에는 별도의 구분 방식일 수 있으며, 예컨대, 복수의 유닛 또는 부재는 다른 시스템에 결합 또는 통합시킬 수 있거나, 또는 일부 특징을 생략하거나 실행하지 않을 수도 있다. 또한, 도시되었거나 또는 논의된 상호 간의 결합 또는 직접 결합 또는 통신 접속은 일부 인터페이스, 장치 또는 유닛을 통한 간접 결합 또는 통신 접속일 수 있으며, 전기적, 기계적 또는 다른 형태의 접속일 수도 있다.
상기 분리 부재로서 설명된 유닛은, 물리적으로 분리되는 것일 수도 있고 아닐 수도 있으며, 유닛으로 도시된 부재들은 물리적인 유닛일 수도 있고 아닐 수도 있으며, 한 곳에 위치하거나 또는 복수의 네트워크 유닛 상에 분포될 수도 있다. 실제의 필요에 따라 이러한 유닛 중 일부 또는 전체를 선택하여 본 실시예 방안의 목적을 실현할 수 있다.
또한, 본 출원의 각각의 실시예의 각각의 기능 유닛은 하나의 처리 유닛에 통합되거나, 각각의 유닛이 단독으로 물리적으로 존재할 수도 있고, 2개 이상의 유닛을 하나의 유닛에 통합시킬 수도 있다.
상술한 내용은 본 출원의 구체적 실시 방식에 불과하며, 본 출원의 보호범위는 이에 한정되지 않고, 본 분야에서 통상의 지식을 가진 자라면 본 출원에 의해 공개된 기술 범위 내에서 다양한 등가 변경 또는 대체를 쉽게 생각해 낼 수 있고, 이러한 변경 또는 대체는 모두 본 출원의 보호범위에 포함되어야 한다. 따라서, 본 출원의 보호범위는 청구범위를 기준으로 해야 한다.

Claims (223)

  1. 현재 이미지 블록의 미리 설정된 M개 인접 블록 중의 N개 인접 블록을 차례로 스캔하고, 스캔 결과에 따라 목표 인접 블록을 결정하는 단계로서, N은 M보다 작은 단계;
    상기 목표 인접 블록의 움직임 벡터, 상기 현재 이미지 블록 및 상기 현재 이미지 블록의 참조 이미지에 따라, 상기 현재 이미지 블록의 관련 블록을 결정하는 단계;
    상기 현재 이미지 블록 및 상기 관련 블록을 동일한 방식으로 복수의 서브 이미지 블록으로 분할하고, 상기 현재 이미지 블록 중의 각 서브 이미지 블록과 상기 관련 블록 중의 각 서브 이미지 블록을 일대일 대응시키는 단계;
    상기 관련 블록 중 각 서브 이미지 블록의 움직임 벡터에 따라 상기 현재 이미지 블록 중 대응되는 서브 이미지 블록을 각각 예측하는 단계를 포함하는 것을 특징으로 하는 비디오 이미지 처리 방법.
  2. 제1항에 있어서,
    N은 1 또는 2인 것을 특징으로 하는 비디오 이미지 처리 방법.
  3. 제1항 또는 제2항에 있어서,
    상술한 상기 관련 블록 중 각 서브 이미지 블록의 움직임 벡터에 따라 상기 현재 이미지 블록 중 대응되는 서브 이미지 블록을 각각 예측하는 단계 이전에,
    상기 관련 블록의 대표 움직임 벡터를 후보로서 움직임 벡터 제1 후보 리스트에 추가하는 단계;
    상기 후보를 사용하는 것으로 결정할 경우, 상기 관련 블록 중 각 서브 이미지 블록의 움직임 벡터에 따라 상기 현재 이미지 블록 중 대응되는 서브 이미지 블록을 각각 예측하는 단계를 더 포함하는 것을 특징으로 하는 비디오 이미지 처리 방법.
  4. 제3항에 있어서,
    상술한 상기 관련 블록 중 각 서브 이미지 블록의 움직임 벡터에 따라 상기 현재 이미지 블록 중 대응되는 서브 이미지 블록을 각각 예측하는 단계는,
    상기 관련 블록 중 각 서브 이미지 블록의 움직임 벡터들을 각각 상기 현재 이미지 블록 중 대응되는 서브 이미지 블록의 움직임 벡터로 하는 단계를 포함하는 것을 특징으로 하는 비디오 이미지 처리 방법.
  5. 제3항에 있어서,
    상기 관련 블록의 대표 움직임 벡터를 제1 후보로서 움직임 벡터 제1 후보 리스트에 추가하는 것을 특징으로 하는 비디오 이미지 처리 방법.
  6. 제3항에 있어서,
    상기 관련 블록의 대표 움직임 벡터는 상기 관련 블록의 중심 위치의 움직임 벡터를 포함하는 것을 특징으로 하는 비디오 이미지 처리 방법.
  7. 제3항에 있어서,
    상기 관련 블록에 움직임 벡터를 획득할 수 없는 서브 이미지 블록이 나타날 경우, 상기 관련 블록의 대표 움직임 벡터를 상기 움직임 벡터를 획득할 수 없는 서브 이미지 블록의 움직임 벡터로 하여, 상기 현재 이미지 블록 중 대응되는 서브 이미지 블록을 예측하는 단계를 더 포함하는 것을 특징으로 하는 비디오 이미지 처리 방법.
  8. 제7항에 있어서,
    상기 관련 블록에 움직임 벡터를 획득할 수 없는 서브 이미지 블록이 나타나고, 상기 관련 블록의 대표 움직임 벡터를 획득할 수 없는 경우, 상기 관련 블록 중 각 서브 이미지 블록의 움직임 벡터에 따라 상기 현재 이미지 블록 중 대응되는 서브 이미지 블록을 각각 예측하는 것을 포기하는 단계를 더 포함하는 것을 특징으로 하는 비디오 이미지 처리 방법.
  9. 제8항에 있어서,
    상기 관련 블록 중의 서브 이미지 블록을 획득할 수 없거나, 또는 상기 관련 블록 중의 서브 이미지 블록이 인트라 부호화 모드를 사용할 경우, 상기 관련 블록에 움직임 벡터를 획득할 수 없는 서브 이미지 블록이 나타나는 것으로 결정하는 것을 특징으로 하는 비디오 이미지 처리 방법.
  10. 제3항에 있어서,
    기타 후보를 결정하여, 상기 기타 후보를 상기 움직임 벡터 제1 후보 리스트에 추가하는 단계를 더 포함하고, 상기 기타 후보 중의 적어도 하나의 후보는 서브 이미지 블록의 움직임 벡터를 포함하는 것을 특징으로 하는 비디오 이미지 처리 방법.
  11. 제10항에 있어서,
    상기 기타 후보 중 하나의 후보를 사용하는 것으로 결정할 경우, 사용되는 후보에 따라 상기 현재 이미지 블록 중의 서브 이미지 블록의 움직임 벡터를 결정하는 단계를 더 포함하는 것을 특징으로 하는 비디오 이미지 처리 방법.
  12. 제10항 또는 제11항에 있어서,
    상기 적어도 하나의 후보는 1조의 제어점들의 움직임 벡터를 포함하는 것을 특징으로 하는 비디오 이미지 처리 방법.
  13. 제10항 내지 제12항 중 어느 한 항에 있어서,
    상기 적어도 하나의 후보 중의 후보를 사용하는 것으로 결정할 경우, 어파인 변환 모델에 따라 상기 사용되는 후보를 어파인 변환하는 단계;
    상기 어파인 변환 후의 후보에 따라 상기 현재 이미지 블록 중의 서브 이미지 블록을 예측하는 단계를 더 포함하는 것을 특징으로 하는 비디오 이미지 처리 방법.
  14. 제13항에 있어서,
    상기 어파인 변환 모델이 4-파라미터 어파인 변환 모델을 포함할 경우, 상기 적어도 하나의 후보 중에서, 각 후보는 2개 제어점의 움직임 벡터를 포함하며;
    상기 어파인 변환 모델이 6-파라미터 어파인 변환 모델을 포함할 경우, 상기 적어도 하나의 후보 중에서, 각 후보는 3개 제어점의 움직임 벡터를 포함하는 것을 특징으로 하는 비디오 이미지 처리 방법.
  15. 제3항 내지 제14항 중 어느 한 항에 있어서,
    상기 현재 이미지 블록의 인접 블록에서, 특정 스캔 순서에 따라 어파인 변환 모드를 사용하여 예측하는 인접 블록의 제어점 움직임 벡터군를 결정하는 단계는,
    각각의 결정된 인접 블록의 제어점 움직임 벡터군를 하나의 후보로서 상기 움직임 벡터 제1 후보 리스트에 추가하는 단계를 더 포함하는 것을 특징으로 하는 비디오 이미지 처리 방법.
  16. 제15항에 있어서,
    상술한 상기 현재 이미지 블록의 인접 블록에서, 특정 스캔 순서에 따라 어파인 변환 모드를 사용하여 예측하는 인접 블록의 제어점 움직임 벡터군를 결정하는 단계는,
    상기 현재 이미지 블록의 좌측 인접 블록에서 제1 스캔 순서에 따라 제1 인접 블록의 제어점 움직임 벡터군를 결정하는 단계;
    상기 현재 이미지 블록의 상측 인접 블록에서 제2 스캔 순서에 따라 제2 인접 블록의 제어점 움직임 벡터군을 결정하는 단계;
    상기 제1 인접 블록의 제어점 움직임 벡터군 및 상기 제2 인접 블록의 제어점 움직임 벡터군을 상기 움직임 벡터 제1 후보 리스트에 추가하는 단계를 포함하는 것을 특징으로 하는 비디오 이미지 처리 방법.
  17. 제3항 내지 제14항 중 어느 한 항에 있어서,
    상기 현재 이미지 블록의 일부 제어점의 인접 블록에 따라 상기 일부 제어점의 움직임 벡터를 구성하는 단계는,
    상기 현재 이미지 블록의 일부 제어점의 움직임 벡터를 상기 움직임 벡터 제1 후보 리스트에 추가하는 단계를 더 포함하는 것을 특징으로 하는 비디오 이미지 처리 방법.
  18. 제17항에 있어서,
    상술한 상기 현재 이미지 블록의 일부 제어점의 인접 블록에 따라 상기 일부 제어점의 움직임 벡터를 구성하는 단계는,
    상기 일부 제어점 중의 각 제어점에 대해, 제3 스캔 순서에 따라 상기 제어점의 특정 인접 블록을 차례로 스캔하여, 미리 설정된 조건을 만족시키는 특정 인접 블록의 움직임 벡터를 상기 제어점의 움직임 벡터로 하는 단계를 포함하는 것을 특징으로 하는 비디오 이미지 처리 방법.
  19. 제17항 또는 제18항에 있어서,
    상기 일부 제어점의 움직임 벡터가 각각 서로 다른 참조 프레임을 가리킬 경우, 상기 현재 이미지 블록의 일부 제어점의 움직임 벡터를 상기 움직임 벡터 제1 후보 리스트에 추가하는 것을 포기하는 단계를 더 포함하는 것을 특징으로 하는 비디오 이미지 처리 방법.
  20. 제17항 또는 제18항에 있어서,
    상기 움직임 벡터 제1 후보 리스트 중의 후보의 수량이 미리 설정된 수치보다 클 경우, 상기 현재 이미지 블록의 일부 제어점의 움직임 벡터를 상기 움직임 벡터 제1 후보 리스트에 추가하는 것을 포기하는 단계를 더 포함하는 것을 특징으로 하는 비디오 이미지 처리 방법.
  21. 제3항 내지 제15항 중 어느 한 항에 있어서,
    움직임 벡터 제2 후보 리스트를 구축하는 단계로서, 상기 움직임 벡터 제2 후보 리스트에 추가하는 후보는 하나의 이미지 블록의 움직임 벡터인 단계;
    상기 움직임 벡터 제2 후보 리스트 중의 후보를 사용하는 것이 확인될 경우, 상기 후보의 움직임 벡터에 따라 상기 현재 이미지 블록의 움직임 벡터를 결정하는 단계를 더 포함하는 것을 특징으로 하는 비디오 이미지 처리 방법.
  22. 제21항에 있어서,
    상술한 상기 후보의 움직임 벡터에 따라 상기 현재 이미지 블록의 움직임 벡터를 결정하는 단계는,
    상기 사용하는 것이 확인된 후보를 상기 현재 이미지 블록의 움직임 벡터로 하거나, 또는 상기 사용하는 것이 확인된 후보를 스케일링한 후 상기 현재 이미지 블록의 움직임 벡터로 하는 단계를 포함하는 것을 특징으로 하는 비디오 이미지 처리 방법.
  23. 제21항에 있어서,
    상기 움직임 벡터 제2 후보 리스트를 구축하는 단계는,
    상기 현재 이미지 블록의 현재 이미지에서의 몇 개 인접 블록의 움직임 벡터에 따라 상기 움직임 벡터 제2 후보 리스트에 추가할 후보를 결정하는 단계를 포함하는 것을 특징으로 하는 비디오 이미지 처리 방법.
  24. 제23항에 있어서,
    상기 현재 이미지 블록의 현재 이미지에서의 몇 개 인접 블록은 상기 미리 설정된 M개 인접 블록을 포함하는 것을 특징으로 하는 비디오 이미지 처리 방법.
  25. 제24항에 있어서,
    미리 설정된 순서에 따라 상기 미리 설정된 M개 인접 블록의 움직임 벡터를 각각 M개 후보로 하여, 상기 움직임 벡터 제2 후보 리스트에 추가하며;
    상기 N개 인접 블록은, 상기 미리 설정된 순서에 따라 먼저 결정된 N개 인접 블록을 의미하는 것을 특징으로 하는 비디오 이미지 처리 방법.
  26. 제24항에 있어서,
    상기 M개 인접 블록 중의 하나 이상의 인접 블록의 움직임 벡터가 획득할 수 없는 것일 경우, 상기 하나 이상의 인접 블록의 움직임 벡터에 따라 상기 움직임 벡터 제2 후보 리스트에 추가할 후보를 결정하는 것을 포기하는 단계를 더 포함하는 것을 특징으로 하는 비디오 이미지 처리 방법.
  27. 제1항 또는 제26항에 있어서,
    상술한 상기 M개 인접 블록 중의 N개 인접 블록을 차례로 스캔하고, 스캔 결과에 따라 목표 인접 블록을 결정하는 단계는,
    상기 N개 인접 블록을 차례로 스캔하고, 미리 설정된 조건에 부합하는 첫 인접 블록이 스캔되면, 스캔을 정지하고, 상기 스캔된 상기 미리 설정된 조건에 부합하는 첫 인접 블록에 따라 목표 인접 블록을 결정하는 단계를 포함하는 것을 특징으로 하는 비디오 이미지 처리 방법.
  28. 제19항에 있어서,
    상술한 상기 스캔된 상기 미리 설정된 조건에 부합하는 첫 인접 블록에 따라 목표 인접 블록을 결정하는 단계는,
    상기 미리 설정된 조건에 부합하는 첫 인접 블록을 상기 목표 인접 블록으로 하는 단계를 포함하는 것을 특징으로 하는 비디오 이미지 처리 방법.
  29. 제19항 또는 제28항에 있어서,
    상기 미리 설정된 조건은,
    인접 블록의 참조 이미지와 상기 현재 이미지 블록의 참조 이미지가 동일한 것을 포함하는 것을 특징으로 하는 비디오 이미지 처리 방법.
  30. 제27항 내지 제29항 중 어느 한 항에 있어서,
    상기 N개 인접 블록에서 상기 미리 설정된 조건에 부합하는 인접 블록이 스캔되지 않으면, 상기 M개 인접 블록 중의 특정 인접 블록의 움직임 벡터를 스케일링 처리하여, 상기 스케일링 처리된 움직임 벡터에 따라 상기 현재 이미지 블록을 예측하는 단계를 더 포함하는 것을 특징으로 하는 비디오 이미지 처리 방법.
  31. 제30항에 있어서,
    상술한 상기 스케일링 처리된 움직임 벡터에 따라 상기 현재 이미지 블록을 예측하는 단계는,
    상기 스케일링 처리된 움직임 벡터 및 상기 현재 이미지 블록의 참조 이미지에 따라 상기 현재 이미지 블록의 참조 블록을 결정하는 단계를 포함하는 것을 특징으로 하는 비디오 이미지 처리 방법.
  32. 제30항에 있어서,
    상기 특정 인접 블록은 상기 N개 인접 블록에서 스캔 순서에 따라 얻은 첫 인접 블록 또는 마지막 인접 블록인 것을 특징으로 하는 비디오 이미지 처리 방법.
  33. 제30항에 있어서,
    상술한 상기 M개 인접 블록 중의 특정 인접 블록의 움직임 벡터를 스케일링 처리하여, 상기 스케일링 처리된 움직임 벡터에 따라 상기 현재 이미지 블록을 예측하는 단계는,
    상기 특정 인접 블록의 움직임 벡터를 스케일링 처리하여, 상기 스케일링 처리를 거친 움직임 벡터가 가리키는 참조 프레임과 상기 현재 이미지 블록의 참조 이미지가 동일하도록 하는 단계;
    상기 스케일링 처리를 거친 움직임 벡터가 상기 현재 이미지 블록의 참조 이미지에서 가리키는 이미지 블록을 상기 현재 이미지 블록의 참조 블록으로 하는 단계를 포함하는 것을 특징으로 하는 비디오 이미지 처리 방법.
  34. 제27항 내지 제30항 중 어느 한 항에 있어서,
    상기 N개 인접 블록에서 상기 미리 설정된 조건에 부합하는 인접 블록이 스캔되지 않으면, 디폴트 블록을 상기 현재 이미지 블록의 참조 블록으로 하는 단계를 더 포함하는 것을 특징으로 하는 비디오 이미지 처리 방법.
  35. 제34항에 있어서,
    상기 디폴트 블록은 움직임 벡터(0, 0)가 가리키는 이미지 블록인 것을 특징으로 하는 비디오 이미지 처리 방법.
  36. 제1항 내지 제35항 중 어느 한 항에 있어서,
    상기 서브 이미지 블록의 크기 및/또는 상기 서브 이미지 블록의 관련 블록의 크기는 64개 이상의 화소로 고정되는 것을 특징으로 하는 비디오 이미지 처리 방법.
  37. 제36항에 있어서,
    상기 서브 이미지 블록의 크기 및/또는 상기 서브 이미지 블록의 관련 블록의 크기는 8×8개 화소, 또는 16×4개 화소 또는 4×16개 화소로 고정되는 것을 특징으로 하는 비디오 이미지 처리 방법.
  38. 제37항에 있어서,
    상기 서브 이미지 블록의 크기 및/또는 상기 서브 이미지 블록의 관련 블록의 크기는 8×8개 화소로 고정되며,
    시간적 움직임 벡터 예측(TMVP) 동작을 진행하지 않도록 설정하는 단계를 더 포함하는 것을 특징으로 하는 비디오 이미지 처리 방법.
  39. 제1항 내지 제36항 중 어느 한 항에 있어서,
    상기 서브 이미지 블록 및/또는 상기 서브 이미지 블록의 관련 블록의 넓이 및 높이 중에서 적어도 하나가 8화소보다 작은 경우, 시간적 움직임 벡터 예측(TMVP) 동작을 진행하지 않도록 설정하는 단계를 더 포함하는 것을 특징으로 하는 비디오 이미지 처리 방법.
  40. 제1항 내지 제39항 중 어느 한 항에 있어서,
    상기 현재 이미지 블록은 하나의 부호화 단위(CU)인 것을 특징으로 하는 비디오 이미지 처리 방법.
  41. 제1항 내지 제40항 중 어느 한 항에 있어서,
    상술한 상기 목표 인접 블록의 움직임 벡터, 상기 현재 이미지 블록 및 상기 현재 이미지 블록의 참조 이미지에 따라, 상기 현재 이미지 블록의 관련 블록을 결정하는 단계는,
    상기 목표 인접 블록의 움직임 벡터에 따라, 상기 현재 이미지 블록의 참조 이미지에서 상기 현재 이미지 블록의 관련 블록을 결정하는 단계를 포함하는 것을 특징으로 하는 비디오 이미지 처리 방법.
  42. 제1항 내지 제41항 중 어느 한 항에 있어서,
    상기 인접 블록은 상기 현재 이미지에서 상기 현재 이미지 블록의 위치와 인접하거나 또는 일정한 위치 간격이 있는 이미지 블록인 것을 특징으로 하는 비디오 이미지 처리 방법.
  43. 제1항 내지 제42항 중 어느 한 항에 있어서,
    상술한 상기 관련 블록의 움직임 벡터에 따라 상기 현재 이미지 블록을 예측하는 단계는,
    상기 관련 블록의 참조 이미지가 특정 참조 이미지이거나, 또는 상기 현재 이미지 블록의 참조 이미지가 특정 참조 이미지일 경우, 처리 후의 상기 관련 블록의 움직임 벡터 및 상기 현재 이미지 블록의 참조 이미지에 따라 상기 현재 이미지 블록의 참조 블록을 결정하는 단계를 포함하고,
    상기 처리 후의 상기 관련 블록의 움직임 벡터는 처리 전의 관련 블록의 움직임 벡터와 동일한 것을 특징으로 하는 비디오 이미지 처리 방법.
  44. 제43항에 있어서,
    상기 처리 후의 상기 관련 블록의 움직임 벡터는,
    수치가 1인 스케일링 비율에 따라 상기 관련 블록의 움직임 벡터를 스케일링한 후 얻은 움직임 벡터, 또는
    스케일링 단계를 건너뛴 상기 관련 블록의 움직임 벡터를 포함하는 것을 특징으로 하는 비디오 이미지 처리 방법.
  45. 제1항 내지 제42항 중 어느 한 항에 있어서,
    상술한 상기 관련 블록의 움직임 벡터에 따라 상기 현재 이미지 블록을 예측하는 단계는,
    상기 관련 블록의 참조 이미지가 특정 참조 이미지이거나, 또는 상기 현재 블록의 참조 이미지가 특정 참조 이미지일 경우, 상기 관련 블록의 움직임 벡터에 따라 상기 현재 이미지 블록의 참조 블록을 결정하는 것을 포기하는 단계를 포함하는 것을 특징으로 하는 비디오 이미지 처리 방법.
  46. 제1항 내지 제45항 중 어느 한 항에 있어서,
    상기 특정 인접 블록의 움직임 벡터가 특정 참조 이미지를 가리키거나, 또는 상기 현재 이미지 블록의 참조 이미지가 특정 참조 이미지일 경우, 처리 후의 상기 관련 블록의 움직임 벡터 및 상기 현재 이미지 블록의 참조 이미지에 따라 상기 현재 이미지 블록의 참조 블록을 결정하는 단계를 더 포함하고,
    상기 처리 후의 상기 관련 블록의 움직임 벡터는 처리 전의 관련 블록의 움직임 벡터와 동일한 것을 특징으로 하는 비디오 이미지 처리 방법.
  47. 제46항에 있어서,
    상기 처리 후의 상기 관련 블록의 움직임 벡터는,
    수치가 1인 스케일링 비율에 따라 상기 관련 블록의 움직임 벡터를 스케일링한 후 얻은 움직임 벡터, 또는
    스케일링 단계를 건너뛴 상기 관련 블록의 움직임 벡터를 포함하는 것을 특징으로 하는 비디오 이미지 처리 방법.
  48. 제1항 내지 제47항 중 어느 한 항에 있어서,
    M은 4 이하인 것을 특징으로 하는 비디오 이미지 처리 방법.
  49. 현재 이미지 블록의 움직임 벡터 제2 후보 리스트 중의 M개 후보에 따라 상기 현재 이미지 블록의 M개 인접 블록을 결정하는 단계;
    상기 M개 인접 블록 중의 N개 인접 블록을 차례로 스캔하고, 스캔 결과에 따라 목표 인접 블록을 결정하는 단계로서, N은 M보다 작은 단계;
    상기 목표 인접 블록의 움직임 벡터, 상기 현재 이미지 블록 및 상기 현재 이미지 블록의 참조 이미지에 따라, 상기 현재 이미지 블록의 관련 블록을 결정하는 단계;
    상기 현재 이미지 블록의 관련 블록에 따라 상기 현재 이미지 블록의 움직임 벡터 제1 후보 리스트 중의 특정 후보를 결정하는 단계;
    상기 특정 후보를 사용하는 것으로 결정할 경우, 상기 현재 이미지 블록 및 상기 관련 블록을 동일한 방식으로 복수의 서브 이미지 블록으로 분할하고, 상기 현재 이미지 블록 중의 각 서브 이미지 블록과 상기 관련 블록 중의 각 서브 이미지 블록을 일대일 대응시키는 단계;
    상기 관련 블록 중 각 서브 이미지 블록의 움직임 벡터에 따라 상기 현재 이미지 블록 중 대응되는 서브 이미지 블록을 각각 예측하는 단계
    를 포함하는 것을 특징으로 하는 비디오 이미지 처리 방법.
  50. 제49항에 있어서,
    상기 움직임 벡터 제1 후보 리스트 중의 적어도 하나의 후보는 서브 이미지 블록의 움직임 벡터를 포함하고, 상기 움직임 벡터 제2 후보 리스트 중의 각 후보는 이미지 블록의 움직임 벡터를 포함하는 것을 특징으로 하는 비디오 이미지 처리 방법.
  51. 제49항 또는 제50항에 있어서,
    N은 1 또는 2인 것을 특징으로 하는 비디오 이미지 처리 방법.
  52. 제49항 내지 제51항 중 어느 한 항에 있어서,
    상기 M개 후보는 상기 현재 이미지 블록의 현재 이미지에서의 M개 인접 블록의 움직임 벡터를 포함하는 것을 특징으로 하는 비디오 이미지 처리 방법.
  53. 제52항에 있어서,
    상술한 상기 M개 인접 블록 중의 N개 인접 블록을 차례로 스캔하고, 스캔 결과에 따라 목표 인접 블록을 결정하는 단계는,
    상기 N개 인접 블록을 차례로 스캔하고, 미리 설정된 조건에 부합하는 첫 인접 블록이 스캔되면, 스캔을 정지하고, 상기 스캔된 상기 미리 설정된 조건에 부합하는 첫 인접 블록에 따라 목표 인접 블록을 결정하는 단계를 포함하는 것을 특징으로 하는 비디오 이미지 처리 방법.
  54. 제52항에 있어서,
    상술한 상기 스캔된 미리 설정된 조건에 부합하는 첫 인접 블록에 따라 목표 인접 블록을 결정하는 단계는,
    상기 미리 설정된 조건에 부합하는 첫 인접 블록을 상기 목표 인접 블록으로 하는 단계를 포함하는 것을 특징으로 하는 비디오 이미지 처리 방법.
  55. 제53항 또는 제54항에 있어서,
    상기 미리 설정된 조건은,
    인접 블록의 참조 이미지와 상기 현재 이미지 블록의 참조 이미지가 동일한 것을 포함하는 것을 특징으로 하는 비디오 이미지 처리 방법.
  56. 제53항 내지 제55항 중 어느 한 항에 있어서,
    상기 N개 인접 블록에서 상기 미리 설정된 조건에 부합하는 인접 블록이 스캔되지 않으면, 상기 M개 인접 블록 중의 특정 인접 블록의 움직임 벡터를 스케일링 처리하여, 상기 스케일링 처리된 움직임 벡터에 따라 상기 현재 이미지 블록을 예측하는 단계를 더 포함하는 것을 특징으로 하는 비디오 이미지 처리 방법.
  57. 제56항에 있어서,
    상술한 상기 스케일링 처리된 움직임 벡터에 따라 상기 현재 이미지 블록을 예측하는 단계는,
    상기 스케일링 처리된 움직임 벡터 및 상기 현재 이미지 블록의 참조 이미지에 따라 상기 현재 이미지 블록의 참조 블록을 결정하는 단계를 포함하는 것을 특징으로 하는 비디오 이미지 처리 방법.
  58. 제56항에 있어서,
    상기 특정 인접 블록은 상기 N개 인접 블록에서 스캔 순서에 따라 얻은 첫 인접 블록 또는 마지막 인접 블록인 것을 특징으로 하는 비디오 이미지 처리 방법.
  59. 제56항에 있어서,
    상술한 상기 M개 인접 블록 중의 특정 인접 블록의 움직임 벡터를 스케일링 처리하여, 상기 스케일링 처리된 움직임 벡터에 따라 상기 현재 이미지 블록을 예측하는 단계는,
    상기 특정 인접 블록의 움직임 벡터를 스케일링 처리하여, 상기 스케일링 처리를 거친 움직임 벡터가 가리키는 참조 프레임과 상기 현재 이미지 블록의 참조 이미지가 동일하도록 하는 단계;
    상기 스케일링 처리를 거친 움직임 벡터가 상기 현재 이미지 블록의 참조 이미지에서 가리키는 이미지 블록을 상기 현재 이미지 블록의 참조 블록으로 하는 단계를 포함하는 것을 특징으로 하는 비디오 이미지 처리 방법.
  60. 제53항 내지 제55항 중 어느 한 항에 있어서,
    상기 N개 인접 블록에서 상기 미리 설정된 조건에 부합하는 인접 블록이 스캔되지 않으면, 디폴트 블록을 상기 현재 이미지 블록의 참조 블록으로 하는 단계를 더 포함하는 것을 특징으로 하는 비디오 이미지 처리 방법.
  61. 제60항에 있어서,
    상기 디폴트 블록은 움직임 벡터(0, 0)가 가리키는 이미지 블록인 것을 특징으로 하는 비디오 이미지 처리 방법.
  62. 제46항 내지 제61항 중 어느 한 항에 있어서,
    상기 서브 이미지 블록의 크기 및/또는 상기 서브 이미지 블록의 관련 블록의 크기는 64개 이상의 화소로 고정되는 것을 특징으로 하는 비디오 이미지 처리 방법.
  63. 제62항에 있어서,
    상기 서브 이미지 블록의 크기 및/또는 상기 서브 이미지 블록의 관련 블록의 크기는 8×8개 화소, 또는 16×4개 화소 또는 4×16개 화소로 고정되는 것을 특징으로 하는 비디오 이미지 처리 방법.
  64. 제63항에 있어서,
    상기 서브 이미지 블록의 크기 및/또는 상기 서브 이미지 블록의 관련 블록의 크기는 8×8개 화소로 고정되며,
    시간적 움직임 벡터 예측(TMVP) 동작을 진행하지 않도록 설정하는 단계를 더 포함하는 것을 특징으로 하는 비디오 이미지 처리 방법.
  65. 제49항 내지 제62항 중 어느 한 항에 있어서,
    상기 서브 이미지 블록 및/또는 상기 서브 이미지 블록의 관련 블록의 넓이 및 높이 중에서 적어도 하나가 8화소보다 작은 경우, 시간적 움직임 벡터 예측(TMVP) 동작을 진행하지 않도록 설정하는 단계를 더 포함하는 것을 특징으로 하는 비디오 이미지 처리 방법.
  66. 제49항 내지 제65항 중 어느 한 항에 있어서,
    상기 현재 이미지 블록은 하나의 부호화 단위(CU)인 것을 특징으로 하는 비디오 이미지 처리 방법.
  67. 제49항 내지 제66항 중 어느 한 항에 있어서,
    상술한 상기 목표 인접 블록의 움직임 벡터, 상기 현재 이미지 블록 및 상기 현재 이미지 블록의 참조 이미지에 따라, 상기 현재 이미지 블록의 관련 블록을 결정하는 단계는,
    상기 목표 인접 블록의 움직임 벡터에 따라, 상기 현재 이미지 블록의 참조 이미지에서 상기 현재 이미지 블록의 관련 블록을 결정하는 단계를 포함하는 것을 특징으로 하는 비디오 이미지 처리 방법.
  68. 제49항 내지 제67항 중 어느 한 항에 있어서,
    상기 인접 블록은 상기 현재 이미지에서 상기 현재 이미지 블록의 위치와 인접하거나 또는 일정한 위치 간격이 있는 이미지 블록인 것을 특징으로 하는 비디오 이미지 처리 방법.
  69. 제49항 내지 제68항 중 어느 한 항에 있어서,
    상술한 상기 관련 블록의 움직임 벡터에 따라 상기 현재 이미지 블록을 예측하는 단계는,
    상기 관련 블록의 참조 이미지가 특정 참조 이미지이거나, 또는 상기 현재 이미지 블록의 참조 이미지가 특정 참조 이미지일 경우, 처리 후의 상기 관련 블록의 움직임 벡터 및 상기 현재 이미지 블록의 참조 이미지에 따라 상기 현재 이미지 블록의 참조 블록을 결정하는 단계를 포함하고,
    상기 처리 후의 상기 관련 블록의 움직임 벡터는 처리 전의 관련 블록의 움직임 벡터와 동일한 것을 특징으로 하는 비디오 이미지 처리 방법.
  70. 제69항에 있어서,
    상기 처리 후의 상기 관련 블록의 움직임 벡터는,
    수치가 1인 스케일링 비율에 따라 상기 관련 블록의 움직임 벡터를 스케일링한 후 얻은 움직임 벡터, 또는
    스케일링 단계를 건너뛴 상기 관련 블록의 움직임 벡터를 포함하는 것을 특징으로 하는 비디오 이미지 처리 방법.
  71. 제49항 내지 제68항 중 어느 한 항에 있어서,
    상술한 상기 관련 블록의 움직임 벡터에 따라 상기 현재 이미지 블록을 예측하는 단계는,
    상기 관련 블록의 참조 이미지가 특정 참조 이미지이거나, 또는 상기 현재 블록의 참조 이미지가 특정 참조 이미지일 경우, 상기 관련 블록의 움직임 벡터에 따라 상기 현재 이미지 블록의 참조 블록을 결정하는 것을 포기하는 단계를 포함하는 것을 특징으로 하는 비디오 이미지 처리 방법.
  72. 제49항 내지 제71항 중 어느 한 항에 있어서,
    상기 특정 인접 블록의 움직임 벡터가 특정 참조 이미지를 가리키거나, 또는 상기 현재 이미지 블록의 참조 이미지가 특정 참조 이미지일 경우, 처리 후의 상기 관련 블록의 움직임 벡터 및 상기 현재 이미지 블록의 참조 이미지에 따라 상기 현재 이미지 블록의 참조 블록을 결정하는 단계를 더 포함하고,
    상기 처리 후의 상기 관련 블록의 움직임 벡터는 처리 전의 관련 블록의 움직임 벡터와 동일한 것을 특징으로 하는 비디오 이미지 처리 방법.
  73. 제72항에 있어서,
    상기 처리 후의 상기 관련 블록의 움직임 벡터는,
    수치가 1인 스케일링 비율에 따라 상기 관련 블록의 움직임 벡터를 스케일링한 후 얻은 움직임 벡터, 또는
    스케일링 단계를 건너뛴 상기 관련 블록의 움직임 벡터를 포함하는 것을 특징으로 하는 비디오 이미지 처리 방법.
  74. 제49항 내지 제73항 중 어느 한 항에 있어서,
    상술한 상기 관련 블록 중 각 서브 이미지 블록의 움직임 벡터에 따라 상기 현재 이미지 블록 중 대응되는 서브 이미지 블록을 각각 예측하는 단계는,
    상기 관련 블록 중 각 서브 이미지 블록의 움직임 벡터들을 각각 상기 현재 이미지 블록 중 대응되는 서브 이미지 블록의 움직임 벡터로 하는 단계를 포함하는 것을 특징으로 하는 비디오 이미지 처리 방법.
  75. 제49항 내지 제73항 중 어느 한 항에 있어서,
    상술한 상기 현재 이미지 블록의 관련 블록에 따라 상기 현재 이미지 블록의 움직임 벡터 제1 후보 리스트 중의 특정 후보를 결정하는 단계는,
    상기 현재 이미지 블록의 관련 블록의 대표 움직임 벡터를 상기 특정 후보로서 상기 움직임 벡터 제1 후보 리스트에 추가하는 단계를 포함하는 것을 특징으로 하는 비디오 이미지 처리 방법.
  76. 제75항에 있어서,
    상기 관련 블록의 대표 움직임 벡터를 제1 후보로서 움직임 벡터 제1 후보 리스트에 추가하는 것을 특징으로 하는 비디오 이미지 처리 방법.
  77. 제75항에 있어서,
    상기 관련 블록의 대표 움직임 벡터는 상기 관련 블록의 중심 위치의 움직임 벡터를 포함하는 것을 특징으로 하는 비디오 이미지 처리 방법.
  78. 제75항에 있어서,
    상기 관련 블록에 움직임 벡터를 획득할 수 없는 서브 이미지 블록이 나타날 경우, 상기 관련 블록의 대표 움직임 벡터를 상기 움직임 벡터를 획득할 수 없는 서브 이미지 블록의 움직임 벡터로 하여, 상기 현재 이미지 블록 중 대응되는 서브 이미지 블록을 예측하는 단계를 더 포함하는 것을 특징으로 하는 비디오 이미지 처리 방법.
  79. 제78항에 있어서,
    상기 관련 블록에 움직임 벡터를 획득할 수 없는 서브 이미지 블록이 나타나고, 상기 관련 블록의 대표 움직임 벡터를 획득할 수 없는 경우, 상기 관련 블록 중 각 서브 이미지 블록의 움직임 벡터에 따라 상기 현재 이미지 블록 중 대응되는 서브 이미지 블록을 각각 예측하는 것을 포기하는 단계를 더 포함하는 것을 특징으로 하는 비디오 이미지 처리 방법.
  80. 제78항에 있어서,
    상기 관련 블록 중의 서브 이미지 블록을 획득할 수 없거나, 또는 상기 관련 블록 중의 서브 이미지 블록이 인트라 부호화 모드를 사용할 경우, 상기 관련 블록에 움직임 벡터를 획득할 수 없는 서브 이미지 블록이 나타나는 것으로 결정하는 것을 특징으로 하는 비디오 이미지 처리 방법.
  81. 제49항 내지 제80항 중 어느 한 항에 있어서,
    상기 움직임 벡터 제2 후보 리스트에서 상기 특정 후보를 제외한 후보 중 하나를 사용하는 것으로 결정할 경우, 어파인 변환 모델에 따라 상기 사용되는 후보를 어파인 변환하는 단계는,
    상기 어파인 변환 후의 후보에 따라 상기 현재 이미지 블록 중의 서브 이미지 블록을 예측하는 단계를 더 포함하는 것을 특징으로 하는 비디오 이미지 처리 방법.
  82. 제81항에 있어서,
    상기 움직임 벡터 제2 후보 리스트에서 상기 특정 후보를 제외한 적어도 하나의 후보 중에서, 각 후보는 1조의 제어점들의 움직임 벡터를 포함하는 것을 특징으로 하는 비디오 이미지 처리 방법.
  83. 제82항에 있어서,
    상기 어파인 변환 모델이 4-파라미터 어파인 변환 모델을 포함할 경우, 상기 적어도 하나의 후보 중에서, 각 후보는 2개 제어점의 움직임 벡터를 포함하며;
    상기 어파인 변환 모델이 6-파라미터 어파인 변환 모델을 포함할 경우, 상기 적어도 하나의 후보 중에서, 각 후보는 3개 제어점의 움직임 벡터를 포함하는 것을 특징으로 하는 비디오 이미지 처리 방법.
  84. 제49항 내지 제83항 중 어느 한 항에 있어서,
    상기 현재 이미지 블록의 인접 블록에서, 특정 스캔 순서에 따라 어파인 변환 모드를 사용하여 예측하는 인접 블록의 제어점 움직임 벡터군를 결정하는 단계는,
    각각의 결정된 인접 블록의 제어점 움직임 벡터군를 하나의 후보로서 상기 움직임 벡터 제1 후보 리스트에 추가하는 단계를 더 포함하는 것을 특징으로 하는 비디오 이미지 처리 방법.
  85. 제84항에 있어서,
    상술한 상기 현재 이미지 블록의 인접 블록에서, 특정 스캔 순서에 따라 어파인 변환 모드를 사용하여 예측하는 인접 블록의 제어점 움직임 벡터군를 결정하는 단계는,
    상기 현재 이미지 블록의 좌측 인접 블록에서 제1 스캔 순서에 따라 제1 인접 블록의 제어점 움직임 벡터군를 결정하는 단계;
    상기 현재 이미지 블록의 상측 인접 블록에서 제2 스캔 순서에 따라 제2 인접 블록의 제어점 움직임 벡터군을 결정하는 단계;
    상기 제1 인접 블록의 제어점 움직임 벡터군 및 상기 제2 인접 블록의 제어점 움직임 벡터군을 상기 움직임 벡터 제1 후보 리스트에 추가하는 단계를 포함하는 것을 특징으로 하는 비디오 이미지 처리 방법.
  86. 제49항 내지 제85항 중 어느 한 항에 있어서,
    상기 현재 이미지 블록의 일부 제어점의 인접 블록에 따라 상기 일부 제어점의 움직임 벡터를 구성하는 단계는,
    상기 현재 이미지 블록의 일부 제어점의 움직임 벡터를 상기 움직임 벡터 제1 후보 리스트에 추가하는 단계를 더 포함하는 것을 특징으로 하는 비디오 이미지 처리 방법.
  87. 제86항에 있어서,
    상술한 상기 현재 이미지 블록의 일부 제어점의 인접 블록에 따라 상기 일부 제어점의 움직임 벡터를 구성하는 단계는,
    상기 일부 제어점 중의 각 제어점에 대해, 제3 스캔 순서에 따라 상기 제어점의 특정 인접 블록을 차례로 스캔하여, 미리 설정된 조건을 만족시키는 특정 인접 블록의 움직임 벡터를 상기 제어점의 움직임 벡터로 하는 단계를 포함하는 것을 특징으로 하는 비디오 이미지 처리 방법.
  88. 제86항 또는 제87항에 있어서,
    상기 일부 제어점의 움직임 벡터가 각각 서로 다른 참조 프레임을 가리킬 경우, 상기 현재 이미지 블록의 일부 제어점의 움직임 벡터를 상기 움직임 벡터 제1 후보 리스트에 추가하는 것을 포기하는 단계를 더 포함하는 것을 특징으로 하는 비디오 이미지 처리 방법.
  89. 제86항 또는 제87항에 있어서,
    상기 움직임 벡터 제1 후보 리스트 중의 후보의 수량이 미리 설정된 수치보다 클 경우, 상기 현재 이미지 블록의 일부 제어점의 움직임 벡터를 상기 움직임 벡터 제1 후보 리스트에 추가하는 것을 포기하는 단계를 더 포함하는 것을 특징으로 하는 비디오 이미지 처리 방법.
  90. 제51항 내지 제63항 중 어느 한 항에 있어서,
    움직임 벡터 제2 후보 리스트를 구축하는 단계로서, 상기 움직임 벡터 제2 후보 리스트에 추가하는 후보는 하나의 이미지 블록의 움직임 벡터인 단계;
    상기 움직임 벡터 제2 후보 리스트 중의 후보를 사용하는 것이 확인될 경우, 상기 후보의 움직임 벡터에 따라 상기 현재 이미지 블록의 움직임 벡터를 결정하는 단계를 더 포함하는 것을 특징으로 하는 비디오 이미지 처리 방법.
  91. 제90항에 있어서,
    상술한 상기 후보의 움직임 벡터에 따라 상기 현재 이미지 블록의 움직임 벡터를 결정하는 단계는,
    상기 사용하는 것이 확인된 후보를 상기 현재 이미지 블록의 움직임 벡터로 하거나, 또는 상기 사용하는 것이 확인된 후보를 스케일링한 후 상기 현재 이미지 블록의 움직임 벡터로 하는 단계를 포함하는 것을 특징으로 하는 비디오 이미지 처리 방법.
  92. 제90항에 있어서,
    상기 움직임 벡터 제2 후보 리스트를 구축하는 단계는,
    상기 현재 이미지 블록의 현재 이미지에서의 M개 인접 블록의 움직임 벡터에 따라 상기 움직임 벡터 제2 후보 리스트에 추가하는 상기 M 개 후보를 결정하는 단계를 포함하는 것을 특징으로 하는 비디오 이미지 처리 방법.
  93. 제92항에 있어서,
    미리 설정된 순서에 따라 상기 미리 설정된 M개 인접 블록의 움직임 벡터를 각각 M개 후보로 하여, 상기 움직임 벡터 제2 후보 리스트에 추가하고,상기 N개 인접 블록은, 상기 미리 설정된 순서에 따라 먼저 결정된 N개 인접 블록을 의미하며;
    및/또는
    상기 M개 인접 블록 중의 하나 이상의 인접 블록의 움직임 벡터가 획득할 수 없는 것일 경우, 상기 하나 이상의 인접 블록의 움직임 벡터에 따라 상기 움직임 벡터 제2 후보 리스트에 추가할 후보를 결정하는 것을 포기하는 것을 특징으로 하는 비디오 이미지 처리 방법.
  94. 제49항 내지 제93항 중 어느 한 항에 있어서,
    M은 4 이하인 것을 특징으로 하는 비디오 이미지 처리 방법.
  95. 현재 이미지 블록의 미리 설정된 M개 인접 블록 중의 N개 인접 블록을 차례로 스캔하고, 스캔 결과에 따라 목표 인접 블록을 결정하며, N은 M보다 작고; 상기 목표 인접 블록의 움직임 벡터, 상기 현재 이미지 블록 및 상기 현재 이미지 블록의 참조 이미지에 따라, 상기 현재 이미지 블록의 관련 블록을 결정하며; 상기 현재 이미지 블록 및 상기 관련 블록을 동일한 방식으로 복수의 서브 이미지 블록으로 분할하고, 상기 현재 이미지 블록 중의 각 서브 이미지 블록과 상기 관련 블록 중의 각 서브 이미지 블록을 일대일 대응시키는 구축 모듈;
    상기 관련 블록 중 각 서브 이미지 블록의 움직임 벡터에 따라 상기 현재 이미지 블록 중 대응되는 서브 이미지 블록을 각각 예측하는 예측 모듈
    을 포함하는 것을 특징으로 하는 비디오 이미지 처리 장치.
  96. 제95항에 있어서,
    N은 1 또는 2인 것을 특징으로 하는 비디오 이미지 처리 장치.
  97. 제95항 또는 제96항에 있어서,
    상기 예측 모듈은 또한,
    상술한 상기 관련 블록 중 각 서브 이미지 블록의 움직임 벡터에 따라 상기 현재 이미지 블록 중 대응되는 서브 이미지 블록을 각각 예측하기 전에, 상기 관련 블록의 대표 움직임 벡터를 후보로서 움직임 벡터 제1 후보 리스트에 추가하며;
    상기 후보를 사용하는 것으로 결정할 경우, 상기 예측 모듈은 상기 관련 블록 중 각 서브 이미지 블록의 움직임 벡터에 따라 상기 현재 이미지 블록 중 대응되는 서브 이미지 블록을 각각 예측하는 것을 특징으로 하는 비디오 이미지 처리 장치.
  98. 제97항에 있어서,
    상술한 상기 관련 블록 중 각 서브 이미지 블록의 움직임 벡터에 따라 상기 현재 이미지 블록 중 대응되는 서브 이미지 블록을 각각 예측하는 것은,
    상기 관련 블록 중 각 서브 이미지 블록의 움직임 벡터들을 각각 상기 현재 이미지 블록 중 대응되는 서브 이미지 블록의 움직임 벡터로 하는 것을 포함하는 것을 특징으로 하는 비디오 이미지 처리 장치.
  99. 제97항에 있어서,
    상기 관련 블록의 대표 움직임 벡터를 제1 후보로서 움직임 벡터 제1 후보 리스트에 추가하는 것을 특징으로 하는 비디오 이미지 처리 장치.
  100. 제97항에 있어서,
    상기 관련 블록의 대표 움직임 벡터는 상기 관련 블록의 중심 위치의 움직임 벡터를 포함하는 것을 특징으로 하는 비디오 이미지 처리 장치.
  101. 제97항에 있어서,
    상기 예측 모듈은 또한,
    상기 관련 블록에 움직임 벡터를 획득할 수 없는 서브 이미지 블록이 나타날 경우, 상기 관련 블록의 대표 움직임 벡터를 상기 움직임 벡터를 획득할 수 없는 서브 이미지 블록의 움직임 벡터로 하여, 상기 현재 이미지 블록 중 대응되는 서브 이미지 블록을 예측하는 것을 특징으로 하는 비디오 이미지 처리 장치.
  102. 제101항에 있어서,
    상기 예측 모듈은 또한,
    상기 관련 블록에 움직임 벡터를 획득할 수 없는 서브 이미지 블록이 나타나고, 상기 관련 블록의 대표 움직임 벡터를 획득할 수 없는 경우, 상기 관련 블록 중 각 서브 이미지 블록의 움직임 벡터에 따라 상기 현재 이미지 블록 중 대응되는 서브 이미지 블록을 각각 예측하는 것을 포기하는 것을 특징으로 하는 비디오 이미지 처리 장치.
  103. 제102항에 있어서,
    상기 예측 모듈은 또한,
    상기 관련 블록 중의 서브 이미지 블록을 획득할 수 없거나, 또는 상기 관련 블록 중의 서브 이미지 블록이 인트라 부호화 모드를 사용할 경우, 상기 관련 블록에 움직임 벡터를 획득할 수 없는 서브 이미지 블록이 나타나는 것으로 결정하는 것을 특징으로 하는 비디오 이미지 처리 장치.
  104. 제97항에 있어서,
    상기 구축 모듈은 또한,
    기타 후보를 결정하여, 상기 기타 후보를 상기 움직임 벡터 제1 후보 리스트에 추가하고,상기 기타 후보 중의 적어도 하나의 후보는 서브 이미지 블록의 움직임 벡터를 포함하는 것을 특징으로 하는 비디오 이미지 처리 장치.
  105. 제104항에 있어서,
    상기 구축 모듈은 또한,
    상기 기타 후보 중 하나의 후보를 사용하는 것으로 결정할 경우, 상기 사용되는 후보에 따라 상기 현재 이미지 블록 중의 서브 이미지 블록의 움직임 벡터를 결정하는 것을 특징으로 하는 비디오 이미지 처리 장치.
  106. 제104항 또는 제105항에 있어서,
    상기 적어도 하나의 후보는 1조의 제어점들의 움직임 벡터를 포함하는 것을 특징으로 하는 비디오 이미지 처리 장치.
  107. 제104항 내지 제106항 중 어느 한 항에 있어서,
    상기 예측 모듈은 또한,
    상기 적어도 하나의 후보 중의 후보를 사용하는 것으로 결정할 경우, 어파인 변환 모델에 따라 상기 사용되는 후보를 어파인 변환하며;
    상기 어파인 변환 후의 후보에 따라 상기 현재 이미지 블록 중의 서브 이미지 블록을 예측하는 것을 특징으로 하는 비디오 이미지 처리 장치.
  108. 제107항에 있어서,
    상기 어파인 변환 모델이 4-파라미터 어파인 변환 모델을 포함할 경우, 상기 적어도 하나의 후보 중에서, 각 후보는 2개 제어점의 움직임 벡터를 포함하며;
    상기 어파인 변환 모델이 6-파라미터 어파인 변환 모델을 포함할 경우, 상기 적어도 하나의 후보 중에서, 각 후보는 3개 제어점의 움직임 벡터를 포함하는 것을 특징으로 하는 비디오 이미지 처리 장치.
  109. 제97항 내지 제108항 중 어느 한 항에 있어서,
    상기 구축 모듈은 또한,
    상기 현재 이미지 블록의 인접 블록에서, 특정 스캔 순서에 따라 어파인 변환 모드를 사용하여 예측하는 인접 블록의 제어점 움직임 벡터군를 결정하며;
    각각의 결정된 인접 블록의 제어점 움직임 벡터군를 하나의 후보로서 상기 움직임 벡터 제1 후보 리스트에 추가하는 것을 특징으로 하는 비디오 이미지 처리 장치.
  110. 제109항에 있어서,
    상술한 상기 현재 이미지 블록의 인접 블록에서, 특정 스캔 순서에 따라 어파인 변환 모드를 사용하여 예측하는 인접 블록의 제어점 움직임 벡터군를 결정하는 것은,
    상기 현재 이미지 블록의 좌측 인접 블록에서 제1 스캔 순서에 따라 제1 인접 블록의 제어점 움직임 벡터군를 결정하는 것;
    상기 현재 이미지 블록의 상측 인접 블록에서 제2 스캔 순서에 따라 제2 인접 블록의 제어점 움직임 벡터군을 결정하는 것;
    상기 제1 인접 블록의 제어점 움직임 벡터군 및 상기 제2 인접 블록의 제어점 움직임 벡터군을 상기 움직임 벡터 제1 후보 리스트에 추가하는 것을 포함하는 것을 특징으로 하는 비디오 이미지 처리 장치.
  111. 제97항 내지 제108항 중 어느 한 항에 있어서,
    상기 구축 모듈은 또한,
    상기 현재 이미지 블록의 일부 제어점의 인접 블록에 따라 상기 일부 제어점의 움직임 벡터를 구성하며;
    상기 현재 이미지 블록의 일부 제어점의 움직임 벡터를 상기 움직임 벡터 제1 후보 리스트에 추가하는 것을 특징으로 하는 비디오 이미지 처리 장치.
  112. 제111항에 있어서,
    상술한 상기 현재 이미지 블록의 일부 제어점의 인접 블록에 따라 상기 일부 제어점의 움직임 벡터를 구성하는 것은,
    상기 일부 제어점 중의 각 제어점에 대해, 제3 스캔 순서에 따라 상기 제어점의 특정 인접 블록을 차례로 스캔하여, 미리 설정된 조건을 만족시키는 특정 인접 블록의 움직임 벡터를 상기 제어점의 움직임 벡터로 하는 것을 포함하는 것을 특징으로 하는 비디오 이미지 처리 장치.
  113. 제111항 또는 제112항에 있어서,
    상기 구축 모듈은 또한,
    상기 일부 제어점의 움직임 벡터가 각각 서로 다른 참조 프레임을 가리킬 경우, 상기 현재 이미지 블록의 일부 제어점의 움직임 벡터를 상기 움직임 벡터 제1 후보 리스트에 추가하는 것을 포기하는 것을 특징으로 하는 비디오 이미지 처리 장치.
  114. 제111항 또는 제112항에 있어서,
    상기 구축 모듈은 또한,
    상기 움직임 벡터 제1 후보 리스트 중의 후보의 수량이 미리 설정된 수치보다 클 경우, 상기 현재 이미지 블록의 일부 제어점의 움직임 벡터를 상기 움직임 벡터 제1 후보 리스트에 추가하는 것을 포기하는 것을 특징으로 하는 비디오 이미지 처리 장치.
  115. 제97항 내지 제109항 중 어느 한 항에 있어서,
    상기 구축 모듈은 또한,
    움직임 벡터 제2 후보 리스트를 구축하고, 상기 움직임 벡터 제2 후보 리스트에 추가하는 후보는 하나의 이미지 블록의 움직임 벡터이며;
    상기 움직임 벡터 제2 후보 리스트 중의 후보를 사용하는 것이 확인될 경우, 상기 후보의 움직임 벡터에 따라 상기 현재 이미지 블록의 움직임 벡터를 결정하는 것을 특징으로 하는 비디오 이미지 처리 장치.
  116. 제115항에 있어서,
    상술한 상기 후보의 움직임 벡터에 따라 상기 현재 이미지 블록의 움직임 벡터를 결정하는 것은,
    상기 사용하는 것이 확인된 후보를 상기 현재 이미지 블록의 움직임 벡터로 하거나, 또는 상기 사용하는 것이 확인된 후보를 스케일링한 후 상기 현재 이미지 블록의 움직임 벡터로 하는 것을 특징으로 하는 비디오 이미지 처리 장치.
  117. 제115항에 있어서,
    상기 움직임 벡터 제2 후보 리스트를 구축하는 것은,
    상기 현재 이미지 블록의 현재 이미지에서의 몇 개 인접 블록의 움직임 벡터에 따라 상기 움직임 벡터 제2 후보 리스트에 추가할 후보를 결정하는 것을 포함하는 것을 특징으로 하는 비디오 이미지 처리 장치.
  118. 제117항에 있어서,
    상기 현재 이미지 블록의 현재 이미지에서의 몇 개 인접 블록은 상기 미리 설정된 M개 인접 블록을 포함하는 것을 특징으로 하는 비디오 이미지 처리 장치.
  119. 제118항에 있어서,
    상기 구축 모듈은 또한,
    미리 설정된 순서에 따라 상기 미리 설정된 M개 인접 블록의 움직임 벡터를 각각 M개 후보로 하여, 상기 움직임 벡터 제2 후보 리스트에 추가하며;
    상기 N개 인접 블록은, 상기 미리 설정된 순서에 따라 먼저 결정된 N개 인접 블록을 의미하는 것을 특징으로 하는 비디오 이미지 처리 장치.
  120. 제118항에 있어서,
    상기 구축 모듈은 또한,
    상기 M개 인접 블록 중의 하나 이상의 인접 블록의 움직임 벡터가 획득할 수 없는 것일 경우, 상기 하나 이상의 인접 블록의 움직임 벡터에 따라 상기 움직임 벡터 제2 후보 리스트에 추가할 후보를 결정하는 것을 포기하는 것을 특징으로 하는 비디오 이미지 처리 장치.
  121. 제95항 또는 제120항에 있어서,
    상술한 상기 M개 인접 블록 중의 N개 인접 블록을 차례로 스캔하고, 스캔 결과에 따라 목표 인접 블록을 결정하는 것은,
    상기 N개 인접 블록을 차례로 스캔하고, 미리 설정된 조건에 부합하는 첫 인접 블록이 스캔되면, 스캔을 정지하고, 상기 스캔된 상기 미리 설정된 조건에 부합하는 첫 인접 블록에 따라 목표 인접 블록을 결정하는 것을 포함하는 것을 특징으로 하는 비디오 이미지 처리 장치.
  122. 제113항에 있어서,
    상술한 상기 스캔된 상기 미리 설정된 조건에 부합하는 첫 인접 블록에 따라 목표 인접 블록을 결정하는 것은,
    상기 미리 설정된 조건에 부합하는 첫 인접 블록을 상기 목표 인접 블록으로 하는 것을 포함하는 것을 특징으로 하는 비디오 이미지 처리 장치.
  123. 제113항 또는 제122항에 있어서,
    상기 미리 설정된 조건은,
    인접 블록의 참조 이미지와 상기 현재 이미지 블록의 참조 이미지가 동일한 것을 포함하는 것을 특징으로 하는 비디오 이미지 처리 장치.
  124. 제121항 내지 제123항 중 어느 한 항에 있어서,
    상기 구축 모듈은 또한,
    상기 N개 인접 블록에서 상기 미리 설정된 조건에 부합하는 인접 블록이 스캔되지 않으면, 상기 M개 인접 블록 중의 특정 인접 블록의 움직임 벡터를 스케일링 처리하며,
    상기 예측 모듈은 또한, 상기 스케일링 처리된 움직임 벡터에 따라 상기 현재 이미지 블록을 예측하는 것을 특징으로 하는 비디오 이미지 처리 장치.
  125. 제124항에 있어서,
    상술한 상기 스케일링 처리된 움직임 벡터에 따라 상기 현재 이미지 블록을 예측하는 것은,
    상기 스케일링 처리된 움직임 벡터 및 상기 현재 이미지 블록의 참조 이미지에 따라 상기 현재 이미지 블록의 참조 블록을 결정하는 것을 포함하는 것을 특징으로 하는 비디오 이미지 처리 장치.
  126. 제124항에 있어서,
    상기 특정 인접 블록은 상기 N개 인접 블록에서 스캔 순서에 따라 얻은 첫 인접 블록 또는 마지막 인접 블록인 것을 특징으로 하는 비디오 이미지 처리 장치.
  127. 제124항에 있어서,
    상술한 상기 M개 인접 블록 중의 특정 인접 블록의 움직임 벡터를 스케일링 처리하여, 상기 스케일링 처리된 움직임 벡터에 따라 상기 현재 이미지 블록을 예측하는 것은,
    상기 특정 인접 블록의 움직임 벡터를 스케일링 처리하여, 상기 스케일링 처리를 거친 움직임 벡터가 가리키는 참조 프레임과 상기 현재 이미지 블록의 참조 이미지가 동일하도록 하는 것;
    상기 스케일링 처리를 거친 움직임 벡터가 상기 현재 이미지 블록의 참조 이미지에서 가리키는 이미지 블록을 상기 현재 이미지 블록의 참조 블록으로 하는 것을 포함하는 것을 특징으로 하는 비디오 이미지 처리 장치.
  128. 제121항 내지 제124항 중 어느 한 항에 있어서,
    상기 N개 인접 블록에서 상기 미리 설정된 조건에 부합하는 인접 블록이 스캔되지 않으면, 디폴트 블록을 상기 현재 이미지 블록의 참조 블록으로 하는 것을 특징으로 하는 비디오 이미지 처리 장치.
  129. 제128항에 있어서,
    상기 디폴트 블록은 움직임 벡터(0, 0)가 가리키는 이미지 블록인 것을 특징으로 하는 비디오 이미지 처리 장치.
  130. 제95항 내지 제129항 중 어느 한 항에 있어서,
    상기 서브 이미지 블록의 크기 및/또는 상기 서브 이미지 블록의 관련 블록의 크기는 64개 이상의 화소로 고정되는 것을 특징으로 하는 비디오 이미지 처리 장치.
  131. 제130항에 있어서,
    상기 서브 이미지 블록의 크기 및/또는 상기 서브 이미지 블록의 관련 블록의 크기는 8×8개 화소, 또는 16×4개 화소 또는 4×16개 화소로 고정되는 것을 특징으로 하는 비디오 이미지 처리 장치.
  132. 제131항에 있어서,
    상기 서브 이미지 블록의 크기 및/또는 상기 서브 이미지 블록의 관련 블록의 크기는 8×8개 화소로 고정되며,
    시간적 움직임 벡터 예측(TMVP) 동작을 진행하지 않도록 설정하는 처리 모듈을 더 포함하는 것을 특징으로 하는 비디오 이미지 처리 장치.
  133. 제95항 내지 제130항 중 어느 한 항에 있어서,
    상기 서브 이미지 블록 및/또는 상기 서브 이미지 블록의 관련 블록의 넓이 및 높이 중에서 적어도 하나가 8화소보다 작은 경우, 시간적 움직임 벡터 예측(TMVP) 동작을 진행하지 않도록 설정하는 처리 모듈을 더 포함하는 것을 특징으로 하는 비디오 이미지 처리 장치.
  134. 제95항 내지 제133항 중 어느 한 항에 있어서,
    상기 현재 이미지 블록은 하나의 부호화 단위(CU)인 것을 특징으로 하는 비디오 이미지 처리 장치.
  135. 제95항 내지 제134항 중 어느 한 항에 있어서,
    상술한 상기 목표 인접 블록의 움직임 벡터, 상기 현재 이미지 블록 및 상기 현재 이미지 블록의 참조 이미지에 따라, 상기 현재 이미지 블록의 관련 블록을 결정하는 것은,
    상기 목표 인접 블록의 움직임 벡터에 따라, 상기 현재 이미지 블록의 참조 이미지에서 상기 현재 이미지 블록의 관련 블록을 결정하는 것을 포함하는 것을 특징으로 하는 비디오 이미지 처리 장치.
  136. 제85항 내지 제135항 중 어느 한 항에 있어서,
    상기 인접 블록은 상기 현재 이미지에서 상기 현재 이미지 블록의 위치와 인접하거나 또는 일정한 위치 간격이 있는 이미지 블록인 것을 특징으로 하는 비디오 이미지 처리 장치.
  137. 제95항 내지 제136항 중 어느 한 항에 있어서,
    상술한 상기 관련 블록의 움직임 벡터에 따라 상기 현재 이미지 블록을 예측하는 것은,
    상기 관련 블록의 참조 이미지가 특정 참조 이미지이거나, 또는 상기 현재 이미지 블록의 참조 이미지가 특정 참조 이미지일 경우, 처리 후의 상기 관련 블록의 움직임 벡터 및 상기 현재 이미지 블록의 참조 이미지에 따라 상기 현재 이미지 블록의 참조 블록을 결정하는 것을 포함하며;
    상기 처리 후의 상기 관련 블록의 움직임 벡터는 처리 전의 관련 블록의 움직임 벡터와 동일한 것을 특징으로 하는 비디오 이미지 처리 장치.
  138. 제137항에 있어서,
    상기 처리 후의 상기 관련 블록의 움직임 벡터는,
    수치가 1인 스케일링 비율에 따라 상기 관련 블록의 움직임 벡터를 스케일링한 후 얻은 움직임 벡터, 또는
    스케일링 단계를 건너뛴 상기 관련 블록의 움직임 벡터를 포함하는 것을 특징으로 하는 비디오 이미지 처리 장치.
  139. 제95항 내지 제136항 중 어느 한 항에 있어서,
    상술한 상기 관련 블록의 움직임 벡터에 따라 상기 현재 이미지 블록을 예측하는 것은,
    상기 관련 블록의 참조 이미지가 특정 참조 이미지이거나, 또는 상기 현재 블록의 참조 이미지가 특정 참조 이미지일 경우, 상기 관련 블록의 움직임 벡터에 따라 상기 현재 이미지 블록의 참조 블록을 결정하는 것을 포기하는 것을 포함하는 것을 특징으로 하는 비디오 이미지 처리 장치.
  140. 제95항 내지 제139항 중 어느 한 항에 있어서,
    상기 구축 모듈은 또한,
    상기 특정 인접 블록의 움직임 벡터가 특정 참조 이미지를 가리키거나, 또는 상기 현재 이미지 블록의 참조 이미지가 특정 참조 이미지일 경우, 처리 후의 상기 관련 블록의 움직임 벡터 및 상기 현재 이미지 블록의 참조 이미지에 따라 상기 현재 이미지 블록의 참조 블록을 결정하며;
    상기 처리 후의 상기 관련 블록의 움직임 벡터는 처리 전의 관련 블록의 움직임 벡터와 동일한 것을 특징으로 하는 비디오 이미지 처리 장치.
  141. 제140항에 있어서,
    상기 처리 후의 상기 관련 블록의 움직임 벡터는,
    수치가 1인 스케일링 비율에 따라 상기 관련 블록의 움직임 벡터를 스케일링한 후 얻은 움직임 벡터, 또는
    스케일링 단계를 건너뛴 상기 관련 블록의 움직임 벡터를 포함하는 것을 특징으로 하는 비디오 이미지 처리 장치.
  142. 제95항 내지 제141항 중 어느 한 항에 있어서,
    M은 4 이하인 것을 특징으로 하는 비디오 이미지 처리 장치.
  143. 현재 이미지 블록의 움직임 벡터 제2 후보 리스트 중의 M개 후보에 따라 상기 현재 이미지 블록의 M개 인접 블록을 결정하며; 상기 M개 인접 블록 중의 N개 인접 블록을 차례로 스캔하고, 스캔 결과에 따라 목표 인접 블록을 결정하며, N은 M보다 작고; 상기 목표 인접 블록의 움직임 벡터, 상기 현재 이미지 블록 및 상기 현재 이미지 블록의 참조 이미지에 따라, 상기 현재 이미지 블록의 관련 블록을 결정하며; 상기 현재 이미지 블록의 관련 블록에 따라 상기 현재 이미지 블록의 움직임 벡터 제1 후보 리스트 중의 특정 후보를 결정하며; 상기 특정 후보를 사용하는 것으로 결정할 경우, 상기 현재 이미지 블록 및 상기 관련 블록을 동일한 방식으로 복수의 서브 이미지 블록으로 분할하고, 상기 현재 이미지 블록 중의 각 서브 이미지 블록과 상기 관련 블록 중의 각 서브 이미지 블록을 일대일 대응시키는 구축 모듈;
    상기 관련 블록 중 각 서브 이미지 블록의 움직임 벡터에 따라 상기 현재 이미지 블록 중 대응되는 서브 이미지 블록을 각각 예측하는 예측 모듈
    을 포함하는 것을 특징으로 하는 비디오 이미지 처리 장치.
  144. 제143항에 있어서,
    상기 움직임 벡터 제1 후보 리스트 중의 적어도 하나의 후보는 서브 이미지 블록의 움직임 벡터를 포함하고, 상기 움직임 벡터 제2 후보 리스트 중의 각 후보는 이미지 블록의 움직임 벡터를 포함하는 것을 특징으로 하는 비디오 이미지 처리 장치.
  145. 제143항 또는 제144항에 있어서,
    N은 1 또는 2인 것을 특징으로 하는 비디오 이미지 처리 장치.
  146. 제143항 내지 제145항 중 어느 한 항에 있어서,
    상기 M개 후보는 상기 현재 이미지 블록의 현재 이미지에서의 M개 인접 블록의 움직임 벡터를 포함하는 것을 특징으로 하는 비디오 이미지 처리 장치.
  147. 제146항에 있어서,
    상술한 상기 M개 인접 블록 중의 N개 인접 블록을 차례로 스캔하고, 스캔 결과에 따라 목표 인접 블록을 결정하는 것은,
    상기 N개 인접 블록을 차례로 스캔하고, 미리 설정된 조건에 부합하는 첫 인접 블록이 스캔되면, 스캔을 정지하고, 상기 스캔된 상기 미리 설정된 조건에 부합하는 첫 인접 블록에 따라 목표 인접 블록을 결정하는 것을 포함하는 것을 특징으로 하는 비디오 이미지 처리 장치.
  148. 제146항에 있어서,
    상술한 상기 스캔된 미리 설정된 조건에 부합하는 첫 인접 블록에 따라 목표 인접 블록을 결정하는 것은,
    상기 미리 설정된 조건에 부합하는 첫 인접 블록을 상기 목표 인접 블록으로 하는 것을 포함하는 것을 특징으로 하는 비디오 이미지 처리 장치.
  149. 제147항 또는 제148항에 있어서,
    상기 미리 설정된 조건은,
    인접 블록의 참조 이미지와 상기 현재 이미지 블록의 참조 이미지가 동일한 것을 포함하는 것을 특징으로 하는 비디오 이미지 처리 장치.
  150. 제147항 내지 제149항 중 어느 한 항에 있어서,
    상기 구축 모듈은 또한, 상기 N개 인접 블록에서 상기 미리 설정된 조건에 부합하는 인접 블록이 스캔되지 않으면, 상기 M개 인접 블록 중의 특정 인접 블록의 움직임 벡터를 스케일링 처리하며,
    상기 예측 모듈은 또한, 상기 스케일링 처리된 움직임 벡터에 따라 상기 현재 이미지 블록을 예측하는 것을 특징으로 하는 비디오 이미지 처리 장치.
  151. 제150항에 있어서,
    상술한 상기 스케일링 처리된 움직임 벡터에 따라 상기 현재 이미지 블록을 예측하는 것은,
    상기 스케일링 처리된 움직임 벡터 및 상기 현재 이미지 블록의 참조 이미지에 따라 상기 현재 이미지 블록의 참조 블록을 결정하는 것을 포함하는 것을 특징으로 하는 비디오 이미지 처리 장치.
  152. 제150항에 있어서,
    상기 특정 인접 블록은 상기 N개 인접 블록에서 스캔 순서에 따라 얻은 첫 인접 블록 또는 마지막 인접 블록인 것을 특징으로 하는 비디오 이미지 처리 장치.
  153. 제150항에 있어서,
    상술한 상기 M개 인접 블록 중의 특정 인접 블록의 움직임 벡터를 스케일링 처리하여, 상기 스케일링 처리된 움직임 벡터에 따라 상기 현재 이미지 블록을 예측하는 것은,
    상기 특정 인접 블록의 움직임 벡터를 스케일링 처리하여, 상기 스케일링 처리를 거친 움직임 벡터가 가리키는 참조 프레임과 상기 현재 이미지 블록의 참조 이미지가 동일하도록 하는 것;
    상기 스케일링 처리를 거친 움직임 벡터가 상기 현재 이미지 블록의 참조 이미지에서 가리키는 이미지 블록을 상기 현재 이미지 블록의 참조 블록으로 하는 것을 포함하는 것을 특징으로 하는 비디오 이미지 처리 장치.
  154. 제147항 내지 제149항 중 어느 한 항에 있어서,
    상기 N개 인접 블록에서 상기 미리 설정된 조건에 부합하는 인접 블록이 스캔되지 않으면, 디폴트 블록을 상기 현재 이미지 블록의 참조 블록으로 하는 것을 특징으로 하는 비디오 이미지 처리 장치.
  155. 제154항에 있어서,
    상기 디폴트 블록은 움직임 벡터(0, 0)가 가리키는 이미지 블록인 것을 특징으로 하는 비디오 이미지 처리 장치.
  156. 제143항 내지 제155항 중 어느 한 항에 있어서,
    상기 서브 이미지 블록의 크기 및/또는 상기 서브 이미지 블록의 관련 블록의 크기는 64개 이상의 화소로 고정되는 것을 특징으로 하는 비디오 이미지 처리 장치.
  157. 제156항에 있어서,
    상기 서브 이미지 블록의 크기 및/또는 상기 서브 이미지 블록의 관련 블록의 크기는 8×8개 화소, 또는 16×4개 화소 또는 4×16개 화소로 고정되는 것을 특징으로 하는 비디오 이미지 처리 장치.
  158. 제157항에 있어서,
    상기 서브 이미지 블록의 크기 및/또는 상기 서브 이미지 블록의 관련 블록의 크기는 8×8개 화소로 고정되며,
    시간적 움직임 벡터 예측(TMVP) 동작을 진행하지 않도록 설정하는 처리 모듈을 더 포함하는 것을 특징으로 하는 비디오 이미지 처리 장치.
  159. 제143항 내지 제155항 중 어느 한 항에 있어서,
    상기 서브 이미지 블록 및/또는 상기 서브 이미지 블록의 관련 블록의 넓이 및 높이 중에서 적어도 하나가 8화소보다 작은 경우, 시간적 움직임 벡터 예측(TMVP) 동작을 진행하지 않도록 설정하는 처리 모듈을 더 포함하는 것을 특징으로 하는 비디오 이미지 처리 장치.
  160. 제143항 내지 제159항 중 어느 한 항에 있어서,
    상기 현재 이미지 블록은 하나의 부호화 단위(CU)인 것을 특징으로 하는 비디오 이미지 처리 장치.
  161. 제143항 내지 제160항 중 어느 한 항에 있어서,
    상술한 상기 목표 인접 블록의 움직임 벡터, 상기 현재 이미지 블록 및 상기 현재 이미지 블록의 참조 이미지에 따라, 상기 현재 이미지 블록의 관련 블록을 결정하는 것은,
    상기 목표 인접 블록의 움직임 벡터에 따라, 상기 현재 이미지 블록의 참조 이미지에서 상기 현재 이미지 블록의 관련 블록을 결정하는 것을 포함하는 것을 특징으로 하는 비디오 이미지 처리 장치.
  162. 제143항 내지 제161항 중 어느 한 항에 있어서,
    상기 인접 블록은 상기 현재 이미지에서 상기 현재 이미지 블록의 위치와 인접하거나 또는 일정한 위치 간격이 있는 이미지 블록인 것을 특징으로 하는 비디오 이미지 처리 장치.
  163. 제143항 내지 제162항 중 어느 한 항에 있어서,
    상술한 상기 관련 블록의 움직임 벡터에 따라 상기 현재 이미지 블록을 예측하는 것은,
    상기 관련 블록의 참조 이미지가 특정 참조 이미지이거나, 또는 상기 현재 이미지 블록의 참조 이미지가 특정 참조 이미지일 경우, 처리 후의 상기 관련 블록의 움직임 벡터 및 상기 현재 이미지 블록의 참조 이미지에 따라 상기 현재 이미지 블록의 참조 블록을 결정하는 것을 포함하며;
    상기 처리 후의 상기 관련 블록의 움직임 벡터는 처리 전의 관련 블록의 움직임 벡터와 동일한 것을 특징으로 하는 비디오 이미지 처리 장치.
  164. 제163항에 있어서,
    상기 처리 후의 상기 관련 블록의 움직임 벡터는,
    수치가 1인 스케일링 비율에 따라 상기 관련 블록의 움직임 벡터를 스케일링한 후 얻은 움직임 벡터, 또는
    스케일링 단계를 건너뛴 상기 관련 블록의 움직임 벡터를 포함하는 것을 특징으로 하는 비디오 이미지 처리 장치.
  165. 제143항 내지 제162항 중 어느 한 항에 있어서,
    상술한 상기 관련 블록의 움직임 벡터에 따라 상기 현재 이미지 블록을 예측하는 것은,
    상기 관련 블록의 참조 이미지가 특정 참조 이미지이거나, 또는 상기 현재 블록의 참조 이미지가 특정 참조 이미지일 경우, 상기 관련 블록의 움직임 벡터에 따라 상기 현재 이미지 블록의 참조 블록을 결정하는 것을 포기하는 것을 포함하는 것을 특징으로 하는 비디오 이미지 처리 장치.
  166. 제143항 내지 제165항 중 어느 한 항에 있어서,
    상기 구축 모듈은 또한,
    상기 특정 인접 블록의 움직임 벡터가 특정 참조 이미지를 가리키거나, 또는 상기 현재 이미지 블록의 참조 이미지가 특정 참조 이미지일 경우, 처리 후의 상기 관련 블록의 움직임 벡터 및 상기 현재 이미지 블록의 참조 이미지에 따라 상기 현재 이미지 블록의 참조 블록을 결정하며;
    상기 처리 후의 상기 관련 블록의 움직임 벡터는 처리 전의 관련 블록의 움직임 벡터와 동일한 것을 특징으로 하는 비디오 이미지 처리 장치.
  167. 제166항에 있어서,
    상기 처리 후의 상기 관련 블록의 움직임 벡터는,
    수치가 1인 스케일링 비율에 따라 상기 관련 블록의 움직임 벡터를 스케일링한 후 얻은 움직임 벡터, 또는
    스케일링 단계를 건너뛴 상기 관련 블록의 움직임 벡터를 포함하는 것을 특징으로 하는 비디오 이미지 처리 장치.
  168. 제143항 내지 제167항 중 어느 한 항에 있어서,
    상술한 상기 관련 블록 중 각 서브 이미지 블록의 움직임 벡터에 따라 상기 현재 이미지 블록 중 대응되는 서브 이미지 블록을 각각 예측하는 것은,
    상기 관련 블록 중 각 서브 이미지 블록의 움직임 벡터들을 각각 상기 현재 이미지 블록 중 대응되는 서브 이미지 블록의 움직임 벡터로 하는 것을 포함하는 것을 특징으로 하는 비디오 이미지 처리 장치.
  169. 제143항 내지 제167항 중 어느 한 항에 있어서,
    상술한 상기 현재 이미지 블록의 관련 블록에 따라 상기 현재 이미지 블록의 움직임 벡터 제1 후보 리스트 중의 특정 후보를 결정하는 것은,
    상기 현재 이미지 블록의 관련 블록의 대표 움직임 벡터를 상기 특정 후보로서 상기 움직임 벡터 제1 후보 리스트에 추가하는 것을 포함하는 것을 특징으로 하는 비디오 이미지 처리 장치.
  170. 제169항에 있어서,
    상기 관련 블록의 대표 움직임 벡터를 제1 후보로서 움직임 벡터 제1 후보 리스트에 추가하는 것을 특징으로 하는 비디오 이미지 처리 장치.
  171. 제169항에 있어서,
    상기 관련 블록의 대표 움직임 벡터는 상기 관련 블록의 중심 위치의 움직임 벡터를 포함하는 것을 특징으로 하는 비디오 이미지 처리 장치.
  172. 제169항에 있어서,
    상기 예측 모듈은 또한,
    상기 관련 블록에 움직임 벡터를 획득할 수 없는 서브 이미지 블록이 나타날 경우, 상기 관련 블록의 대표 움직임 벡터를 상기 움직임 벡터를 획득할 수 없는 서브 이미지 블록의 움직임 벡터로 하여, 상기 현재 이미지 블록 중 대응되는 서브 이미지 블록을 예측하는 것을 특징으로 하는 비디오 이미지 처리 장치.
  173. 제172항에 있어서,
    상기 예측 모듈은 또한,
    상기 관련 블록에 움직임 벡터를 획득할 수 없는 서브 이미지 블록이 나타나고, 상기 관련 블록의 대표 움직임 벡터를 획득할 수 없는 경우, 상기 관련 블록 중 각 서브 이미지 블록의 움직임 벡터에 따라 상기 현재 이미지 블록 중 대응되는 서브 이미지 블록을 각각 예측하는 것을 포기하는 것을 특징으로 하는 비디오 이미지 처리 장치.
  174. 제172항에 있어서,
    상기 예측 모듈은 또한,
    상기 관련 블록 중의 서브 이미지 블록을 획득할 수 없거나, 또는 상기 관련 블록 중의 서브 이미지 블록이 인트라 부호화 모드를 사용할 경우, 상기 관련 블록에 움직임 벡터를 획득할 수 없는 서브 이미지 블록이 나타나는 것으로 결정하는 것을 특징으로 하는 비디오 이미지 처리 장치.
  175. 제143항 내지 제174항 중 어느 한 항에 있어서,
    상기 예측 모듈은 또한,
    상기 움직임 벡터 제2 후보 리스트에서 상기 특정 후보를 제외한 후보 중 하나를 사용하는 것으로 결정할 경우, 어파인 변환 모델에 따라 상기 사용되는 후보를 어파인 변환하며;
    상기 어파인 변환 후의 후보에 따라 상기 현재 이미지 블록 중의 서브 이미지 블록을 예측하는 것을 특징으로 하는 비디오 이미지 처리 장치.
  176. 제175항에 있어서,
    상기 움직임 벡터 제2 후보 리스트에서 상기 특정 후보를 제외한 적어도 하나의 후보 중에서, 각 후보는 1조의 제어점들의 움직임 벡터를 포함하는 것을 특징으로 하는 비디오 이미지 처리 장치.
  177. 제176항에 있어서,
    상기 어파인 변환 모델이 4-파라미터 어파인 변환 모델을 포함할 경우, 상기 적어도 하나의 후보 중에서, 각 후보는 2개 제어점의 움직임 벡터를 포함하며;
    상기 어파인 변환 모델이 6-파라미터 어파인 변환 모델을 포함할 경우, 상기 적어도 하나의 후보 중에서, 각 후보는 3개 제어점의 움직임 벡터를 포함하는 것을 특징으로 하는 비디오 이미지 처리 장치.
  178. 제143항 내지 제177항 중 어느 한 항에 있어서,
    상기 구축 모듈은 또한,
    상기 현재 이미지 블록의 인접 블록에서, 특정 스캔 순서에 따라 어파인 변환 모드를 사용하여 예측하는 인접 블록의 제어점 움직임 벡터군를 결정하며;
    각각의 결정된 인접 블록의 제어점 움직임 벡터군를 하나의 후보로서 상기 움직임 벡터 제1 후보 리스트에 추가하는 것을 특징으로 하는 비디오 이미지 처리 장치.
  179. 제178항에 있어서,
    상술한 상기 현재 이미지 블록의 인접 블록에서, 특정 스캔 순서에 따라 어파인 변환 모드를 사용하여 예측하는 인접 블록의 제어점 움직임 벡터군를 결정하는 것은,
    상기 현재 이미지 블록의 좌측 인접 블록에서 제1 스캔 순서에 따라 제1 인접 블록의 제어점 움직임 벡터군를 결정하는 것;
    상기 현재 이미지 블록의 상측 인접 블록에서 제2 스캔 순서에 따라 제2 인접 블록의 제어점 움직임 벡터군을 결정하는 것;
    상기 제1 인접 블록의 제어점 움직임 벡터군 및 상기 제2 인접 블록의 제어점 움직임 벡터군을 상기 움직임 벡터 제1 후보 리스트에 추가하는 것을 포함하는 것을 특징으로 하는 비디오 이미지 처리 장치.
  180. 제143항 내지 제179항 중 어느 한 항에 있어서,
    상기 구축 모듈은 또한,
    상기 현재 이미지 블록의 일부 제어점의 인접 블록에 따라 상기 일부 제어점의 움직임 벡터를 구성하며;
    상기 현재 이미지 블록의 일부 제어점의 움직임 벡터를 상기 움직임 벡터 제1 후보 리스트에 추가하는 것을 특징으로 하는 비디오 이미지 처리 장치.
  181. 제180항에 있어서,
    상술한 상기 현재 이미지 블록의 일부 제어점의 인접 블록에 따라 상기 일부 제어점의 움직임 벡터를 구성하는 것은,
    상기 일부 제어점 중의 각 제어점에 대해, 제3 스캔 순서에 따라 상기 제어점의 특정 인접 블록을 차례로 스캔하여, 미리 설정된 조건을 만족시키는 특정 인접 블록의 움직임 벡터를 상기 제어점의 움직임 벡터로 하는 것을 포함하는 것을 특징으로 하는 비디오 이미지 처리 장치.
  182. 제180항 또는 제181항에 있어서,
    상기 구축 모듈은 또한,
    상기 일부 제어점의 움직임 벡터가 각각 서로 다른 참조 프레임을 가리킬 경우, 상기 현재 이미지 블록의 일부 제어점의 움직임 벡터를 상기 움직임 벡터 제1 후보 리스트에 추가하는 것을 포기하는 것을 특징으로 하는 비디오 이미지 처리 장치.
  183. 제180항 또는 제181항에 있어서,
    상기 구축 모듈은 또한,
    상기 움직임 벡터 제1 후보 리스트 중의 후보의 수량이 미리 설정된 수치보다 클 경우, 상기 현재 이미지 블록의 일부 제어점의 움직임 벡터를 상기 움직임 벡터 제1 후보 리스트에 추가하는 것을 포기하는 것을 특징으로 하는 비디오 이미지 처리 장치.
  184. 제143항 내지 제157항 중 어느 한 항에 있어서,
    상기 구축 모듈은 또한,
    움직임 벡터 제2 후보 리스트를 구축하고, 상기 움직임 벡터 제2 후보 리스트에 추가하는 후보는 하나의 이미지 블록의 움직임 벡터이며;
    상기 움직임 벡터 제2 후보 리스트 중의 후보를 사용하는 것이 확인될 경우, 상기 후보의 움직임 벡터에 따라 상기 현재 이미지 블록의 움직임 벡터를 결정하는 것을 특징으로 하는 비디오 이미지 처리 장치.
  185. 제184항에 있어서,
    상술한 상기 후보의 움직임 벡터에 따라 상기 현재 이미지 블록의 움직임 벡터를 결정하는 것은,
    상기 사용하는 것이 확인된 후보를 상기 현재 이미지 블록의 움직임 벡터로 하거나, 또는 상기 사용하는 것이 확인된 후보를 스케일링한 후 상기 현재 이미지 블록의 움직임 벡터로 하는 것을 포함하는 것을 특징으로 하는 비디오 이미지 처리 장치.
  186. 제184항에 있어서,
    상기 움직임 벡터 제2 후보 리스트를 구축하는 것은,
    상기 현재 이미지 블록의 현재 이미지에서의 M개 인접 블록의 움직임 벡터에 따라 상기 움직임 벡터 제2 후보 리스트에 추가하는 상기 M 개 후보를 결정하는 것을 포함하는 것을 특징으로 하는 비디오 이미지 처리 장치.
  187. 제186항에 있어서,
    상기 구축 모듈은 또한, 미리 설정된 순서에 따라 상기 미리 설정된 M개 인접 블록의 움직임 벡터를 각각 M개 후보로 하여, 상기 움직임 벡터 제2 후보 리스트에 추가하고,상기 N개 인접 블록은, 상기 미리 설정된 순서에 따라 먼저 결정된 N개 인접 블록을 의미하며;
    및/또는
    상기 구축 모듈은 또한, 상기 M개 인접 블록 중의 하나 이상의 인접 블록의 움직임 벡터가 획득할 수 없는 것일 경우, 상기 하나 이상의 인접 블록의 움직임 벡터에 따라 상기 움직임 벡터 제2 후보 리스트에 추가할 후보를 결정하는 것을 포기하는 것을 특징으로 하는 비디오 이미지 처리 장치.
  188. 제143항 내지 제187항 중 어느 한 항에 있어서,
    M은 4 이하인 것을 특징으로 하는 비디오 이미지 처리 장치.
  189. 메모리 및 프로세서를 포함하고,
    상기 메모리는 명령을 저장하며, 상기 프로세서는 상기 메모리에 저장된 명령을 실행하고, 상기 메모리에 저장된 명령을 실행함으로써, 상기 프로세서는 제1항 내지 제48항 중 어느 한 항에 따른 방법을 실행하게 되는
    것을 특징으로 하는 비디오 이미지 처리 장치.
  190. 메모리 및 프로세서를 포함하고,
    상기 메모리는 명령을 저장하며, 상기 프로세서는 상기 메모리에 저장된 명령을 실행하고, 상기 메모리에 저장된 명령을 실행함으로써, 상기 프로세서는 제49항 내지 제94항 중 어느 한 항에 따른 방법을 실행하게 되는
    것을 특징으로 하는 비디오 이미지 처리 장치.
  191. 컴퓨터 프로그램이 저장되어 있으며, 상기 컴퓨터 프로그램이 컴퓨터에 의해 실행되면서, 상기 컴퓨터가 제1항 내지 제48항 중 어느 한 항에 따른 방법을 실행하게 되는
    것을 특징으로 하는 컴퓨터 저장 매체.
  192. 컴퓨터 프로그램이 저장되어 있으며, 상기 컴퓨터 프로그램이 컴퓨터에 의해 실행되면서, 상기 컴퓨터가 제49항 내지 제94항 중 어느 한 항에 따른 방법을 실행하게 되는
    것을 특징으로 하는 컴퓨터 저장 매체.
  193. 명령을 포함하는 컴퓨터 프로그램 제품에 있어서,
    상기 명령이 컴퓨터에 의해 실행되면서 컴퓨터가 제1항 내지 제48항 중 어느 한 항에 따른 방법을 실행하게 되는
    것을 특징으로 하는 명령을 포함하는 컴퓨터 프로그램 제품.
  194. 명령을 포함하는 컴퓨터 프로그램 제품에 있어서,
    상기 명령이 컴퓨터에 의해 실행되면서 컴퓨터가 제49항 내지 제94항 중 어느 한 항에 따른 방법을 실행하게 되는
    것을 특징으로 하는 명령을 포함하는 컴퓨터 프로그램 제품.
  195. 베이스 움직임 벡터 리스트를 결정하는 단계로서, 상기 베이스 움직임 벡터 리스트에는 적어도 하나의 쌍예측 베이스 움직임 벡터군이 포함되고, 상기 쌍예측 베이스 움직임 벡터군에는 제1 베이스 움직임 벡터 및 제2 베이스 움직임 벡터가 포함되는 단계;
    미리 설정된 오프셋 집합에서 2개의 움직임 벡터 오프셋을 결정하는 단계로서, 상기 2개의 움직임 벡터 오프셋은 각각 상기 제1 베이스 움직임 벡터 및 상기 제2 베이스 움직임 벡터에 대응되는 단계;
    상기 제1 베이스 움직임 벡터, 상기 제2 베이스 움직임 벡터 및 상기 2개의 움직임 벡터 오프셋에 따라, 현재 이미지 블록의 움직임 벡터를 결정하는 단계;
    상기 현재 이미지 블록의 움직임 벡터에 따라 상기 현재 이미지 블록을 예측하는 단계
    를 포함하는 것을 특징으로 하는 비디오 이미지 처리 방법.
  196. 제195항에 있어서,
    상기 미리 설정된 오프셋 집합에서 2개의 움직임 벡터 오프셋를 결정하는 단계는,
    상기 오프셋 집합에서 2개의 움직임 벡터 오프셋을 포함하는 복수의 움직임 벡터 오프셋 조합을 결정하는 단계를 포함하고;
    상술한 상기 제1 베이스 움직임 벡터, 상기 제2 베이스 움직임 벡터 및 상기 2개의 움직임 벡터 오프셋에 따라, 현재 이미지 블록의 움직임 벡터를 결정하는 단계는,
    상기 복수의 움직임 벡터 오프셋 조합에서 율왜곡 손실이 미리 설정된 조건을 만족하게 하는 움직임 벡터 오프셋 조합을 결정하여, 상기 제1 베이스 움직임 벡터, 상기 제2 베이스 움직임 벡터 및 상기 율왜곡 손실이 미리 설정된 조건을 만족하게 하는 움직임 벡터 오프셋 조합에 따라, 현재 이미지 블록의 움직임 벡터를 결정하는 단계를 포함하는 것을 특징으로 하는 비디오 이미지 처리 방법.
  197. 제195항 또는 제196항에 있어서,
    상기 방법은 부호화단에 의해 실행되며,
    예측한 결과에 따라 부호화하여 복호화단에 비트스트림를 발송하는 단계를 더 포함하고, 상기 비트스트림에는 율왜곡 손실이 미리 설정된 조건을 만족하게 하는 움직임 벡터 오프셋 조합을 표시하는 인덱스가 포함되는 것을 특징으로 하는 비디오 이미지 처리 방법.
  198. 제195항에 있어서,
    상기 방법은 복호화단에 의해 실행되며,
    부호화단이 발송한 비트스트림를 수신하는 단계를 더 포함하고, 상기 비트스트림에는 2개의 움직임 벡터 오프셋의 형성 조합을 표시하는 인덱스가 포함되며;
    상기 미리 설정된 오프셋 집합에서 2개의 움직임 벡터 오프셋를 결정하는 단계는,
    상기 인덱스에 따라 상기 2개의 움직임 벡터 오프셋을 결정하는 단계를 포함하는 것을 특징으로 하는 비디오 이미지 처리 방법.
  199. 제195항 내지 제198항 중 어느 한 항에 있어서,
    상기 제1 베이스 움직임 벡터 및/또는 제2 베이스 움직임 벡터가 특정 참조 이미지를 가리킬 경우, 상기 2개의 움직임 벡터 오프셋 중의 적어도 하나의 움직임 벡터 오프셋은, 수치가 1인 스케일링 비율에 따라 초기 움직임 벡터 오프셋을 스케일링한 후 얻은 움직임 벡터 오프셋, 또는 스케일링 동작을 건너뛰어 얻은 움직임 벡터 오프셋을 포함하는 것을 특징으로 하는 비디오 이미지 처리 방법.
  200. 제195항 내지 제198항 중 어느 한 항에 있어서,
    상기 제1 베이스 움직임 벡터 및 제2 베이스 움직임 벡터가 모두 비특정 참조 이미지를 가리킬 경우, 상기 2개의 움직임 벡터 오프셋은,
    상기 2개의 움직임 벡터 오프셋에 따라 상기 제1 베이스 움직임 벡터 및 제2 베이스 움직임 벡터를 조절하는데 사용되는 것을 특징으로 하는 비디오 이미지 처리 방법.
  201. 제200항에 있어서,
    상기 현재 이미지에서 상기 제1 베이스 움직임 벡터의 참조 이미지까지의 거리와 상기 현재 이미지에서 상기 제2 베이스 움직임 벡터의 참조 이미지까지의 거리의 비는, 상기 제1 베이스 움직임 벡터에 사용되는 움직임 벡터 오프셋과 상기 제2 베이스 움직임 벡터에 사용되는 움직임 벡터 오프셋의 비와 같은 것을 특징으로 하는 비디오 이미지 처리 방법.
  202. 제195항 내지 제201항 중 어느 한 항에 있어서,
    병합 후보 리스트를 획득하는 단계를 더 포함하며, 상기 병합 후보 리스트에는 P조의 병합 움직임 벡터 후보가 포함되고, P는 1 이상의 정수이며;
    상기 베이스 움직임 벡터 리스트를 결정하는 단계는,
    상기 병합 후보 리스트에 따라, 상기 베이스 움직임 벡터 리스트를 결정하는 단계를 포함하는 것을 특징으로 하는 비디오 이미지 처리 방법.
  203. 제202항에 있어서,
    상술한 상기 병합 후보 리스트에 따라, 상기 베이스 움직임 벡터 리스트를 결정하는 단계는,
    P가 2 이상일 경우, 상기 병합 후보 리스트 중의 2조의 병합 움직임 벡터 후보를 취하여 상기 베이스 움직임 벡터 리스트를 형성하는 단계를 포함하는 것을 특징으로 하는 비디오 이미지 처리 방법.
  204. 제202항에 있어서,
    상술한 상기 병합 후보 리스트에 따라, 상기 베이스 움직임 벡터 리스트를 결정하는 단계는,
    P가 2보다 작을 경우, 움직임 벡터(0, 0)로 채워서 상기 베이스 움직임 벡터 리스트를 형성하는 단계를 포함하는 것을 특징으로 하는 비디오 이미지 처리 방법.
  205. 제195항 내지 제204항 중 어느 한 항에 있어서,
    상기 미리 설정된 오프셋 집합은 {2, 4, 8, 16, 32, 64, 128, 256}인 것을 특징으로 하는 비디오 이미지 처리 방법.
  206. 제195항 내지 제205항 중 어느 한 항에 있어서,
    상기 현재 이미지 블록은 하나의 부호화 단위(CU)인 것을 특징으로 하는 비디오 이미지 처리 방법.
  207. 제195항 내지 제206항 중 어느 한 항에 있어서,
    상기 현재 이미지 블록은 쌍예측 이미지 블록인 것을 특징으로 하는 비디오 이미지 처리 방법.
  208. 베이스 움직임 벡터 리스트를 결정하며, 상기 베이스 움직임 벡터 리스트에는 적어도 하나의 쌍예측 베이스 움직임 벡터군이 포함되고, 상기 쌍예측 베이스 움직임 벡터군에는 제1 베이스 움직임 벡터 및 제2 베이스 움직임 벡터가 포함되며; 미리 설정된 오프셋 집합에서 2개의 움직임 벡터 오프셋을 결정하고, 상기 2개의 움직임 벡터 오프셋은 각각 상기 제1 베이스 움직임 벡터 및 상기 제2 베이스 움직임 벡터에 대응되며; 상기 제1 베이스 움직임 벡터, 상기 제2 베이스 움직임 벡터 및 상기 2개의 움직임 벡터 오프셋에 따라, 현재 이미지 블록의 움직임 벡터를 결정하는 구축 모듈;
    상기 현재 이미지 블록의 움직임 벡터에 따라 상기 현재 이미지 블록을 예측하는 예측 모듈
    을 포함하는 것을 특징으로 하는 비디오 이미지 처리 장치.
  209. 제208항에 있어서,
    상기 구축 모듈이 미리 설정된 오프셋 집합에서 2개의 움직임 벡터 오프셋을 결정하는 것은,
    상기 구축 모듈이 상기 오프셋 집합에서 2개의 움직임 벡터 오프셋을 포함하는 복수의 움직임 벡터 오프셋 조합을 결정하는 것을 포함하며;
    상기 구축 모듈이 상기 제1 베이스 움직임 벡터, 상기 제2 베이스 움직임 벡터 및 상기 2개의 움직임 벡터 오프셋에 따라, 현재 이미지 블록의 움직임 벡터를 결정하는 것은,
    상기 구축 모듈이 상기 복수의 움직임 벡터 오프셋 조합에서 율왜곡 손실이 미리 설정된 조건을 만족하게 하는 움직임 벡터 오프셋 조합을 결정하여, 상기 제1 베이스 움직임 벡터, 상기 제2 베이스 움직임 벡터 및 상기 율왜곡 손실이 미리 설정된 조건을 만족하게 하는 움직임 벡터 오프셋 조합에 따라, 현재 이미지 블록의 움직임 벡터를 결정하는 것을 포함하는 것을 특징으로 하는 비디오 이미지 처리 장치.
  210. 제208항 또는 제209항에 있어서,
    상기 비디오 이미지 처리 장치는 부호화단에 사용되며,
    예측한 결과에 따라 부호화하여 복호화단에 비트스트림를 발송하는 발송 모듈을 더 포함하고, 상기 비트스트림에는 율왜곡 손실이 미리 설정된 조건을 만족하게 하는 움직임 벡터 오프셋 조합을 표시하는 인덱스가 포함되는 것을 특징으로 하는 비디오 이미지 처리 장치.
  211. 제208항에 있어서,
    상기 비디오 이미지 처리 장치는 복호화단에 사용되며,
    부호화단이 발송한 비트스트림를 수신하는 수신 모듈을 더 포함하고, 상기 비트스트림에는 2개의 움직임 벡터 오프셋의 형성 조합을 표시하는 인덱스가 포함되며;
    상기 구축 모듈이 미리 설정된 오프셋 집합에서 2개의 움직임 벡터 오프셋을 결정하는 것은,
    상기 인덱스에 따라 상기 2개의 움직임 벡터 오프셋을 결정하는 것을 포함하는 것을 특징으로 하는 비디오 이미지 처리 장치.
  212. 제208항 내지 제211항 중 어느 한 항에 있어서,
    상기 제1 베이스 움직임 벡터 및/또는 제2 베이스 움직임 벡터가 특정 참조 이미지를 가리킬 경우, 상기 2개의 움직임 벡터 오프셋 중의 적어도 하나의 움직임 벡터 오프셋은, 수치가 1인 스케일링 비율에 따라 초기 움직임 벡터 오프셋을 스케일링한 후 얻은 움직임 벡터 오프셋, 또는 스케일링 동작을 건너뛰어 얻은 움직임 벡터 오프셋을 포함하는 것을 특징으로 하는 비디오 이미지 처리 장치.
  213. 제208항 내지 제211항 중 어느 한 항에 있어서,
    상기 제1 베이스 움직임 벡터 및 제2 베이스 움직임 벡터가 모두 비특정 참조 이미지를 가리킬 경우, 상기 2개의 움직임 벡터 오프셋은,
    상기 2개의 움직임 벡터 오프셋에 따라 상기 제1 베이스 움직임 벡터 및 제2 베이스 움직임 벡터를 조절하는데 사용되는 것을 특징으로 하는 비디오 이미지 처리 장치.
  214. 제213항에 있어서,
    상기 현재 이미지에서 상기 제1 베이스 움직임 벡터의 참조 이미지까지의 거리와 상기 현재 이미지에서 상기 제2 베이스 움직임 벡터의 참조 이미지까지의 거리의 비는, 상기 제1 베이스 움직임 벡터에 사용되는 움직임 벡터 오프셋과 상기 제2 베이스 움직임 벡터에 사용되는 움직임 벡터 오프셋의 비와 같은 것을 특징으로 하는 비디오 이미지 처리 장치.
  215. 제208항 내지 제214항 중 어느 한 항에 있어서,
    상기 구축 모듈은 또한,
    병합 후보 리스트를 획득하며, 상기 병합 후보 리스트에는 P조의 병합 움직임 벡터 후보가 포함되고, P는 1 이상의 정수이며;
    상기 구축 모듈이 베이스 움직임 벡터 리스트를 결정하는 것은,
    상기 구축 모듈이 상기 병합 후보 리스트에 따라, 상기 베이스 움직임 벡터 리스트를 결정하는 것을 포함하는 것을 특징으로 하는 비디오 이미지 처리 장치.
  216. 제215항에 있어서,
    상기 구축 모듈이 상기 병합 후보 리스트에 따라, 상기 베이스 움직임 벡터 리스트를 결정하는 것은,
    P가 2 이상일 경우, 상기 구축 모듈은 상기 병합 후보 리스트 중의 2조의 병합 움직임 벡터 후보를 취하여 상기 베이스 움직임 벡터 리스트를 형성하는 것을 포함하는 것을 특징으로 하는 비디오 이미지 처리 장치.
  217. 제215항에 있어서,
    상기 구축 모듈이 상기 병합 후보 리스트에 따라, 상기 베이스 움직임 벡터 리스트를 결정하는 것은,
    P가 2보다 작을 경우, 상기 구축 모듈은 움직임 벡터(0, 0)로 채워서 상기 베이스 움직임 벡터 리스트를 형성하는 것을 포함하는 것을 특징으로 하는 비디오 이미지 처리 장치.
  218. 제208항 내지 제217항 중 어느 한 항에 있어서,
    상기 미리 설정된 오프셋 집합은 {2, 4, 8, 16, 32, 64, 128, 256}인 것을 특징으로 하는 비디오 이미지 처리 장치.
  219. 제208항 내지 제218항 중 어느 한 항에 있어서,
    상기 현재 이미지 블록은 하나의 부호화 단위(CU)인 것을 특징으로 하는 비디오 이미지 처리 장치.
  220. 제208항 내지 제219항 중 어느 한 항에 있어서,
    상기 현재 이미지 블록은 쌍예측 이미지 블록인 것을 특징으로 하는 비디오 이미지 처리 장치.
  221. 메모리 및 프로세서를 포함하고,
    상기 메모리는 명령을 저장하며, 상기 프로세서는 상기 메모리에 저장된 명령을 실생하고, 상기 메모리에 저장된 명령을 실행함으로써, 상기 프로세서는 제195항 내지 제207항 중 어느 한 항에 따른 방법을 실행하게 되는
    것을 특징으로 하는 비디오 이미지 처리 장치.
  222. 컴퓨터 프로그램이 저장되어 있으며, 상기 컴퓨터 프로그램이 컴퓨터에 의해 실행되면서, 상기 컴퓨터가 제195항 내지 제207항 중 어느 한 항에 따른 방법을 실행하게 되는
    것을 특징으로 하는 컴퓨터 저장 매체.
  223. 명령을 포함하는 컴퓨터 프로그램 제품에 있어서,
    상기 명령이 컴퓨터에 의해 실행되면서 컴퓨터가 제195항 내지 제207항 중 어느 한 항에 따른 방법을 실행하게 되는
    것을 특징으로 하는 명령을 포함하는 컴퓨터 프로그램 제품.
KR1020207031587A 2018-04-02 2019-03-13 비디오 이미지 처리 방법 및 장치 KR20200134319A (ko)

Applications Claiming Priority (11)

Application Number Priority Date Filing Date Title
CNPCT/CN2018/081652 2018-04-02
PCT/CN2018/081652 WO2019191890A1 (zh) 2018-04-02 2018-04-02 用于图像处理的方法和图像处理装置
CNPCT/CN2018/095710 2018-07-13
PCT/CN2018/095710 WO2019192102A1 (zh) 2018-04-02 2018-07-13 用于图像运动补偿的方法和装置
CNPCT/CN2018/103693 2018-08-31
PCT/CN2018/103693 WO2019192141A1 (zh) 2018-04-02 2018-08-31 用于图像运动补偿的方法和装置
PCT/CN2018/107436 WO2019192152A1 (zh) 2018-04-02 2018-09-25 获取视频图像运动矢量的方法与装置
CNPCT/CN2018/107436 2018-09-25
PCT/CN2018/112805 WO2019192170A1 (zh) 2018-04-02 2018-10-30 视频图像处理方法与装置
CNPCT/CN2018/112805 2018-10-30
PCT/CN2019/078051 WO2019192301A1 (zh) 2018-04-02 2019-03-13 视频图像处理方法与装置

Publications (1)

Publication Number Publication Date
KR20200134319A true KR20200134319A (ko) 2020-12-01

Family

ID=68099733

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207031587A KR20200134319A (ko) 2018-04-02 2019-03-13 비디오 이미지 처리 방법 및 장치

Country Status (6)

Country Link
US (15) US11190798B2 (ko)
EP (6) EP3780608A4 (ko)
JP (11) JP7088606B2 (ko)
KR (1) KR20200134319A (ko)
CN (16) CN110419217B (ko)
WO (4) WO2019191890A1 (ko)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111919447A (zh) * 2018-03-14 2020-11-10 韩国电子通信研究院 用于对图像进行编码/解码的方法和装置以及存储有比特流的记录介质
EP3780608A4 (en) 2018-04-02 2021-12-01 SZ DJI Technology Co., Ltd. IMAGE PROCESSING PROCESS AND IMAGE PROCESSING DEVICE
CN115250350B (zh) * 2018-09-03 2024-04-09 华为技术有限公司 运动矢量的获取方法、装置、计算机设备及存储介质
WO2020084554A1 (en) 2018-10-24 2020-04-30 Beijing Bytedance Network Technology Co., Ltd. Searching based motion candidate derivation for sub-block motion vector prediction
CN113228681A (zh) * 2018-12-21 2021-08-06 韩国电子通信研究院 图像编码/解码方法和装置以及存储比特流的记录介质
WO2020139184A1 (en) * 2018-12-28 2020-07-02 Telefonaktiebolaget Lm Ericsson (Publ) Generating a motion vector predictor list
EP3963890A4 (en) 2019-06-04 2022-11-02 Beijing Bytedance Network Technology Co., Ltd. BUILDING A LIST OF MOVEMENT CANDIDATES USING NEIGHBOR BLOCK INFORMATION
CN114097228B (zh) 2019-06-04 2023-12-15 北京字节跳动网络技术有限公司 具有几何分割模式编解码的运动候选列表
CN117354507A (zh) 2019-06-06 2024-01-05 北京字节跳动网络技术有限公司 视频编解码的运动候选列表构建
KR20220030995A (ko) 2019-07-14 2022-03-11 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 비디오 코딩에서 변환 블록 크기 제한
CN114175655B (zh) * 2019-07-27 2024-01-02 北京字节跳动网络技术有限公司 根据参考图片类型使用工具的限制
CN114270838B (zh) 2019-08-20 2024-04-12 北京字节跳动网络技术有限公司 变换跳过模式的信令通知
WO2021047631A1 (en) 2019-09-13 2021-03-18 Beijing Bytedance Network Technology Co., Ltd. Derivation of collocated motion vectors
CN117615155A (zh) 2019-09-19 2024-02-27 北京字节跳动网络技术有限公司 视频编解码中的参考样点位置推导
WO2021052490A1 (en) 2019-09-19 2021-03-25 Beijing Bytedance Network Technology Co., Ltd. Scaling window in video coding
WO2021057996A1 (en) 2019-09-28 2021-04-01 Beijing Bytedance Network Technology Co., Ltd. Geometric partitioning mode in video coding
EP4026336A4 (en) 2019-10-05 2022-12-07 Beijing Bytedance Network Technology Co., Ltd. LEVEL-BASED SIGNALING OF VIDEO CODING TOOLS
JP7391203B2 (ja) 2019-10-12 2023-12-04 北京字節跳動網絡技術有限公司 ビデオコーディングツールを洗練する使用およびシグナリング
MX2022004200A (es) 2019-10-13 2022-05-02 Beijing Bytedance Network Tech Co Ltd Interaccion entre remuestreo de imagen de referencia y herramientas de codificacion de video.
CN113727119B (zh) * 2020-05-20 2023-03-17 Oppo广东移动通信有限公司 帧间预测方法、编码器、解码器以及计算机存储介质
CN111724422B (zh) * 2020-06-29 2024-01-09 深圳市慧鲤科技有限公司 图像处理方法及装置、电子设备及存储介质
CN112132732B (zh) * 2020-09-10 2023-06-02 宁波大学科学技术学院 立体图像的像素预测方法、可逆信息隐藏提取方法、终端及存储介质
WO2022141278A1 (zh) * 2020-12-30 2022-07-07 深圳市大疆创新科技有限公司 视频处理方法和编码装置
WO2023192335A1 (en) * 2022-03-28 2023-10-05 Beijing Dajia Internet Information Technology Co., Ltd. Methods and devices for candidate derivation for affine merge mode in video coding
WO2024005456A1 (ko) * 2022-06-27 2024-01-04 현대자동차주식회사 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
WO2024005616A1 (ko) * 2022-07-01 2024-01-04 엘지전자 주식회사 영상 인코딩/디코딩 방법 및 장치, 그리고 비트스트림을 저장한 기록 매체

Family Cites Families (87)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
MXPA03006715A (es) * 2001-11-29 2003-10-24 Matsushita Electric Ind Co Ltd Metodo para la remocion de la distorsion de la codificacion, metodo codificador de video, metodo descodificador de video y aparato y programa para los mismos.
JP4130783B2 (ja) * 2002-04-23 2008-08-06 松下電器産業株式会社 動きベクトル符号化方法および動きベクトル復号化方法
KR100491530B1 (ko) * 2002-05-03 2005-05-27 엘지전자 주식회사 모션 벡터 결정 방법
US20050013498A1 (en) * 2003-07-18 2005-01-20 Microsoft Corporation Coding of motion vector information
US7660354B2 (en) 2005-05-11 2010-02-09 Fang Shi Temporal error concealment for bi-directionally predicted frames
CN101496407B (zh) * 2006-07-06 2013-02-06 汤姆逊许可证公司 用于针对多视角视频编码和解码解耦合帧号和/或图像顺序计数(poc)的方法和装置
JP2010509799A (ja) * 2006-11-03 2010-03-25 サムスン エレクトロニクス カンパニー リミテッド 映像の予測符号化方法及び装置、その復号化方法及び装置
JP2009118221A (ja) * 2007-11-07 2009-05-28 Toshiba Corp ディジタル画像復号装置及びディジタル画像復号方法
CN101873500B (zh) * 2009-04-24 2012-05-23 华为技术有限公司 帧间预测编码方法、帧间预测解码方法及设备
TWI450592B (zh) * 2010-02-09 2014-08-21 Nippon Telegraph & Telephone 動向量預測編碼方法、動向量預測解碼方法、動畫像編碼裝置、動畫像解碼裝置及其程式
KR20120009861A (ko) * 2010-07-22 2012-02-02 에스케이 텔레콤주식회사 확장된 스킵모드를 이용한 영상 부호화/복호화 방법 및 장치
KR20120016991A (ko) 2010-08-17 2012-02-27 오수미 인터 프리딕션 방법
EP2625855B8 (en) * 2010-10-08 2021-03-10 GE Video Compression, LLC Picture coding supporting block partitioning and block merging
US8824558B2 (en) 2010-11-23 2014-09-02 Mediatek Inc. Method and apparatus of spatial motion vector prediction
US8976873B2 (en) * 2010-11-24 2015-03-10 Stmicroelectronics S.R.L. Apparatus and method for performing error concealment of inter-coded video frames
CN107071461B (zh) 2010-12-14 2019-11-12 M&K控股株式会社 用于解码运动画面的设备
US9635382B2 (en) 2011-01-07 2017-04-25 Texas Instruments Incorporated Method, system and computer program product for determining a motion vector
CN102611881B (zh) * 2011-01-19 2014-06-25 华为技术有限公司 参考运动矢量获取方法、模块及编、解码装置
US8755437B2 (en) * 2011-03-17 2014-06-17 Mediatek Inc. Method and apparatus for derivation of spatial motion vector candidate and motion vector prediction candidate
KR101484171B1 (ko) * 2011-01-21 2015-01-23 에스케이 텔레콤주식회사 예측 움직임벡터 색인부호화에 기반한 움직임정보 생성/복원 장치 및 방법, 및 그것을 이용한 영상 부호화/복호화 장치 및 방법
WO2012128540A2 (ko) * 2011-03-21 2012-09-27 엘지전자 주식회사 움직임 벡터 예측자 선택 방법 및 이를 이용하는 장치
US9485517B2 (en) 2011-04-20 2016-11-01 Qualcomm Incorporated Motion vector prediction with motion vectors from multiple views in multi-view video coding
JP5786478B2 (ja) 2011-06-15 2015-09-30 富士通株式会社 動画像復号装置、動画像復号方法、及び動画像復号プログラム
HUE056547T2 (hu) * 2011-06-28 2022-02-28 Lg Electronics Inc Eljárás mozgásvektor-prediktor levezetésére
CN105430390B (zh) * 2011-06-30 2017-04-12 Jvc建伍株式会社 图像解码装置、图像解码方法、接收装置及接收方法
MX341889B (es) * 2011-06-30 2016-09-07 Sony Corp Dispositivo de procesamiento de imagenes y metodo de procesamiento de imagenes.
CN107222745A (zh) 2011-08-29 2017-09-29 苗太平洋控股有限公司 用于解码合并模式下的运动信息的装置
CN102447904A (zh) * 2011-10-24 2012-05-09 成都虢电智能电力科技有限公司 一种快速对视频序列进行运动估计的方法
WO2013061551A1 (ja) * 2011-10-27 2013-05-02 パナソニック株式会社 画像符号化方法、画像復号方法、画像符号化装置および画像復号装置
PL2773111T3 (pl) 2011-10-28 2020-06-29 Sun Patent Trust Sposób kodowania obrazów, sposób dekodowania obrazów, urządzenie do kodowania obrazów i urządzenie do dekodowania obrazów
WO2013061549A1 (ja) * 2011-10-28 2013-05-02 パナソニック株式会社 画像符号化方法、画像復号方法、画像符号化装置および画像復号装置
TWI597973B (zh) 2011-10-31 2017-09-01 Jvc Kenwood Corp Video encoding device, video encoding method and recording medium
TWI505696B (zh) * 2011-11-08 2015-10-21 Samsung Electronics Co Ltd 解碼影像的方法
EP2777276B1 (en) 2011-11-08 2019-05-01 Nokia Technologies Oy Reference picture handling
CA2855777C (en) 2011-12-23 2017-10-24 Electronics And Telecommunications Research Institute Method and apparatus for setting reference picture index of temporal merging candidate
SI2838261T1 (sl) 2012-04-12 2020-08-31 JVC Kenwood Corporation Naprava za dekodiranje videa, postopek za dekodiranje videa, program za dekodiranje videa
JP2013223049A (ja) * 2012-04-13 2013-10-28 Sharp Corp 画像復号装置、および画像符号化装置
US9979959B2 (en) * 2012-04-20 2018-05-22 Qualcomm Incorporated Video coding with enhanced support for stream adaptation and splicing
AU2013285749B2 (en) * 2012-07-02 2016-06-16 Samsung Electronics Co., Ltd. Method and apparatus for predicting motion vector for coding video or decoding video
US9325990B2 (en) * 2012-07-09 2016-04-26 Qualcomm Incorporated Temporal motion vector prediction in video coding extensions
CN102883161B (zh) * 2012-09-19 2015-09-30 华为技术有限公司 视频编码和解码的处理方法和装置
US20150350684A1 (en) * 2012-09-20 2015-12-03 Sony Corporation Image processing apparatus and method
US9538180B2 (en) * 2012-12-17 2017-01-03 Qualcomm Incorporated Motion vector prediction in video coding
WO2014162954A1 (ja) * 2013-04-04 2014-10-09 シャープ株式会社 画像復号装置、および画像符号化装置
SG10201913551WA (en) * 2013-04-07 2020-03-30 Dolby Int Ab Signaling change in output layer sets
US9591321B2 (en) * 2013-04-07 2017-03-07 Dolby International Ab Signaling change in output layer sets
US9930363B2 (en) 2013-04-12 2018-03-27 Nokia Technologies Oy Harmonized inter-view and view synthesis prediction for 3D video coding
JPWO2015005331A1 (ja) * 2013-07-10 2017-03-02 シャープ株式会社 画像復号装置および画像符号化装置
CN105453562B (zh) * 2013-07-30 2018-12-25 株式会社Kt 支持多个层的图像编码和解码方法以及使用该方法的装置
US9762927B2 (en) * 2013-09-26 2017-09-12 Qualcomm Incorporated Sub-prediction unit (PU) based temporal motion vector prediction in HEVC and sub-PU design in 3D-HEVC
JP6397421B2 (ja) * 2013-10-08 2018-09-26 シャープ株式会社 画像復号装置及び画像符号化装置
US20170026655A1 (en) * 2014-01-02 2017-01-26 Sharp Kabushiki Kaisha Parameter set signaling
DK3091741T3 (da) 2014-01-02 2022-01-31 Intellectual Discovery Co Ltd Fremgangsmåde til afkodning af multi-visnings-video
WO2015136941A1 (en) * 2014-03-13 2015-09-17 Sharp Kabushiki Kaisha Constrained reference picture parameters
US9788007B2 (en) * 2014-06-20 2017-10-10 Qualcomm Incorporated Profile, tier, level for the 0-th output layer set in video coding
WO2016048834A1 (en) 2014-09-26 2016-03-31 Vid Scale, Inc. Intra block copy coding with temporal block vector prediction
KR20170078672A (ko) * 2014-10-31 2017-07-07 삼성전자주식회사 고정밀 스킵 부호화를 이용한 비디오 부호화 장치 및 비디오 복호화 장치 및 그 방법
US9872296B2 (en) 2015-01-06 2018-01-16 Qualcomm Incorporated Techniques for beam shaping at a millimeter wave base station and a wireless device and fast antenna subarray selection at a wireless device
WO2016165069A1 (en) * 2015-04-14 2016-10-20 Mediatek Singapore Pte. Ltd. Advanced temporal motion vector prediction in video coding
KR102164062B1 (ko) * 2015-09-08 2020-10-13 미디어텍 인크. 인트라 블록 복사 모드를 위한 디코딩된 픽처 버퍼의 방법 및 시스템
CN106534858B (zh) 2015-09-10 2019-09-06 展讯通信(上海)有限公司 真实运动估计方法及装置
CN107046645B9 (zh) 2016-02-06 2020-08-14 华为技术有限公司 图像编解码方法及装置
CN108781295B (zh) * 2016-03-16 2022-02-18 联发科技股份有限公司 视频编码的样式基础的运动向量推导之方法及装置
EP3432578A4 (en) 2016-03-24 2019-11-20 LG Electronics Inc. METHOD AND APPARATUS FOR INTER-PREDICTION IN A VIDEO CODING SYSTEM
US10560718B2 (en) 2016-05-13 2020-02-11 Qualcomm Incorporated Merge candidates for motion vector prediction for video coding
US10567808B2 (en) * 2016-05-25 2020-02-18 Arris Enterprises Llc Binary ternary quad tree partitioning for JVET
JP6768145B2 (ja) 2016-08-15 2020-10-14 ノキア テクノロジーズ オーユー ビデオの符号化および復号
US11409855B2 (en) * 2016-08-22 2022-08-09 Lenovo (Singapore) Pte. Ltd. Gesture based CAPTCHA test
CN107820095B (zh) * 2016-09-14 2020-01-03 北京金山云网络技术有限公司 一种长期参考图像选择方法及装置
US10812791B2 (en) * 2016-09-16 2020-10-20 Qualcomm Incorporated Offset vector identification of temporal motion vector predictor
EP3301914A1 (en) 2016-09-30 2018-04-04 Thomson Licensing Method and apparatus for encoding and decoding a large field of view video
EP3343924A1 (en) 2017-01-03 2018-07-04 Thomson Licensing Method and apparatus for encoding and decoding motion information
EP3343925A1 (en) 2017-01-03 2018-07-04 Thomson Licensing Method and apparatus for encoding and decoding motion information
US10542280B2 (en) 2017-01-09 2020-01-21 QUALCOMM Incorpated Encoding optimization with illumination compensation and integer motion vector restriction
US20180199057A1 (en) 2017-01-12 2018-07-12 Mediatek Inc. Method and Apparatus of Candidate Skipping for Predictor Refinement in Video Coding
JP7036628B2 (ja) * 2017-03-10 2022-03-15 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法
CN109089119B (zh) 2017-06-13 2021-08-13 浙江大学 一种运动矢量预测的方法及设备
JP2020145486A (ja) 2017-07-28 2020-09-10 シャープ株式会社 動画像符号化装置及び動画像復号装置
CN111095926A (zh) * 2017-09-12 2020-05-01 三星电子株式会社 用于对运动信息进行编码和解码的方法以及用于对运动信息进行编码和解码的装置
CN107682705B (zh) * 2017-09-26 2020-05-12 杭州电子科技大学 基于mv-hevc框架的立体视频b帧错误隐藏方法
US20190141320A1 (en) * 2017-11-07 2019-05-09 Qualcomm Incorporated Enhanced reference picture management in video coding
US11057640B2 (en) 2017-11-30 2021-07-06 Lg Electronics Inc. Image decoding method and apparatus based on inter-prediction in image coding system
WO2019172705A1 (ko) 2018-03-09 2019-09-12 한국전자통신연구원 샘플 필터링을 이용한 영상 부호화/복호화 방법 및 장치
KR102455561B1 (ko) 2018-04-01 2022-10-17 엘지전자 주식회사 어파인 움직임 예측에 기반한 영상 코딩 방법 및 그 장치
KR20230028586A (ko) 2018-04-01 2023-02-28 엘지전자 주식회사 인터 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
EP3780608A4 (en) 2018-04-02 2021-12-01 SZ DJI Technology Co., Ltd. IMAGE PROCESSING PROCESS AND IMAGE PROCESSING DEVICE
KR102609949B1 (ko) * 2018-08-17 2023-12-04 후아웨이 테크놀러지 컴퍼니 리미티드 비디오 코딩에서의 참조 영상 관리

Also Published As

Publication number Publication date
US20210227251A1 (en) 2021-07-22
US11363294B2 (en) 2022-06-14
US11490120B2 (en) 2022-11-01
JP2021520120A (ja) 2021-08-12
US20210021855A1 (en) 2021-01-21
WO2019191890A1 (zh) 2019-10-10
JP2021520121A (ja) 2021-08-12
EP3783897A4 (en) 2022-02-23
CN110326295A (zh) 2019-10-11
JP2023052491A (ja) 2023-04-11
CN117061738A (zh) 2023-11-14
WO2019192102A1 (zh) 2019-10-10
JP2021520119A (ja) 2021-08-12
JP2021520124A (ja) 2021-08-12
US20210021865A1 (en) 2021-01-21
US11949911B2 (en) 2024-04-02
CN110419217B (zh) 2023-09-26
US11190798B2 (en) 2021-11-30
CN113824966B (zh) 2023-09-12
US20210021824A1 (en) 2021-01-21
EP3780614A1 (en) 2021-02-17
CN115037942A (zh) 2022-09-09
CN117294837A (zh) 2023-12-26
WO2019192141A1 (zh) 2019-10-10
EP3780615A1 (en) 2021-02-17
JP2023017981A (ja) 2023-02-07
US20220321907A1 (en) 2022-10-06
US11871032B2 (en) 2024-01-09
US20210218989A1 (en) 2021-07-15
CN110495169A (zh) 2019-11-22
CN113852828B (zh) 2023-09-12
JP7294753B2 (ja) 2023-06-20
EP3780608A4 (en) 2021-12-01
CN116760999A (zh) 2023-09-15
EP3780608A1 (en) 2021-02-17
US20210021812A1 (en) 2021-01-21
WO2019192152A1 (zh) 2019-10-10
CN110419220B (zh) 2023-08-29
JP2021526322A (ja) 2021-09-30
JP2023110048A (ja) 2023-08-08
US20220286706A1 (en) 2022-09-08
EP3780618A4 (en) 2022-03-02
EP3780618A1 (en) 2021-02-17
JP2024057014A (ja) 2024-04-23
CN114938452A (zh) 2022-08-23
JP2024010198A (ja) 2024-01-23
US20210227252A1 (en) 2021-07-22
EP3780614A4 (en) 2022-02-23
US11350124B2 (en) 2022-05-31
US20210227253A1 (en) 2021-07-22
CN110720219B (zh) 2022-04-26
CN113824966A (zh) 2021-12-21
CN110786012A (zh) 2020-02-11
US20210227254A1 (en) 2021-07-22
US11323742B2 (en) 2022-05-03
EP3780615A4 (en) 2022-03-02
CN113852828A (zh) 2021-12-28
CN110786012B (zh) 2024-01-30
US11330294B2 (en) 2022-05-10
US11381839B2 (en) 2022-07-05
CN114125440A (zh) 2022-03-01
CN110326295B (zh) 2021-11-16
CN117135346A (zh) 2023-11-28
US20220353527A1 (en) 2022-11-03
US20220086483A1 (en) 2022-03-17
EP3780619A1 (en) 2021-02-17
CN110495169B (zh) 2021-12-17
US11949912B2 (en) 2024-04-02
US20210021856A1 (en) 2021-01-21
US20210021825A1 (en) 2021-01-21
EP3783897A1 (en) 2021-02-24
US11343534B2 (en) 2022-05-24
US11368714B2 (en) 2022-06-21
CN110419217A (zh) 2019-11-05
CN110419220A (zh) 2019-11-05
US11490118B2 (en) 2022-11-01
CN116781928A (zh) 2023-09-19
CN110720219A (zh) 2020-01-21
JP7388659B2 (ja) 2023-11-29
JP2021520126A (ja) 2021-08-12
US11159821B2 (en) 2021-10-26
JP7088606B2 (ja) 2022-06-21
EP3780619A4 (en) 2022-02-23
JP7216109B2 (ja) 2023-01-31

Similar Documents

Publication Publication Date Title
KR20200134319A (ko) 비디오 이미지 처리 방법 및 장치
US11611763B2 (en) Extensions of inter prediction with geometric partitioning
US11153558B2 (en) Update of look-up tables
JP7343398B2 (ja) 動きベクトル予測
KR20210025537A (ko) 하나 또는 다수의 룩업 테이블들을 사용하여 이전에 코딩된 모션 정보를 순서대로 저장하고 이를 사용하여 후속 블록들을 코딩하는 개념
US20230217039A1 (en) Priority-based non-adjacent merge design
TWI738081B (zh) 視訊編碼系統中結合多重預測子用於區塊預測之方法和裝置
WO2019192301A1 (zh) 视频图像处理方法与装置
TWI729497B (zh) 在視頻編解碼系統中組合多個預測子進行塊預測的方法和裝置
WO2019192170A1 (zh) 视频图像处理方法与装置

Legal Events

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