KR20210093347A - 비디오 인코딩 및 디코딩 - Google Patents
비디오 인코딩 및 디코딩 Download PDFInfo
- Publication number
- KR20210093347A KR20210093347A KR1020217019915A KR20217019915A KR20210093347A KR 20210093347 A KR20210093347 A KR 20210093347A KR 1020217019915 A KR1020217019915 A KR 1020217019915A KR 20217019915 A KR20217019915 A KR 20217019915A KR 20210093347 A KR20210093347 A KR 20210093347A
- Authority
- KR
- South Korea
- Prior art keywords
- block
- sub
- motion information
- candidate
- information
- Prior art date
Links
- 230000033001 locomotion Effects 0.000 claims abstract description 618
- 238000000034 method Methods 0.000 claims abstract description 148
- 230000002457 bidirectional effect Effects 0.000 claims description 30
- 230000002452 interceptive effect Effects 0.000 claims description 16
- 239000013598 vector Substances 0.000 description 56
- 230000000875 corresponding effect Effects 0.000 description 52
- 230000008569 process Effects 0.000 description 47
- 238000010586 diagram Methods 0.000 description 12
- 230000011218 segmentation Effects 0.000 description 9
- 238000004590 computer program Methods 0.000 description 5
- 238000006073 displacement reaction Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 238000013139 quantization Methods 0.000 description 3
- 230000002123 temporal effect Effects 0.000 description 3
- 230000002596 correlated effect Effects 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000001154 acute effect Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000026058 directional locomotion Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000005429 filling process Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
- H04N19/139—Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/174—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/186—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
- H04N19/52—Processing of motion vectors by encoding by predictive encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
- H04N19/147—Data rate or code amount at the encoder output according to rate distortion criteria
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/184—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Television Systems (AREA)
Abstract
본 발명은 비디오 인코딩 및 디코딩 방법과 디바이스를 제공한다. 당해 방법은 현재 블록이 삼각형 기하학 분할 모드를 호출하기 위한 특정 조건을 충족시키는 동시에, 삼각형 기하학 분할 모드를 호출하는 것으로 결정되면, 현재 블록을 제1 삼각 서브 블록과 제2 삼각 서브 블록으로 분할하는 단계; 상기 제1 삼각 서브 블록의 제1 목표 운동 정보 및 상기 제2 삼각 서브 블록의 제2 목표 운동 정보를 취득하는 단계 - 상기 제1 목표 운동 정보와 상기 제2 목표 운동 정보는 서로 다름 -; 및 상기 제1 목표 운동 정보 및 상기 제2 목표 운동 정보에 기반하여 상기 현재 블록에 대해 인코딩 처리 또는 디코딩 처리를 실행하는 단계를 포함한다.
Description
본 발명은 비디오 인코딩 및 디코딩에 관한 것인 바, 특히 삼각 예측 인코딩에 관한 것이다.
일반적으로 비디오 인코딩 방법은 예측, 변환, 양자화, 필터링, 엔트로피 인코딩 등의 프로세스를 포함할 수 있다. 예측 인코딩은 프레임 내 예측 인코딩 및 프레임 간 예측 인코딩을 포함할 수 있다. 프레임 간 예측 인코딩이란 현재 블록의 시간 영역 인접 블록(현재 블록과 다른 프레임 내에 위치함)의 재구축 픽셀 값을 이용하여 예측 인코딩을 실행하는 것을 의미한다. 프레임 내 예측 인코딩이란 현재 블록의 공간 영역 인접 블록(현재 블록과 동일한 프레임 내에 위치함)의 재구축 픽셀 값을 이용하여 예측 인코딩을 실행하는 것을 의미한다.
프레임 간 예측 인코딩에 있어서, 운동 벡터(Motion Vector, MV)을 사용하여 현재 프레임의 현재 블록과 참고 프레임의 참고 블록 사이의 상대 변위를 나타낼 수 있다. 예를 들면, 현재 프레임 A와 참고 프레임 B 사이에 강한 시간 영역 상관성이 존재할 경우, 현재 프레임 A의 현재 블록 A1을 전송 할 필요가 있으며, 참고 프레임 B 내에서 현재 블록 A1과 가장 일치한 참고 블록 B1을 검색하고, 현재 블록 A1과 참고 블록 B1 사이의 상대 변위를 현재 블록 A1의 운동 벡터로 확정할 수 있다.
물체의 가장자리에 대응하는 1개의 블록 내에 2개의 서로 다른 대상이 존재할 경우가 있으며, 예를 들면 전경의 물체와 배경이 동시에 존재하는 경우가 존재한다. 이러한 경우, 직사각형의 블록만을 이용하여 예측을 실행하면, 직사각형의 블록 내의 특정의 일부 대상에 대한 예측 효과가 좋지 않을 경우가 있으며, 인코딩 잔차가 상대적으로 커진다.
본 발명은 비디오 인코딩 및 디코딩 방법을 제공하는 바, 상기 방법은 비디오 인코더 또는 비디오 디코더에 의해 실행될 수 있으며, 또한 상기 방법은 현재 블록이 삼각형 기하학 분할 모드를 호출하기 위한 특정 조건을 충족시키는 동시에, 삼각형 기하학 분할 모드를 호출하는 것으로 결정되면, 현재 블록을 제1 삼각 서브 블록과 제2 삼각 서브 블록으로 분할하는 단계; 상기 제1 삼각 서브 블록의 제1 목표 운동 정보 및 상기 제2 삼각 서브 블록의 제2 목표 운동 정보를 취득하는 단계 - 상기 제1 목표 운동 정보와 상기 제2 목표 운동 정보는 서로 다름 -; 및 상기 제1 목표 운동 정보 및 상기 제2 목표 운동 정보에 기반하여 상기 현재 블록에 대해 인코딩 처리 또는 디코딩 처리를 실행하는 단계를 포함한다.
본 발명은 비디오 디코더를 제공하는 바, 당해 비디오 디코더는 프로세서 및 기계 판독 가능 기록 매체를 구비하며, 여기서, 상기 기계 판독 가능 기록 매체에는 상기 프로세서에 의해 실행 가능한 기계 실행 가능 명령이 기록되어 있으며, 상기 프로세서에 의해 상기 기계 실행 가능 명령이 실행될 때에, 상기의 방법이 실현된다.
본 발명은 비디오 인코더를 제공하는 바, 당해 비디오 인코더는 프로세서 및 기계 판독 가능 기록 매체를 구비하며, 여기서, 상기 기계 판독 가능 기록 매체에는 상기 프로세서에 의해 실행 가능한 기계 실행 가능 명령이 기록되어 있으며, 상기 프로세서에 의해 상기 기계 실행 가능 명령이 실행될 때에, 상기의 방법이 실현된다.
본 발명은 기계 판독 가능 기록 매체를 제공하고, 당해 기계 판독 가능 기록 매체에는 컴퓨터 명령이 기록되어 있으며, 상기 컴퓨터 명령이 프로세서에 의해 실행될 때에, 상기 프로세서가 상기의 방법을 실현하도록 한다.
도 1은 본 발명에 1실시 형태에 따른 비디오 인코딩 아키텍처의 개략도이다.
도 2는 본 발명에 1실시 형태에 따른 비디오 디코딩 방법의 플로우 챠트이다.
도 3은 본 발명에 1실시 형태에 따른 비디오 인코딩 방법의 플로우 챠트이다.
도 4a-도 4b는 본 발명에 1실시 형태에 따른 현재 블록의 분할 개략도이다.
도 5a-도 5c는 본 발명에 1실시 형태에 따른 후보 블록의 개략도이다.
도 6a-도 6c는 본 발명에 1실시 형태에 따른 분할 서브 블록의 개략도이다.
도 7a-도 7b는 본 발명에 1실시 형태에 따른 운동 정보 기억의 개략도이다.
도 8은 본 발명에 1실시 형태에 따른 비디오 디코더의 개략적인 구성도이다.
도 9는 본 발명에 1실시 형태에 따른 비디오 인코더의 개략적인 구성도이다.
도 2는 본 발명에 1실시 형태에 따른 비디오 디코딩 방법의 플로우 챠트이다.
도 3은 본 발명에 1실시 형태에 따른 비디오 인코딩 방법의 플로우 챠트이다.
도 4a-도 4b는 본 발명에 1실시 형태에 따른 현재 블록의 분할 개략도이다.
도 5a-도 5c는 본 발명에 1실시 형태에 따른 후보 블록의 개략도이다.
도 6a-도 6c는 본 발명에 1실시 형태에 따른 분할 서브 블록의 개략도이다.
도 7a-도 7b는 본 발명에 1실시 형태에 따른 운동 정보 기억의 개략도이다.
도 8은 본 발명에 1실시 형태에 따른 비디오 디코더의 개략적인 구성도이다.
도 9는 본 발명에 1실시 형태에 따른 비디오 인코더의 개략적인 구성도이다.
본 발명의 실시예에 사용되는 용어의 목적은 단지 특정 실시예를 설명하기 위한 것이며, 본 발명을 한정하려는 것이 아니다. 본 명세서 및 특허 청구의 범위에서 사용되는 "하나의”, "상기” 및 "당해” 등의 단수형은, 문맥이 다른 의미를 명확히 나타내지 않는 한, 복수형도 포함하는 것을 의도하고 있다. 본 명세서에 사용되는 "및/또는” 등의 용어는 하난 또는 복수가 리스트 된 관련 항목 중 임의의 하나 또는 모든 가능한 조합을 나타내는 것을 또한 이해해야 한다.
본 발명의 실시예에 있어서, 제1, 제2, 제3 등의 용어를 사용하여 다양한 정보를 설명하는 경우가 있지만, 이러한 정보는 이러한 용어에 의해 한정되지 않음을 이해해야 한다. 이러한 용어는 단지 동일한 타입의 정보를 서로 구별하기 위하여 사용된다. 예를 들면, 본 발명의 범위에서 일탈하지 않는 전제 하에서, 제1 정보는 제2 정보로 불릴 수도 있고, 마찬가지로 제2 정보는 제1 정보로 불릴 수도 있다. 한편, 사용되는 "만약”이라는 단어는 "...면”, "...경우” 또는 "...것에 응답하여”로 해석될 수 있다.
본 발명의 실시예는 이하의 개념에 관한 것일 수 있다.
프레임 내 예측(intra prediction) : 현재 블록의 공간 영역 인접 블록(현재 블록과 동일한 프레임에 위치함)의 재구축 픽셀 값을 이용하여 예측 인코딩을 실행한다. 이미 복수의 종류의 프레임 내 예측 모드가 제안되었다. DC 모드 이외의 각 프레임 내 예측 모드는 모두 텍스처 방향에 대응된다. 현재 블록의 예측 픽셀은 그 예측 방향에 상의 인접 블록의 경계 재구축 픽셀 값으로부터 생성할 수 있다. 예를 들면, 이미지의 텍스처가 수평 형상을 나타내면, 수평 예측 모드를 선택하여 이미지 정보를 적당히 예측할 수 있다.
프레임 간 예측(inter prediction) : 현재 블록의 시간 영역 인접 블록(현재 블록과는 다른 프레임에 위치함)의 재구축 픽셀 값을 이용하여 예측 인코딩을 실행한다. 주요한 비디오 인코딩 표준의 프레임 간 예측 부분은 모두 블록에 기반한 운동 보상 기술을 채용한다. 여기서, 현재 블록에 대해 참고 프레임 중에서 당해 현재 블록과 가장 일치한 블록을 검색하며, 당해 프로세스는 운동 추정(Motion Estimation, ME)이라고 불린다.
운동 벡터(Motion Vector, MV) : 프레임 간 예측 인코딩에서 운동 벡터를 사용하여 현재 인코딩 블록과 그 참고 프레임 내의 가장 일치한 블록 사이의 상대 변위를 나타낸다. 분할된 각 블록에는 모두 디코딩 측에 전송되는 해당하는 운동 벡터가 있다. 각 블록의 운동 벡터에 대해 개별적으로 인코딩 및 전송을 실행할 경우, 특히, 작은 사이즈의 블록으로 분할하여 실행할 경우, 매우 많은 비트를 소비할 필요가 있다. 운동 벡터를 인코딩 하기 위하여 사용되는 비트수를 절감하기 위하여, 비디오 인코딩에서는 인접 이미지 블록 사이의 공간 상관성을 이용하여, 인접하는 이미 인코딩 된 블록의 운동 벡터에 기반하여 현재 인코딩 대기 블록의 운동 벡터에 대해 예측을 실행한 후, 예측 차이에 대해 인코딩을 실행한다. 이렇게 하여, 운동 벡터를 나타내는 비트수를 효과적으로 절감할 수 있다. 현재 이미지 블록의 운동 벡터를 인코딩 하는 프로세스에 있어서, 일반적으로 먼저 인접하는 이미 인코딩 된 블록의 운동 벡터를 사용하여, 현재 매크로 블록의 운동 벡터를 예측한 후, 운동 벡터의 예측 값(MVP, Motion Vector Prediction)과 운동 벡터의 진정한 추정치 사이의 차이 값(MVD, Motion Vector Difference)에 대해 인코딩을 실행함으로써, MV의 인코딩 비트수를 효과적으로 줄인다.
운동 정보(Motion Information) : 운동 벡터가 현재 이미지 블록의 어느 참고 프레임 내의 어느 블록에 대한 변위를 나타내기 때문에, 대상이 되는 이미지 블록의 정보를 정확하게 취득하기 위하여, 운동 벡터 이외에, 참고 프레임 인덱스를 이용하여 현재 이미지 블록이 어느 참고 프레임을 사용하는지를 나타낼 필요가 있다. 비디오 인코딩 기술에 있어서, 현재 프레임에 대해 일반적으로 1개의 참고 프레임 리스트를 구축하고, 또한 참고 프레임 인덱스를 이용하여 현재 이미지 블록이 당해 참고 프레임 리스트 내의 어느 참고 프레임을 이용할지를 나타낼 수 있다. 한편, 다수의 인코딩 기술은 또한 복수의 참고 프레임 리스트를 지원하기 위하여, 또한 1개의 인덱스를 이용하여 어느 참고 프레임 리스트를 사용할지를 나타낼 필요가 있으며, 당해 인덱스가 참고 방향이라고 불릴 수 있다. 비디오 인코딩 기술에 있어서, 운동 벡터, 참고 프레임 인덱스, 참고 방향 등의 운동에 관련된 인코딩 정보를 운동 정보로 총칭할 수 있다.
속도 왜곡 최적화(Rate-Distortion Optimized, RDO) : 비디오 인코딩 효율을 평가하기 위하여는 일반적으로 보트 속도 및 피크 신호 대 잡음비(Peak Signal to Noise Ratio, PSNR)와 같은 두 가지 중요한 지표가 있다. 비트 스트림이 작을 수록, 압축률이 높고, PSNR가 클 수록, 재구축 이미지의 품질이 향상된다. 일반적으로 양자에 대한 종합 평가에 기반하여 모드를 선택한다. 예를 들면, J(mode)=D+λ*R과 같은 식을 통해, 하나의 모드에 대응하는 비용을 계산할 수 있다. 여기서, D는 왜곡(Distortion)을 나타내는 바, 일반적으로는 재구축 이미지 블록과 소스 이미지 블록 사이의 차이 값의 제곱 차이 (SSE) 지표로 측정할 수 있다. λ은 라그랑 지 승수를 나타내고, R은 당해 모드에서의 이미지 블록의 인코딩에 필요한 실제의 비트수를 나타내는 바, 모드 정보, 운동 정보, 잔차 등의 인코딩에 필요한 합계 비트를 포함한다. RDO 원칙을 사용하여 인코딩 모드의 선택할 경우, 일반적으로 양호한 인코딩 성능을 확보할 수 있다.
도 1은 비디오 인코딩의 아키텍처를 개략적으로 나타내며, 본 발명의 실시예의 인코딩 측의 처리 흐름을 실현할 수 있다. 당해 비디오 인코딩의 아키텍처는 프레임 내 예측 모듈, 운동 추정/운동 보상 모듈, 참고 프레임 버퍼, 인 루프 필터링 모듈, 재구축 모듈, 변환 모듈, 양자화 모듈, 역 변환 모듈, 역 양자화 모듈, 엔트로피 인코딩 등을 포함할 수 있다. 마찬가지로, 당해 비디오 인코딩의 아키텍처에 대응하는 비디오 디코딩의 아키텍처는 본 발명의 실시예의 디코딩 측의 처리 흐름을 실현할 수 있다.
이하, 도면을 참조하여 본 발명의 몇몇의 실시예를 상세하게 설명한다.
실시예 1
도 2은 본 발명의 실시예에 관한 비디오 디코딩 방법의 플로우 챠트이다. 당해 방법은 디코딩 측에 적용되며, 단계201∼203을 포함할 수 있다.
단계201에 있어서, 현재 블록이 삼각형 기하학 분할 모드를 호출하기 위한 특정 조건을 충족시키는 동시에, 삼각형 기하학 분할 모드를 호출하는 것으로 결정되면, 비디오 디코더가 현재 블록을 제1 삼각 서브 블록과 제2 삼각 서브 블록으로 분할하는 바, 다시 말하면 현재 블록을 2개의 삼각 서브 블록으로 분할할 수 있다.
단계202에 있어서, 비디오 디코더가 제1 삼각 서브 블록의 제1 목표 운동 정보 및 제2 삼각 서브 블록의 제2 목표 운동 정보를 취득하며, 여기서 당해 제1 목표 운동 정보는 당해 제2 목표 운동 정보와 다를 수 있다.
단계203에 있어서, 비디오 디코더가 제1 목표 운동 정보 및 제2 목표 운동 정보에 기반하여 현재 블록에 대해 디코딩 처리를 실행한다.
구체적으로, 비디오 디코더는 인코딩 된 비트 스트림을 수신한 후, 제1 목표 운동 정보 및 제2 목표 운동 정보에 기반하여 수신한 인코딩 된 비트 스트림 중의 현재 블록에 대응하는 인코딩 된 데이터에 대해 디코딩을 실행할 수 있다.
본 발명의 실시예에 있어서, 현재 블록이 삼각형 기하학 분할 모드를 호출하기 위한 특정 조건을 충족시키는 동시에, 삼각형 기하학 분할 모드를 호출하는 것으로 결정되면, 현재 블록을 제1 삼각 서브 블록과 제2 삼각 서브 블록으로 분할함으로써, 제1 삼각 서브 블록의 제1 목표 운동 정보 및 제2 삼각 서브 블록의 제2 목표 운동 정보를 이용하여 현재 블록에 대해 예측을 실행하기 때문에, 예측의 정확성을 향상시키고, 예측 성능을 향상시키며, 인코딩 성능을 향상시키고, 인코딩 잔차를 줄일 수 있다.
실시예 2
도 3은 본 발명의 실시예에 따른 비디오 인코딩 방법의 플로우 챠트이며, 당해 방법은 인코딩 측에 적용되며, 단계301∼303을 포함할 수 있다.
단계301에 있어서, 현재 블록이 삼각형 기하학 분할 모드를 호출하기 위한 특정 조건을 충족시키는 동시에, 삼각형 기하학 분할 모드를 호출하는 것으로 결정되면, 비디오 인코더 현재 블록을 제1 삼각 서브 블록과 제2 삼각 서브 블록으로 분할하는 바, 다시 말하면 현재 블록을 2개의 삼각 서브 블록으로 분할할 수 있다.
단계302에 있어서, 비디오 인코더가 제1 삼각 서브 블록의 제1 목표 운동 정보 및 제2 삼각 서브 블록의 제2 목표 운동 정보를 취득하는 바, 당해 제1 목표 운동 정보는 당해 제2 목표 운동 정보와 다를 수 있다.
단계303에 있어서, 비디오 인코더가 제1 목표 운동 정보 및 제2 목표 운동 정보에 기반하여 현재 블록에 대해 인코딩 처리를 실행한다.
구체적으로, 비디오 인코더는 제1 목표 운동 정보 및 제2 목표 운동 정보에 기반하여 현재 블록에 대응하는 비트 스트림에 대해 인코딩을 실행하여 인코딩 된 비트 스트림을 얻을 수 있다.
본 발명의 실시예에 있어서, 현재 블록이 삼각형 기하학 분할 모드를 호출하기 위한 특정 조건을 충족시키는 동시에, 삼각형 기하학 분할 모드를 호출하는 것으로 결정되면, 현재 블록을 제1 삼각 서브 블록과 제2 삼각 서브 블록으로 분할함으로써, 제1 삼각 서브 블록의 제1 목표 운동 정보 및 제2 삼각 서브 블록의 제2 목표 운동 정보를 이용하여 현재 블록에 대해 예측을 실행하기 때문에, 예측의 정확성을 향상시키고, 예측 성능을 향상시키며, 인코딩 성능을 향상시키고, 인코딩 잔차를 줄일 수 있다.
실시예 3
단계201 및 단계301에 있어서, 비디오 디코더/비디오 인코더는 현재 블록이 삼각형 기하학 분할 모드를 호출하기 위한 특정 조건을 충족시키는지 여부를 판단하고, 충족시키면, 현재 블록을 제1 삼각 서브 블록과 제2 삼각 서브 블록으로 분할하고, 충족시키지 않으면, 현재 블록을 제1 삼각 서브 블록과 제2 삼각 서브 블록으로 분할하지 않는다. 현재 블록이 당해 특정 조건을 충족시키는지 여부를 판단하는 것은, 현재 블록이 위치하고 있는 현재 프레임의 프레임 타입, 현재 블록의 운동 정보 모드 및/또는 현재 블록의 사이즈 정보가 특정 조건을 충족시키는지 여부를 판단하는 것을 포함할 수 있다.
일 예에 있어서, 현재 블록이 위치하고 있는 현재 프레임의 프레임 타입이 B 프레임 또는 비 I 프레임일 경우, 프레임 타입이 특정 조건을 충족시키는 것으로 확정할 수 있다. 또는 현재 블록이 위치하고 있는 현재 프레임의 프레임 타입이 프레임 내 블록 카피를 허가하면, 프레임 타입이 특정 조건을 충족시키는 것으로 확정할 수 있다.
일 예에 있어서, 현재 블록의 운동 정보 모드가 병합 모드일 경우, 운동 정보 모드가 특정 조건을 충족시키는 것으로 확정할 수 있다. 물론, 현재 블록의 운동 정보 모드가 다른 타입의 모드 (예를 들면 고급 운동 벡터 예측(Advanced Motion Vector Prediction, AMVP)모드 등)일 경우에도, 운동 정보 모드가 특정 조건을 충족시키는 것으로 확정할 수 있다.
일 예에 있어서, 현재 블록의 폭이 제1 수치 이상인 동시에 현재 블록의 높이가 제2 수치 이상일 경우, 현재 블록의 사이즈 정보가 특정 조건을 충족시키는 것으로 확정할 수 있다. 또는 현재 블록의 폭이 제3 수치 이상이거나, 또는 현재 블록의 높이가 제4 수치 이상일 경우, 현재 블록의 사이즈 정보가 특정 조건을 충족시키는 것으로 확정할 수 있다. 또는 현재 블록의 폭이 제5 수치 이상인 동시에 제6 수치 이하이며, 동시에, 현재 블록의 높이가 제7 수치 이상인 동시에 제8 수치 이하일 경우, 현재 블록의 사이즈 정보가 특정 조건을 충족시키는 것으로 확정할 수 있다. 또는 현재 블록의 폭이 제9 수치 이상인 동시에 제10 수치 이하거나, 또는 현재 블록의 높이가 제11 수치 이상인 동시에 제12 수치 이하일 경우, 현재 블록의 사이즈 정보가 특정 조건을 충족시키는 것으로 확정할 수 있다. 또는 현재 블록의 폭이 제13 수치 이상인 동시에 제14 수치 이하이며, 동시에, 현재 블록의 높이가 제15 수치 이상인 동시에 제16 수치 이하이며, 동시에, 현재 블록의 면적이 제17 수치 이상인 동시에 제18 수치 이하일 경우, 현재 블록의 사이즈 정보가 특정 조건을 충족시키는 것으로 확정할 수 있다.
상기 각 수치는 모두 경험에 따라 설정할 수 있는 바, 예를 들면 8, 16, 32, 64, 128 등으로 설정할 수 있다. 가능한 일 실현 형태에 있어서, 제1 수치는 8이고, 제2 수치는 8이며, 제3 수치는 8이고, 제4 수치는 8이며, 제5 수치는 8이고, 제6 수치는 128이며, 제7 수치는 8이고, 제8 수치는 128이며, 제9 수치는 8이고, 제10 수치는 32이며, 제11 수치는 8이고, 제12 수치는 32이며, 제13 수치는 8이고, 제14 수치는 64이며, 제15 수치는 8이고, 제16 수치는 64이며, 제17 수치는 16이고, 제18 수치는 1024일 수 있다.
이하, 단계201 및 단계301에 관하여, 몇몇의 구체적인 예를 설명한다.
예 1에 있어서, 현재 블록이 이하의 모든 조건을 충족시키면, 현재 블록을 제1 삼각 서브 블록과 제2 삼각 서브 블록으로 분할하고, 그렇지 않으면, 현재 블록을 제1 삼각 서브 블록과 제2 삼각 서브 블록으로 분할하지 않는다. 당해 모든 조건은,
현재 프레임이 B 프레임인 바, 즉 현재 프레임이 2개의 참고 프레임 리스트가 존재하는 것을 허가하는 것;
현재 블록의 운동 정보 모드가 병합 모드인 것; 및
현재 블록의 면적(폭*높이)이 N*N이상인 바, 예를 들면N이 8인 것을 포함한다.
예 2에 있어서, 현재 블록이 이하의 모든 조건을 충족시키면, 현재 블록을 제1 삼각 서브 블록과 제2 삼각 서브 블록으로 분할하고, 그렇지 않으면, 현재 블록을 제1 삼각 서브 블록과 제2 삼각 서브 블록으로 분할하지 않는다. 당해 모든 조건은,
현재 프레임이 비 I 프레임인 바, 즉 현재 프레임이 적어도 1개의 참고 프레임 리스트가 존재하는 것을 허가하는 것;
현재 블록의 운동 정보 모드가 병합 모드인 것; 및
현재 블록의 면적(폭*높이)이 N*N이상인 바, 예를 들면 N이 8인 것을 포함한다.
예 3에 있어서, 현재 블록이 이하의 모든 조건을 충족시키면, 현재 블록을 제1 삼각 서브 블록과 제2 삼각 서브 블록으로 분할하고, 그렇지 않으면, 현재 블록을 제1 삼각 서브 블록과 제2 삼각 서브 블록으로 분할하지 않는다. 당해 모든 조건은,
현재 프레임이 B 프레임인 바, 즉 현재 프레임이 2개의 참고 프레임 리스트가 존재하는 것을 허가하는 것;
현재 블록의 운동 정보 모드가 병합 모드인 것; 및
현재 블록의 폭 또는 높이가 N이상인 바, 예를 들면 N이 8인 것을 포함한다.
예 4에 있어서, 현재 블록이 이하의 모든 조건을 충족시키면, 현재 블록을 제1 삼각 서브 블록과 제2 삼각 서브 블록으로 분할하고, 그렇지 않으면, 현재 블록을 제1 삼각 서브 블록과 제2 삼각 서브 블록으로 분할하지 않는다. 당해 모든 조건은,
현재 프레임이 비 I 프레임인 바, 즉 현재 프레임이 적어도 1개의 참고 프레임 리스트가 존재하는 것을 허가하는 것;
현재 블록의 운동 정보 모드가 병합 모드인 것; 및
현재 블록의 폭 또는 높이가 N이상인 바, 예를 들면 N이 8인 것을 포함한다.
예 5에 있어서, 현재 블록이 이하의 모든 조건을 충족시키면, 현재 블록을 제1 삼각 서브 블록과 제2 삼각 서브 블록으로 분할하고, 그렇지 않으면, 현재 블록을 제1 삼각 서브 블록과 제2 삼각 서브 블록으로 분할하지 않는다. 당해 모든 조건은,
현재 프레임이 비 I 프레임인 바, 즉 현재 프레임이 적어도 1개의 참고 프레임 리스트가 존재하는 것을 허가하는 것;
현재 블록의 운동 정보 모드가 병합 모드인 것;
현재 블록의 폭 또는 높이가 N이상인 바, 예를 들면 N이 8인 것; 및
현재 블록의 폭 또는 높이가 M이하인 바, 예를 들면 M이 128인 것을 포함한다.
예 6에 있어서, 현재 블록이 이하의 모든 조건을 충족시키면, 현재 블록을 제1 삼각 서브 블록과 제2 삼각 서브 블록으로 분할하고, 그렇지 않으면, 현재 블록을 제1 삼각 서브 블록과 제2 삼각 서브 블록으로 분할하지 않는다. 당해 모든 조건은,
현재 프레임이 비 I 프레임인 바, 즉 현재 프레임이 적어도 1개의 참고 프레임 리스트가 존재하는 것을 허가하는 것;
현재 블록의 운동 정보 모드가 병합 모드인 것;
현재 블록의 폭 또는 높이가 N이상인 바, 예를 들면 N이 8인 것; 및
현재 블록의 면적 (즉 폭*높이)이 M*M이하인 바, 예를 들면 M이 32인 것을 포함한다.
예 7에 있어서, 현재 블록이 이하의 모든 조건을 충족시키면, 현재 블록을 제1 삼각 서브 블록과 제2 삼각 서브 블록으로 분할하고, 그렇지 않으면, 현재 블록을 제1 삼각 서브 블록과 제2 삼각 서브 블록으로 분할하지 않는다. 당해 모든 조건은,
현재 프레임이 비 I 프레임인 바, 즉 현재 프레임이 적어도 1개의 참고 프레임 리스트가 존재하는 것을 허가하는 것;
현재 블록의 운동 정보 모드가 병합 모드인 것;
현재 블록의 폭이 [Wmin, Wmax]의 범위 내에 있는 바, 예를 들면 WmiN이 8이며, Wmax는 예를 들면 64인 것;
현재 블록의 높이가 [Hmin, Hmax]의 범위 내에 있는 바, 예를 들면 HmiN이 8이며, Hmax는 예를 들면 64인 것; 및
현재 블록의 면적 (즉 폭*높이)이 [Smin, Smax]의 범위 내에 있는 바, 예를 들면 Smin이 16이고, Smax가 1024인 것을 포함한다.
예 8에 있어서, 예 1 내지 예 7 중 임의의 하나의 예에 대해, 프레임 타입에 관한 한정 조건을 현재 프레임이 프레임 내 블록 카피를 채용하는 것을 허가하는 것으로 수정할 수 있다 (즉 현재 프레임의 이미 디코딩 된 재구축 블록 중에서 현재 블록과 유사한 블록을 검색하는 것을 허가하는 것). 예를 들면, 예 1에 대한 수정후의 조건은,
현재 프레임이 프레임 내 블록 카피를 채용하는 것을 허가하는 것;
현재 블록의 운동 정보 모드가 병합 모드인 것; 및
현재 블록의 면적(폭*높이)이 N*N이상인 바, 예를 들면 N이 8인 것을 포함한다.
예 9에 있어서, 예 1 내지 예 8 중 임의의 1개의 예에 대해, 운동 정보 모드에 관한 한정 조건을, 현재 블록의 운동 정보 모드가 병합 모드인 동시에, 서브 블록 분할 모드, 프레임 내 및 프레임 간 관절 예측에 기반한 멀티 가설 모드, 인코딩 운동 정보 차이의 병합 모드 중 임의의 하나를 채용하지 않는 것으로 수정할 수 있다. 즉, 현재 블록에 대해, 서브 블록 분할 모드, 프레임 내 및 프레임 간 관절 예측에 기반한 멀티 가설 모드, 인코딩 운동 정보 차이의 병합 모드 중 임의의 하나의 모드를 온 시키면, 현재 블록 불이 특정 조건을 충족시키는 것으로 확정되기 때문에, 현재 블록을 제1 삼각 서브 블록과 제2 삼각 서브 블록으로 분할하지 않는다.
실시예 4
단계201 및 단계301에 있어서, 현재 블록이 삼각형 기하학 분할 모드를 호출하기 위한 특정 조건을 충족시키는 동시에, 삼각형 기하학 분할 모드를 호출하는 것으로 결정되면, 비디오 디코더/비디오 인코더는 현재 블록을 제1 삼각 서브 블록과 제2 삼각 서브 블록으로 분할한다. 구체적으로, 도 4a에 나타낸 바와 같이, 제1 대각선 방식 (즉 수평 우측을 향하는 방향과 예각 (예를 들면 45도의 끼인각)을 형성하는 대각선)에 따라 현재 블록을 제1 삼각 서브 블록과 제2 삼각 서브 블록으로 분할할 수 있다. 또는 도 4b에 나타낸 바와 같이, 제2 대각선 방식 (즉 수평 우측을 향하는 방향과 둔각 (예를 들면 135도의 끼인각)을 형성하는 대각선)에 따라 현재 블록을 제1 삼각 서브 블록과 제2 삼각 서브 블록으로 분할할 수 있다.
예를 들면, 디코딩 측/인코딩 측에 있어서, 이하의 방식을 채용하여 현재 블록을 제1 삼각 서브 블록과 제2 삼각 서브 블록으로 분할할 수 있다.
방식 1에 있어서, 비디오 인코더가 기본적으로 제1 대각선 방식에 따라 현재 블록의 분할을 실행하는 것을 프로토콜 합의하고, 비디오 디코더가 기본적으로 제1 대각선 방식에 따라 현재 블록의 분할을 실행하는 것을 프로토콜 합의한다. 이에 따라 비디오 인코더는 제1 대각선 방식에 따라 현재 블록을 제1 삼각 서브 블록과 제2 삼각 서브 블록으로 분할할 수 있고, 비디오 디코더는 제1 대각선 방식에 따라 현재 블록을 제1 삼각 서브 블록과 제2 삼각 서브 블록으로 분할할 수 있다.
방식 2에 있어서, 비디오 인코더가 기본적으로 제2 대각선 방식에 따라 현재 블록의 분할을 실행하는 것을 프로토콜 합의하고, 비디오 디코더가 기본적으로 제2 대각선 방식에 따라 현재 블록의 분할을 실행하는 것을 프로토콜 합의한다. 이에 따라 비디오 인코더는 제2 대각선 방식에 따라 현재 블록을 제1 삼각 서브 블록과 제2 삼각 서브 블록으로 분할할 수 있고, 비디오 디코더는 제2 대각선 방식에 따라 현재 블록을 제1 삼각 서브 블록과 제2 삼각 서브 블록으로 분할할 수 있다.
방식 3에 있어서, 비디오 인코더가 제1 대각선 방식에 따른 분할에 대응하는 속도 왜곡 비용 1 및 제2 대각선 방식에 따른 분할에 대응하는 속도 왜곡 비용 2를 확정한다. 속도 왜곡 비용 1이 속도 왜곡 비용 2보다 작으면, 비디오 인코더는 제1 대각선 방식에 따라 현재 블록을 제1 삼각 서브 블록과 제2 삼각 서브 블록으로 분할한다. 비디오 인코더가 디코딩 측에 송신한 인코딩 된 비트 스트림은 제1 대각선 방식에 따라 현재 블록의 분할을 실행하도록 지시하기 위한 제1 지시 정보를 포함한다. 비디오 디코더는 인코딩 측으로부터의 인코딩 된 비트 스트림을 해석하며, 인코딩 된 비트 스트림이 제1 지시 정보를 포함하면, 제1 대각선 방식에 따라 현재 블록을 제1 삼각 서브 블록과 제2 삼각 서브 블록으로 분할한다. 다른 한편, 속도 왜곡 비용 1이 속도 왜곡 비용 2보다 크면, 비디오 인코더는 제2 대각선 방식에 따라 현재 블록을 제1 삼각 서브 블록과 제2 삼각 서브 블록으로 분할한다. 비디오 인코더가 디코딩 측에 송신한 인코딩 된 비트 스트림은 제2 대각선 방식에 따라 현재 블록의 분할을 실행하도록 지시하기 위한 제2 지시 정보를 포함한다. 비디오 디코더는 인코딩 측으로부터의 인코딩 된 비트 스트림을 해석하며, 인코딩 된 비트 스트림이 제2 지시 정보를 포함하면, 제2 대각선 방식에 따라 현재 블록을 제1 삼각 서브 블록과 제2 삼각 서브 블록으로 분할한다.
실시예 5
단계202 및 단계302에 있어서, 비디오 디코더/비디오 인코더는 이하의 방식을 채용하여 제1 삼각 서브 블록의 제1 목표 운동 정보 및 제2 삼각 서브 블록의 제2 목표 운동 정보를 취득할 수 있다.
방식 1에 있어서, 제1 후보 운동 정보 리스트를 구축하며, 당해 제1 후보 운동 정보 리스트는 복수의 후보 운동 정보를 포함할 수 있고, 당해 제1 후보 운동 정보 리스트 내에서 1개의 후보 운동 정보를 제1 삼각 서브 블록의 제1 목표 운동 정보로 선택하고, 당해 제1 후보 운동 정보 리스트 내에서 제1 목표 운동 정보를 배제하며, 당해 제1 후보 운동 정보 리스트 내의 나머지 후보 운동 정보 중에서 1개의 후보 운동 정보를 제2 삼각 서브 블록의 제2 목표 운동 정보로 선택함으로써, 당해 제1 목표 운동 정보와 당해 제2 목표 운동 정보가 다르게 확보할 수 있다.
일 예에 있어서, 제1 후보 운동 정보 리스트를 구축하기 위하여, 현재 블록에 대응하는 각 후보 블록을 취득하고, 각 후보 블록의 운동 정보를 제1 후보 운동 정보 리스트 내에 추가할 수 있으며, 여기서, 후보 블록이 단일 방향 예측 블록일 경우, 후보 블록의 운동 정보는 후보 블록의 단일 방향 운동 정보를 포함하고, 후보 블록이 쌍방향 예측 블록일 경우, 후보 블록의 운동 정보는 후보 블록의 제1 운동 정보 (즉 후보 블록의 L0 운동 정보) 및/또는 후보 블록의 제2 운동 정보 (즉 후보 블록의 L1 운동 정보)을 포함하지만, 후보 블록의 제1 운동 정보와 후보 블록의 제2 운동 정보의 가중 운동 정보를 포함하지 않는다.
예를 들면, 도 5a를 참조하면, 나타내어 있는 7개의 위치의 블록을 현재 블록에 대응하는 후보 블록으로 설정할 수 있으며, 여기서, 블록 1, 블록 2, 블록 3, 블록 4 및 블록 5은 현재 프레임 내의 후보 블록 (즉 공간 영역 후보 블록임)이고, 블록 6 및 블록 7은 참고 프레임 내의 후보 블록 (즉 시간 영역 후보 블록임)이다. 이 7개의 위치의 후보 블록의 운동 정보를 수집하여 제1 후보 운동 정보 리스트를 구축할 수 있다. 제1 후보 운동 정보 리스트의 길이가 소정의 최대 길이 MaxL (예를 들면 7임)에 도달하지 않으면, 제1 후보 운동 정보 리스트의 제일 뒤에 몇몇의 이용 가능한 공간 영역 비인접 서브 블록의 운동 정보 (즉 공간 영역 비인접 서브 블록 도 현재 블록에 대응하는 후보 블록으로 함)를 추가할 수 있다. 공간 영역 비인접 서브 블록이란, 현재 블록과 경계선 또는 경계점이 없는 서브 블록을 나타낸다.
일 예에 있어서, 후보 블록의 운동 정보를 수집한 후에, 단일 방향 운동 정보, 쌍방향 예측의 L0 운동 정보, 쌍방향 예측의 L1 운동 정보의 순서 또는 쌍방향 예측의 L0 운동 정보, 쌍방향 예측의 L1 운동 정보, 단일 방향 운동 정보의 순서에 따라, 수집한 운동 정보를 정렬하고, 정렬 결과에 따라 수집한 운동 정보를 1개씩 제1 후보 운동 정보 리스트 내에 추가한다.
일 예에 있어서, 제1 후보 운동 정보 리스트 내에 운동 정보를 추가할 때마다, 제1 후보 운동 정보 리스트 내의 후보 운동 정보의 수량이 상한치 M에 도달하였는지 여부를 판단할 수 있다. 상한치 M에 도달했을 경우, 운동 정보의 추가를 거부하고, 운동 정보의 추가 프로세스를 종료한다. 상한치 M에 도달하지 않았을 경우, 운동 정보의 추가를 계속할 수 있고, 현재의 운동 정보의 추가가 완료된 후에, 계속하여 제1 후보 운동 정보 리스트 내에 다음의 하나의 운동 정보를 추가한다. 상한치 M의 값은 경험에 따라 설정할 수 있는 바, 예를 들면 5이다.
일 예에 있어서, 제1 후보 운동 정보 리스트 내에 운동 정보를 추가할 때마다, 당해 운동 정보와 제1 후보 운동 정보 리스트 내의 이미 존재하는 운동 정보가 중복되는지 여부를 판단할 수 있고, 중복되면, 당해 운동 정보를 제1 후보 운동 정보 리스트 내에 추가하는 것을 거부하고, 중복되지 않으면, 당해 운동 정보를 제1 후보 운동 정보 리스트 내에 추가함으로써, 제1 후보 운동 정보 리스트 내에 동일한 2개의 운동 정보가 존재하는 것을 회피할 수 있다. 또는 추가 대기의 운동 정보가 제1 후보 운동 정보 리스트 내의 이미 존재하는 운동 정보와 중복되는지 여부를 판단하지 않고, 직접 당해 운동 정보를 제1 후보 운동 정보 리스트 내에 추가할 수 있다.
일 예에 있어서, 수집한 모든 운동 정보를 전부 제1 후보 운동 정보 리스트 내에 추가한 후, 제1 후보 운동 정보 리스트 내의 후보 운동 정보의 수량이 상한치 M보다 작으면, 제로 운동 정보를 사용하여 제1 후보 운동 정보 리스트를 충전할 수 있다.
일 예에 있어서, 제1 후보 운동 정보 리스트를 구축할 때에, 현재 블록의 후보 블록의 운동 정보를 수집할 때마다, 상기 후보 블록의 운동 정보가 이미 현재 블록에 의해 수집된 운동 정보와 동일한지 여부를 비교하지 않고, 직접 상기 후보 블록의 운동 정보를 수집할 수 있다.
이하, 방식 1안의 제1 후보 운동 정보 리스트를 구축하는 몇몇의 예를 설명한다.
예 1에 있어서, 현재 블록에 대응하는 후보 블록 중에서, 도 5a에 나타낸 위치 순서에 따라 운동 정보 (예를 들면 운동 벡터)를 취득한 후, 단일 방향 운동 벡터, 쌍방향 예측의 L0 운동 벡터, 쌍방향 예측의 L1 운동 벡터(쌍방향 예측이 없는 L0 운동 벡터와 L1 운동 벡터의 평균치)의 순서에 따라, 취득한 운동 정보를 정렬하고, 정렬 결과에 따라 취득한 운동 정보를 1개씩 제1 후보 운동 정보 리스트 내에 추가한다. 충전 프로세스에 있어서, 제1 후보 운동 정보 리스트 내의 후보 운동 정보의 수량이 M (예를 들면 5임)에 도달하면, 충전을 정지한다. 충전 프로세스에 있어서, 제1 후보 운동 정보 리스트 내에 동일한 운동 정보가 없도록 확보하기 위하여, 중복 체크를 계속 실행 할 필요가 있다. 당해 충전 프로세스가 완료된 후에 당해 후보 운동 정보의 수량이 M보다 작으면, 제로 운동 벡터를 사용하여 충전한다.
예 2에 있어서, 현재 블록에 대응하는 후보 블록 중에서, 도 5a에 나타낸 위치 순서에 따라 운동 정보 (예를 들면 운동 벡터)를 취득한 후, 단일 방향 운동 벡터, 쌍방향 예측의 L0 운동 벡터, 쌍방향 예측의 L1 운동 벡터(쌍방향 예측이 없는 L0 운동 벡터와 L1 운동 벡터의 평균치)의 순서에 따라, 취득한 운동 정보를 정렬하고, 정렬 결과에 따라 취득한 운동 정보를 1개씩 제1 후보 운동 정보 리스트 내에 추가한다. 충전 프로세스에 있어서, 제1 후보 운동 정보 리스트 내의 후보 운동 정보의 수량이 M (예를 들면 5임)에 도달하면, 운동 정보의 충전 프로세스를 정지한다. 충전 프로세스에 있어서, 제1 후보 운동 정보 리스트 내의 운동 정보에 대해 중복 체크를 실행할 필요가 없다. 당해 충전 프로세스가 완료된 후에 당해 후보 운동 정보의 수량이 M보다 작으면, 제로 운동 벡터를 사용하여 충전한다.
예 3에 있어서, 현재 블록에 대응하는 후보 블록 중에서, 도 5a에 나타낸 위치 순서에 따라 운동 정보 (예를 들면 운동 벡터)를 취득한 후, 쌍방향 예측의 L0 운동 벡터, 쌍방향 예측의 L1 운동 벡터, 단일 방향 운동 벡터(쌍방향 예측이 없는 L0 운동 벡터와 L1 운동 벡터의 평균치)의 순서에 따라, 취득한 운동 정보를 정렬하고, 정렬 결과에 따라 취득한 운동 정보를 1개씩 제1 후보 운동 정보 리스트 내에 추가한다. 충전 프로세스에 있어서, 제1 후보 운동 정보 리스트 내의 후보 운동 정보의 수량이 M (예를 들면 5임)에 도달하면, 충전을 정지한다. 충전 프로세스에 있어서, 제1 후보 운동 정보 리스트 내에 동일한 운동 정보가 없도록 확보하기 위하여, 중복 체크를 계속 실행 할 필요가 있다. 당해 충전 프로세스가 완료된 후에 당해 후보 운동 정보의 수량이 M보다 작으면, 제로 운동 벡터를 사용하여 충전한다.
예 4에 있어서, 현재 블록에 대응하는 후보 블록 중에서, 도 5a에 나타낸 위치 순서에 따라 운동 정보 (예를 들면 운동 벡터)를 취득한다. 후보 블록이 단일 방향 예측 블록일 경우, 즉 후보 블록이 단일 방향 운동 정보를 채용할 경우, 직접 단일 방향 운동 정보를 순서에 따라 제1 후보 운동 정보 리스트 내에 추가한다. 후보 블록이 쌍방향 예측 블록일 경우, 즉 후보 블록이 쌍방향 운동 정보를 채용할 경우, L0 운동 정보 또는 L1 운동 정보를 선택하여 순서에 따라 제1 후보 운동 정보 리스트 내에 추가한다. 충전 프로세스에 있어서, 제1 후보 운동 정보 리스트 내의 후보 운동 정보의 수량이 M (예를 들면 5임)에 도달하면, 충전을 정지한다. 충전 프로세스에 있어서, 제1 후보 운동 정보 리스트 내에 동일한 운동 정보가 없도록 확보하기 위하여, 중복 체크를 계속 실행 할 필요가 있다. 당해 충전 프로세스가 완료된 후에 당해 후보 운동 정보의 수량이 M보다 작으면, 제로 운동 벡터를 사용하여 충전한다.
예 5에 있어서, 도 5a에 나타낸 모든 후보 블록을 순회한 후에 구축된 제1 후보 운동 정보 리스트의 길이가 소정의 최대 길이 MaxL (예를 들면 7임)에 도달하지 않으면, 당해 제1 후보 운동 정보 리스트의 제일 뒤에 몇몇의 이용 가능한 공간 영역 비인접 서브 블록의 운동 정보를 더 추가하며, 여기서, 공간 영역 비인접 서브 블록은 현재 블록과 경계선 또는 경계점이 없는 서브 블록을 가리킨다.
예 6에 있어서, 현재 블록에 대응하는 후보 블록 중에서, 도 5a에 나타낸 위치 순서에 따라 운동 정보 (예를 들면 운동 벡터)를 취득한 후, 단일 방향 운동 벡터, 쌍방향 예측의 L0 운동 벡터, 쌍방향 예측의 L1 운동 벡터(쌍방향 예측이 없는 L0 운동 벡터와 L1 운동 벡터의 평균치)의 순서에 따라, 취득한 운동 정보를 정렬하고, 정렬 결과에 따라 취득한 운동 정보를 1개씩 제1 후보 운동 정보 리스트 내에 추가한다. 충전 프로세스에 있어서, 제1 후보 운동 정보 리스트 내의 후보 운동 정보의 수량이 M (예를 들면 5임)에 도달하면, 운동 정보의 충전 프로세스를 정지한다. 충전 프로세스에 있어서, 단일 방향 운동 벡터 및 쌍방향 예측의 L0 운동 벡터에 대하여서는 제1 후보 운동 정보 리스트 내에 동일한 운동 정보가 없도록 확보하기 위하여, 제1 후보 운동 정보 리스트 내의 이미 존재하는 운동 정보와 중복 체크 처리를 실행 할 필요가 있지만, 쌍방향 예측의 L1 운동 벡터에 대하여서는 제1 후보 운동 정보 리스트 내의 운동 정보가 상대적으로 많고, 중복 체크의 비용이 상대적으로 높은 (제1 후보 운동 정보 리스트 내의 모든 운동 정보와 비교 할 필요가 있음) 것을 고려하고, 중복 체크 처리를 실행하지 않는다.
예 7에 있어서, 제1 후보 운동 정보 리스트 내에 운동 정보를 추가할 경우, 두개의 프로세스에 영향을 미친다. 그 중 하나의 프로세스는 운동 정보 수집 프로세스인 바, 즉 후보 블록의 운동 정보를 수집하는 프로세스이고, 다른 하나의 프로세스는 운동 정보 추가 프로세스인 바, 즉 운동 정보를 제1 후보 운동 정보 리스트 내에 추가하는 프로세스이다. 이하, 운동 정보 수집 프로세스의 실시예를 설명한다.
후보 블록의 운동 정보를 수집하는 프로세스에 있어서, 현재 후보 블록의 운동 정보와 전에 이미 수집한 운동 정보가 완전히 동일한지 여부를 비교하며, 완전히 동일하면, 현재 후보 블록의 운동 정보의 수집하는 프로세스를 건너뛴다. 본 실시예에 있어서, 현재 후보 블록의 운동 정보와 현재 후보 블록으로부터 가까운 후보 블록의 운동 정보만을 비교할 수 있다.
예를 들면, 도 5a를 참조하면, 먼저 후보 블록 1의 운동 정보를 수집한다. 후보 블록 1이 첫번째 후보 블록이기 때문에 비교를 실행할 필요가 없으므로, 직접 후보 블록 1의 운동 정보를 수집한다.
그 다음, 후보 블록 2의 운동 정보를 수집할 때에, 후보 블록 1이 이용 가능한지 여부를 판단할 수 있다. 이용 가능하면, 후보 블록 2의 운동 정보와 후보 블록 1의 운동 정보가 완전히 동일한지 여부를 비교할 수 있다. 완전히 동일하면, 후보 블록 2의 운동 정보의 수집을 실행하지 않고, 완전히 동일하지 않으면, 후보 블록 2의 운동 정보의 수집을 실행한다.
그 다음, 후보 블록 3의 운동 정보를 수집할 때에, 후보 블록 3로부터 가까운 후보 블록 2이 이용 가능한지 여부를 판단할 수 있다. 이용 가능하면, 후보 블록 3의 운동 정보와 후보 블록 2의 운동 정보가 완전히 동일한지 여부를 비교할 수 있다. 완전히 동일하면, 후보 블록 3의 운동 정보의 수집을 실행하지 않고, 완전히 동일하지 않으면, 후보 블록 3의 운동 정보의 수집을 실행한다. 여기서, 더 이상 후보 블록 3의 운동 정보와 후보 블록 3로부터 먼 후보 블록 1의 운동 정보를 비교하지 않음에 주의할 필요가 있다.
그 다음, 후보 블록 4의 운동 정보를 수집할 때에, 후보 블록 4로부터 가까운 후보 블록 1이 이용 가능한지 여부를 판단할 수 있다. 이용 가능하면, 후보 블록 4의 운동 정보와 후보 블록 1의 운동 정보가 완전히 동일한지 여부를 비교할 수 있다. 완전히 동일하면, 후보 블록 4의 운동 정보의 수집을 실행하지 않고, 완전히 동일하지 않으면, 후보 블록 4의 운동 정보의 수집을 실행한다. 여기서, 더 이상 후보 블록 4의 운동 정보와 후보 블록 4로부터 먼 후보 블록 2, 3의 운동 정보를 비교하지 않음에 주의할 필요가 있다.
그 다음, 후보 블록 5의 운동 정보를 수집할 때에, 후보 블록 5로부터 가까운 후보 블록 1이 이용 가능한지 여부를 판단할 수 있다. 이용 가능하면, 후보 블록 5의 운동 정보와 후보 블록 1의 운동 정보가 완전히 동일한지 여부를 비교할 수 있다. 완전히 동일하면, 후보 블록 5의 운동 정보의 수집을 실행하지 않는다. 완전히 동일하지 않으면, 후보 블록 5로부터 가까운 후보 블록 2이 이용 가능한지 여부를 판단할 수 있다. 이용 가능하면, 후보 블록 5의 운동 정보와 후보 블록 2의 운동 정보가 완전히 동일한지 여부를 비교할 수 있다. 완전히 동일하면, 후보 블록 5의 운동 정보의 수집을 실행하지 않고, 완전히 동일하지 않으면, 후보 블록 5의 운동 정보의 수집을 실행한다. 여기서, 더 이상 후보 블록 5의 운동 정보와 후보 블록 5로부터 먼 후보 블록 3, 4의 운동 정보를 비교하지 않음에 주의할 필요가 있다.
예 8에 있어서, 후보 블록의 운동 정보를 수집하는 프로세스에 있어서, 현재 후보 블록의 운동 정보와 전에 이미 수집한 운동 정보가 완전히 동일한지 여부를 비교할 필요가 없이, 직접 현재 후보 블록의 운동 정보를 수집한다. 즉 현재 후보 블록의 운동 정보가 전에 이미 수집한 운동 정보와 완전히 동일하더라도, 후속에서 중복 체크 조작을 통해 제1 후보 운동 정보 리스트 내에 동일한 운동 정보가 존재하는 것을 회피할 수 있다.
이하, 방식 1 중의 제1 후보 운동 정보 리스트 내에서 1개의 후보 운동 정보를 제1 삼각 서브 블록의 제1 목표 운동 정보로 선택하는 프로세스를 설명한다.
방식 a1에 있어서, 비디오 인코더는 프로토콜 합의를 통하여 제1 목표 운동 정보를 디폴트로 설정할 수 있는 바, 예를 들면 비디오 인코더는 제1 후보 운동 정보 리스트 내의 첫번째 후보 운동 정보를 제1 삼각 서브 블록의 제1 목표 운동 정보로 디폴트로 설정할 수 있다. 비디오 디코더는 프로토콜 합의를 통하여 제1 목표 운동 정보를 디폴트로 설정할 수 있는 바, 예를 들면 비디오 디코더는 제1 후보 운동 정보 리스트 내의 첫번째 후보 운동 정보를 제1 삼각 서브 블록의 제1 목표 운동 정보로 디폴트로 설정할 수 있다.
방식 a2에 있어서, 비디오 인코더는 제1 후보 운동 정보 리스트 내의 각 후보 운동 정보에 대응하는 속도 왜곡 비용을 확정하고, 최소 속도 왜곡 비용에 대응하는 후보 운동 정보를 제1 삼각 서브 블록의 제1 목표 운동 정보로 사용할 수 있다. 비디오 인코더가 디코딩 측에 송신한 인코딩 된 비트 스트림은 제3 지시 정보를 포함할 수 있으며, 제3 지시 정보는 제1 목표 운동 정보의 제1 후보 운동 정보 리스트 내의 인덱스 값을 지시하기 위하여 사용된다. 비디오 디코더는 인코딩 측으로부터의 인코딩 된 비트 스트림을 해석하며, 인코딩 된 비트 스트림이 제3 지시 정보를 포함하면, 제3 지시 정보가 지시하는 인덱스 값을 이용하여, 제1 후보 운동 정보 리스트 내에서 대응하는 후보 운동 정보를 검색하고, 당해 후보 운동 정보를 제1 목표 운동 정보로 사용할 수 있다.
이하, 방식 1 중의 제1 후보 운동 정보 리스트 내에서 1개의 후보 운동 정보를 제2 삼각 서브 블록의 제2 목표 운동 정보로 선택하는 프로세스를 설명한다.
방식 b1에 있어서, 비디오 인코더는 프로토콜 합의를 통하여 제2 목표 운동 정보를 디폴트로 설정할 수 있는 바, 예를 들면 비디오 인코더는 제1 후보 운동 정보 리스트 내의 제2 개 후보 운동 정보를 제2 삼각 서브 블록의 제2 목표 운동 정보로 디폴트로 설정할 수 있다. 비디오 디코더는 프로토콜 합의를 통하여 제2 목표 운동 정보를 디폴트로 설정할 수 있는 바, 예를 들면 비디오 디코더는 제1 후보 운동 정보 리스트 내의 제2 개 후보 운동 정보를 제2 삼각 서브 블록의 제2 목표 운동 정보로 디폴트로 설정할 수 있다.
방식 b2에 있어서, 비디오 인코더는 제1 후보 운동 정보 리스트 내에서 제1 목표 운동 정보를 배제하며 (즉 제1 후보 운동 정보 리스트 내의 제1 목표 운동 정보를 선택하지 않음), 이에 따라 비디오 인코더는 제1 후보 운동 정보 리스트 내의 나머지의 각 후보 운동 정보 (즉 제1 목표 운동 정보를 배제한 후의 나머지의 후보 운동 정보)에 대응하는 속도 왜곡 비용을 확정하고, 최소 속도 왜곡 비용에 대응하는 후보 운동 정보를 제2 삼각 서브 블록의 제2 목표 운동 정보로 사용할 수 있다. 비디오 인코더가 디코딩 측에 송신한 인코딩 된 비트 스트림은 제4 지시 정보를 포함할 수 있으며, 제4 지시 정보는 제2 목표 운동 정보의 제1 후보 운동 정보 리스트 내의 인덱스 값을 지시하기 위하여 사용된다. 비디오 디코더는 인코딩 측으로부터의 인코딩 된 비트 스트림을 해석하며, 인코딩 된 비트 스트림이 제4 지시 정보를 포함하면, 제4 지시 정보가 지시하는 인덱스 값을 이용하여, 제1 후보 운동 정보 리스트 내에서 대응하는 후보 운동 정보를 검색하고, 당해 후보 운동 정보를 제2 목표 운동 정보로 사용한다.
실시예 6
단계202 및 단계302에 있어서, 비디오 디코더/비디오 인코더는 이하의 방식을 채용하여 제1 삼각 서브 블록의 제1 목표 운동 정보 및 제2 삼각 서브 블록의 제2 목표 운동 정보를 취득할 수 있다.
방식 2에 있어서, 제1 삼각 서브 블록에 대응하는 제2 후보 운동 정보 리스트를 구축하고, 제2 삼각 서브 블록에 대응하는 제3 후보 운동 정보 리스트를 구축하며, 제2 후보 운동 정보 리스트는 복수의 후보 운동 정보를 포함하고, 제3 후보 운동 정보 리스트는 복수의 후보 운동 정보를 포함하며, 제2 후보 운동 정보 리스트 내에서 1개의 후보 운동 정보를 제1 삼각 서브 블록의 제1 목표 운동 정보로 선택하고, 제3 후보 운동 정보 리스트 내에서 1개의 후보 운동 정보를 제2 삼각 서브 블록의 제2 목표 운동 정보로 선택하되, 제1 목표 운동 정보는 제2 목표 운동 정보와 다르다.
일 예에 있어서, 제1 삼각 서브 블록에 대응하는 제2 후보 운동 정보 리스트를 구축하기 위하여, 제1 삼각 서브 블록에 대응하는 각 제1 후보 블록을 취득하고, 각 제1 후보 블록의 운동 정보를 제2 후보 운동 정보 리스트 내에 추가할 수 있다. 여기서, 제1 후보 블록이 단일 방향 예측 블록일 경우, 제1 후보 블록의 운동 정보는 제1 후보 블록의 단일 방향 운동 정보를 포함하고, 제1 후보 블록이 쌍방향 예측 블록일 경우, 제1 후보 블록의 운동 정보는 제1 후보 블록의 제1 운동 정보 (즉 제1 후보 블록의 L0 운동 정보) 및/또는 제1 후보 블록의 제2 운동 정보 (즉 제1 후보 블록의 L1 운동 정보)을 포함하지만, 제1 후보 블록의 제1 운동 정보 및 제1 후보 블록의 제2 운동 정보의 가중 운동 정보를 포함하지 않는다.
일 예에 있어서, 제2 삼각 서브 블록에 대응하는 제3 후보 운동 정보 리스트를 구축하기 위하여, 제2 삼각 서브 블록에 대응하는 각 제2 후보 블록을 취득하고, 각 제2 후보 블록의 운동 정보를 제3 후보 운동 정보 리스트 내에 추가할 수 있다. 여기서, 제2 후보 블록이 단일 방향 예측 블록일 경우, 제2 후보 블록의 운동 정보는 제2 후보 블록의 단일 방향 운동 정보를 포함하고, 제2 후보 블록이 쌍방향 예측 블록일 경우, 제2 후보 블록의 운동 정보는 제2 후보 블록의 제1 운동 정보 (즉 제2 후보 블록의 L0 운동 정보) 및/또는 제2 후보 블록의 제2 운동 정보 (즉 제2 후보 블록의 L1 운동 정보)을 포함하지만, 제2 후보 블록의 제1 운동 정보 및 제2 후보 블록의 제2 운동 정보의 가중 운동 정보를 포함하지 않는다.
제2 대각선 방식에 따라 현재 블록을 제1 삼각 서브 블록과 제2 삼각 서브 블록으로 분할할 경우, 제1 삼각 서브 블록은 오른쪽 상측의 삼각 서브 블록이며, 제2 삼각 서브 블록은 왼쪽 하측의 삼각 서브 블록이다. 이에 따라 제1 삼각 서브 블록에 대응하는 제1 후보 블록은 현재 블록의 상측의 인접 블록 및 현재 블록이 위치하고 있는 현재 프레임 이외의 다른 프레임 내의 시간 영역 후보 블록을 포함할 수 있지만, 이에 한정되지 않는다. 제2 삼각 서브 블록에 대응하는 제2 후보 블록은 현재 블록의 죄측의 인접 블록 및 현재 블록이 위치하고 있는 현재 프레임 이외의 다른 프레임 내의 시간 영역 후보 블록을 포함할 수 있지만, 이에 한정되지 않는다.
예를 들면, 도 5b에 나타낸 5개의 위치의 블록을 제1 삼각 서브 블록에 대응하는 제1 후보 블록으로 사용할 수 있는 바, 여기서, 블록 2, 블록 3 및 블록 5은 현재 프레임 내의 후보 블록이며, 블록 6 및 블록 7은 다른 프레임 내의 후보 블록 (즉 시간 영역 후보 블록임)이다. 도 5c에 나타낸 5개의 위치의 블록을 제2 삼각 서브 블록에 대응하는 제2 후보 블록으로 사용할 수 있는 바, 여기서, 블록 1, 블록 4 및 블록 5은 현재 프레임 내의 후보 블록이며, 블록 6 및 블록 7은 다른 프레임 내의 후보 블록 (즉 시간 영역 후보 블록임)이다.
일 예에 있어서, 후보 블록의 운동 정보를 수집할 수 있다. 후보 블록이 단일 방향 예측 블록일 경우, 후보 블록의 운동 정보는 후보 블록의 단일 방향 운동 정보를 포함하고, 후보 블록이 쌍방향 예측 블록일 경우, 후보 블록의 운동 정보는 후보 블록의 L0 운동 정보 및/또는 후보 블록의 L1 운동 정보를 포함하지만, 후보 블록의 L0 운동 정보 및 후보 블록의 L1 운동 정보의 가중 운동 정보를 포함하지 않는다.
일 예에 있어서, 후보 블록 (예를 들면 도 5b 또는 도 5c에 나타낸 것과 같음)의 운동 정보를 수집한 후, 단일 방향 운동 정보, 쌍방향 예측의 L0 운동 정보, 쌍방향 예측의 L1 운동 정보의 순서에 따라, 수집한 운동 정보를 정렬하고, 정렬 결과에 따라 각 운동 정보를 순서대로 제2 후보 운동 정보 리스트 또는 제3 후보 운동 정보 리스트 내에 추가할 수 있다. 또는 쌍방향 예측의 L0 운동 정보, 쌍방향 예측의 L1 운동 정보, 단일 방향 운동 정보의 순서에 따라, 수집한 운동 정보를 정렬하고, 정렬 결과에 따라 각 운동 정보를 순서대로 제2 후보 운동 정보 리스트 또는 제3 후보 운동 정보 리스트 내에 추가할 수 있다.
일 예에 있어서, 제2 후보 운동 정보 리스트 또는 제3 후보 운동 정보 리스트 내에 운동 정보를 추가할 때마다, 제2 후보 운동 정보 리스트 또는 제3 후보 운동 정보 리스트 내의 운동 정보의 수량이 상한치 M에 도달하였는지 여부를 판단할 수 있다. 상한치 M에 도달했을 경우에는 운동 정보의 추가를 거부하고, 운동 정보의 추가 프로세스를 종료한다. 상한치 M에 도달하지 않았을 경우에는 운동 정보의 추가를 계속하며, 현재의 운동 정보의 추가가 완료된 후, 제2 후보 운동 정보 리스트 또는 제3 후보 운동 정보 리스트에의 다음의 하나의 운동 정보의 추가를 계속한다. 상한치 M은 예를 들면 4이다.
일 예에 있어서, 제2 후보 운동 정보 리스트 또는 제3 후보 운동 정보 리스트 내에 운동 정보를 추가할 때마다, 당해 운동 정보가 제2 후보 운동 정보 리스트 또는 제3 후보 운동 정보 리스트 내의 이미 존재하는 운동 정보와 중복되는지 여부를 판단할 수 있다. 중복되면, 당해 운동 정보를 제2 후보 운동 정보 리스트 또는 제3 후보 운동 정보 리스트 내에 추가하는 것을 거부하고, 중복되지 않으면, 당해 운동 정보를 제2 후보 운동 정보 리스트 또는 제3 후보 운동 정보 리스트 내에 추가할 수 있다. 이렇게 함으로써, 제2 후보 운동 정보 리스트 또는 제3 후보 운동 정보 리스트에 중복하는 운동 정보가 존재하는 것을 회피할 수 있다. 또는 운동 정보가 중복되는지 여부를 판단하지 않아서, 직접 운동 정보를 제2 후보 운동 정보 리스트 또는 제3 후보 운동 정보 리스트 내에 추가할 수 있다.
일 예에 있어서, 수집한 운동 정보를 전부 제2 후보 운동 정보 리스트 또는 제3 후보 운동 정보 리스트 내에 추가한 후에, 제2 후보 운동 정보 리스트 또는 제3 후보 운동 정보 리스트 내의 후보 운동 정보의 수량이 상한치 M보다 작으면, 제로 운동 정보를 사용하여 제2 후보 운동 정보 리스트 또는 제3 후보 운동 정보 리스트를 충전할 수 있다.
일 예에 있어서, 제2 후보 운동 정보 리스트 또는 제3 후보 운동 정보 리스트를 구축할 때에, 현재 블록의 후보 블록의 운동 정보를 수집할 때마다, 상기 후보 블록의 운동 정보가 이미 현재 블록에 의해 수집된 운동 정보와 동일한지 여부를 비교하지 않고, 직접 상기 후보 블록의 운동 정보를 수집할 수 있다.
상기의 실시예 5의 예 1 내지 예 8은 또한 실시예 6에도 적용되며, 단지 제1 후보 운동 정보 리스트가 제2 후보 운동 정보 리스트 또는 제3 후보 운동 정보 리스트로 변하고, 후보 블록이 도 5a에 나타낸 후보 블록으로부터 도 5b 또는 도 5c에 나타낸 후보 블록에 변할 뿐, 다른 프로세스는 유사이기 때문에 여기서 반복적으로 설명하지 않음에 주의할 필요가 있다.
이하, 방식 2 중의 제2 후보 운동 정보 리스트 내에서 1개의 후보 운동 정보를 제1 삼각 서브 블록의 제1 목표 운동 정보로 선택하는 프로세스를 설명한다.
방식 c1에 있어서, 비디오 인코더는 프로토콜 합의를 통하여 제1 목표 운동 정보를 디폴트로 설정할 수 있는 바, 예를 들면 비디오 인코더는 제2 후보 운동 정보 리스트 내의 첫번째 후보 운동 정보를 제1 삼각 서브 블록의 제1 목표 운동 정보로 디폴트로 설정할 수 있다. 비디오 디코더는 프로토콜 합의를 통하여 제1 목표 운동 정보를 디폴트로 설정할 수 있는 바, 예를 들면 비디오 디코더는 제2 후보 운동 정보 리스트 내의 첫번째 후보 운동 정보를 제1 삼각 서브 블록의 제1 목표 운동 정보로 디폴트로 설정할 수 있다.
방식 c2에 있어서, 비디오 인코더는 제2 후보 운동 정보 리스트 내의 각 후보 운동 정보에 대응하는 속도 왜곡 비용을 확정할 수 있고, 최소 속도 왜곡 비용에 대응하는 후보 운동 정보를 제1 삼각 서브 블록의 제1 목표 운동 정보로 사용할 수 있다. 비디오 인코더가 디코딩 측에 송신한 인코딩 된 비트 스트림은 제5 지시 정보를 포함할 수 있으며, 제5 지시 정보는 제1 목표 운동 정보의 제2 후보 운동 정보 리스트 내의 인덱스 값을 지시하기 위하여 사용될 수 있다. 비디오 디코더는 인코딩 측으로부터의 인코딩 된 비트 스트림을 해석하며, 인코딩 된 비트 스트림이 제5 지시 정보를 포함하면, 제5 지시 정보가 지시하는 인덱스 값을 이용하여, 제2 후보 운동 정보 리스트 내에서 대응하는 후보 운동 정보를 검색하고, 당해 후보 운동 정보를 제1 목표 운동 정보로 사용할 수 있다.
이하, 방식 2 중의 제3 후보 운동 정보 리스트 내에서 1개의 후보 운동 정보를 제2 삼각 서브 블록의 제2 목표 운동 정보로 선택하는 프로세스를 설명한다.
방식 d1에 있어서, 비디오 인코더는 프로토콜 합의를 통하여 제2 목표 운동 정보를 디폴트로 설정할 수 있는 바, 예를 들면 비디오 인코더는 제3 후보 운동 정보 리스트 내의 첫번째 후보 운동 정보를 제2 삼각 서브 블록의 제2 목표 운동 정보로 디폴트로 설정할 수 있다. 비디오 디코더는 프로토콜 합의를 통하여 제2 목표 운동 정보를 디폴트로 설정할 수 있는 바, 예를 들면 디코딩 측은 제3 후보 운동 정보 리스트 내의 첫번째 후보 운동 정보를 제2 삼각 서브 블록의 제2 목표 운동 정보로 디폴트로 설정할 수 있다.
방식 d2에 있어서, 비디오 인코더는 제3 후보 운동 정보 리스트 내의 각 후보 운동 정보에 대응하는 속도 왜곡 비용을 확정할 수 있고, 최소 속도 왜곡 비용에 대응하는 후보 운동 정보를 제2 삼각 서브 블록의 제2 목표 운동 정보로 사용할 수 있다. 비디오 인코더가 디코딩 측에 송신한 인코딩 된 비트 스트림은 제6 지시 정보를 포함할 수 있으며, 제6 지시 정보는 제2 목표 운동 정보의 제3 후보 운동 정보 리스트 내의 인덱스 값을 지시하기 위하여 사용된다. 비디오 디코더는 인코딩 측으로부터의 인코딩 된 비트 스트림을 해석하며, 인코딩 된 비트 스트림이 제6 지시 정보를 포함하면, 제6 지시 정보가 지시하는 인덱스 값을 이용하여, 제3 후보 운동 정보 리스트 내에서 대응하는 후보 운동 정보를 검색하고, 당해 후보 운동 정보를 제2 목표 운동 정보로 사용한다.
실시예 7
단계201/단계301에서 제1 대각선 방식에 따라 현재 블록을 제1 삼각 서브 블록과 제2 삼각 서브 블록으로 분할할 경우, 단계202/단계302에서 제1 후보 운동 정보 리스트를 구축하고, 제1 후보 운동 정보 리스트에 기반하여 제1 목표 운동 정보 및 제2 목표 운동 정보를 확정할 수 있는 바, 즉 실시예 5를 채용할 수 있다. 단계201/단계301에서 제2 대각선 방식에 따라 현재 블록을 제1 삼각 서브 블록과 제2 삼각 서브 블록으로 분할할 경우, 단계202/단계302에서 제1 삼각 서브 블록에 대응하는 제2 후보 운동 정보 리스트를 구축하고, 제2 삼각 서브 블록에 대응하는 제3 후보 운동 정보 리스트를 구축하며, 제2 후보 운동 정보 리스트에 기반하여 제1 목표 운동 정보를 확정하고, 제3 후보 운동 정보 리스트에 기반하여 제2 목표 운동 정보를 확정할 수 있는 바, 즉 실시예 6을 채용할 수 있다.
일 예에 있어서, 제1 대각선 방식에 따라 현재 블록을 분할할지, 제2 대각선 방식에 따라 현재 블록을 분할할지에 관계 없이, 모두 실시예 5를 채용할 수 있다. 다른 일 예에 있어서, 제1 대각선 방식에 따라 현재 블록을 분할할 경우, 즉 45도의 방향에 따라 현재 블록을 분할할 경우, 실시예 5를 채용할 수 있고, 상한치 M은 예를 들면 4이다. 제2 대각선 방식에 따라 현재 블록을 분할할 경우, 즉 135도의 방향에 따라 현재 블록을 분할할 경우, 실시예 6을 채용할 수 있다.
실시예 6을 참조하면, 제1 삼각 서브 블록은 오른쪽 상측의 삼각 서브 블록이다. 도 5b에 나타낸 바와 같이, 제1 삼각 서브 블록의 제1 후보 블록은 차례로 블록 2, 블록 3, 블록 5, 블록 6 및 블록 7인 바, 즉 제1 삼각 서브 블록으로부터 먼 블록 1 및 블록 4을 배제한다. 도 5c에 나타낸 바와 같이, 제2 삼각 서브 블록의 제2 후보 블록은 차례로 블록 1, 블록 4, 블록 5, 블록 6 및 블록 7인 바, 즉 제2 삼각 서브 블록으로부터 먼 블록 2 및 블록 3을 배제한다. 한편, 상한치 M은 예를 들면 4일 수 있다.
일 예에 있어서, 1개의 플래그 비트를 인코딩 하여 45도의 각도로 분할할지 135도의 각도로 분할할지를 지시할 수 있다. 45도의 각도로 분할할 경우, 잘린 단항 코드로 M*(M-1)개의 조합의 인덱스를 인코딩 할 수 있고, 135도의 각도로 분할할 경우, 잘린 단항 코드로 M*M개의 조합 인덱스를 인코딩 할 수 있다. 구체적으로, 45도의 각도로 분할하며, 실시예 5를 채용할 경우 (즉 제1 후보 운동 정보 리스트 내에서 제1 목표 운동 정보 및 제2 목표 운동 정보를 선택함), 제1 후보 운동 정보 리스트 내에 M개의 (M은 예를 들면 4임) 후보 운동 정보가 존재하기 때문에, 제1 목표 운동 정보는 M종의 가능한 선택이 있으며, 제1 후보 운동 정보 리스트 내에서 제1 목표 운동 정보를 배제한 후, 제2 목표 운동 정보는 (M-1)종의 가능한 선택이 있기 때문에, 운동 정보 인덱스는 M*(M-1)개의 조합의 인덱스이다. 135도의 각도로 분할하며, 실시예 6을 채용할 경우 (즉 제2 후보 운동 정보 리스트 내에서 제1 목표 운동 정보를 선택하고, 제3 후보 운동 정보 리스트 내에서 제2 목표 운동 정보를 선택함), 제2 후보 운동 정보 리스트 내에 M개의 (M은 예를 들면 4임) 후보 운동 정보가 존재하기 때문에, 제1 목표 운동 정보는 M종의 가능한 선택이 있으며, 제3 후보 운동 정보 리스트 내에 M개의 (M은 예를 들면 4임) 후보 운동 정보가 존재하기 때문에, 제2 목표 운동 정보는 M종의 가능한 선택이 있으며, 따라서 운동 정보 인덱스는 M*M개의 조합 인덱스이다.
실시예 8
제1 삼각 서브 블록의 제1 목표 운동 정보 및 제2 삼각 서브 블록의 제2 목표 운동 정보를 취득한 후, 또한 제1 목표 운동 정보 및 제2 목표 운동 정보에 기반하여, 이하의 방식에 따라 제1 삼각 서브 블록 및 제2 삼각 서브 블록에 대해 운동 보상을 실행할 수 있다.
방식 1에 있어서, 현재 블록을 복수의 서브 블록으로 분할하되, 각 서브 블록의 폭은 모두 2이상이며, 각 서브 블록의 높이는 모두 2이상이다. 각 서브 블록에 대해, 상기 서브 블록이 제1 삼각 서브 블록 내에 위치하면, 제1 삼각 서브 블록의 제1 목표 운동 정보에 기반하여 상기 서브 블록에 대해 운동 보상을 실행하여 예측 값을 얻고, 상기 서브 블록이 제2 삼각 서브 블록 내에 위치하면, 제2 삼각 서브 블록의 제2 목표 운동 정보에 기반하여 상기 서브 블록에 대해 운동 보상을 실행하여 예측 값을 얻으며, 상기 서브 블록이 제1 삼각 서브 블록 내에도 완전히 위치하지 않은 동시에, 제2 삼각 서브 블록 내에도 완전히 위치하지 않으면 (즉 상기 서브 블록이 제1 삼각 서브 블록과 제2 삼각 서브 블록을 분할하는 대각선에 위치함), 제1 삼각 서브 블록의 제1 목표 운동 정보 및 제2 삼각 서브 블록의 제2 목표 운동 정보에 기반하여 상기 서브 블록에 대해 가중 보상을 실행하여 예측 값을 얻는다. 당해 가중 보상은 상기 제1 목표 운동 정보에 기반하여 상기 서브 블록의 제1 예측 값을 확정하는 것; 상기 제2 목표 운동 정보에 기반하여 상기 서브 블록의 제2 예측 값을 확정하는 것; 및 제1 예측 값, 제1 예측 값에 대응하는 제1 가중치 계수, 제2 예측 값 및 제2 예측 값에 대응하는 제2 가중치 계수에 기반하여, 상기 서브 블록에 대해 가중 보상을 실행하는 것을 포함할 수 있다.
예를 들면, 도 6a를 참조하면, 현재 블록을 서브 블록 1, 서브 블록 2, 서브 블록 3 및 서브 블록 4로 분할할 수 있다. 실제의 적용에 있어서, 각 서브 블록의 폭이 모두 2이상이며, 각 서브 블록의 높이가 모두 2이상인 한, 현재 블록을 가장 많은 서브 블록으로 분할할 수 있다. 이하, 도 6a에 나타낸 서브 블록 분할을 예로 설명한다.
서브 블록 2의 경우, 서브 블록 2이 제1 삼각 서브 블록 내에 위치하기 때문에, 제1 목표 운동 정보를 이용하여 서브 블록 2에 대해 운동 보상을 실행하여 예측 값을 얻는다. 서브 블록 3의 경우, 서브 블록 3이 제2 삼각 서브 블록 내에 위치하기 때문에, 제2 목표 운동 정보를 이용하여 서브 블록 3에 대해 운동 보상을 실행하여 예측 값을 얻는다. 서브 블록 1의 경우, 서브 블록 1이 제1 삼각 서브 블록 내에도 완전히 위치하지 않은 동시에, 제2 삼각 서브 블록 내에도 완전히 위치하지 않기 때문에, 제1 목표 운동 정보에 기반하여 서브 블록 1의 제1 예측 값 P1을 확정하고, 제2 목표 운동 정보에 기반하여 서브 블록 1의 제2 예측 값 P2을 확정한다. P1에 대응하는 제1 가중치 계수가 a (예를 들면 0.5임)이고, P2에 대응하는 제2 가중치 계수가 b (예를 들면 0.5임)라고 가정하면, P1, a, P2 및 b에 기반하여 서브 블록 1에 대해 가중 보상을 실행하며, 가중 보상 후의 서브 블록 1의 예측 값은 예를 들면 P1* a + P2*b다. 서브 블록 4에 대한 운동 보상은 상기의 서브 블록 1에 대한 운동 보상과 유사하기 때문에, 여기에서는 반복적으로 설명하지 않는다.
방식 2에 있어서, 현재 블록을 제1 영역 서브 블록, 제2 영역 서브 블록 및 제3 영역 서브 블록으로 분할하되, 여기서, 제1 영역 서브 블록은 제1 삼각 서브 블록 내에 위치하고, 제2 영역 서브 블록은 제2 삼각 서브 블록 내에 위치하며, 제3 영역 서브 블록 내의 각 서브 블록의 중심과, 제1 삼각 서브 블록과 제2 삼각 서브 블록을 분할하는 대각선 사이의 거리는 소정의 임계값 미만이고, 제1 삼각 서브 블록의 제1 목표 운동 정보에 기반하여 당해 제1 영역 서브 블록 내의 각 서브 블록에 대해 운동 보상을 실행하며, 제2 삼각 서브 블록의 제2 목표 운동 정보에 기반하여 당해 제2 영역 서브 블록 내의 각 서브 블록에 대해 운동 보상을 실행하고, 당해 제1 목표 운동 정보 및 당해 제2 목표 운동 정보에 기반하여 당해 제3 영역 서브 블록 내의 각 서브 블록에 대해 가중 보상을 실행한다. 당해 가중 보상은 제3 영역 서브 블록 내의 각 서브 블록에 대해, 제1 목표 운동 정보에 기반하여 상기 서브 블록의 제1 예측 값을 확정하는 것; 제2 목표 운동 정보에 기반하여 상기 서브 블록의 제2 예측 값을 확정하는 것; 및 상기 제1 예측 값, 상기 제1 예측 값에 대응하는 제1 가중치 계수, 상기 제2 예측 값 및 상기 제2 예측 값에 대응하는 제2 가중치 계수에 기반하여, 상기 서브 블록에 대해 가중 보상을 실행하는 것을 포함할 수 있되, 여기서, 상기 서브 블록이 제1 삼각 서브 블록 내에 위치하면, 제1 가중치 계수는 제2 가중치 계수보다 크고, 상기 서브 블록이 제2 삼각 서브 블록 내에 위치하면, 제1 가중치 계수는 제2 가중치 계수 미만이며, 상기 서브 블록이 제1 삼각 서브 블록과 제2 삼각 서브 블록을 분할하는 대각선에 위치하면, 제1 가중치 계수는 제2 가중치 계수와 동일하다.
제3 영역 서브 블록 내의 각 서브 블록은 1*1의 서브 블록 즉 단일 픽셀 블록일 수도 있고, N*M의 서브 블록일 수도 있으며, N은 1이상일 수 있고, M도 1이상일 수 있다.
예를 들면, 도 6b를 참조하면, 현재 블록을 제1 영역 서브 블록, 제2 영역 서브 블록 및 제3 영역 서브 블록으로 분할한다. 제1 영역 서브 블록이 제1 삼각 서브 블록 내에 위치하기 때문에, 제1 삼각 서브 블록의 제1 목표 운동 정보를 이용하여 제1 영역 서브 블록 내의 각 서브 블록에 대해 운동 보상을 실행하여 예측 값을 얻을 수 있다. 제2 영역 서브 블록이 제2 삼각 서브 블록 내에 위치하기 때문에, 제2 삼각 서브 블록의 제2 목표 운동 정보를 이용하여 제2 영역 서브 블록 내의 각 서브 블록에 대해 운동 보상을 실행하여 예측 값을 얻을 수 있다. 제3 영역 서브 블록은 라벨이 1인 서브 블록, 라벨이 2인 서브 블록, 라벨이 4인 서브 블록, 라벨이 6인 서브 블록 및 라벨이 7인 서브 블록을 포함할 수 있다.
라벨이 7인 각 서브 블록에 대해, 후속에서 서브 블록 7이라 부르며, 제1 목표 운동 정보에 기반하여 서브 블록 7의 제1 예측 값 P1을 확정하고, 제2 목표 운동 정보에 기반하여 서브 블록 7의 제2 예측 값 P2을 확정할 수 있다. P1에 대응하는 제1 가중치 계수가 a이며, P2에 대응하는 제2 가중치 계수가 b이라고 가정하면, 가중 보상 후의 서브 블록 7의 예측 값은 P1*a +P2*b일 수 있다. 그리고, 서브 블록 7이 제1 삼각 서브 블록 내에 위치하기 때문에, 제1 가중치 계수 a는 제2 가중치 계수 b보다 크다. a가 7/8이며, b가 1/8일 경우, 가중 보상 후의 서브 블록 7의 예측 값은 P1*7/8+ P2*1/8이다.
라벨이 6인 각 서브 블록에 대해, 후속에서 서브 블록 6이라 부르며, 가중 보상 처리 프로세스는 서브 블록 7에 대한 가중 보상 처리 프로세스와 유사하다. 서브 블록 6이 제1 삼각 서브 블록 내에 위치하기 때문에, 제1 가중치 계수 a는 제2 가중치 계수 b보다 크다. 한편, 서브 블록 7과 비교하면, 서브 블록 6이 제2 영역 서브 블록에 가장 가깝기 때문에 서브 블록 6의 제1 가중치 계수 a는 서브 블록 7의 제1 가중치 계수 a보다 작을 수 있다. 예를 들면, 서브 블록 6의 제1 가중치 계수 a는 6/8이고, 제2 가중치 계수 b는 2/8이며, 가중 보상 후의 서브 블록 6의 예측 값은 P1*6/8+P2*2/8이다.
라벨이 4인 각 서브 블록에 대해, 후속에서 서브 블록 4이라 부르며, 가중 보상 처리 프로세스는 서브 블록 7에 대한 가중 보상 처리 프로세스와 유사하다. 서브 블록 4이 제1 삼각 서브 블록과 제2 삼각 서브 블록을 분할하는 대각선에 위치하기 때문에, 제1 가중치 계수 a는 제2 가중치 계수 b와 유사하다. 예를 들면, a는 4/8이고, b는 4/8이며, 가중 보상 후의 서브 블록 4의 예측 값은 P1*4/8+P2*4/8이다.
라벨이 2인 각 서브 블록에 대해, 후속에서 서브 블록 2이라 부르며, 가중 보상 처리 프로세스는 서브 블록 7에 대한 가중 보상 처리 프로세스와 유사하다. 서브 블록 2이 제2 삼각 서브 블록 내에 위치하기 때문에, 제1 가중치 계수 a는 제2 가중치 계수 b보다 작다. 예를 들면, a는 2/8이고, b는 6/8이며, 가중 보상 후의 서브 블록 2의 예측 값은 P1*2/8+P2*6/8이다.
라벨이 1인 각 서브 블록에 대해, 후속에서 서브 블록 1이라 부르며, 가중 보상 처리 프로세스는 서브 블록 7에 대한 가중 보상 처리 프로세스와 유사하다. 서브 블록 1이 제2 삼각 서브 블록 내에 위치하기 때문에, 제1 가중치 계수 a는 제2 가중치 계수 b보다 작다. 한편, 서브 블록 2과 비교하면, 서브 블록 1이 제2 영역 서브 블록에 가장 가깝기 때문에 서브 블록 1의 제1 가중치 계수 a는 서브 블록 2의 제1 가중치 계수 a보다 작을 수 있다. 예를 들면, 서브 블록 1의 제1 가중치 계수 a는 1/8이고, 제2 가중치 계수 b는 7/8이며, 가중 보상 후의 서브 블록 1의 예측 값은 P1*1/8+P2*7/8이다.
상기 실시예에 있어서, 각 서브 블록의 제1 가중치 계수 a와 제2 가중치 계수 b의 합계는 1이다. 제1 영역 서브 블록에 가까운 서브 블록의 경우, 제1 가중치 계수 a가 크고, 제2 가중치 계수 b가 작다. 제2 영역 서브 블록에 가까운 서브 블록의 경우, 그 제1 가중치 계수 a가 작고, 제2 가중치 계수 b가 크다.
일 예에 있어서, 제3 영역 서브 블록 내의 각 서브 블록에 대해, 휘도 성분에 대해 제1 그룹의 가중치 계수를 설정할 수 있다. 예를 들면, 제1 영역 서브 블록으로부터 제2 영역 서브 블록에로의 방향에 따라, 각 서브 블록의 휘도 성분의 제1 가중치 계수 a는 차례로 7/8, 6/8, 4/8, 2/8, 1/8이다. 예를 들면, 도 6b를 참조하면, 서브 블록 7의 휘도 성분의 제1 가중치 계수 a는 7/8이고, 서브 블록 6의 휘도 성분의 제1 가중치 계수 a는 6/8이며, 서브 블록 4의 휘도 성분의 제1 가중치 계수 a는 4/8이고, 서브 블록 2의 휘도 성분의 제1 가중치 계수 a는 2/8이며, 서브 블록 1의 휘도 성분의 제1 가중치 계수 a는 1/8이다.
다른 일 예에 있어서, 제3 영역 서브 블록 내의 각 서브 블록에 대해, 휘도 성분에 대해 제2 그룹의 가중치 계수를 설정할 수 있다. 예를 들면, 제1 영역 서브 블록으로부터 제2 영역 서브 블록에로의 방향에 따라, 각 서브 블록의 휘도 성분의 제1 가중치 계수 a는 차례로 7/8, 6/8, 5/8, 4/8, 3/8, 2/8, 1/8이다. 예를 들면, 도 6b를 참조하면, 서브 블록 7의 휘도 성분의 제1 가중치 계수 a는 7/8이고, 서브 블록 6의 휘도 성분의 제1 가중치 계수 a는 6/8이며, 서브 블록 5(서브 블록 5은 서브 블록 4과 서브 블록 6 사이에 위치할 수 있으나, 도 6b에서는 서브 블록 5를 나타내지 않았음)의 휘도 성분의 제1 가중치 계수 a는 5/8이고, 서브 블록 4의 휘도 성분의 제1 가중치 계수 a는 4/8이며, 서브 블록 3(서브 블록 3은 서브 블록 2과 서브 블록 4 사이에 위치할 수 있으나, 도 6b에서는 서브 블록 3을 나타내지 않았음)의 휘도 성분의 제1 가중치 계수 a는 3/8이고, 서브 블록 2의 휘도 성분의 제1 가중치 계수 a는 2/8이며, 서브 블록 1의 휘도 성분의 제1 가중치 계수 a는 1/8이다. 상기 휘도 성분의 경우, 제1 예측 값 P1 및 제2 예측 값 P2은 모두 휘도 예측 값이며, 가중 보상 후의 예측 값 P1*a+P2*b도 휘도 예측 값이다.
일 예에 있어서, 제3 영역 서브 블록 내의 각 서브 블록에 대해, 색차 성분에 대해 제1 그룹의 가중치 계수를 설정할 수 있다. 예를 들면, 제1 영역 서브 블록으로부터 제2 영역 서브 블록에로의 방향에 따라, 각 서브 블록의 색차 성분의 제1 가중치 계수 a는 차례로 7/8, 4/8, 1/8이다. 예를 들면, 도 6c를 참조하면, 서브 블록 7의 색차 성분의 제1 가중치 계수 a는 7/8이고, 서브 블록 4의 색차 성분의 제1 가중치 계수 a는 4/8이며, 서브 블록 1의 색차 성분의 제1 가중치 계수 a는 1/8이다.
다른 일 예에 있어서, 제3 영역 서브 블록 내의 각 서브 블록에 대해, 색차 성분에 대해 제2 그룹의 가중치 계수를 설정할 수 있다. 예를 들면, 제1 영역 서브 블록으로부터 제2 영역 서브 블록에로의 방향에 따라, 각 서브 블록의 색차 성분의 제1 가중치 계수 a는 차례로 6/8, 4/8, 2/8이다. 예를 들면, 도 6c를 참조하면, 서브 블록 7의 색차 성분의 제1 가중치 계수 a는 6/8이고, 서브 블록 4의 색차 성분의 제1 가중치 계수 a는 4/8이며, 서브 블록 1의 색차 성분의 제1 가중치 계수 a는 2/8이다. 상기 색차 성분의 경우, 제1 예측 값 P1 및 제2 예측 값 P2은 모두 색차 예측 값이며, 가중 보상 후의 예측 값 P1*a+P2*b도 색차 예측 값이다.
이하, 상기 운동 보상 프로세스의 몇몇의 예를 설명한다.
예 1에 있어서, 운동 보상의 경우, 현재 블록을 제1 영역 서브 블록, 제2 영역 서브 블록 및 제3 영역 서브 블록으로 분할할 수 있다. 제1 삼각 서브 블록의 제1 목표 운동 정보에 기반하여, 제1 영역 서브 블록 내의 각 서브 블록에 대해 운동 보상을 실행한다. 제2 삼각 서브 블록의 제2 목표 운동 정보에 기반하여, 제2 영역 서브 블록 내의 각 서브 블록에 대해 운동 보상을 실행한다. 제1 목표 운동 정보 및 제2 목표 운동 정보에 기반하여, 제3 영역 서브 블록 내의 각 서브 블록에 대해 가중 보상을 실행한다.
구체적으로, 현재 블록을 복수의 M*M(M은 예를 들면 4임)의 서브 블록으로 균등하게 분할한다. 각 M*M의 서브 블록의 경우, 당해 서브 블록이 제1 삼각 서브 블록과 제2 삼각 서브 블록을 분할하는 대각선에 위치하지 않으면, 당해 서브 블록에 대해 단일 방향 운동 정보를 이용하여 운동 보상을 실행한다. 당해 서브 블록이 제1 삼각 서브 블록 내에 위치하면, 당해 서브 블록은 제1 영역 서브 블록이라 불리며, 제1 목표 운동 정보를 이용하여 운동 보상을 실행하고, 당해 서브 블록이 제2 삼각 서브 블록 내에 위치하면, 당해 서브 블록은 제2 영역 서브 블록이라 불리며, 제2 목표 운동 정보를 이용하여 운동 보상을 실행한다. 당해 서브 블록이 제1 삼각 서브 블록과 제2 삼각 서브 블록을 분할하는 대각선에 위치하면, 당해 서브 블록은 제3 영역 서브 블록이라 불리며, 2개의 단일 방향 운동 정보 (즉 제1 목표 운동 정보 및 제2 목표 운동 정보)에 기반하여 가중 보상을 실행할 수 있는 바, 구체적인 가중 방식은 상기의 실시예를 참조할 수 있다.
예 2에 있어서, 운동 보상의 경우, 현재 블록을 제1 영역 서브 블록, 제2 영역 서브 블록 및 제3 영역 서브 블록으로 분할할 수 있다. 제1 삼각 서브 블록의 제1 목표 운동 정보에 기반하여, 제1 영역 서브 블록 내의 각 서브 블록에 대해 운동 보상을 실행한다. 제2 삼각 서브 블록의 제2 목표 운동 정보에 기반하여, 제2 영역 서브 블록 내의 각 서브 블록에 대해 운동 보상을 실행한다. 제1 목표 운동 정보 및 제2 목표 운동 정보에 기반하여, 제3 영역 서브 블록 내의 각 서브 블록에 대해 가중 보상을 실행한다. 여기서, 가중치 계수는 1 세트만을 사용하며, 휘도 성분을 위한 가중치 계수는 {7/8, 6/8, 4/8, 2/8, 1/8}을 사용하고, 색차 성분을 위한 가중치 계수는 {7/8, 4/8, 1/8}을 사용한다. 구체적인 가중 방식은 상기의 실시예를 참조할 수 있다.
예 3에 있어서, 운동 보상의 경우, 현재 블록을 제1 영역 서브 블록, 제2 영역 서브 블록 및 제3 영역 서브 블록으로 분할할 수 있다. 제1 삼각 서브 블록의 제1 목표 운동 정보에 기반하여, 제1 영역 서브 블록 내의 각 서브 블록에 대해 운동 보상을 실행한다. 제2 삼각 서브 블록의 제2 목표 운동 정보에 기반하여, 제2 영역 서브 블록 내의 각 서브 블록에 대해 운동 보상을 실행한다. 제1 목표 운동 정보 및 제2 목표 운동 정보에 기반하여, 제3 영역 서브 블록 내의 각 서브 블록에 대해 가중 보상을 실행하고, 여기서, 가중치 계수는 1 세트만을 사용하며, 휘도 성분을 위한 가중치 계수는 {7/8, 6/8, 5/8, 4/8, 3/8, 2/8, 1/8}을 사용하고, 색차 성분을 위한 가중치 계수는 {6/8, 4/8, 2/8}을 사용한다. 구체적인 가중 방식은 상기의 실시예를 참조할 수 있다.
방식 3에 있어서, 현재 블록을 제1 영역 서브 블록, 제2 영역 서브 블록 및 제3 영역 서브 블록으로 분할하고, 여기서, 제1 영역 서브 블록은 제1 삼각 서브 블록 내에 위치하고, 제2 영역 서브 블록은 제2 삼각 서브 블록 내에 위치하며, 제3 영역 서브 블록 내의 각 서브 블록의 중심과, 제1 삼각 서브 블록과 제2 삼각 서브 블록을 분할하는 대각선 사이의 거리는 소정의 임계값 미만이다. 제1 목표 운동 정보에 기반하여 제1 영역 서브 블록 내의 각 서브 블록에 대해 운동 보상을 실행한다. 제2 목표 운동 정보에 기반하여 제2 영역 서브 블록 내의 각 서브 블록에 대해 운동 보상을 실행한다. 제1 목표 운동 정보 또는 제2 목표 운동 정보에 기반하여 제3 영역 서브 블록 내의 각 서브 블록에 대해 운동 보상을 실행한다.
예를 들면, 현재 블록의 사이즈 정보가 제1 조건을 충족시키면 (예를 들면 현재 블록의 폭이 현재 블록의 높이 이상임), 제1 목표 운동 정보에 기반하여 제3 영역 서브 블록 내의 각 서브 블록에 대해 운동 보상을 실행하고, 현재 블록의 사이즈 정보가 제2 조건을 충족시키면 (예를 들면 현재 블록의 폭이 현재 블록의 높이 미만임), 제2 목표 운동 정보에 기반하여 제3 영역 서브 블록 내의 각 서브 블록에 대해 운동 보상을 실행한다. 물론, 상기는 예에 불과할 뿐, 다른 방식을 채용하여 제1 목표 운동 정보와 제2 목표 운동 정보와 중의 어느 것에 기반하여 운동 보상을 실행할지를 확정할 수 있다.
제3 영역 서브 블록 내의 각 서브 블록은 1*1의 서브 블록 즉 단일 픽셀 블록일 수도 있고, N*M의 서브 블록 일 수도 있으며, N은 1이상일 수도 있고, M도 1이상일 수 있다.
당해 실시예에 있어서, 제3 영역 서브 블록의 경우, 더 이상 제1 목표 운동 정보 및 제2 목표 운동 정보를 이용하여 가중 보상을 실행하지 않으며, 제1 목표 운동 정보를 이용하여 제3 영역 서브 블록 내의 각 서브 블록에 대해 운동 보상을 실행하거나, 또는 제2 목표 운동 정보를 이용하여 제3 영역 서브 블록 내의 각 서브 블록에 대해 운동 보상을 실행한다. 즉 쌍방향 예측을 채용하여 운동 보상을 실행해야 할 서브 블록이 존재하지 않기 때문에, 가중 보상이 불필요하다.
제1 목표 운동 정보를 이용하여 제3 영역 서브 블록 내의 각 서브 블록에 대해 운동 보상을 실행할지, 제2 목표 운동 정보를 이용하여 제3 영역 서브 블록 내의 각 서브 블록에 대해 운동 보상을 실행할지에 대해서는, 이하가 임의의 하나의 방식을 채용하여 확정할 수 있다. (1) 기본적으로 제1 목표 운동 정보를 이용하여 제3 영역 서브 블록 내의 각 서브 블록에 대해 운동 보상을 실행하고, (2) 기본적으로 제2 목표 운동 정보를 이용하여 제3 영역 서브 블록 내의 각 서브 블록에 대해 운동 보상을 실행하며, (3) 현재 블록의 사이즈에 따라 결정하는 바, 예를 들면, 현재 블록의 폭이 현재 블록의 높이 이상일 경우, 제1 목표 운동 정보를 이용하여 제3 영역 서브 블록 내의 각 서브 블록에 대해 운동 보상을 실행하고, 현재 블록의 폭이 현재 블록의 높이 미만일 경우, 제2 목표 운동 정보를 이용하여 제3 영역 서브 블록 내의 각 서브 블록에 대해 운동 보상을 실행한다.
실시예 9
비디오 인코더는 먼저 현재 블록이 삼각형 기하학 분할 모드를 호출하기 위한 특정 조건을 충족시키는지 여부를 판단한다. 충족시키지 않으면, 삼각형 기하학 분할 모드를 채용하지 않고, 기타 모드를 채용하는 것으로 결정한다. 충족시키면, 비디오 인코더는 기본적으로 삼각형 기하학 분할 모드를 호출하거나, 또는 삼각형 기하학 분할 모드를 호출하는지 여부를 판단할 수 있다. 비디오 인코더가 기본적으로 삼각형 기하학 분할 모드를 호출하거나, 또는 삼각형 기하학 분할 모드를 호출하는 것으로 판정되면, 상기의 관련되는 각 실시예 중의 현재 블록을 삼각 서브 블록으로 분할하는 조작 및 그 후의 다른 조작을 실행하고, 그렇지 않으면, 이러한 조작을 실행하지 않는다.
삼각형 기하학 분할 모드를 호출하는지 여부를 판단하기 위하여, 비디오 인코더는 삼각형 기하학 분할 모드에 대응하는 속도 왜곡 비용을 확정할 수 있다. 삼각형 기하학 분할 모드에 대응하는 속도 왜곡 비용이 모든 기타 모드에 대응하는 속도 왜곡 비용보다 작으면, 삼각형 기하학 분할 모드를 호출하는 것으로 판정할 수 있고, 그렇지 않으면, 삼각형 기하학 분할 모드를 호출하지 않는 것으로 판정할 수 있다.
이에 따르고, 비디오 인코더가 디코딩 측에 송신한 인코딩 된 비트 스트림은 제7 지시 정보를 포함할 수 있으며, 상기 제7 지시 정보는 삼각형 기하학 분할 모드를 호출하는 것을 지시하기 위하여 사용된다.
비디오 디코더는 먼저 현재 블록이 삼각형 기하학 분할 모드를 호출하기 위한 특정 조건을 충족시키는지 여부를 판단한다. 충족시키지 않으면, 삼각형 기하학 분할 모드를 이용하지 않고, 기타 모드를 이용하는 것으로 결정한다. 충족시키면, 비디오 디코더는 기본적으로 삼각형 기하학 분할 모드를 호출하거나, 또는 인코딩 측으로부터의 인코딩 된 비트 스트림을 해석하며, 인코딩 된 비트 스트림이 제7 지시 정보이면, 삼각형 기하학 분할 모드를 호출하는 것으로 판정하고, 그렇지 않으면, 삼각형 기하학 분할 모드를 호출하지 않는 것으로 판정한다. 비디오 디코더에 의해 기본적으로 삼각형 기하학 분할 모드를 호출하거나, 또는 삼각형 기하학 분할 모드를 호출하는 것으로 판정되면, 상기의 관련되는 각 실시예 중의 현재 블록을 삼각 서브 블록으로 분할하는 조작 및 그 후의 다른 조작을 실행하고, 그렇지 않으면, 이러한 조작을 실행하지 않는다.
실시예 10
비디오 인코더/비디오 디코더는 또한 이하의 방식에 따라 제1 목표 운동 정보 및 제2 목표 운동 정보를 기억할 수 있다. 제1 목표 운동 정보에 대응하는 후보 블록이 단일 방향 예측 블록일 경우, 제1 삼각 서브 블록에 대해 당해 제1 목표 운동 정보를 기억하고, 제1 목표 운동 정보에 대응하는 후보 블록이 쌍방향 예측 블록일 경우, 제1 삼각 서브 블록에 대해 당해 제1 목표 운동 정보 및 제3 목표 운동 정보를 기억하되, 여기서 당해 제3 목표 운동 정보는 쌍방향 예측 블록의 다른 하나의 운동 정보이다. 제2 목표 운동 정보에 대응하는 후보 블록이 단일 방향 예측 블록일 경우, 제2 삼각 서브 블록에 대해 당해 제2 목표 운동 정보를 기억하고, 제2 목표 운동 정보에 대응하는 후보 블록이 쌍방향 예측 블록일 경우, 제2 삼각 서브 블록에 대해 당해 제2 목표 운동 정보 및 제4 목표 운동 정보를 기억하되, 여기서 당해 제4 목표 운동 정보는 쌍방향 예측 블록의 다른 하나의 운동 정보이다.
예를 들면, 도 7a에 나타낸 바와 같이, 상기 제1 영역 서브 블록의 경우, 제1 영역 서브 블록의 제1 목표 운동 정보가 MV1이고, MV1이 단일 방향 예측 블록R1로부터 온 것인 바, 즉 단일 방향 예측 블록R1이 현재 블록의 후보 블록이며, 또한, 상기 운동 정보 리스트가 단일 방향 예측 블록R1의 운동 정보MV1을 포함하고, 또한, MV1을 제1 영역 서브 블록의 제1 목표 운동 정보로 선택할 경우, 제1 영역 서브 블록에 대해 MV1을 기억한다. 도 7a에 나타낸 바와 같이, 상기 제2 영역 서브 블록의 경우, 제2 영역 서브 블록의 제2 목표 운동 정보가 MV2이며, 또한, MV2이 단일 방향 예측 블록R2로부터 온 것인 바, 즉 단일 방향 예측 블록R2이 현재 블록의 후보 블록이며, 또한, 상기 운동 정보 리스트가 단일 방향 예측 블록R2의 운동 정보MV2을 포함하고, 또한, MV2을 제2 영역 서브 블록의 제2 목표 운동 정보로 선택할 경우, 제2 영역 서브 블록에 대해 MV2을 기억한다.
또한, 예를 들면, 도 7b에 나타낸 바와 같이, 상기 제1 영역 서브 블록의 경우, 제1 영역 서브 블록의 제1 목표 운동 정보가 MV1이며, 또한, MV1이 쌍방향 예측 블록R3로부터 온 것인 바, 즉 쌍방향 예측 블록R3이 현재 블록의 후보 블록이며, 또한, 상기 운동 정보 리스트가 쌍방향 예측 블록R3의 운동 정보MV1 및 MV2을 포함하고, 또한, MV1을 제1 영역 서브 블록의 제1 목표 운동 정보로 선택할 경우, 제1 영역 서브 블록에 대해 MV1을 받아들여 기억하는 것이 아니고, 제1 영역 서브 블록에 대해 MV1 및 MV2을 기억할 수 있는다. 도 7b에 나타낸 바와 같이, 상기 제2 영역 서브 블록의 경우, 제2 영역 서브 블록의 제2 목표 운동 정보가 MV3이며, 또한, MV3이 쌍방향 예측 블록R4로부터 온 것인 바, 즉 쌍방향 예측 블록R4이 현재 블록의 후보 블록이며, 또한, 상기 운동 정보 리스트가 쌍방향 예측 블록R4의 운동 정보MV3 및 MV4을 포함하고, 또한, MV3을 제2 영역 서브 블록의 제2 목표 운동 정보로 선택할 경우, 제2 영역 서브 블록에 대해 MV3을 받아들여 기억하는 것이 아니고, 제2 영역 서브 블록에 대해 MV3 및 MV4을 기억할 수 있는다.
상기 예에 있어서, 도 7a 및 도 7b에 나타낸 바와 같이, 4*4을 단위로 운동 정보를 기억할 수 있다.
실시예 11
본 발명의 실시예는 비디오 디코더를 제공한다. 도 8은 당해 비디오 디코더의 개략적인 구성도이다. 도 8을 참조하면, 당해 비디오 디코더는 프로세서(81) 및 기계 판독 가능 기록 매체(82)를 구비할 수 있다. 기계 판독 가능 기록 매체(82)에는 상기 프로세서(81)에 의해 실행 가능한 기계 실행 가능 명령이 기록되어 있다. 상기 프로세서(81)에 의해 당해 기계 실행 가능 명령이 실행될 때에, 본 발명의 상기의 상관하는 실시예에 기재된 비디오 디코딩 방법이 실현된다.
본 발명의 실시예는 비디오 인코더를 더 제공한다. 도 9은 당해 비디오 인코더의 개략적인 구성도이다. 도 9을 참조하면, 당해 비디오 인코더는 프로세서(91) 및 기계 판독 가능 기록 매체(92)를 구비할 수 있다. 기계 판독 가능 기록 매체(92)에는 상기 프로세서(91)에 의해 실행 가능한 기계 실행 가능 명령이 기록되어 있다. 상기 프로세서(91)에 의해 당해 기계 실행 가능 명령이 실행될 때에, 본 발명의 상기의 상관하는 실시예에 기재된 비디오 인코딩 방법이 실현된다.
본 발명의 실시예는 기계 판독 가능 기록 매체를 더 제공하는 바, 상기 기계 판독 가능 기록 매체에는 컴퓨터 명령이 기록되어 있으며, 상기 컴퓨터 명령이 프로세서에 의해 실행될 때에, 당해 프로세서가 본 발명의 상기 실시예에 기재된 비디오 인코딩/디코딩 방법을 실현하도록 할 수 있다.
상기 기계 판독 가능 기록 매체는 전자적, 자기적, 광학적 또는 다른 물리적인 기록 장치일 수 있고, 실행 가능 명령, 데이터 등의 정보를 포함하거나 기억할 수 있다. 예를 들면, 기계 판독 가능 기록 매체는 휘발성 메모리 (예를 들면, RAM(Random Access Memory, random access memory)), 비 휘발성 메모리 (예를 들면, 플래시 메모리, 기억 드라이브 (예를 들면 하드디스크 드라이브), 솔리드 스테이트 드라이브, 광학 스토리지 (예를 들면, CD-ROM(Compact Disc Read-Only Memory, 광학 디스크 판독 전용 메모리), DVD(Digital Versatile Disc, 디지털 다용도 디스크)등)) 또는 그들의 조합을 포함할 수 있다.
상기의 실시예에 의해 설명된 시스템, 장치, 모듈 또는 유닛은 컴퓨터 칩 또는 엔티티에 의해 구현되거나 또는 특정한 기능을 가진 제품에 의해 구현될 수 있다. 전형적인 구현 디바이스는 전자 디바이스일 수 있으며, 개인용 컴퓨터, 랩톱 컴퓨터, 태블릿 컴퓨터, 휴대전화, 카메라, 스마트 폰, 개인용 디지털 비서, 미디어 플레이어, 네비게이션 디바이스, 이메일 송수신 디바이스, 게임 콘솔, 웨어러블 디바이스 또는 그들의 임의의 조합을 포함할 수 있지만, 이에 한정되지 않는다.
설명의 편의를 위해, 상기의 장치를 설명할 때에 기능을 단위로 다양한 유닛으로 분할하여 각각 설명하였다. 물론, 본 발명을 실시할 때에, 각 유닛의 기능을 하나 또는 복수의 소프트웨어 및/또는 하드웨어로 구현할 수 있다.
당업자는 본 발명의 실시예가 방법, 시스템 또는 컴퓨터 프로그램 제품으로 제공될 수 있음을 이해해야 한다. 따라서, 본 발명은 완전한 하드웨어의 실시예, 완전한 소프트웨어의 실시예 또는 소프트웨어와 하드웨어의 조합의 실시예의 형태를 채용할 수 있다.
본 발명은 본 발명의 실시예에 따른 방법, 디바이스(시스템) 및 컴퓨터 프로그램 제품의 플로우 챠트 및/또는 블록도를 참조하여 설명되었다. 컴퓨터 프로그램 명령에 의해 플로우 챠트 및/또는 블록도 중 각 프로세스 및/또는 블록을 구현 할 수 있음을 이해해야 한다. 이러한 컴퓨터 프로그램 명령은 범용 컴퓨터, 특수 목적 컴퓨터, 내장 프로세서 또는 기타 프로그램 가능한 데이터 처리 디바이스의 프로세서에 제공됨으로써, 당해 프로세서에 의해 당해 컴퓨터 프로그램 명령이 실행되어, 플로우 챠트 중의 하나의 프로세스 또는 복수의 프로세스 및/또는 블록도 중의 하나의 블록 또는 복수의 블록에 의해 지정된 기능을 구현하기 위한 장치가 생성된다.
상기는 단지 본 발명의 몇몇의 실시예일 뿐, 본 발명을 한정하려는 것이 아니다. 당업자는 본 발명에 대해 다양한 수정 및 변경을 실시할 수 있다. 본 발명의 정신 및 원리의 범위 내에서 이루어진 모든 수정, 동등한 교환, 개량 등은 모두 본 발명의 청구 범위 내에 포함된다.
Claims (22)
- 비디오 인코더 또는 비디오 디코더에 의해 실행되는 비디오 인코딩 및 디코딩 방법에 있어서,
현재 블록이 삼각 예측 모드를 호출하기 위한 특정 조건을 충족시키는 동시에, 삼각 예측 모드를 호출하는 것으로 결정되면, 현재 블록을 제1 삼각 서브 블록과 제2 삼각 서브 블록으로 분할하는 단계;
상기 제1 삼각 서브 블록의 제1 목표 운동 정보 및 상기 제2 삼각 서브 블록의 제2 목표 운동 정보를 취득하는 단계 - 상기 제1 목표 운동 정보와 상기 제2 목표 운동 정보는 서로 다름 -; 및
상기 제1 목표 운동 정보 및 상기 제2 목표 운동 정보에 기반하여 상기 현재 블록에 대해 인코딩 처리 또는 디코딩 처리를 실행하는 단계를 포함하는
것을 특징으로 하는 비디오 인코딩 및 디코딩 방법. - 제1항에 있어서,
상기 현재 블록이 위치하고 있는 현재 프레임의 프레임 타입, 상기 현재 블록의 운동 정보 모드 및/또는 상기 현재 블록의 사이즈 정보에 기반하여, 상기 현재 블록이 삼각 예측 모드를 호출하기 위한 특정 조건을 충족시키는지 여부를 확정하는
것을 특징으로 하는 비디오 인코딩 및 디코딩 방법. - 제2항에 있어서,
상기 프레임 타입이 B 프레임 또는 비 I 프레임일 경우 또는 상기 프레임 타입이 프레임 내 블록 카피를 허가할 경우, 상기 프레임 타입이 특정 조건을 충족시키는 것으로 확정하는
것을 특징으로 하는 비디오 인코딩 및 디코딩 방법. - 제2항에 있어서,
상기 운동 정보 모드가 병합 모드일 경우, 상기 운동 정보 모드가 특정 조건을 충족시키는 것으로 확정하는
것을 특징으로 하는 비디오 인코딩 및 디코딩 방법. - 제2항에 있어서,
상기 현재 블록의 폭이 제1 수치 이상인 동시에 상기 현재 블록의 높이가 제2 수치 이상일 경우, 상기 현재 블록의 사이즈 정보가 특정 조건을 충족시키는 것으로 확정하고, 또는,
상기 현재 블록의 폭이 제3 수치 이상이거나, 또는 상기 현재 블록의 높이가 제4 수치 이상일 경우, 상기 현재 블록의 사이즈 정보가 특정 조건을 충족시키는 것으로 확정하며, 또는,
상기 현재 블록의 폭이 제5 수치 이상인 동시에 제6 수치 이하이며, 동시에, 상기 현재 블록의 높이가 제7 수치 이상인 동시에 제8 수치 이하일 경우, 상기 현재 블록의 사이즈 정보가 특정 조건을 충족시키는 것으로 확정하고, 또는,
상기 현재 블록의 폭이 제9 수치 이상인 동시에 제10 수치 이하거나, 또는 상기 현재 블록의 높이가 제11 수치 이상인 동시에 제12 수치 이하일 경우, 상기 현재 블록의 사이즈 정보가 특정 조건을 충족시키는 것으로 확정하며, 또는,
상기 현재 블록의 폭이 제13 수치 이상인 동시에 제14 수치 이하이며, 동시에, 상기 현재 블록의 높이가 제15 수치 이상인 동시에 제16 수치 이하이며, 동시에, 상기 현재 블록의 면적이 제17 수치 이상인 동시에 제18 수치 이하일 경우, 상기 현재 블록의 사이즈 정보가 특정 조건을 충족시키는 것으로 확정하는
것을 특징으로 하는 비디오 인코딩 및 디코딩 방법. - 제1항에 있어서,
상기 현재 블록을 제1 삼각 서브 블록과 제2 삼각 서브 블록으로 분할하는 단계는,
주 대각선 방식에 따라 현재 블록을 제1 삼각 서브 블록과 제2 삼각 서브 블록으로 분할하는 단계; 또는,
부 대각선 방식에 따라 현재 블록을 제1 삼각 서브 블록과 제2 삼각 서브 블록으로 분할하는 단계를 포함하는
것을 특징으로 하는 비디오 인코딩 및 디코딩 방법. - 제1항에 있어서,
상기 제1 삼각 서브 블록의 제1 목표 운동 정보 및 상기 제2 삼각 서브 블록의 제2 목표 운동 정보를 취득하는 단계는,
복수의 후보 운동 정보를 포함하는 제1 후보 운동 정보 리스트를 구축하고, 상기 제1 후보 운동 정보 리스트 내에서 1개의 후보 운동 정보를 상기 제1 목표 운동 정보로 선택하며, 상기 제1 후보 운동 정보 리스트 내에서 상기 제1 목표 운동 정보를 배제하고, 상기 제1 후보 운동 정보 리스트 내의 나머지 후보 운동 정보 중에서 1개의 후보 운동 정보를 상기 제2 목표 운동 정보로 선택하는 것; 또는,
상기 제1 삼각 서브 블록에 대응하는 복수의 후보 운동 정보를 포함하는 제2 후보 운동 정보 리스트를 구축하고, 상기 제2 삼각 서브 블록에 대응하는 복수의 후보 운동 정보를 포함하는 제3 후보 운동 정보 리스트를 구축하며, 상기 제2 후보 운동 정보 리스트 내에서 1개의 후보 운동 정보를 상기 제1 목표 운동 정보로 선택하고, 상기 제3 후보 운동 정보 리스트 내에서 1개의 후보 운동 정보를 상기 제2 목표 운동 정보로 선택하는 것을 포함하는
것을 특징으로 하는 비디오 인코딩 및 디코딩 방법. - 제7항에 있어서,
상기 현재 블록의 분할 방식을 확정하는 단계를 더 포함하며,
여기서, 주 대각선 방식에 따라 상기 현재 블록을 제1 삼각 서브 블록과 제2 삼각 서브 블록으로 분할할 경우, 상기 제1 후보 운동 정보 리스트를 구축하고, 부 대각선 방식에 따라 상기 현재 블록을 제1 삼각 서브 블록과 제2 삼각 서브 블록으로 분할할 경우, 상기 제2 후보 운동 정보 리스트 및 상기 제3 후보 운동 정보 리스트를 구축하는
것을 특징으로 하는 비디오 인코딩 및 디코딩 방법. - 제7항 또는 제8항에 있어서,
상기 제1 후보 운동 정보 리스트를 구축하는 것은,
상기 현재 블록에 대응하는 후보 블록을 취득하는 것; 및
상기 후보 블록의 운동 정보를 상기 제1 후보 운동 정보 리스트 내에 추가하는 것을 포함하고,
여기서, 상기 후보 블록이 단일 방향 예측 블록일 경우, 상기 후보 블록의 운동 정보는 상기 후보 블록의 단일 방향 운동 정보를 포함하고, 상기 후보 블록이 쌍방향 예측 블록일 경우, 상기 후보 블록의 운동 정보는 상기 후보 블록의 제1 운동 정보 및/또는 상기 후보 블록의 제2 운동 정보를 포함하지만, 상기 제1 운동 정보 및 상기 제2 운동 정보의 가중 운동 정보를 포함하지 않는
것을 특징으로 하는 비디오 인코딩 및 디코딩 방법. - 제7항 또는 제8항에 있어서,
상기 상기 제1 삼각 서브 블록에 대응하는 제2 후보 운동 정보 리스트를 구축하는 것은,
상기 제1 삼각 서브 블록에 대응하는 제1 후보 블록을 취득하는 것; 및
상기 제1 후보 블록의 운동 정보를 상기 제2 후보 운동 정보 리스트 내에 추가하는 것을 포함하고,
여기서, 상기 제1 후보 블록이 단일 방향 예측 블록일 경우, 상기 제1 후보 블록의 운동 정보는 상기 제1 후보 블록의 단일 방향 운동 정보를 포함하고, 상기 제1 후보 블록이 쌍방향 예측 블록일 경우, 상기 제1 후보 블록의 운동 정보는 상기 제1 후보 블록의 제1 운동 정보 및/또는 상기 제1 후보 블록의 제2 운동 정보를 포함하지만, 상기 제1 후보 블록의 제1 운동 정보 및 상기 제1 후보 블록의 제2 운동 정보의 가중 운동 정보를 포함하지 않고,
상기 상기 제2 삼각 서브 블록에 대응하는 제3 후보 운동 정보 리스트를 구축하는 것은,
상기 제2 삼각 서브 블록에 대응하는 제2 후보 블록을 취득하는 것; 및
상기 제2 후보 블록의 운동 정보를 상기 제3 후보 운동 정보 리스트 내에 추가하는 것을 포함하고,
여기서, 상기 제2 후보 블록이 단일 방향 예측 블록일 경우, 상기 제2 후보 블록의 운동 정보는 상기 제2 후보 블록의 단일 방향 운동 정보를 포함하고, 상기 제2 후보 블록이 쌍방향 예측 블록일 경우, 상기 제2 후보 블록의 운동 정보는 상기 제2 후보 블록의 제1 운동 정보 및/또는 상기 제2 후보 블록의 제2 운동 정보를 포함하지만, 상기 제2 후보 블록의 제1 운동 정보 및 상기 제2 후보 블록의 제2 운동 정보의 가중 운동 정보를 포함하지 않는
것을 특징으로 하는 비디오 인코딩 및 디코딩 방법. - 제10항에 있어서,
부 대각선 방식에 따라 상기 현재 블록을 제1 삼각 서브 블록과 제2 삼각 서브 블록으로 분할할 경우, 상기 제1 삼각 서브 블록은 오른쪽 상측의 삼각 서브 블록이고, 상기 제2 삼각 서브 블록은 왼쪽 하측의 삼각 서브 블록이며,
상기 제1 삼각 서브 블록에 대응하는 제1 후보 블록은 상기 현재 블록의 상측의 인접 블록 및 상기 현재 블록이 위치하고 있는 현재 프레임 이외의 다른 프레임 내의 시간 영역 후보 블록을 포함하고,
상기 제2 삼각 서브 블록에 대응하는 제2 후보 블록은 상기 현재 블록의 죄측의 인접 블록 및 상기 현재 블록이 위치하고 있는 현재 프레임 이외의 다른 프레임 내의 시간 영역 후보 블록을 포함하는
것을 특징으로 하는 비디오 인코딩 및 디코딩 방법. - 제7항 또는 제8항에 있어서,
제1 후보 운동 정보 리스트, 제2 후보 운동 정보 리스트 또는 제3 후보 운동 정보 리스트를 구축할 때에, 후보 운동 정보 리스트 내에 운동 정보를 추가할 때마다, 후보 운동 정보 리스트 내의 운동 정보의 수량이 상한치에 도달하였는지 여부를 판단하고, 상한치에 도달했을 경우에는 운동 정보의 추가를 거부하고, 상한치에 도달하지 않았을 경우에는 운동 정보의 추가를 계속하고, 및/또는,
제1 후보 운동 정보 리스트, 제2 후보 운동 정보 리스트 또는 제3 후보 운동 정보 리스트를 구축할 때에, 상기 현재 블록의 후보 블록의 운동 정보를 수집할 때마다, 상기 후보 블록의 운동 정보와 이미 상기 현재 블록에 의해 수집된 운동 정보가 일치한지 여부를 비교할 필요가 없는
것을 특징으로 하는 비디오 인코딩 및 디코딩 방법. - 제1항에 있어서,
상기 제1 목표 운동 정보 및 상기 제2 목표 운동 정보를 취득한 후에, 상기 제1 목표 운동 정보 및 상기 제2 목표 운동 정보에 기반하여 상기 제1 삼각 서브 블록 및 상기 제2 삼각 서브 블록에 대해 운동 보상을 실행하는 단계를 더 포함하는
것을 특징으로 하는 비디오 인코딩 및 디코딩 방법. - 제13항에 있어서,
상기 제1 목표 운동 정보 및 상기 제2 목표 운동 정보에 기반하여 상기 제1 삼각 서브 블록 및 상기 제2 삼각 서브 블록에 대해 운동 보상을 실행하는 단계는,
상기 현재 블록에 포함된 복수의 서브 블록을 확정하는 것 - 각 서브 블록의 폭은 모두 2이상이며, 각 서브 블록의 높이는 모두 2이상인 것 -; 및
각 서브 블록에 대해, 상기 서브 블록이 상기 제1 삼각 서브 블록 내에 위치하면, 상기 제1 목표 운동 정보에 기반하여 상기 서브 블록에 대해 운동 보상을 실행하고, 상기 서브 블록이 상기 제2 삼각 서브 블록 내에 위치하면, 상기 제2 목표 운동 정보에 기반하여 상기 서브 블록에 대해 운동 보상을 실행하며, 상기 서브 블록이 상기 제1 삼각 서브 블록과 상기 제2 삼각 서브 블록을 분할하는 대각선에 위치하면, 상기 제1 목표 운동 정보 및 상기 제2 목표 운동 정보에 기반하여 상기 서브 블록에 대해 가중 보상을 실행하는 것을 포함하는
것을 특징으로 하는 비디오 인코딩 및 디코딩 방법. - 제13항에 있어서,
상기 제1 목표 운동 정보 및 상기 제2 목표 운동 정보에 기반하여 상기 제1 삼각 서브 블록 및 상기 제2 삼각 서브 블록에 대해 운동 보상을 실행하는 단계는,
상기 현재 블록에 포함된 제1 영역 서브 블록, 제2 영역 서브 블록 및 제3 영역 서브 블록을 확정하는 것 - 상기 제1 영역 서브 블록은 상기 제1 삼각 서브 블록 내에 위치하고, 상기 제2 영역 서브 블록은 상기 제2 삼각 서브 블록 내에 위치하며, 상기 제3 영역 서브 블록 내의 각 서브 블록의 중심과, 상기 제1 삼각 서브 블록과 상기 제2 삼각 서브 블록을 분할하는 대각선 사이의 거리는 소정의 임계값 미만인 것 -;
상기 제1 목표 운동 정보에 기반하여 상기 제1 영역 서브 블록 내의 각 서브 블록에 대해 운동 보상을 실행하는 것;
상기 제2 목표 운동 정보에 기반하여 상기 제2 영역 서브 블록 내의 각 서브 블록에 대해 운동 보상을 실행하는 것; 및
상기 제1 목표 운동 정보 및 상기 제2 목표 운동 정보에 기반하여 상기 제3 영역 서브 블록 내의 각 서브 블록에 대해 가중 보상을 실행하는 것을 포함하는
것을 특징으로 하는 비디오 인코딩 및 디코딩 방법. - 제15항에 있어서,
상기 제1 목표 운동 정보 및 상기 제2 목표 운동 정보에 기반하여 상기 제3 영역 서브 블록 내의 각 서브 블록에 대해 가중 보상을 실행하는 것은,
상기 제3 영역 서브 블록 내의 각 서브 블록에 대해 상기 제1 목표 운동 정보에 기반하여 상기 서브 블록의 제1 예측 값을 확정하는 것;
상기 제2 목표 운동 정보에 기반하여 상기 서브 블록의 제2 예측 값을 확정하는 것; 및
상기 제1 예측 값, 상기 제1 예측 값에 대응하는 제1 가중치 계수, 상기 제2 예측 값 및 상기 제2 예측 값에 대응하는 제2 가중치 계수에 기반하여 상기 서브 블록에 대해 가중 보상을 실행하는 것을 포함하고,
여기에서, 상기 서브 블록이 제1 삼각 서브 블록 내에 위치하면, 상기 제1 가중치 계수는 상기 제2 가중치 계수보다 크고, 상기 서브 블록이 제2 삼각 서브 블록 내에 위치하면, 상기 제1 가중치 계수는 상기 제2 가중치 계수보다 작으며, 상기 서브 블록이 상기 대각선에 위치하면, 상기 제1 가중치 계수는 상기 제2 가중치 계수와 동일한
것을 특징으로 하는 비디오 인코딩 및 디코딩 방법. - 제13항에 있어서,
상기 제1 목표 운동 정보 및 상기 제2 목표 운동 정보에 기반하여 상기 제1 삼각 서브 블록 및 상기 제2 삼각 서브 블록에 대해 운동 보상을 실행하는 단계는,
상기 현재 블록에 포함된 제1 영역 서브 블록, 제2 영역 서브 블록 및 제3 영역 서브 블록을 확정하는 것 - 상기 제1 영역 서브 블록은 상기 제1 삼각 서브 블록 내에 위치하고, 상기 제2 영역 서브 블록은 상기 제2 삼각 서브 블록 내에 위치하며, 상기 제3 영역 서브 블록 내의 각 서브 블록의 중심과, 상기 제1 삼각 서브 블록과 상기 제2 삼각 서브 블록을 분할하는 대각선 사이의 거리는 소정의 임계값 미만인 것 -;
상기 제1 목표 운동 정보에 기반하여 상기 제1 영역 서브 블록 내의 각 서브 블록에 대해 운동 보상을 실행하는 것;
상기 제2 목표 운동 정보에 기반하여 상기 제2 영역 서브 블록 내의 각 서브 블록에 대해 운동 보상을 실행하는 것; 및
상기 제1 목표 운동 정보 또는 상기 제2 목표 운동 정보에 기반하여 상기 제3 영역 서브 블록 내의 각 서브 블록에 대해 운동 보상을 실행하는 것을 포함하는
것을 특징으로 하는 비디오 인코딩 및 디코딩 방법. - 제17항에 있어서,
상기 제1 목표 운동 정보 또는 상기 제2 목표 운동 정보에 기반하여 상기 제3 영역 서브 블록 내의 각 서브 블록에 대해 운동 보상을 실행하는 것은,
상기 현재 블록의 사이즈 정보가 제1 조건을 충족시키면, 상기 제1 목표 운동 정보에 기반하여 상기 제3 영역 서브 블록 내의 각 서브 블록에 대해 운동 보상을 실행하는 것; 및
상기 현재 블록의 사이즈 정보가 제2 조건을 충족시키면, 상기 제2 목표 운동 정보에 기반하여 상기 제3 영역 서브 블록 내의 각 서브 블록에 대해 운동 보상을 실행하는 것을 포함하는
것을 특징으로 하는 비디오 인코딩 및 디코딩 방법. - 제1항에 있어서,
상기 제1 목표 운동 정보에 대응하는 후보 블록이 단일 방향 예측 블록일 경우, 상기 제1 삼각 서브 블록에 대해 상기 제1 목표 운동 정보를 기억하는 단계;
상기 제1 목표 운동 정보에 대응하는 후보 블록이 쌍방향 예측 블록일 경우, 상기 제1 삼각 서브 블록에 대해 상기 제1 목표 운동 정보 및 제3 목표 운동 정보를 기억하는 단계 - 상기 제3 목표 운동 정보는 쌍방향 예측 블록의 다른 하나의 운동 정보인 단계 -;
상기 제2 목표 운동 정보에 대응하는 후보 블록이 단일 방향 예측 블록일 경우, 상기 제2 삼각 서브 블록에 대해 상기 제2 목표 운동 정보를 기억하는 단계; 및
상기 제2 목표 운동 정보에 대응하는 후보 블록이 쌍방향 예측 블록일 경우, 상기 제2 삼각 서브 블록에 대해 상기 제2 목표 운동 정보 및 제4 목표 운동 정보를 기억하는 단계 - 상기 제4 목표 운동 정보는 쌍방향 예측 블록의 다른 하나의 운동 정보인 단계 - 를 더 포함하는
것을 특징으로 하는 비디오 인코딩 및 디코딩 방법. - 비디오 디코더에 있어서,
프로세서 및 기계 판독 가능 기록 매체를 구비하며,
상기 기계 판독 가능 기록 매체에는 상기 프로세서에 의해 실행 가능한 기계 실행 가능 명령이 기록되어 있으며,
상기 프로세서에 의해 상기 기계 실행 가능 명령이 실행될 때에, 청구항 제1항 내지 제19항 중 어느 한 항에 기재된 방법이 실현되는
것을 특징으로 하는 비디오 디코더. - 비디오 인코더에 있어서,
프로세서 및 기계 판독 가능 기록 매체를 구비하며,
상기 기계 판독 가능 기록 매체에는 상기 프로세서에 의해 실행 가능한 기계 실행 가능 명령이 기록되어 있으며,
상기 프로세서에 의해 상기 기계 실행 가능 명령이 실행될 때에, 청구항 제1항 내지 제19항 중 어느 한 항에 기재된 방법이 실현되는
것을 특징으로 하는 비디오 인코더. - 기계 판독 가능 기록 매체에 있어서,
컴퓨터 명령이 기록되어 있으며,
상기 컴퓨터 명령이 프로세서에 의해 실행될 때에, 상기 프로세서가 청구항 제1항 내지 제19항 중 어느 한 항에 기재된 방법을 실현하도록 하는
것을 특징으로 하는 기계 판독 가능 기록 매체.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811628695.2A CN111385581B (zh) | 2018-12-28 | 2018-12-28 | 一种编解码方法及其设备 |
CN201811628695.2 | 2018-12-28 | ||
PCT/CN2019/124453 WO2020135033A1 (zh) | 2018-12-28 | 2019-12-11 | 视频编解码 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20210093347A true KR20210093347A (ko) | 2021-07-27 |
Family
ID=66615056
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020217019915A KR20210093347A (ko) | 2018-12-28 | 2019-12-11 | 비디오 인코딩 및 디코딩 |
Country Status (13)
Country | Link |
---|---|
US (1) | US11889072B2 (ko) |
EP (1) | EP3886437A4 (ko) |
JP (1) | JP7360464B2 (ko) |
KR (1) | KR20210093347A (ko) |
CN (38) | CN112584161B (ko) |
AU (1) | AU2019416266B2 (ko) |
BR (1) | BR112021012638A2 (ko) |
CA (2) | CA3214820A1 (ko) |
MX (1) | MX2021007710A (ko) |
PH (1) | PH12021551503A1 (ko) |
SG (1) | SG11202106972TA (ko) |
WO (4) | WO2020135033A1 (ko) |
ZA (2) | ZA202104449B (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12041266B2 (en) | 2019-06-24 | 2024-07-16 | Hangzhou Hikvision Digital Technology Co., Ltd. | Encoding and decoding method, apparatus and device |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020057504A1 (en) * | 2018-09-17 | 2020-03-26 | Mediatek Inc. | Methods and apparatuses of combining multiple predictors for block prediction in video coding systems |
CN112584161B (zh) * | 2018-12-28 | 2022-05-31 | 杭州海康威视数字技术股份有限公司 | 一种编解码方法及其设备 |
CN112055220B (zh) * | 2019-06-05 | 2022-07-29 | 杭州海康威视数字技术股份有限公司 | 一种编解码方法、装置及其设备 |
CN112073734B (zh) * | 2019-06-10 | 2023-02-28 | 杭州海康威视数字技术股份有限公司 | 一种编解码方法、装置及其设备 |
CN113411605B (zh) * | 2019-06-21 | 2022-05-31 | 杭州海康威视数字技术股份有限公司 | 一种编解码方法、装置及其设备 |
CN113347436B (zh) * | 2019-06-21 | 2022-03-08 | 杭州海康威视数字技术股份有限公司 | 预测模式的解码、编码方法及装置 |
WO2020253822A1 (en) | 2019-06-21 | 2020-12-24 | Huawei Technologies Co., Ltd. | Adaptive filter strength signalling for geometric partition mode |
CN111699689B (zh) * | 2019-06-25 | 2023-03-31 | 北京大学 | 视频处理方法、装置和设备 |
CN110213588B (zh) * | 2019-06-25 | 2021-07-13 | 浙江大华技术股份有限公司 | 空域候选运动信息获取方法、装置、编解码器及存储装置 |
CN110312130B (zh) * | 2019-06-25 | 2021-10-15 | 浙江大华技术股份有限公司 | 基于三角模式的帧间预测、视频编码方法及设备 |
CN112291558B (zh) * | 2019-07-23 | 2023-06-27 | 杭州海康威视数字技术股份有限公司 | 一种编解码方法、装置及其设备 |
KR20240119195A (ko) | 2019-08-26 | 2024-08-06 | 후아웨이 테크놀러지 컴퍼니 리미티드 | 모션 정보 저장을 위한 방법 및 장치 |
CN112449180B (zh) * | 2019-08-27 | 2023-02-28 | 杭州海康威视数字技术股份有限公司 | 一种编解码方法、装置及其设备 |
CN114303382A (zh) * | 2019-09-01 | 2022-04-08 | 北京字节跳动网络技术有限公司 | 视频编解码中预测权重的对准 |
WO2021068923A1 (en) | 2019-10-10 | 2021-04-15 | Beijing Bytedance Network Technology Co., Ltd. | Deblocking filtering improvements |
US11496755B2 (en) * | 2019-12-28 | 2022-11-08 | Tencent America LLC | Method and apparatus for video coding |
CN113141507B (zh) | 2020-01-17 | 2022-07-15 | 腾讯科技(深圳)有限公司 | 视频编解码中的运动信息列表构建方法、装置及设备 |
CN113452997B (zh) * | 2020-03-25 | 2022-07-29 | 杭州海康威视数字技术股份有限公司 | 一种编解码方法、装置及其设备 |
EP4131955A4 (en) * | 2020-04-03 | 2023-04-19 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | INTERFRAME PREDICTION METHOD, ENCODER, DECODER AND STORAGE MEDIUM |
EP4131957A4 (en) | 2020-04-03 | 2023-04-19 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | INTERFRAME PREDICTION METHOD, ENCODER, DECODER AND STORAGE MEDIUM |
CN113709488B (zh) * | 2020-06-30 | 2023-02-28 | 杭州海康威视数字技术股份有限公司 | 一种编解码方法、装置及其设备 |
CN112004096B (zh) * | 2020-07-20 | 2024-07-12 | 浙江大华技术股份有限公司 | 角度模式帧间预测方法、编码器及存储介质 |
CN114071159B (zh) * | 2020-07-29 | 2023-06-30 | Oppo广东移动通信有限公司 | 帧间预测方法、编码器、解码器及计算机可读存储介质 |
CN112040242A (zh) * | 2020-07-30 | 2020-12-04 | 浙江大华技术股份有限公司 | 基于高级运动矢量表达的帧间预测方法、装置及设备 |
EP4183132A4 (en) * | 2020-12-02 | 2023-09-13 | Zhejiang Dahua Technology Co., Ltd. | SYSTEMS AND METHODS FOR INTERPREDICTION BASED ON A MERGE MODE |
WO2023154574A1 (en) * | 2022-02-14 | 2023-08-17 | Beijing Dajia Internet Information Technology Co., Ltd. | Methods and devices for geometric partitioning mode with adaptive blending |
CN115955565B (zh) * | 2023-03-15 | 2023-07-04 | 深圳传音控股股份有限公司 | 处理方法、处理设备及存储介质 |
Family Cites Families (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3426092B2 (ja) | 1996-09-12 | 2003-07-14 | シャープ株式会社 | 動画像符号化装置における動き補償フレーム間予測方法 |
KR100265721B1 (ko) * | 1997-03-31 | 2000-09-15 | 윤종용 | 2차원삼각형조각선격자모델을이용한동영상의움직임추정방법 |
JPH10294942A (ja) * | 1997-04-18 | 1998-11-04 | Ricoh Co Ltd | 画像データ符号化装置 |
US6879324B1 (en) * | 1998-07-14 | 2005-04-12 | Microsoft Corporation | Regional progressive meshes |
US7053894B2 (en) * | 2001-01-09 | 2006-05-30 | Intel Corporation | Compression of surface light fields |
KR100886191B1 (ko) * | 2004-12-06 | 2009-02-27 | 엘지전자 주식회사 | 영상 블록을 디코딩 하는 방법 |
CN101502119B (zh) * | 2006-08-02 | 2012-05-23 | 汤姆逊许可公司 | 用于视频编码的自适应几何分割方法和设备 |
CN101873500B (zh) * | 2009-04-24 | 2012-05-23 | 华为技术有限公司 | 帧间预测编码方法、帧间预测解码方法及设备 |
CN105959688B (zh) * | 2009-12-01 | 2019-01-29 | 数码士有限公司 | 用于解码高分辨率图像的方法 |
US8879632B2 (en) * | 2010-02-18 | 2014-11-04 | Qualcomm Incorporated | Fixed point implementation for geometric motion partitioning |
CN102215395B (zh) * | 2010-04-09 | 2013-10-09 | 华为技术有限公司 | 一种视频编解码方法和装置 |
CN102215396A (zh) * | 2010-04-09 | 2011-10-12 | 华为技术有限公司 | 一种视频编解码方法和系统 |
CN103281527B (zh) * | 2010-04-15 | 2015-12-23 | 华为技术有限公司 | 图像编解码方法及相关装置 |
CN102223528B (zh) * | 2010-04-15 | 2014-04-30 | 华为技术有限公司 | 一种参考运动矢量获得方法 |
KR101712156B1 (ko) * | 2010-12-06 | 2017-03-06 | 에스케이 텔레콤주식회사 | 임의의 형태의 블록을 이용한 인터예측에 의한 영상의 부호화/복호화 방법 및 장치 |
CN102075748B (zh) * | 2010-12-27 | 2013-12-25 | 北京自动测试技术研究所 | 用于视频编码运动估计的搜索方法 |
CN102611880B (zh) | 2011-01-19 | 2015-02-04 | 华为技术有限公司 | 标识图像块几何划分模式的编解码方法和设备 |
CN102611884B (zh) | 2011-01-19 | 2014-07-09 | 华为技术有限公司 | 图像编解码方法及编解码设备 |
CN102611881B (zh) * | 2011-01-19 | 2014-06-25 | 华为技术有限公司 | 参考运动矢量获取方法、模块及编、解码装置 |
US9532066B2 (en) * | 2011-01-21 | 2016-12-27 | Qualcomm Incorporated | Motion vector prediction |
KR20120090740A (ko) * | 2011-02-07 | 2012-08-17 | (주)휴맥스 | 정밀한 단위의 필터 선택을 적용한 영상 부호화/복호화 장치 및 방법 |
WO2013051209A1 (ja) | 2011-10-05 | 2013-04-11 | パナソニック株式会社 | 画像符号化方法、画像符号化装置、画像復号方法、画像復号装置、および、画像符号化復号装置 |
KR20130050149A (ko) * | 2011-11-07 | 2013-05-15 | 오수미 | 인터 모드에서의 예측 블록 생성 방법 |
EP2942961A1 (en) | 2011-11-23 | 2015-11-11 | HUMAX Holdings Co., Ltd. | Methods for encoding/decoding of video using common merging candidate set of asymmetric partitions |
CN103686165B (zh) * | 2012-09-05 | 2018-01-09 | 乐金电子(中国)研究开发中心有限公司 | 深度图像帧内编解码方法及视频编解码器 |
KR101980349B1 (ko) * | 2014-03-05 | 2019-05-20 | 엘지전자 주식회사 | 폴리곤 유닛 기반 영상 인코딩/디코딩 방법 및 이를 위한 장치 |
KR101978194B1 (ko) * | 2014-11-14 | 2019-05-14 | 후아웨이 테크놀러지 컴퍼니 리미티드 | 디지털 이미지를 처리하는 방법 및 시스템 |
CN104717513B (zh) * | 2015-03-31 | 2018-02-09 | 北京奇艺世纪科技有限公司 | 一种双向帧间预测方法及装置 |
CN108028942B (zh) | 2015-06-04 | 2020-06-26 | 清华大学 | 像素预测方法、编码方法、解码方法及其装置、存储介质 |
CN106294918A (zh) * | 2015-06-10 | 2017-01-04 | 中国科学院宁波材料技术与工程研究所 | 一种虚拟透明化办公系统的设计方法 |
CN104935938B (zh) * | 2015-07-15 | 2018-03-30 | 哈尔滨工业大学 | 一种混合视频编码标准中帧间预测方法 |
EP4030754A1 (en) | 2016-05-02 | 2022-07-20 | Industry-University Cooperation Foundation Hanyang University | Image encoding/decoding method and computer-readable medium |
JP6938612B2 (ja) | 2016-07-12 | 2021-09-22 | エレクトロニクス アンド テレコミュニケーションズ リサーチ インスチチュートElectronics And Telecommunications Research Institute | 画像復号方法、画像符号化方法、及び非一時的なコンピュータ可読の記録媒体 |
US11368681B2 (en) | 2016-07-18 | 2022-06-21 | Electronics And Telecommunications Research Institute | Image encoding/decoding method and device, and recording medium in which bitstream is stored |
CN106375764B (zh) * | 2016-08-31 | 2018-04-10 | 中国科学技术大学 | 一种结合方向预测和块复制预测的视频帧内编码方法 |
WO2018066242A1 (en) * | 2016-10-04 | 2018-04-12 | Sharp Kabushiki Kaisha | Systems and methods for adaptively clipping sample values |
US10313673B2 (en) * | 2016-10-19 | 2019-06-04 | Google Llc | Methods and apparatus to encode and/or decode normals of geometric representations of surfaces |
CN116582690A (zh) | 2016-11-08 | 2023-08-11 | 株式会社Kt | 对图像进行解码和编码的方法、非暂态计算机可读介质 |
CN117528108A (zh) | 2016-11-28 | 2024-02-06 | 英迪股份有限公司 | 图像编码方法、图像解码方法及用于传送比特流的方法 |
US11267710B2 (en) | 2017-01-05 | 2022-03-08 | Lg Chem, Ltd. | Method for producing carbon nanotube dispersion with improved workability |
WO2018128466A1 (ko) * | 2017-01-09 | 2018-07-12 | 에스케이텔레콤 주식회사 | 영상 부호화 또는 복호화하기 위한 장치 및 방법 |
WO2019059676A1 (ko) * | 2017-09-20 | 2019-03-28 | 한국전자통신연구원 | 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체 |
CN111213379B (zh) * | 2017-10-16 | 2023-11-21 | 数字洞察力有限公司 | 用于将图像编码/解码的方法、装置和存储比特流的记录介质 |
WO2019089864A1 (en) * | 2017-11-01 | 2019-05-09 | Vid Scale, Inc. | Overlapped block motion compensation |
CN112584161B (zh) * | 2018-12-28 | 2022-05-31 | 杭州海康威视数字技术股份有限公司 | 一种编解码方法及其设备 |
CN110312130B (zh) * | 2019-06-25 | 2021-10-15 | 浙江大华技术股份有限公司 | 基于三角模式的帧间预测、视频编码方法及设备 |
-
2018
- 2018-12-28 CN CN202011480779.3A patent/CN112584161B/zh active Active
- 2018-12-28 CN CN202011484110.1A patent/CN112584176B/zh active Active
- 2018-12-28 CN CN202011484121.XA patent/CN112584177B/zh active Active
- 2018-12-28 CN CN202011483974.1A patent/CN112584168B/zh active Active
- 2018-12-28 CN CN202011480768.5A patent/CN112565782B/zh active Active
- 2018-12-28 CN CN202011483959.7A patent/CN112584167B/zh active Active
- 2018-12-28 CN CN201910104299.8A patent/CN109819255B/zh active Active
- 2018-12-28 CN CN202011483940.2A patent/CN112532994B/zh active Active
- 2018-12-28 CN CN202011484039.7A patent/CN112584172B/zh active Active
- 2018-12-28 CN CN202011484095.0A patent/CN112584175B/zh active Active
- 2018-12-28 CN CN202011480770.2A patent/CN112584160B/zh active Active
- 2018-12-28 CN CN202011480851.2A patent/CN112468824B/zh active Active
- 2018-12-28 CN CN202011484003.9A patent/CN112584170B/zh active Active
- 2018-12-28 CN CN202011480854.6A patent/CN112584163B/zh active Active
- 2018-12-28 CN CN202011480874.3A patent/CN112584165B/zh active Active
- 2018-12-28 CN CN202011483957.8A patent/CN112584166B/zh active Active
- 2018-12-28 CN CN201910104323.8A patent/CN109862368B/zh active Active
- 2018-12-28 CN CN202011480849.5A patent/CN112565786B/zh active Active
- 2018-12-28 CN CN202011484041.4A patent/CN112584173B/zh active Active
- 2018-12-28 CN CN202011483975.6A patent/CN112584169B/zh active Active
- 2018-12-28 CN CN201811628695.2A patent/CN111385581B/zh active Active
- 2018-12-28 CN CN202011480872.4A patent/CN112511842B/zh active Active
- 2018-12-28 CN CN202011480803.3A patent/CN112584162B/zh active Active
- 2018-12-28 CN CN201910104281.8A patent/CN109862369B/zh active Active
- 2018-12-28 CN CN202011480780.6A patent/CN112565784B/zh active Active
- 2018-12-28 CN CN202011480817.5A patent/CN112565785B/zh active Active
- 2018-12-28 CN CN202011484037.8A patent/CN112468825B/zh active Active
- 2018-12-28 CN CN202011480759.6A patent/CN112565781B/zh active Active
- 2018-12-28 CN CN202011484057.5A patent/CN112584174B/zh active Active
- 2018-12-28 CN CN202011480749.2A patent/CN112584159B/zh active Active
- 2018-12-28 CN CN202011480859.9A patent/CN112565787B/zh active Active
- 2018-12-28 CN CN202011480776.XA patent/CN112565783B/zh active Active
- 2018-12-28 CN CN202011480792.9A patent/CN112532993B/zh active Active
- 2018-12-28 CN CN202011480919.7A patent/CN112565788B/zh active Active
- 2018-12-28 CN CN202011480862.0A patent/CN112584164B/zh active Active
- 2018-12-28 CN CN202011484020.2A patent/CN112584171B/zh active Active
- 2018-12-28 CN CN202011484132.8A patent/CN112584178B/zh active Active
- 2018-12-28 CN CN202011480801.4A patent/CN112511841B/zh active Active
-
2019
- 2019-12-11 JP JP2021537882A patent/JP7360464B2/ja active Active
- 2019-12-11 KR KR1020217019915A patent/KR20210093347A/ko not_active Application Discontinuation
- 2019-12-11 WO PCT/CN2019/124453 patent/WO2020135033A1/zh unknown
- 2019-12-11 MX MX2021007710A patent/MX2021007710A/es unknown
- 2019-12-11 EP EP19902594.1A patent/EP3886437A4/en active Pending
- 2019-12-11 BR BR112021012638-4A patent/BR112021012638A2/pt unknown
- 2019-12-11 SG SG11202106972TA patent/SG11202106972TA/en unknown
- 2019-12-11 WO PCT/CN2019/124461 patent/WO2020135036A1/zh active Application Filing
- 2019-12-11 WO PCT/CN2019/124458 patent/WO2020135035A1/zh active Application Filing
- 2019-12-11 WO PCT/CN2019/124455 patent/WO2020135034A1/zh active Application Filing
- 2019-12-11 CA CA3214820A patent/CA3214820A1/en active Pending
- 2019-12-11 AU AU2019416266A patent/AU2019416266B2/en active Active
- 2019-12-11 CA CA3124889A patent/CA3124889C/en active Active
-
2021
- 2021-06-23 PH PH12021551503A patent/PH12021551503A1/en unknown
- 2021-06-25 US US17/358,368 patent/US11889072B2/en active Active
- 2021-06-28 ZA ZA2021/04449A patent/ZA202104449B/en unknown
-
2023
- 2023-01-13 ZA ZA2023/00583A patent/ZA202300583B/en unknown
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12041266B2 (en) | 2019-06-24 | 2024-07-16 | Hangzhou Hikvision Digital Technology Co., Ltd. | Encoding and decoding method, apparatus and device |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20210093347A (ko) | 비디오 인코딩 및 디코딩 | |
RU2793275C2 (ru) | Кодирование и декодирование видео | |
RU2776941C1 (ru) | Кодирование и декодирование видео |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |