KR20210091356A - 화상 부호화 장치, 화상 부호화 방법, 화상 부호화 프로그램, 화상 복호 장치, 화상 복호 방법 및 화상 복호 프로그램 - Google Patents
화상 부호화 장치, 화상 부호화 방법, 화상 부호화 프로그램, 화상 복호 장치, 화상 복호 방법 및 화상 복호 프로그램 Download PDFInfo
- Publication number
- KR20210091356A KR20210091356A KR1020217021884A KR20217021884A KR20210091356A KR 20210091356 A KR20210091356 A KR 20210091356A KR 1020217021884 A KR1020217021884 A KR 1020217021884A KR 20217021884 A KR20217021884 A KR 20217021884A KR 20210091356 A KR20210091356 A KR 20210091356A
- Authority
- KR
- South Korea
- Prior art keywords
- motion information
- candidate
- information candidate
- prediction
- candidate list
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/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/521—Processing of motion vectors for estimating the reliability of the determined motion vectors or motion vector field, e.g. for smoothing the motion vector field or for correcting 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/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
-
- 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/577—Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
-
- 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/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/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/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/189—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
- H04N19/196—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
-
- 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/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/423—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
-
- 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/46—Embedding additional information in the video signal during the compression process
-
- 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
-
- 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/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with 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/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
-
- 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/172—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 picture, frame or field
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
후보 리스트 생성부는, 부호화 대상 블록에 인접하는 복수의 부호화 종결의 블록에서, 움직임 벡터의 정보와 참조 화상의 정보를 적어도 포함하는 움직임 정보를 각각 1개 또는 2개 갖는 복수의 블록을 선택하고, 선택된 블록의 움직임 정보에서, 움직임 보상 예측에 사용하는 움직임 정보의 후보를 포함하는 후보 리스트를 생성한다. 제1의 움직임 정보 취득부는, 상기 후보에 포함되는 제1의 후보에서 제1의 예측 리스트의 움직임 정보를 취득한다. 제2의 움직임 정보 취득부는, 상기 후보에 포함되는 제2의 후보에서 제2의 예측 리스트의 움직임 정보를 취득한다. 선택 후보 생성부는, 제1의 움직임 정보 취득부에 의해 취득된 제1의 예측 리스트의 움직임 정보와, 상기 제2의 움직임 정보 취득부에 의해 취득된 제2의 예측 리스트의 움직임 정보를 조합하여, 움직임 정보의 새로운 후보를 생성한다.
Description
본 발명은, 움직임 보상 예측을 사용한 동화상 부호화 기술에 관한 것으로, 특히 움직임 보상 예측에서 이용하는 움직임 정보를 부호화 또는 복호하는 화상 부호화 장치, 화상 부호화 방법, 화상 부호화 프로그램, 화상 복호 장치, 화상 복호 방법 및 화상 복호 프로그램에 관한 것이다.
일반적인 동화상 압축 부호화에서는 움직임 보상 예측이 이용된다. 움직임 보상 예측은, 대상 화상을 작은 블록으로 분할하고, 복호 종결의 화상을 참조 화상으로, 움직임 벡터로 나타내는 움직임 양에 기초하여, 대상 화상의 대상 블록에서 참조 화상의 참조 블록으로 이동한 위치의 신호를 예측 신호로서 생성하는 기술이다. 움직임 보상 예측에는, 1개의 움직임 벡터를 이용해서 단방향으로 실행하는 것과, 2개의 움직임 벡터를 이용해서 쌍방향으로 실행하는 것이 있다.
또, 움직임 벡터에 대해서도, 처리 대상 블록으로 인접하는 부호화 종결 블록의 움직임 벡터를 예측 움직임 벡터(이하, "예측 벡터"라고 함)라고 하고, 처리 대상 블록의 움직임 벡터와 예측 벡터의 차분을 요구하고, 차분 벡터를 부호화 벡터로서 전송함으로서 압축 효율을 향상시키고 있다.
MPEG-4AVC에서는, MPEG-2보다도 움직임 보상 예측의 블록 사이즈를 작게 또한 다양하게 함으로서 움직임 보상 예측의 효율을 향상시키고 있다. 한편, 블록 사이즈를 작게 함으로서 움직임 벡터수가 증가하기 때문에, 부호화 벡터의 부호량이 문제가 된다.
이 때문에, MPEG-2에서는 단순히 처리 대상 블록의 왼쪽에 인접하는 블록의 움직임 벡터를 예측 벡터로 하고 있었지만, MPEG-4AVC에서는 복수의 인접 블록의 움직임 벡터의 중앙값을 예측 벡터로 함으로서 예측 벡터의 정밀도를 향상시키고, 부호화 벡터의 부호량의 증가를 억제하고 있다. 또한, MPEG-4AVC에서 다이렉트 움직임 보상 예측이 알려져 있다. 다이렉트 움직임 보상 예측은, 부호화 종결의 다른 화상의 처리 대상 블록과 동일 위치에 있는 블록의 움직임 벡터를, 대상 화상과 2개의 참조 화상의 거리에서 스케일링해서 새로운 움직임 벡터를 생성하고, 부호화 벡터를 전송할 필요 없이, 움직임 보상 예측을 실현하는 것이다.
또, 처리 대상 블록에 인접하는 블록의 움직임 정보를 이용해서, 부호화 벡터를 전송할 필요 없이 움직임 보상 예측을 실현하는 움직임 보상 예측이 알려져 있다(예컨대, 특허문헌 1 참조).
상술한 바와 같이, 부호화 벡터를 전송하지 않는 다이렉트 움직임 보상 예측은, 처리 대상 블록과 부호화 종결의 다른 화상의 처리 대상 블록과 동일 위치에 있는 블록의 움직임의 연속성에 주목하고 있다. 또, 특허문헌 1은 처리 대상 블록과 처리 대상 블록에 인접하는 블록의 움직임의 연속성에 주목하고 있다. 이에 의해, 다른 블록의 움직임 정보를 이용함으로서 차분 벡터를 포함하는 움직임 정보를 부호화 벡터로서 부호화하지 않고 부호화 효율을 향상시키고 있다.
그러나 종래의 움직임 보상 예측에서는, 처리 대상 블록의 움직임이, 처리 대상 블록과 인접하는 블록의 움직임이나, 부호화 종결의 다른 화상의 처리 대상 블록과 동일 위치 주변에 있는 블록과의 움직임에 엇갈림이 있을 경우, 차분 벡터를 포함하는 움직임 정보를 부호화하지 않으면 안되고, 부호화 효율의 향상이 충분히 발휘되지 않는 어려운 면이 있다.
본 발명은 이러한 상황에 비추어 본 것으로, 그 목적은, 움직임 벡터를 포함하는 움직임 정보의 부호화 효율을, 보다 향상시키는 기술을 제공하는 것에 있다.
상기 과제를 해결하기 위해, 본 발명의 일 양태의 화상 부호화 장치는, 움직임 보상 예측을 실행하는 화상 부호화 장치로, 부호화 대상 블록에 인접하는 복수의 부호화 종결의 블록에서, 움직임 벡터의 정보와 참조 화상의 정보를 적어도 포함하는 움직임 정보를 각각 1개 또는 2개 갖는 복수의 블록을 선택하고, 선택된 블록의 움직임 정보에서, 움직임 보상 예측에 사용하는 움직임 정보의 후보를 포함하는 후보 리스트를 생성하는 후보 리스트 생성부(140)와, 상기 후보에 포함되는 제1의 후보에서 제1의 예측 리스트의 움직임 정보를 취득하는 제1의 움직임 정보 취득부(161)와, 상기 후보에 포함되는 제2의 후보에서 제2의 예측 리스트의 움직임 정보를 취득하는 제2의 움직임 정보 취득부(162)와, 상기 제1의 움직임 정보 취득부(161)에 의해 취득된 상기 제1의 예측 리스트의 움직임 정보와, 상기 제2의 움직임 정보 취득부(162)에 의해 취득된 상기 제2의 예측 리스트의 움직임 정보를 조합하고, 움직임 정보의 새로운 후보를 생성하는 선택 후보 생성부(163)를 구비한다.
상기 후보 리스트 생성부(140)는, 상기 후보의 수가, 설정된 최대수에 만족되지 않는 경우, 상기 선택 후보 생성부(163)에 의해 생성된 새로운 후보를 포함한 후보 리스트를 생성해도 좋다.
상기 후보 리스트 생성부(140)는, 상기 후보의 수가, 상기 최대수를 넘지 않도록, 상기 선택 후보 생성부(163)에 의해 생성된 1개 이상의 새로운 후보를 포함한 후보 리스트를 생성해도 좋다.
움직임 보상 예측에 사용하는 움직임 정보의 후보를 상기 후보 리스트내에서 특정하기 위한 후보 특정 정보를 부호화하는 부호열 생성부(104)를 더 구비해도 좋다.
상기 후보 리스트 생성부(140)는, 상기 선택 후보 생성부(163)에 의해 생성된 새로운 후보에 상기 후보보다 큰 후보 특정 정보를 할당해도 좋다.
상기 제1의 예측 리스트 및 상기 제2의 예측 리스트는 상이한 예측 리스트이어도 좋다.
상기 후보 리스트 생성부(140)는, 상기 부호화 대상 블록을 포함하는 화상과 시간적으로 상이한 화상 블록의 움직임 정보에서 도출한 움직임 정보를 후보 리스트에 포함해도 좋다.
상기 제1의 움직임 정보 취득부(161)는, 상기 후보를 제1의 우선순에 따라 검색하고, 유효하게 되는 후보를 상기 제1의 후보로 해도 좋다. 상기 제2의 움직임 정보 취득부(162)는, 상기 후보를 제2의 우선순위에 따라 검색하고, 유효하게 되는 후보를 상기 제2의 후보로 해도 좋다.
상기 제1의 움직임 정보 취득부(161)는, 상기 후보 중에 미리 정해진 후보를 상기 제1의 후보로 해도 좋다. 상기 제2의 움직임 정보 취득부(162)는, 상기 후보 중에 미리 정해진 다른 후보를 상기 제2의 후보로 해도 좋다.
상기 선택 후보 생성부(163)는, 상기 제1의 움직임 정보 취득부(161) 및 상기 제2의 움직임 정보 취득부(162)에 의해 취득된, 상기 제1의 예측 리스트의 움직임 정보 및 상기 제2의 예측 리스트의 움직임 정보의 양쪽이 유효한 경우, 상기 새로운 후보를 생성해도 좋다.
상기 새로운 후보는, 2개의 움직임 정보를 가져도 좋다. 상기 새로운 후보는, 1개의 움직임 정보를 가져도 좋다.
본 발명의 다른 양태는, 화상 부호화 방법이다. 이 방법은, 움직임 보상 예측을 실행하는 화상 부호화 방법으로, 부호화 대상 블록에 인접하는 복수의 부호화 종결의 블록에서, 움직임 벡터의 정보와 참조 화상의 정보를 적어도 포함하는 움직임 정보를 각각 1개 또는 2개 갖는 복수의 블록을 선택하고, 선택된 블록의 움직임 정보에서, 움직임 보상 예측에 사용하는 움직임 정보의 후보를 포함하는 후보 리스트를 생성하는 스텝과, 상기 후보 리스트에 포함되는 제1의 후보에서 제1의 예측 리스트의 움직임 정보를 취득하는 스텝과, 상기 후보 리스트에 포함되는 제2의 후보에서 제2의 예측 리스트의 움직임 정보를 취득하는 스텝과, 상기 제1의 예측 리스트의 움직임 정보와, 상기 제2의 예측 리스트의 움직임 정보를 조합하고, 움직임 정보의 새로운 후보를 생성하는 스텝을 구비한다.
본 발명의 일 양태의 화상 복호 장치는, 움직임 보상 예측을 실행하는 화상 복호 장치로, 복호 대상 블록에 인접하는 복수의 복호 종결의 블록에서, 움직임 벡터의 정보와 참조 화상의 정보를 적어도 포함하는 움직임 정보를 각각 1개 또는 2개 갖는 복수의 블록을 선택하고, 선택된 블록의 움직임 정보에서, 움직임 보상 예측에 사용하는 움직임 정보의 후보를 포함하는 후보 리스트를 생성하는 후보 리스트 생성부(230)와, 상기 후보에 포함되는 제1의 후보에서 제1의 예측 리스트의 움직임 정보를 취득하는 제1의 움직임 정보 취득부(161)와, 상기 후보에 포함되는 제2의 후보에서 제2의 예측 리스트의 움직임 정보를 취득하는 제2의 움직임 정보 취득부(162)와, 상기 제1의 움직임 정보 취득부(161)에 의해 취득된 상기 제1의 예측 리스트의 움직임 정보와, 상기 제2의 움직임 정보 취득부(162)에 의해 취득된 상기 제2의 예측 리스트의 움직임 정보를 조합하고, 움직임 정보의 새로운 후보를 생성하는 선택 후보 생성부(163)를 구비한다.
상기 후보 리스트 생성부(230)는, 상기 후보의 수가, 설정된 최대수에 만족되지 않는 경우, 상기 선택 후보 생성부(163)에 의해 생성된 새로운 후보를 포함한 후보 리스트를 생성해도 좋다.
상기 후보 리스트 생성부(230)는, 상기 후보의 수가, 상기 최대수를 넘지 않도록, 상기 선택 후보 생성부(163)에 의해 생성된 1개 이상의 새로운 후보를 포함한 후보 리스트를 생성해도 좋다.
움직임 보상 예측에 사용하는 움직임 정보의 후보를 상기 후보 리스트내에서 특정하기 위한 후보 특정 정보를 복호하는 부호열 해석부(201)와, 복호된 상기 후보 특정 정보를 사용하고, 상기 후보 리스트 생성부(230)에서 생성한 후보 리스트에 포함되는 선택 후보 중 1개의 후보를 선택하는 선택부(231)를 더 구비해도 좋다.
상기 후보 리스트 생성부(230)는, 상기 선택 후보 생성부(163)에 의해 생성된 새로운 후보에 상기 후보보다 큰 후보 특정 정보를 할당해도 좋다.
상기 제1의 예측 리스트 및 상기 제2의 예측 리스트는, 상이한 예측 리스트이어도 좋다.
상기 후보 리스트 생성부(230)는, 상기 복호 대상 블록을 포함하는 화상과 시간적으로 상이한 화상 블록의 움직임 정보에서 도출한 움직임 정보를 후보 리스트에 포함해도 좋다.
상기 제1의 움직임 정보 취득부(161)는, 상기 후보를 제1의 우선순위에 따라 검색하고, 유효하게 되는 후보를 상기 제1의 후보로 해도 좋다. 상기 제2의 움직임 정보 취득부(162)는, 상기 후보를 제2의 우선순위에 따라 검색하고, 유효하게 되는 후보를 상기 제2의 후보로 해도 좋다.
상기 제1의 움직임 정보 취득부(161)는, 상기 후보 중에 미리 정해진 후보를 상기 제1의 후보로 해도 좋다. 상기 제2의 움직임 정보 취득부(162)는, 상기 후보 중에 미리 정해진 다른 후보를 상기 제2의 후보로 해도 좋다.
상기 선택 후보 생성부(163)는, 상기 제1의 움직임 정보 취득부(161) 및 상기 제2의 움직임 정보 취득부(162)에 의해 취득된, 상기 제1의 예측 리스트의 움직임 정보 및 상기 제2의 예측 리스트의 움직임 정보의 양쪽이 유효한 경우, 상기 새로운 후보를 생성해도 좋다.
상기 새로운 후보는, 2개의 움직임 정보를 가져도 좋다. 상기 새로운 후보는, 1개의 움직임 정보를 가져도 좋다.
본 발명의 다른 양태는, 화상 복호 방법이다. 이 방법은, 복호 대상 블록에 인접하는 복수의 복호 종결의 블록에서, 움직임 벡터의 정보와 참조 화상의 정보를 적어도 포함하는 움직임 정보를 각각 1개 또는 2개 갖는 복수의 블록을 선택하고, 선택된 블록의 움직임 정보에서, 움직임 보상 예측에 사용하는 움직임 정보의 후보를 포함하는 후보 리스트를 생성하는 스텝과, 상기 후보 리스트에 포함되는 제1의 후보에서 제1의 예측 리스트의 움직임 정보를 취득하는 스텝과, 상기 제1의 예측 리스트의 움직임 정보와, 상기 제2의 예측 리스트의 움직임 정보를 조합해서, 움직임 정보의 새로운 후보를 생성하는 스텝을 구비한다.
또한, 이상의 구성 요소를 임의로 조합하고, 본 발명의 표현을 방법, 장치, 시스템, 기록 매체, 컴퓨터 프로그램 등 사이에서 변환한 것도 또한, 본 발명의 양태로서 유효하다.
본 발명에 의하면, 움직임 벡터를 포함하는 움직임 정보의 부호화 효율을, 보다 향상시킬 수 있다.
도 1은 화상을 최대 부호화 블록으로 분할하는 예를 설명하기 위한 도면이다.
도 2의 도 2(a), (b)는, 부호화 블록을 설명하기 위한 도면이다.
도 3의 도 3(a)~(d)는, 예측 블록을 설명하기 위한 도면이다.
도 4는 예측 블록 사이즈를 설명하기 위한 도면이다.
도 5는 예측 부호화 모드를 설명하기 위한 도면이다.
도 6의 도(a)~(d)는, 움직임 보상 예측의 예측 방향을 설명하기 위한 도면이다.
도 7은 예측 블록의 신택스의 일례를 설명하기 위한 도면이다.
도 8의 도 8(a)~(c)는, 병합 인덱스의 Truncated Unary 부호열을 설명하기 위한 도면이다.
도 9는 본 발명의 실시형태 1에 따른 동화상 부호화 장치의 구성을 설명하기 위한 도면이다.
도 10은 도 9의 움직임 정보 메모리에서 움직임 정보의 관리 방법을 설명하기 위한 도면이다.
도 11은 도 9의 움직임 정보 생성부의 구성을 설명하기 위한 도면이다.
도 12는 도 9의 차분 벡터 산출부의 구성을 설명하기 위한 도면이다.
도 13은 공간 후보 블록군을 설명하기 위한 도면이다.
도 14는 시간 후보 블록군을 설명하기 위한 도면이다.
도 15는 도 11의 결합 움직임 정보 결정부의 구성을 설명하기 위한 도면이다.
도 16은 도 15의 결합 움직임 정보 후보 생성부의 구성을 설명하기 위한 도면이다.
도 17은 도 16의 쌍방향 결합 움직임 정보 후보 리스트 생성부의 구성을 설명하기 위한 도면이다.
도 18은 후보 번호 관리 테이블을 설명하기 위한 도면이다.
도 19는 도 19(a), (b)는, 병합 후보 번호에서 병합 인덱스로의 변환을 설명하기 위한 도면이다.
도 20은 본 발명의 실시형태 1에 따른 동화상 부호화 장치의 부호화의 동작을 설명하기 위한 플로차트이다.
도 21은 도 9의 움직임 정보 생성부의 동작을 설명하기 위한 플로차트이다.
도 22는 도 11의 차분 벡터 산출부의 동작을 설명하기 위한 플로차트이다.
도 23은 도 11의 결합 움직임 정보 결정부의 동작을 설명하기 위한 플로차트이다.
도 24는 도 16의 쌍방향 결합 움직임 정보 후보 리스트 생성부의 동작을 설명하기 위한 플로차트이다.
도 25는 공간 결합 움직임 정보 후보 리스트 생성의 동작을 설명하기 위한 플로차트이다.
도 26은 시간 결합 움직임 정보 후보 리스트 생성의 동작을 설명하기 위한 플로차트이다.
도 27은 쌍방향 결합 움직임 정보 후보 리스트의 생성의 동작을 설명하기 위한 플로차트이다.
도 28은 도 17의 기준 방향 움직임 정보 결정부의 동작을 설명하기 위한 플로차트이다.
도 29는 도 17의 역방향 움직임 정보 결정부의 동작을 설명하기 위한 플로차트이다.
도 30은 역방향 결합 움직임 정보 후보의 예측 방향의 결정을 설명하기 위한 도면이다.
도 31의 도 31(a)~(c)는, 쌍방향 결합 움직임 정보 후보의 예측 방향의 결정의 확장예를 설명하기 위한 도면이다.
도 32는 본 발명의 실시형태 1에 따른 동화상 복호 장치의 구성을 설명하기 위한 도면이다.
도 33은 도 32의 움직임 정보 재생부의 구성을 설명하기 위한 도면이다.
도 34는 도 33의 움직임 벡터 재생부의 구성을 설명하기 위한 도면이다.
도 35는 도 33의 결합 움직임 정보 재생부의 구성을 설명하기 위한 도면이다.
도 36은 본 발명의 실시형태 1에 따른 동화상 복호 장치의 복호의 동작을 설명하기 위한 플로차트이다.
도 37은 도 32의 움직임 정보 재생부의 동작을 설명하기 위한 플로차트이다.
도 38은 도 33의 움직임 벡터 재생부의 동작을 설명하기 위한 플로차트이다.
도 39는 도 33의 결합 움직임 정보 재생부의 동작을 설명하기 위한 플로차트이다.
도 40의 도 40(a), (b)는 변형예 1에 따른 후보 번호 관리 테이블을 설명하기 위한 도면이다.
도 41은 실시형태 1의 변형예 1에 따른 별도의 후보 번호 관리 테이블을 설명하기 위한 도면이다.
도 42는 쌍방향 결합 움직임 정보 후보(BD2)의 도출을 설명하기 위한 플로차트이다.
도 43는 쌍방향 결합 움직임 정보 후보(BD3)의 도출을 설명하기 위한 플로차트이다.
도 44는 실시형태 1의 변형예 2에 따른 역방향 움직임 정보 결정부의 동작을 설명하기 위한 플로차트이다.
도 45는 실시형태 1의 변형예 3에 따른 역방향 움직임 정보 결정부의 동작을 설명하기 위한 플로차트이다.
도 46은 실시형태 1의 변형예 4에 따른 결합 움직임 정보 후보 생성부의 구성을 설명하기 위한 도면이다.
도 47은 실시형태 1의 변형예 4에 따른 기준 방향 움직임 정보 결정부의 동작과 역방향 움직임 정보 결정부의 동작을 설명하기 위한 도면이다.
도 48은 실시형태 1의 변형예 5에 따른 2개의 예측 방향이 동일한 움직임 정보의 조합을 설명하기 위한 도면이다.
도 49의 49(a), (b)는, 실시형태 1의 변형예 6에 따른 BD0 및 BD1의 미리 정해진 조합을 설명하기 위한 도면이다.
도 50은 실시형태 1의 효과를 설명하기 위한 도면(그 1)이다.
도 51은 실시형태 1의 효과를 설명하기 위한 도면(그 2)이다.
도 52는 실시형태 1의 효과를 설명하기 위한 도면(그 3)이다.
도 53의 도 53(a), (b)는, 실시형태 2의 후보 번호 관리 테이블을 부호화 스트림 중에 부호화하는 신택스를 설명하기 위한 도면이다.
도 54는 실시형태 3의 후보 번호 관리 테이블을 설명하기 위한 도면이다.
도 55는 실시형태 3의 결합 움직임 정보 후보 생성부의 구성을 설명하기 위한 도면이다.
도 56은 실시형태 3의 결합 움직임 정보 후보 생성부의 동작을 설명하기 위한 플로차트이다.
도 57은 실시형태 3의 후보 번호 관리 테이블 변경부의 동작을 설명하기 위한 플로차트이다.
도 58의 도 58(a)~(c)는, 실시형태 3의 후보 번호 관리 테이블 변경부의 후보 번호 관리 테이블의 변경예를 설명하기 위한 도면이다.
도 59는 실시형태 3의 변형예 1에 따른 후보 번호 관리 테이블 변경부의 동작을 설명하기 위한 플로차트이다.
도 60의 도 60(a), (b)는, 실시형태 3의 변형예 1에 따른 후보 번호 관리 테이블 변경부의 후보 번호 관리 테이블을 설명하기 위한 도면이다.
도 61은 실시형태 3의 변형예 2에 따른 후보 번호 관리 테이블 변경부의 동작을 설명하기 위한 플로차트이다.
도 62는 실시형태 3의 변형예 3에 따른 후보 번호 관리 테이블 변경부의 동작을 설명하기 위한 플로차트이다.
도 63은 실시형태 4의 기준 방향 움직임 정보 결정부의 동작을 설명하기 위한 플로차트이다.
도 64는 실시형태 5의 결합 움직임 정보 후보 생성부의 구성을 설명하기 위한 도면이다.
도 65는 실시형태 6의 후보 번호 관리 테이블을 설명하기 위한 도면이다.
도 66은 실시형태 6의 기준 방향 결정부의 동작을 설명하기 위한 플로차트이다.
도 67은 시간 결합 움직임 정보 후보의 움직임 벡터 mvL0t, mvL1t의 산출 수법을 설명하기 위한 도면이다.
도 2의 도 2(a), (b)는, 부호화 블록을 설명하기 위한 도면이다.
도 3의 도 3(a)~(d)는, 예측 블록을 설명하기 위한 도면이다.
도 4는 예측 블록 사이즈를 설명하기 위한 도면이다.
도 5는 예측 부호화 모드를 설명하기 위한 도면이다.
도 6의 도(a)~(d)는, 움직임 보상 예측의 예측 방향을 설명하기 위한 도면이다.
도 7은 예측 블록의 신택스의 일례를 설명하기 위한 도면이다.
도 8의 도 8(a)~(c)는, 병합 인덱스의 Truncated Unary 부호열을 설명하기 위한 도면이다.
도 9는 본 발명의 실시형태 1에 따른 동화상 부호화 장치의 구성을 설명하기 위한 도면이다.
도 10은 도 9의 움직임 정보 메모리에서 움직임 정보의 관리 방법을 설명하기 위한 도면이다.
도 11은 도 9의 움직임 정보 생성부의 구성을 설명하기 위한 도면이다.
도 12는 도 9의 차분 벡터 산출부의 구성을 설명하기 위한 도면이다.
도 13은 공간 후보 블록군을 설명하기 위한 도면이다.
도 14는 시간 후보 블록군을 설명하기 위한 도면이다.
도 15는 도 11의 결합 움직임 정보 결정부의 구성을 설명하기 위한 도면이다.
도 16은 도 15의 결합 움직임 정보 후보 생성부의 구성을 설명하기 위한 도면이다.
도 17은 도 16의 쌍방향 결합 움직임 정보 후보 리스트 생성부의 구성을 설명하기 위한 도면이다.
도 18은 후보 번호 관리 테이블을 설명하기 위한 도면이다.
도 19는 도 19(a), (b)는, 병합 후보 번호에서 병합 인덱스로의 변환을 설명하기 위한 도면이다.
도 20은 본 발명의 실시형태 1에 따른 동화상 부호화 장치의 부호화의 동작을 설명하기 위한 플로차트이다.
도 21은 도 9의 움직임 정보 생성부의 동작을 설명하기 위한 플로차트이다.
도 22는 도 11의 차분 벡터 산출부의 동작을 설명하기 위한 플로차트이다.
도 23은 도 11의 결합 움직임 정보 결정부의 동작을 설명하기 위한 플로차트이다.
도 24는 도 16의 쌍방향 결합 움직임 정보 후보 리스트 생성부의 동작을 설명하기 위한 플로차트이다.
도 25는 공간 결합 움직임 정보 후보 리스트 생성의 동작을 설명하기 위한 플로차트이다.
도 26은 시간 결합 움직임 정보 후보 리스트 생성의 동작을 설명하기 위한 플로차트이다.
도 27은 쌍방향 결합 움직임 정보 후보 리스트의 생성의 동작을 설명하기 위한 플로차트이다.
도 28은 도 17의 기준 방향 움직임 정보 결정부의 동작을 설명하기 위한 플로차트이다.
도 29는 도 17의 역방향 움직임 정보 결정부의 동작을 설명하기 위한 플로차트이다.
도 30은 역방향 결합 움직임 정보 후보의 예측 방향의 결정을 설명하기 위한 도면이다.
도 31의 도 31(a)~(c)는, 쌍방향 결합 움직임 정보 후보의 예측 방향의 결정의 확장예를 설명하기 위한 도면이다.
도 32는 본 발명의 실시형태 1에 따른 동화상 복호 장치의 구성을 설명하기 위한 도면이다.
도 33은 도 32의 움직임 정보 재생부의 구성을 설명하기 위한 도면이다.
도 34는 도 33의 움직임 벡터 재생부의 구성을 설명하기 위한 도면이다.
도 35는 도 33의 결합 움직임 정보 재생부의 구성을 설명하기 위한 도면이다.
도 36은 본 발명의 실시형태 1에 따른 동화상 복호 장치의 복호의 동작을 설명하기 위한 플로차트이다.
도 37은 도 32의 움직임 정보 재생부의 동작을 설명하기 위한 플로차트이다.
도 38은 도 33의 움직임 벡터 재생부의 동작을 설명하기 위한 플로차트이다.
도 39는 도 33의 결합 움직임 정보 재생부의 동작을 설명하기 위한 플로차트이다.
도 40의 도 40(a), (b)는 변형예 1에 따른 후보 번호 관리 테이블을 설명하기 위한 도면이다.
도 41은 실시형태 1의 변형예 1에 따른 별도의 후보 번호 관리 테이블을 설명하기 위한 도면이다.
도 42는 쌍방향 결합 움직임 정보 후보(BD2)의 도출을 설명하기 위한 플로차트이다.
도 43는 쌍방향 결합 움직임 정보 후보(BD3)의 도출을 설명하기 위한 플로차트이다.
도 44는 실시형태 1의 변형예 2에 따른 역방향 움직임 정보 결정부의 동작을 설명하기 위한 플로차트이다.
도 45는 실시형태 1의 변형예 3에 따른 역방향 움직임 정보 결정부의 동작을 설명하기 위한 플로차트이다.
도 46은 실시형태 1의 변형예 4에 따른 결합 움직임 정보 후보 생성부의 구성을 설명하기 위한 도면이다.
도 47은 실시형태 1의 변형예 4에 따른 기준 방향 움직임 정보 결정부의 동작과 역방향 움직임 정보 결정부의 동작을 설명하기 위한 도면이다.
도 48은 실시형태 1의 변형예 5에 따른 2개의 예측 방향이 동일한 움직임 정보의 조합을 설명하기 위한 도면이다.
도 49의 49(a), (b)는, 실시형태 1의 변형예 6에 따른 BD0 및 BD1의 미리 정해진 조합을 설명하기 위한 도면이다.
도 50은 실시형태 1의 효과를 설명하기 위한 도면(그 1)이다.
도 51은 실시형태 1의 효과를 설명하기 위한 도면(그 2)이다.
도 52는 실시형태 1의 효과를 설명하기 위한 도면(그 3)이다.
도 53의 도 53(a), (b)는, 실시형태 2의 후보 번호 관리 테이블을 부호화 스트림 중에 부호화하는 신택스를 설명하기 위한 도면이다.
도 54는 실시형태 3의 후보 번호 관리 테이블을 설명하기 위한 도면이다.
도 55는 실시형태 3의 결합 움직임 정보 후보 생성부의 구성을 설명하기 위한 도면이다.
도 56은 실시형태 3의 결합 움직임 정보 후보 생성부의 동작을 설명하기 위한 플로차트이다.
도 57은 실시형태 3의 후보 번호 관리 테이블 변경부의 동작을 설명하기 위한 플로차트이다.
도 58의 도 58(a)~(c)는, 실시형태 3의 후보 번호 관리 테이블 변경부의 후보 번호 관리 테이블의 변경예를 설명하기 위한 도면이다.
도 59는 실시형태 3의 변형예 1에 따른 후보 번호 관리 테이블 변경부의 동작을 설명하기 위한 플로차트이다.
도 60의 도 60(a), (b)는, 실시형태 3의 변형예 1에 따른 후보 번호 관리 테이블 변경부의 후보 번호 관리 테이블을 설명하기 위한 도면이다.
도 61은 실시형태 3의 변형예 2에 따른 후보 번호 관리 테이블 변경부의 동작을 설명하기 위한 플로차트이다.
도 62는 실시형태 3의 변형예 3에 따른 후보 번호 관리 테이블 변경부의 동작을 설명하기 위한 플로차트이다.
도 63은 실시형태 4의 기준 방향 움직임 정보 결정부의 동작을 설명하기 위한 플로차트이다.
도 64는 실시형태 5의 결합 움직임 정보 후보 생성부의 구성을 설명하기 위한 도면이다.
도 65는 실시형태 6의 후보 번호 관리 테이블을 설명하기 위한 도면이다.
도 66은 실시형태 6의 기준 방향 결정부의 동작을 설명하기 위한 플로차트이다.
도 67은 시간 결합 움직임 정보 후보의 움직임 벡터 mvL0t, mvL1t의 산출 수법을 설명하기 위한 도면이다.
먼저, 본 발명의 실시형태의 전제가 되는 기술을 설명한다.
현재, MPEG(Moving Picture Experts Group) 등의 부호화 방식에 준거한 장치 및 시스템이 보급되고 있다. 이와 같은 부호화 방식에서는, 시간축상에 연속하는 복수의 화상을 디지털 신호의 정보로서 취급한다. 그때, 효율이 높은 정보의 방송, 전송 또는 축적 등을 목적으로 하고, 시간 방향의 용장성을 이용한 움직임 보상 예측 및 공간 방향의 용장성을 이용한 이산 코사인 변환 등의 직교 변환을 사용해서 압축 부호화한다.
1995년에는 MPEG-2 비디오(ISO/IEC 13818-2) 부호화 방식이, 범용의 영상 압축 부호화 방식으로 제정되고, DVD 및 D-VHS(등록상표) 규격의 디지털 VTR에 의한 자기 테이프 등의 축적 미디어, 및 디지털 방송 등의 애플리케이션으로 널리 사용되고 있다.
또한, 2003년에, 국제표준화기구(ISO)와 국제전기표준회의(IEC)의 조인트 기술위원회(ISO/IEC)와, 국제전기통신연합 전기통신표준화부문(ITU-T)의 공동 작업에 따라 MPEG-4 AVC/H.264로 불리는 부호화 방식(ISO/IEC에서는 14496-10, ITU-T에서는 H.264의 규격 번호가 붙어 있다. 이하, 이것을 MPEG-4 AVC로 부른다)이 국제 표준으로 제정된다.
현재, 국제표준화기구(ISO)와 국제전기표준회의(IEC)의 조인트 기술위원회(ISO/IEC)와, 국제전기통신연합 전기통신표준화부문(ITU-T)의 공동 작업에 따라 HEVC로 불리는 부호화 방식의 표준화가 검토된다.
(부호화 블록)
본 발명의 실시형태에서는, 입력된 화상 신호를 도 1과 같이 최대 부호화 블록 단위로 분할하고, 분할한 부호화 블록을 래스터 스캔 순서에서 처리한다. 부호화 블록은 계층 구조로 되어 있고, 부호화 효율 등을 고려하여 순차 균등하게 4분할 함으로서 보다 작은 부호화 블록으로 할 수 있다. 또한, 4분할된 부호화 블록은 지그재그 스캔 순으로 부호화 된다. 이 이상 작게 할 수 없는 부호화 블록을 최소 부호화 블록이라고 부른다. 부호화 블록은 부호화의 단위가 되고, 최대 부호화 블록도 분할수가 0인 경우는 부호화 블록이 된다. 본 실시형태에서는, 최대 부호화 블록을 64화소×64화소, 최소 부호화 블록을 8화소×8화소로 한다.
도 2(a), (b)에 최대 부호화 블록의 분할의 일례를 나타낸다. 도 2(a)의 예에서는, 부호화 블록이 10개로 분할되어 있다. CU0, CU1 및 CU9는 32화소×32화소의 부호화 블록, CU2, CU3 및 CU8은 16화소×16화소의 부호화 블록 및 CU4, CU5, CU6 및 CU7은 8화소×8화소의 부호화 블록으로 되어 있다.
(예측 블록)
본 발명의 실시형태에서는, 부호화 블록은 더 예측 블록으로 분할된다. 예측 블록의 분할 패턴을 도 3(a)~(d)에 나타낸다. 도 3(a)는 부호화 블록을 분할하지 않는 2N×2N, 도 3(b)는 수평으로 분할하는 2N×N, 도 3(c)는 수직으로 분할하는 N×2N 및 도 3(d)는 수평과 수직으로 분할하는 N×N을 나타낸다. 즉, 예측 블록 사이즈에는, 도 4에 나타내는 바와 같이, CU 분할수가 0으로 최대의 예측 블록 사이즈인 64화소×64화소에서 CU 분할수가 3으로 최소의 예측 블록 사이즈인 4화소×4화소까지의 13의 예측 블록 사이즈가 존재하게 된다.
본 발명의 실시형태에서는, 최대 부호화 블록을 64화소×64화소, 최소 부호화 블록을 8화소×8화소로 하지만, 이 조합에 한정되지 않는다. 또, 예측 블록의 분할 패턴을 도 3(a)~(d)로 했지만, 1이상으로 분할되면 좋고 이것에 한정되지 않는다.
(예측 부호화 모드)
본 발명의 실시형태에서는, 움직임 보상 예측의 예측 방향이나 부호화 벡터수를 예측 블록의 블록 사이즈로 전환할 수 있게 되어 있다. 여기서, 움직임 보상 예측의 예측 방향과 부호화 벡터수를 관련지은 예측 부호화 모드의 일례에 대해 도 5를 사용해서 간단하게 설명한다.
도 5에 나타내는 예측 부호화 모드에는, 움직임 보상 예측의 예측 방향이 단방향으로 부호화 벡터수가 1인 단방향 모드(UniPred), 움직임 정보 예측의 예측 방향이 쌍방향으로 부호화 벡터수가 2인 쌍방향 모드(BiPred) 및 움직임 보상 예측의 예측 방향이 단방향 또는 쌍방향으로 부호화 벡터수가 0인 병합 모드(MERGE)가 있다. 또, 움직임 보상 예측을 실시하지 않는 예측 부호화 모드인 인트라 모드(Intra)도 있다.
(참조 화상 인덱스)
본 발명의 실시형태에서는, 움직임 보상 예측의 정밀도 향상을 위해, 움직임 보상 예측에서 복수의 참조 화상 중에서 최적의 참조 화상을 선택할 수 있게 한다. 이 때문에, 움직임 보상 예측에서 이용한 참조 화상을 참조 화상 인덱스로서 부호화 벡터와 함께 부호화 스트림 중에 부호화한다. 움직임 보상 예측에서 이용되는 참조 화상 인덱스는 0 이상의 수치가 된다. 참조 화상 인덱스에서 선택할 수 있는 복수의 참조 화상은 참조 인덱스 리스트에서 관리된다. 움직임 보상 예측의 예측 방향이 단방향이면, 참조 화상 인덱스는 1개 부호화되고, 움직임 보상 예측의 예측 방향이 쌍방향이면, 각각의 예측 방향의 참조 화상을 나타내는 참조 화상 인덱스가 부호화된다(도 5 참조).
(예측 벡터 인덱스)
HEVC에서는, 예측 벡터의 정밀도를 향상시키기 위해, 복수의 예측 벡터의 후보 중에서 최적인 예측 벡터를 선택하고, 선택한 예측 벡터를 나타내기 위한 예측 벡터 인덱스를 부호화하는 것이 검토되고 있다. 본 발명의 실시형태에서는, 상기의 예측 벡터 인덱스를 도입한다. 움직임 보상 예측의 예측 방향이 단방향이면, 예측 벡터 인덱스는 1개 부호화되고, 움직임 보상 예측의 예측 방향이 쌍방향이면, 각각의 예측 방향의 예측 벡터를 나타내는 예측 벡터 인덱스가 부호화된다(도 5 참조).
(병합 인덱스)
HEVC에서는, 더 부호화 효율을 향상시키기 위해, 복수의 인접 블록의 후보 및 부호화 종결의 다른 화상의 처리 대상 블록과 동일 위치에 있는 블록 중에서 최적인 블록을 선택하고, 선택한 블록을 나타내는 병합 인덱스를 부호화 및 복호하는 것이 검토된다. 이것은, 선택된 병합 인덱스를 나타내는 블록의 움직임 보상 예측의 예측 방향, 움직임 벡터 정보, 참조 화상 정보로 이루어지는 움직임 정보를 처리 대상 블록으로 이용하는 움직임 보상 예측 기술(병합 기술)이다. 본 발명의 실시형태에서는, 상기의 병합 인덱스(병합 기술)를 도입한다. 도 5에 나타내는 바와 같이, 병합 인덱스는 예측 부호화 모드가 병합 모드의 경우에, 1개 부호화된다. 또한, 움직임 정보가 쌍방향이면, 움직임 정보에는 각 예측 방향의 움직임 벡터 정보와 참조 화상 정보가 포함된다.
이후, 병합 인덱스에 의해 나타날 가능성이 있는 블록을 갖는 움직임 정보를 결합 움직임 정보 후보라고 부르고, 결합 움직임 정보 후보의 집합체를 결합 움직임 정보 후보 리스트라고 부른다.
(예측 방향)
본 발명의 실시형태에서는, 움직임 보상 예측의 예측 방향으로서 L0 방향과 L1 방향의 2개를 설정한다. 여기서, 움직임 보상 예측의 예측 방향에 대해 도 6(a)~(d)를 사용해서 간단하게 설명한다. 움직임 보상 예측의 예측 방향이 단방향의 경우는 L0 방향 또는 L1 방향 중 어느 하나를 이용한다. 도 6(a)는 단방향으로 L0 방향의 참조 화상(RefL0Pic)이 부호화 대상 화상(CurPic)보다 전의 시각에 있는 경우를 나타내고 있다. 도 6(b)는 단방향으로 L0 방향의 참조 화상이 부호화 대상 화상보다 후의 시각에 있는 경우를 나타내고 있다. 도 6(a) 및 도 6(b)의 L0 방향의 참조 화상을 L1 방향의 참조 화상(RefL1Pic)으로 치환할 수도 있다.
쌍방향의 경우는 L0 방향과 L1 방향의 2개를 이용해서 BI 방향이라고 표현한다. 도 6(c)는 쌍방향으로 L0 방향의 참조 화상이 부호화 대상 화상보다 전의 시각에 있고, L1 방향의 참조 화상이 부호화 대상 화상보다 후의 시각에 있는 경우를 나타내고 있다. 도 6(d)는 쌍방향으로 L0 방향의 참조 화상과 L1방향의 참조 화상이 부호화 대상 화상보다 전의 시각에 있는 경우를 나타내고 있다. 도 6(c) 및 도 6(d)의 L0 방향의 참조 화상을 L1 방향의 참조 화상(RefL1Pic)으로, L1 방향의 참조 화상을 L0 방향의 참조 화상으로 치환할 수도 있다. 이상으로 설명한 바와 같이, 움직임 보상 예측의 예측 방향인 L0 방향과 L1 방향은 각각 시간적으로 전방향과 후방향 모두 나타낼 수 있다. 또, L0 방향과 L1 방향은 각각 복수의 참조 화상이 존재하는 것이 가능하고, L0 방향의 참조 화상은 참조 화상 리스트 L0에 L1 방향의 참조 화상은 참조 화상 리스트 L1에 등록되어, 각각의 예측 방향의 참조 화상 인덱스에 의해 참조 화상 리스트 중의 참조 화상의 위치가 지정되어, 참조 화상이 확정된다. 이후, 예측 방향이 L0 방향인 것은 참조 화상 리스트 L0에 등록된 참조 화상과 관련된 움직임 정보를 이용하는 예측 방향으로, 예측 방향이 L1 방향인 것은 참조 화상 리스트 L1에 등록된 참조 화상과 관련된 움직임 정보를 이용하는 예측 방향이다.
(신택스)
본 발명의 실시형태에 의한 예측 블록의 신택스의 일례에 대해 도 7을 사용해서 설명한다. 예측 블록이 인트라인지 인터인지는 상위의 부호화 블록에 따라 지정되어 있고, 도 7은 예측 블록이 인터의 경우의 신택스를 나타낸다. 예측 블록에는, 병합 플래그(merge_flag), 병합 인덱스(merge_idx), 움직임 보상 예측의 방향(inter_pred_type), 참조 인덱스(ref_idx_l0와 ref_idx_l1), 차분 벡터(mvd_l0[0], mvd_l0[1], mvd_l1[0], mvd_l1[1]) 및 예측 벡터 인덱스(mvp_idx_l0 및 mvp_idx_l1)가 설치되어 있다. 차분 벡터의 [0]은 수평 성분, [1]은 수직 성분을 나타낸다.
여기서, ref_idx_l0과 mvd_l0[0], mvd_l0[1], mvp_idx_l0은 L0 방향에 따른 정보로, ref_idx_l1과 mvd_l1[0], mvd_l1[1], mvp_idx_l1은 L1 방향에 따른 정보이다. inter_pred_type에는 Pred_L0(L0 방향의 단방향), Pred_L1(L1 방향의 단방향) 및 Pred_BI(BI의 쌍방향)의 3종류가 있다.
(움직임 정보의 부호량)
도 7의 신택스에서도 알 수 있듯이, 병합 모드는 병합 인덱스 1개로 움직임 정보를 전송할 수 있다. 따라서, 병합 모드(병합 플래그가 1)와 비병합 모드(병합 플래그가 0)의 예측 오차가 같은 정도이면, 병합 모드가 움직임 정보를 효율 좋게 부호화할 수 있다. 즉, 병합 모드의 선택률을 높임으로서 움직임 정보의 부호화 효율을 향상시킬 수 있다.
또한, 본 발명의 실시형태에 의한 예측 블록의 신택스를 도 7과 같이 설정했지만, 본 발명의 실시형태에 의하면, 병합 모드가 비병합 모드보다 적은 정보로 움직임 정보를 부호화할 수 있으면 좋고, 이것에 한정되지 않는다. 예컨대, 움직임 정보가 차분 벡터만으로도 좋다.
(병합 인덱스의 특성)
도 7에서는 병합 인덱스의 복호(부호화)의 전단에 병합의 후보수를 산출하는 함수인 NumMergeCands()가, 예측 벡터 인덱스의 복호(부호화)의 전단에 예측 벡터의 후보수를 산출하는 함수인 NumMvpCands()가 설치되어 있다. 이들은 인접 블록의 움직임 정보의 유효성에 따라, 병합의 후보수나 예측 벡터의 후보수가 예측 블록마다 변화하기 때문에, 그 후보수를 취득하기 위해 필요한 함수이다. 또한, 인접 블록의 움직임 정보가 유효한 것은, 그 인접 블록이 영역 외의 블록이나 인트라 모드가 아닌 것으로, 인접 블록의 움직임 정보가 무효한 것은, 그 인접 블록이 영역 외의 블록이나 인트라 모드인 것이다.
또한 병합의 후보수가 1인 경우는 병합 인덱스를 복호(부호화)하지 않는다. 병합의 후보수가 1인 경우는 지정하지 않아도 일의로 결정할 수 있기 때문이다. 예측 벡터 인덱스의 경우도 마찬가지이다.
또, 병합 인덱스의 부호열에 대해 도 8(a)~(c)를 사용해서 설명한다. 본 발명의 실시형태에서는, 병합 인덱스의 부호열로서 Truncated Unary 부호열을 사용한다. 도 8(a)는 병합의 후보수가 2개의 경우의 Truncated Unary 부호열에 의한 병합 인덱스의 부호열을, 도 8(b)는 병합의 부호수가 3개의 경우의 Truncated Unary 부호열에 의한 병합 인덱스의 부호열을, 도 8(c)는 병합의 후보수가 4개의 경우의 Truncated Unary 부호열에 의한 병합 인덱스의 부호열을 나타낸다.
도 8(a)~(c)에서 같은 병합 인덱스의 값을 부호화하는 경우에도 병합의 후보수가 적을수록 병합 인덱스에 할당되는 부호 비트수가 작아지는 것을 알 수 있다. 예컨대, 병합 인덱스가 1인 경우, 병합의 후보수가 2개이면 "1"의 1비트이지만, 병합의 후보수가 3개이면 "l0"의 2비트가 된다.
이상과 같이, 병합의 후보수는 적을수록 병합 인덱스의 부호화 효율은 향상한다. 즉, 선택률이 높은 후보를 남기고, 선택률이 낮은 후보를 삭감함으로서 병합 인덱스의 부호화 효율은 향상시킬 수 있다. 또, 후보수가 같은 경우에는, 작은 병합 인덱스가 부호량은 적어지기 때문에, 선택률이 높은 후보에 작은 병합 인덱스를 할당함으로서 부호화 효율을 향상시킬 수 있다.
(POC)
본 발명의 실시형태에서는, 화상의 시간 정보(거리 정보)로서 POC(Picture Order Count)를 사용한다. POC는 MPEG-4 AVC로 정의된 화상의 표시 순서를 나타내는 카운터이다. 화상의 표시 순서가 1 증가하면 POC도 1 증가한다. 따라서, 화상간의 POC차에서 화상간의 시간차(거리)를 취득할 수 있다.
(인접 블록의 움직임 정보의 특성)
일반적으로 처리 대상 블록의 움직임 정보와 처리 대상 블록에 인접하는 블록(이하, 인접 블록이라고 함)의 움직임 정보의 상관도가 높은 것은, 처리 대상 블록과 인접 블록이 같은 움직임을 하고 있는 경우, 예컨대, 처리 대상 블록과 인접 블록을 포함한 영역이 평행 이동하고 있는 경우이다. 또, 일반적으로 처리 대상 블록의 움직임 정보와 인접 블록의 움직임 정보의 상관도는, 처리 대상 블록과 인접 블록의 접하는 길이에도 의존한다.
(다른 화상의 움직임 정보의 특성)
한편, 일반적으로 시간 다이렉트 모드나 공간 다이렉트 모드에서 이용되고 있는 복호 종결의 다른 화상상에서 처리 대상 블록과 동일 위치에 있는 블록(이하, 동일 위치 블록이라고 함)과, 당해 처리 대상 블록의 상관도가 높은 것은, 당해 동일 위치 블록 및 당해 처리 대상 블록이 정지 상태에 있는 경우이다.
이하, 도면과 함께 본 발명에 따른 동화상 부호화 장치, 동화상 부호화 방법, 동화상 부호화 프로그램의 적절한 실시형태에 대해 상세하게 설명한다. 또한, 도면의 설명에는 동일 요소에는 동일 부호를 부여하고 중복하는 설명을 생략한다.
[실시형태 1]
(동화상 부호화 장치(100)의 구성)
도 9는 본 발명의 실시형태(1)에 따른 동화상 부호화 장치(100)의 구성을 나타낸다. 동화상 부호화 장치(100)는, 동화상 신호를 움직임 보상 예측을 실시하는 예측 블록 단위로 부호화하는 장치이다. 부호화 블록의 분할, 예측 블록 사이즈의 결정, 예측 부호화 모드의 결정은 상위의 부호화 제어부에서 결정되어 있는 것으로 한다.
동화상 부호화 장치(100)는, CPU(Central Processing Unit), 프레임 메모리, 하드디스크 등을 구비하는 정보 처리 장치 등의 하드웨어에 의해 실현된다. 동화상 부호화 장치(100)는, 상기의 구성 요소가 동작하는 것에 의해, 이하에 설명하는 기능적인 구성 요소를 실현한다. 또한, 처리 대상의 예측 블록의 위치 정보, 예측 블록 사이즈 및 움직임 보상 예측의 예측 방향에 관해서는 동화상 부호화 장치(100)내에서 공유하고 있다고 하고, 도시하지 않는다.
실시형태 1의 동화상 부호화 장치(100)는, 예측 블록 화상 취득부(101), 감산부(102), 예측 오차 부호화부(103), 부호열 생성부(104), 예측 오차 복호부(105), 움직임 보상부(106), 가산부(107), 움직임 벡터 검출부(108), 움직임 정보 생성부(109), 프레임 메모리(110) 및 움직임 정보 메모리(111)를 포함한다.
(동화상 부호화 장치(100)의 기능)
이하, 각 부의 기능에 대해 설명한다. 예측 블록 화상 취득부(101)는, 예측 블록의 위치 정보와 예측 블록 사이즈에 기초하여, 단자(10)에 의해 공급되는 화상 신호에서 처리 대상의 예측 블록의 화상 신호를 취득하고, 예측 블록의 화상 신호를 감산부(102), 움직임 벡터 검출부(108) 및 움직임 정보 생성부(109)에 공급한다.
감산부(102)는, 예측 블록 화상 취득부(101)에 의해 공급되는 화상 신호와 움직임 보상부(106)에 의해 공급되는 예측 신호를 감산하여 예측 오차 신호를 산출하고, 당해 예측 오차 신호를 예측 오차 부호화부(103)에 공급한다.
예측 오차 부호화부(103)는, 감산부(102)에 의해 공급되는 예측 오차 신호에 대해, 양자화나 직교 변환 등의 처리를 실행하여 예측 오차 부호화 데이터를 생성하고, 당해 예측 오차 부호화 데이터를 부호열 생성부(104) 및 예측 오차 복호부(105)에 공급한다.
부호열 생성부(104)는, 예측 오차 부호화부(103)에 의해 공급되는 예측 오차 부호화 데이터, 및 움직임 정보 생성부(109)에 의해 공급되는 병합 플래그, 병합 후보 번호, 움직임 보상 예측의 예측 방향, 참조 화상 인덱스, 차분 벡터 및 예측 벡터 인덱스를, 움직임 보상 예측의 예측 방향과 함께 신택스에 따라 엔트로피 부호화하여 부호열을 생성하고, 당해 부호열을 단자(11)에 공급한다.
여기서, 병합 후보 번호는 병합 인덱스에 변환되어 부호열을 생성한다. 여기서, 병합 후보 번호는 선택된 결합 움직임 정보 후보를 나타내는 번호이다. 병합 후보 번호에서 병합 인덱스로의 변환에 대해서는 후술한다. 또한, 실시형태 1에서는 상기와 같이 병합 인덱스나 예측 벡터 인덱스의 부호화에 Truncated Unary 부호열을 이용했지만, 후보수가 작을수록 적은 비트로 부호화할 수 있는 부호열이면 이것에 한정되지 않는다.
예측 오차 복호부(105)는, 예측 오차 부호화부(103)에 의해 공급되는 예측 오차 부호화 데이터에 대해, 역양자화나 역직교 변환 등의 처리를 실행해서 예측 오차 신호를 생성하고, 당해 예측 오차 신호를 가산부(107)에 공급한다.
움직임 보상부(106)는, 움직임 정보 생성부(109)에 의해 공급되는 참조 화상 인덱스에서 나타내는 프레임 메모리(110)내의 참조 화상을, 움직임 정보 생성부(109)에 의해 공급되는 움직임 벡터에 기초하여 움직임 보상하여 예측 신호를 생성한다. 예측 방향이 쌍방향이면, L0 방향과 L1 방향의 예측 신호를 평균으로 한 것을 예측 신호로 한다.
가산부(107)는, 예측 오차 복호부(105)에 의해 공급되는 예측 오차 신호와, 움직임 보상부(106)에 의해 공급되는 예측 신호를 가산하여 복호 화상 신호를 생성하고, 당해 복호 화상 신호를 프레임 메모리(110)에 공급한다.
움직임 벡터 검출부(108)는, 예측 블록 화상 취득부(101)에 의해 공급되는 화상 신호 및 복수의 참조 화상에 상당하는 화상 신호에서, 움직임 벡터 및 참조 화상을 나타내는 참조 화상 인덱스를 검출하고, 당해 움직임 벡터 및 당해 참조 화상 인덱스를 움직임 정보 생성부(109)에 공급한다. 또한, 예측 방향이 쌍방향이면, L0방향과 L1 방향의 움직임 벡터와 참조 화상 인덱스를 검출한다.
일반적인 움직임 벡터의 검출 방법은, 대상 화상의 화상 신호와 동일 위치에 의해 소정의 이동량만 이동시킨 참조 화상에 상당하는 화상 신호에 대해 오차 평가값을 산출하고, 오차 평가값이 최소가 되는 이동량을 움직임 벡터로 한다. 오차 평가값으로는, 절대 차분화를 나타내는 SAD(Sum of Absolute Difference)나 제곱 오차 평균을 나타내는 MSE(Mean Square Error) 등을 이용할 수 있다.
움직임 정보 생성부(109)는, 움직임 벡터 검출부(108)에 의해 공급되는 움직임 벡터와 참조 화상 인덱스, 움직임 정보 메모리(111)에 의해 공급되는 후보 블록군, 및 프레임 메모리(110)내의 참조 화상 인덱스에서 나타내는 참조 화상에서, 병합 후보 번호, 또는 차분 벡터 및 예측 벡터 인덱스를 생성하고, 병합 플래그, 병합 후보 번호, 참조 화상 인덱스, 차분 벡터 및 예측 벡터 인덱스를 필요에 상응하여, 부호열 생성부(104), 움직임 보상부(106) 및 움직임 정보 메모리(111)에 공급한다. 움직임 정보 생성부(109)의 상세한 구성에 대해서는 후술한다.
프레임 메모리(110)는, 가산부(107)에 의해 공급되는 복호 화상 신호를 기억한다. 또, 화상 전체의 복호가 완료된 복호 화상에 대해서는 참조 화상으로서, 1 이상의 소정의 화상 수를 기억한다. 프레임 메모리(110)는, 기억한 참조 화상 신호를 움직임 보상부(106) 및 움직임 정보 생성부(109)에 공급한다. 참조 화상을 기억하는 기억 영역은 FIFO(First In First Out) 방식으로 제어된다.
움직임 정보 메모리(111)는, 움직임 정보 생성부(109)에 의해 공급되는 움직임 정보를 최소의 예측 블록 사이즈 단위로 소정의 화상 수를 기억한다. 처리 대상의 예측 블록의 인접 블록의 움직임 정보를 공간 후보 블록군으로 한다.
또, 움직임 정보 메모리(111)는, 처리 대상의 예측 블록과 동일 위치에 있는 ColPic상의 블록과 그 주변 블록의 움직임 정보를 시간 후보 블록군으로 한다. 움직임 정보 메모리(111)는, 공간 후보 블록군과 시간 후보 블록군을 후보 블록군으로 움직임 정보 생성부(109)에 공급한다. 움직임 정보 메모리(111)는, 프레임 메모리(110)와 동기하고 있고, FIFO(First In First Out) 방식으로 제어된다.
여기서, ColPic이란, 처리 대상의 예측 블록과는 다른 복호 종결의 화상으로, 프레임 메모리(110)에 참조 화상으로 기억되어 있는 화상을 가리킨다. 실시형태 1에서는, ColPic은 직전에 복호한 참조 화상으로 한다. 또한, 실시형태 1에서는, ColPic은 직전에 복호한 참조 화상으로 했지만, 부호화 종결의 화상이면 좋고, 예컨대, 표시순으로 직전의 참조 화상이나 표시순으로 직후의 참조 화상이어도 좋고, 부호화 스트림 중에서 지정하는 것도 가능하다.
여기서, 움직임 정보 메모리(111)에서 움직임 정보의 관리 방법에 대해 도 10을 사용해서 설명한다. 움직임 정보는 최소의 예측 블록 단위로 각 메모리 영역에 기억된다. 도 10은 처리 대상의 예측 블록 사이즈가 16화소×16화소인 경우의 모양을 나타내고 있다. 이 경우, 이 예측 블록의 움직임 정보는 도 10의 사선부의 16개의 메모리 영역에 격납된다.
또한, 예측 부호화 모드가 인트라 모드인 경우, L0 방향과 L1 방향의 움직임 벡터로서 (0, 0)이 기억되고, L0 방향과 L1 방향의 참조 화상 인덱스로서 "-1"이 기억된다. 또한, 참조 화상 인덱스의 "-1"은 움직임 보상 예측을 실시하지 않는 모드인 것이 판정되면 어떠한 값이어도 좋다. 이 이후는 특히 거절하지 않는 이상 단순히 블록으로 표현하는 경우에는, 최소의 예측 블록 단위인 것을 나타내는 것으로 한다. 또, 영역 외의 블록인 경우도 인트라 모드와 마찬가지로, L0 방향과 L1 방향의 움직임 벡터로서 (0, 0), L0 방향과 L1 방향의 참조 화상 인덱스로서 "-1"이 기억되어 있다. LX 방향(X는 0 또는 1)이 유효하다는 것은 LX 방향의 참조 화상 인덱스가 0 이상인 것으로, LX 방향이 무효한(유효하지 않음) 것은 LX 방향의 참조 화상 인덱스가 "-1"인 것이다.
이어서, 움직임 정보 생성부(109)의 상세한 구성에 대해 도 11을 사용해서 설명한다. 도 11은 움직임 정보 생성부(109)의 구성을 나타낸다. 움직임 정보 생성부(109)는, 차분 벡터 산출부(120), 결합 움직임 정보 결정부(121) 및 예측 부호화 모드 결정부(122)를 포함한다. 단자(12)는 움직임 정보 메모리(111)에, 단자(13)는 움직임 벡터 검출부(108)에, 단자(14)는 프레임 메모리(110)에, 단자(15)는 예측 블록 화상 취득부(101)에, 단자(16)는 부호열 생성부(104)에, 단자(50)는 움직임 보상부(106)에, 단자(51)는 움직임 정보 메모리(111)에 각각 접속되어 있다.
이하, 각부의 기능에 대해 설명한다. 차분 벡터 산출부(120)는, 단자(12)에 의해 공급되는 후보 블록군, 단자(13)에 의해 공급되는 움직임 벡터와 참조 화상 인덱스, 단자(14)에 의해 공급되는 참조 화상 및 단자(15)에 의해 공급되는 화상 신호에서 예측 벡터 인덱스를 결정하고, 차분 벡터 및 비율 왜곡 평가값을 산출한다. 그리고 당해 참조 화상 인덱스, 당해 움직임 벡터, 당해 차분 벡터, 당해 예측 벡터 인덱스, 및 당해 비율 왜곡 평가값을 예측 부호화 모드 결정부(122)에 공급한다. 차분 벡터 산출부(120)의 상세한 구성에 대해서는 후술한다.
결합 움직임 정보 결정부(121)는, 단자(12)에 의해 공급되는 후보 블록군, 단자(14)에 의해 공급되는 참조 화상 및 단자(15)에 의해 공급되는 화상 신호에서 결합 움직임 정보 후보 리스트를 생성한다. 그리고 결합 움직임 정보 결정부(121)는, 생성한 결합 움직임 정보 후보 리스트 중에서 결합 움직임 정보 후보를 선택하여 병합 후보 번호를 결정하고, 비율 왜곡 평가값을 산출하여, 당해 결합 움직임 정보 후보의 움직임 정보, 당해 병합 후보 번호 및 당해 비율 왜곡 평가값을 예측 부호화 모드 결정부(122)에 공급한다. 결합 움직임 정보 결정부(121)의 상세한 구성에 대해서는 후술한다.
예측 부호화 모드 결정부(122)는, 차분 벡터 산출부(120)에 의해 공급되는 비율 왜곡 평가값과, 결합 움직임 정보 결정부(121)에 의해 공급되는 비율 왜곡 평가값을 비교한다. 전자가 후자 미만의 경우에는, 병합 플래그를 "0"으로 설정한다. 예측 부호화 모드 결정부(122)는, 병합 플래그 및 차분 벡터 산출부(120)에 의해 공급되는 참조 화상 인덱스와 차분 벡터와 예측 벡터 인덱스를 단자(16)에 공급하고, 차분 벡터 산출부(120)에 의해 공급되는 움직임 벡터와 참조 화상 인덱스를 단자(50) 및 단자(51)에 공급한다.
전자가 후자 이상의 경우에는, 병합 플래그를 1로 설정한다. 예측 부호화 모드 결정부(122)는, 병합 플래그 및 결합 움직임 정보 결정부(121)에 의해 공급되는 병합 후보 번호를 단자(16)에 공급하고, 결합 움직임 정보 결정부(121)에 의해 공급되는 움직임 정보의 움직임 벡터와 참조 화상 인덱스를 단자(50) 및 단자(51)에 공급한다. 또한, 비율 왜곡 평가값의 구체적인 산출 방법은 본 발명의 주안(主眼)이 아니기 때문에 상세는 생략하지만, 비율 왜곡 평가값이 작을수록 부호화 효율은 높아지는 특성을 갖는 평가값이다.
이어서, 차분 벡터 산출부(120)의 상세한 구성에 대해 도 12를 사용해서 설명한다. 도 12는 차분 벡터 산출부(120)의 구성을 나타낸다. 차분 벡터 산출부(120)는, 예측 벡터 후보 리스트 생성부(130), 예측 벡터 결정부(131) 및 감산부(132)를 포함한다. 단자(17)는 예측 부호화 모드 결정부(122)에 접속되어 있다.
예측 벡터 후보 리스트 생성부(130)는, 실시형태 1에 의한 동화상 부호화 장치(100)에 의해 생성된 부호열을 복호하는 동화상 복호 장치(200)에도 동일하게 설치되고, 동화상 부호화 장치(100)와 동화상 복호 장치(200)에서 모순이 없는 예측 벡터 후보 리스트가 생성된다.
이하, 각 부의 기능에 대해 설명한다. 예측 벡터 후보 리스트 생성부(130)는, 단자(12)에 의해 공급되는 후보 블록군에서 영역 외인 후보 블록이나, 인트라 모드인 후보 블록을 삭제한다. 또한 중복되는 움직임 벡터를 갖는 후보 블록이 복수 존재하는 경우에는 1개의 후보 블록을 남기고 삭제한다. 예측 벡터 후보 리스트 생성부(130)는, 이 삭제 후의 후보 블록에서 예측 벡터 후보 리스트를 생성하고, 예측 벡터 후보 리스트를 예측 벡터 결정부(131)에 공급한다. 이와 같이 하여 생성된 예측 벡터 후보 리스트에는 중복이 없는 예측 벡터 후보가 1개 이상 포함되도록 한다. 예컨대, 움직임 벡터를 갖는 후보 블록이 1개도 없는 경우에는, 벡터(0, 0)이 예측 벡터 후보 리스트에 추가된다. 또한, 예측 방향이 쌍방향이면, L0 방향과 L1 방향에 대해 예측 벡터 후보 리스트를 생성하여 공급한다.
예측 벡터 결정부(131)는, 예측 벡터 후보 리스트 생성부(130)에 의해 공급되는 예측 벡터 후보 리스트 중에서, 단자(13)에 의해 공급되는 움직임 벡터에 최적의 예측 벡터를 선택한다. 예측 벡터 결정부(131)는, 선택한 예측 벡터를 감산부(132)에 공급하고, 참조 화상 인덱스 및 선택된 예측 벡터를 나타내는 정보인 예측 벡터 인덱스를 단자(17)에 공급한다. 또한, 예측 방향이 쌍방향이면, L0 방향과 L1 방향에 대해 최적인 예측 벡터를 선택해서 공급한다.
여기서, 최적인 예측 벡터로서, 예측 벡터 후보가 갖는 움직임 벡터에 기초하여, 단자(14)에 의해 공급되는 참조 화상과 단자(15)에 의해 공급되는 화상 신호에서 예측 오차량이 산출된다. 그리고 참조 화상 인덱스, 차분 벡터 및 예측 벡터 인덱스의 부호량과, 상술의 예측 오차량에서 비율 왜곡 평가값이 산출되고, 비율 왜곡 평가값이 최소가 되는 예측 벡터 후보가 선택된다.
감산부(132)는, 단자(13)에 의해 공급되는 움직임 벡터에서 예측 벡터 결정부(131)에 의해 공급되는 예측 벡터를 감산하여 차분 벡터를 산출하고, 당해 차분 벡터를 단자(17)에 공급한다. 또한, 예측 방향이 쌍방향이면, L0 방향과 L1 방향에 대해 차분 벡터를 산출하여 공급한다.
(예측 벡터 후보 리스트 생성부(130)에 공급되는 후보 블록군)
여기서, 예측 벡터 후보 리스트 생성부(130)에 공급되는 후보 블록군에 대해 도 13과 도 14를 사용해서 설명한다. 후보 블록군에는 공간 후보 블록군과 시간 후보 블록군이 포함된다.
도 13은 처리 대상의 예측 블록 사이즈가 16화소×16화소인 경우의 처리 대상의 예측 블록의 인접 블록을 나타낸다. 실시형태 1에서는, 공간 후보 블록군으로, 도 13에 나타내는 블록(A1), 블록(C), 블록(D), 블록(B1) 및 블록(E)의 5 블록으로 한다. 여기에서는, 공간 후보 블록군을 블록(A1), 블록(C), 블록(D), 블록(B1) 및 블록(E)의 5 블록으로 했지만, 공간 후보 블록군은, 처리 대상의 예측 블록에 인접하는 적어도 1 이상의 처리 종결의 블록이면 좋고, 이들에 한정되지 않는다. 예컨대, 블록(A1), 블록(A2), 블록(A3), 블록(A4), 블록(B1), 블록(B2), 블록(B3), 블록(B4), 블록(C), 블록(D) 및 블록(E)의 모두를 공간 후보 블록으로 해도 좋다.
다음으로, 시간 후보 블록군에 대해 도 14를 사용해서 설명한다. 도 14는 처리 대상의 예측 블록 사이즈가 16화소×16화소인 경우의 처리 대상의 예측 블록과 동일 위치에 있는 ColPic상의 예측 블록내의 블록과 그 주변 블록을 나타낸다. 실시형태 1에서는, 시간 후보 블록군으로, 도 6에 나타내는 블록(H)과 블록(I6)의 2 블록으로 한다.
여기에서는, 시간 후보 블록군을 ColPic상의 블록(H)과 블록(I6)의 2 블록으로 했지만, 시간 후보 블록군은, 처리 대상의 예측 블록과는 다른 복호 종결의 화상상의 적어도 1 이상의 블록이면 좋고, 이들에 한정되지 않는다. 예컨대, ColPic상의 블록(I1)에서 블록(I16), 블록(A1)에서 블록(A4), 블록(B1)에서 블록(B4), 블록(C), 블록(D), 블록(E), 블록(F1)에서 블록(F4), 블록(G1)에서 블록(G4) 및 블록(H)의 전부를 시간 후보 블록으로 해도 좋다. 이후 특별히 다른 기재가 없는 한, 블록(A4)을 블록(A), 블록(B4)을 블록(B)로 표기한다. 이후 특별히 다른 기재가 없는 한, 블록(H)와 블록(I6)의 블록을 시간 블록으로 표기한다.
(결합 움직임 정보 결정부(121)의 구성)
이어서, 결합 움직임 정보 결정부(121)의 상세한 구성에 대해 도 15를 사용해서 설명한다. 도 15는 결합 움직임 정보 결정부(121)의 구성을 나타낸다. 결합 움직임 정보 결정부(121)는, 결합 움직임 정보 후보 생성부(140) 및 결합 움직임 정보 선택부(141)를 포함한다. 결합 움직임 정보 후보 생성부(140)는, 실시형태 1에 의한 동화상 부호화 장치(100)에 의해 생성된 부호열을 복호하는 동화상 복호 장치(200)에도 동일하게 설치하고, 동화상 부호화 장치(100)와 동화상 복호 장치(200)에서 모순이 없는 동일한 결합 움직임 정보 리스트가 생성된다.
이하, 각 부의 기능에 대해 설명한다. 결합 움직임 정보 후보 생성부(140)는, 단자(12)에 의해 공급되는 후보 블록군에서 결합 움직임 정보 후보 리스트를 생성하고, 당해 결합 움직임 정보 후보 리스트를 결합 움직임 정보 선택부(141)에 공급한다. 결합 움직임 정보 후보 생성부(140)의 상세한 구성에 대해서는 후술한다.
결합 움직임 정보 선택부(141)는, 결합 움직임 정보 후보 생성부(140)에 의해 공급되는 결합 움직임 정보 후보 리스트 중에서, 최적인 결합 움직임 정보 후보를 선택하고, 선택된 결합 움직임 정보 후보를 나타내는 정보인 병합 후보 번호를 단자(17)에 공급한다.
여기서, 최적인 결합 움직임 정보 후보로서, 결합 움직임 정보 후보의 예측 방향, 움직임 벡터와 참조 화상 인덱스에 기초하여 얻어지는 단자(14)에 의해 공급되는 참조 화상과, 단자(15)에 의해 공급되는 화상 신호에서 예측 오차량이 산출된다. 병합 후보 번호의 부호량과, 당해 예측 오차량에서 비율 왜곡 평가값이 산출되고, 비율 왜곡 평가값이 최소가 되는 결합 움직임 정보 후보가 선택된다.
(결합 움직임 정보 후보 생성부(140)에 공급되는 후보 블록군)
여기서, 결합 움직임 정보 후보 생성부(140)에 공급되는 후보 블록군에 대해 도 13과 도 14를 사용해서 설명한다. 후보 블록군에는 공간 후보 블록군과 시간 후보 블록군이 포함된다. 실시형태 1에서는, 공간 후보 블록군을 도 13에 나타내는 블록(A4), 블록(B4), 블록(C) 및 블록(E)의 4 블록으로 한다. 여기에서는, 공간 후보 블록군을 블록(A4), 블록(B4), 블록(C) 및 블록(E)의 4 블록으로 했지만, 공간 후보 블록군은, 처리 대상의 예측 블록에 인접하는 적어도 1 이상의 처리 종결의 블록이면 좋고, 이들에 한정되지 않는다.
다음으로, 시간 후보 블록군에 대해 도 14를 사용해서 설명한다. 실시형태 1에서는, 시간 후보 블록군으로, 도 14에 나타내는 블록(H)와 블록(I6)의 2 블록으로 한다. 여기에서는, 시간 후보 블록군을 예측 벡터 후보 리스트 생성부(130)에 공급되는 시간 후보 블록군과 동일하게 했지만, 시간 후보 블록군은, 처리 대상의 예측 블록과는 다른 복호 종결의 화상상의 적어도 0 이상의 블록이면 좋고, 이들에 한정되지 않는다.
(결합 움직임 정보 후보 생성부(140)의 구성)
이어서, 실시형태 1의 특성을 이루는 결합 움직임 정보 후보 생성부(140)의 상세한 구성에 대해 도 16을 사용해서 설명한다. 도 16은 결합 움직임 정보 후보 생성부(140)의 구성을 나타낸다. 단자(18)는 결합 움직임 정보 선택부(141)에 접속되어 있다. 결합 움직임 정보 후보 생성부(140)는, 단방향 결합 움직임 정보 후보 리스트 생성부(150), 제1 결합 움직임 정보 후보 리스트 삭감부(151), 쌍방향 결합 움직임 정보 후보 리스트 생성부(152) 및 제2 결합 움직임 정보 후보 리스트 삭감부(153)를 포함한다.
이하, 각 부의 기능에 대해 설명한다. 단방향 결합 움직임 정보 후보 리스트 생성부(150)는, 단자(12)에 의해 공급되는 후보 블록군에서 제1 결합 움직임 정보 후보 리스트를 생성하고, 당해 제1 결합 움직임 정보 후보 리스트를 제1 결합 움직임 정보 후보 리스트 삭감부(151)에 공급한다.
제1 결합 움직임 정보 후보 리스트 삭감부(151)는, 단방향 결합 움직임 정보 후보 리스트 생성부(150)에 의해 공급되는 제1 결합 움직임 정보 후보 리스트에서 중복되는 움직임 정보를 갖는 결합 움직임 정보 후보가 복수 존재하는 경우에는 1개의 결합 움직임 정보 후보를 남겨서 삭제하여 제2 결합 움직임 정보 후보 리스트를 생성하고, 당해 제2 결합 움직임 정보 후보 리스트를 쌍방향 결합 움직임 정보 후보 리스트 생성부(152)에 공급한다.
쌍방향 결합 움직임 정보 후보 리스트 생성부(152)는, 제1 결합 움직임 정보 후보 리스트 삭감부(151)에 의해 공급되는 제2 결합 움직임 정보 후보 리스트에서 쌍방향 결합 움직임 정보 후보 리스트를 생성하고, 당해 쌍방향 결합 움직임 정보 후보 리스트를 상술하는 제2 결합 움직임 정보 후보 리스트와 결합하여 제3 결합 움직임 정보 후보 리스트를 생성하고, 당해 제3 결합 움직임 정보 후보 리스트를 제2 결합 움직임 정보 후보 리스트 삭감부(153)에 공급한다. 쌍방향 결합 움직임 정보 후보 리스트 생성부(152)의 상세한 구성에 대해서는 후술한다.
실시형태 1에서는, 쌍방향 결합 움직임 정보 후보 리스트 생성부(152)는, 기준 방향이 L0의 쌍방향 결합 움직임 정보 후보(BD0)와 기준 방향이 L1의 쌍방향 결합 움직임 정보 후보(BD1)를 생성한다고 한다. 이 때문에, 상술의 쌍방향 결합 움직임 정보 후보 리스트에는, BD0과 BD1이 포함될 가능성이 있다.
제2 결합 움직임 정보 후보 리스트 삭감부(153)는, 쌍방향 결합 움직임 정보 후보 리스트 생성부(152)에 의해 공급되는 제3 결합 움직임 정보 후보 리스트에서 중복되는 움직임 정보를 갖는 결합 움직임 정보 후보가 복수 의존하는 경우에는 1개의 결합 움직임 정보 후보를 남기고 삭제해서 결합 움직임 정보 후보 리스트를 생성하고, 당해 결합 움직임 정보 후보 리스트를 단자(18)에 공급한다.
여기서, 단방향 결합 움직임 정보 후보는, 이른바 병합 기술에서 이용되는 후보 블록의 움직임 정보 후보로서 1개의 후보 블록에서 얻어지는 움직임 정보이다. 또한, 쌍방향 결합 움직임 정보는, 실시형태 1의 특징이 되는 기술로 2개의 후보 블록에서 2개의 움직임 정보를 이용해서 얻어지는 움직임 정보이다. 본 실시형태에서는 2개의 움직임 정보로서 L0 방향과 L1 방향을 각각 1개씩 이용한다.
(쌍방향 결합 움직임 정보 후보 리스트 생성부(152))
이어서, 쌍방향 결합 움직임 정보 후보 리스트 생성부(152)의 상세한 구성에 대해 도 17을 사용해서 설명한다. 도 17은 쌍방향 결합 움직임 정보 후보 리스트 생성부(152)의 구성을 나타낸다. 단자(19)는 제1 결합 움직임 정보 후보 리스트 삭감부(151)에, 단자(20)는 제2 결합 움직임 정보 후보 리스트 삭감부(153)에 각각 접속되어 있다. 쌍방향 결합 움직임 정보 후보 리스트 생성부(152)는, 기준 방향 결정부(160), 기준 방향 움직임 정보 결정부(161), 역방향 움직임 정보 결정부(162) 및 쌍방향 움직임 정보 결정부(163)를 포함한다.
이하, 각 부의 기능에 대해 설명한다. 기준 방향 결정부(160)는, 제2 결합 움직임 정보 후보 리스트에서 쌍방향 결합 움직임 정보 후보의 기준 방향을 결정하고, 당해 기준 방향 및 단자(19)에 의해 공급되는 제2 결합 움직임 정보 후보 리스트를 기준 방향 움직임 정보 결정부(161)에 전송한다. 기준 방향이 L0의 쌍방향 결합 움직임 정보 후보(BD0)의 경우의 기준 방향은 L0 방향이 되고, 기준방향이 L1의 쌍방향 결합 움직임 정보 후보(BD1)의 경우의 기준 방향은 L1 방향이 된다.
기준 방향 움직임 정보 결정부(161)는, 기준 방향 결정부(160)에 의해 공급되는 기준 방향 및 제2 결합 움직임 정보 후보 리스트에서, 쌍방향 결합 움직임 정보 후보의 기준 방향의 움직임 벡터와 참조 화상 인덱스를 결정하고, 당해 기준 방향, 당해 기준 방향의 움직임 벡터와 당해 참조 화상 인덱스, 및 당해 제2 결합 움직임 정보 후보 리스트를 역방향 움직임 정보 결정부(162)에 전송한다.
역방향 움직임 정보 결정부(162)는, 기준 방향 움직임 정보 결정부(161)에 의해 공급되는 기준 방향, 기준 방향의 움직임 벡터와 참조 화상 인덱스, 및 제2 결합 움직임 정보 후보 리스트에서, 쌍방향 결합 움직임 정보 후보의 역방향의 움직임 벡터와 참조 화상 인덱스를 결정한다. 역방향 움직임 정보 결정부(162)는, 당해 기준 방향의 움직임 벡터와 참조 화상 인덱스, 당해 역방향의 움직임 벡터와 참조 화상 인덱스, 및 제2 결합 움직임 정보 후보 리스트를 쌍방향 움직임 정보 결정부(163)에 전송한다. 또한, 실시형태 1에서는, 기준 방향이 L0 방향이면, 역방향은 L1 방향으로 하고, 기준 방향이 L1 방향이면, 역방향은 L0 방향으로 한다.
쌍방향 움직임 정보 결정부(163)는, 역방향 움직임 정보 결정부(162)에 의해 공급되는 기준 방향의 움직임 벡터와 참조 화상 인덱스, 및 역방향의 움직임 벡터와 참조 화상 인덱스에서 쌍방향 결합 움직임 정보 후보를 결정한다. 또, 쌍방향 움직임 정보 결정부(163)는, 제2 결합 움직임 정보 후보 리스트에서 제3 결합 움직임 정보 후보 리스트를 생성하고, 당해 제3 결합 움직임 정보 후보 리스트를 단자(20)에 전송한다.
(후보 번호 관리 테이블)
여기서, 실시형태 1에서 이용하는 병합 후보 번호와 결합 움직임 정보 후보의 관계를 나타내는 후보 번호 관리 테이블에 대해 도 18을 사용해서 설명한다. 병합 후보 번호의 0에서 6은, 각각 결합 움직임 정보 후보 리스트에 포함되는 블록(A)의 결합 움직임 정보 후보(A), 블록(B)의 결합 움직임 정보 후보(B), 시간 블록의 결합 움직임 정보 후보(COL), 블록(C)의 결합 움직임 정보 후보(C), 블록(E)의 결합 움직임 정보 후보(E), 기준 방향이 L0의 쌍방향 결합 움직임 정보 후보(BD0) 및 기준 방향이 L1의 쌍방향 결합 움직임 정보 후보(BD1)를 나타낸다. 또, 결합 움직임 정보 후보 리스트에 포함되는 결합 움직임 정보 후보의 최대수는 7(병합 인덱스의 최대값은 6)로 한다. 이상과 같이, 여기에서는 기준 방향이 L0의 쌍방향 결합 움직임 정보 후보(BD0)와 기준 방향이 L1의 쌍방향 결합 움직임 정보 후보(BD1)의 병합 후보 번호가 단방향 결합 움직임 정보 후보의 병합 후보 번호보다도 커지도록 할당된다. 또한, 실시형태 1에서 이용하는 후보 번호 관리 테이블을 도 18로 했지만, 선택률이 높은 결합 움직임 정보 후보만큼 작은 병합 후보 번호가 할당되면 좋고 이것에 한정되지 않는다.
여기서, 후보 번호 관리 테이블 및 결합 움직임 정보 후보 리스트에 포함되는 결합 움직임 정보 후보의 최대수는 동화상 부호화 장치(100)내에서 공유하는 것으로 하고, 도시하지 않는다. 이하, 병합 후보 번호에서 병합 인덱스로의 변환에 대해 도 19(a), (b)를 사용해서 설명한다.
도 19(a)는, 블록(A)의 결합 움직임 정보 후보, 블록(B)의 결합 움직임 정보 후보, 시간 블록의 결합 움직임 정보 후보, 블록(C)의 결합 움직임 정보 후보, 블록(E)의 결합 움직임 정보 후보, 기준 방향이 L0의 쌍방향 결합 움직임 정보 후보 및 기준 방향이 L1의 쌍방향 결합 움직임 정보 후보가 모두 유효한 경우에, 병합 후보 번호는 그대로 병합 인덱스가 되는 것을 나타내고 있다.
도 19(b)는, 결합 움직임 정보 후보에 무효한 블록이 포함되어 있는 경우, 무효한 병합 후보 번호를 채운 후 병합 후보 번호가 작은 순서대로 병합 인덱스가 할당되는 경우를 나타내고 있다. 도 19(b)와 같이 병합 후보 번호가 1의 블록(B)와 병합 후보 번호가 4의 블록(E)의 결합 움직임 정보 후보가 무효인 경우, 병합 인덱스의 0은 병합 후보 번호 0으로, 병합 인덱스의 1은 병합 후보 번호 2로, 병합 인덱스의 2는 병합 후보 번호3으로, 병합 인덱스의 3은 병합 후보 번호 5로, 및 병합 인덱스의 4는 병합 후보 번호 6로 각각 변환된다. 이상과 같이, 여기에서는 기준 방향이 L0의 쌍방향 결합 움직임 정보 후보(BD0)와 기준 방향이 L1의 쌍방향 결합 움직임 정보 후보(BD1)의 병합 인덱스가 단방향 결합 움직임 정보 후보의 병합 인덱스보다도 커지도록 할당되어 있다.
실시형태 1에 의한 동화상 부호화 장치(100)에 의해 생성된 부호열을 복호하는 동화상 복호 장치(200)에서는 병합 인덱스에서 병합 후보 번호에 상기와는 반대의 변환이 실행되고, 동화상 부호화 장치(100)와 동화상 복호 장치(200)에서 모순이 없는 동일한 후보 번호 관리 테이블이 생성된다.
(동화상 부호화 장치(100)의 동작)
이어서, 도 20의 플로차트를 사용하고, 실시형태 1의 동화상 부호화 장치(100)에서 부호화의 동작을 설명한다. 예측 블록 화상 취득부(101)는, 예측 블록의 위치 정보와 예측 블록 사이즈에 기초하여, 단자(10)에 의해 공급되는 화상 신호에서 처리 대상의 예측 블록의 화상 신호를 취득한다(S100).
움직임 벡터 검출부(108)는, 예측 블록 화상 취득부(101)에 의해 공급되는 화상 신호와 복수의 참조 화상에 상당하는 화상 신호에서, 움직임 벡터 및 참조 화상을 나타내는 참조 화상 인덱스를 검출한다(S101).
움직임 정보 생성부(109)는, 움직임 벡터 검출부(108)에 의해 공급되는 움직임 벡터와 참조 화상 인덱스 및 움직임 정보 메모리(111)에 의해 공급되는 후보 블록군에서, 병합 후보 번호, 또는 차분 벡터와 예측 벡터 인덱스를 생성한다(S102).
움직임 보상부(106)는, 프레임 메모리(110)내의 참조 화상 인덱스에서 나타내는 참조 화상을, 움직임 벡터 검출부(108)에 의해 공급되는 움직임 벡터에 기초하여 움직임 보상하여 예측 신호를 생성한다. 예측 방향이 쌍방향이면, L0 방향과 L1 방향의 예측 신호를 평균화한 것을 예측 신호로서 생성한다(S103).
감산부(102)는, 예측 블록 화상 취득부(101)에 의해 공급되는 화상 신호와, 움직임 보상부(106)에 의해 공급되는 예측 신호의 차분을 산출하여 예측 오차 신호를 산출한다(S104). 예측 오차 부호화부(103)는, 감산부(102)에 의해 공급되는 예측 오차 신호에 대해, 양자화나 직교 변환 등의 처리를 실행해서 예측 오차 부호화 데이터를 생성한다(S105).
부호열 생성부(104)는, 예측 오차 부호화부(103)에 의해 공급되는 예측 오차 부호화 데이터 및 움직임 정보 생성부(109)에 의해 공급되는 병합 플래그, 병합 후보 번호, 참조 화상 인덱스, 차분 벡터 및 예측 벡터 인덱스를, 예측 방향과 함께 신택스에 따라 엔트로피 부호화하여 부호열을 생성한다(S106).
가산부(107)는, 예측 오차 복호부(105)에 의해 공급되는 예측 오차 신호와, 움직임 보상부(106)에 의해 공급되는 예측 신호를 가산하여 복호 화상 신호를 생성한다(S107). 프레임 메모리(110)는, 가산부(107)에 의해 공급되는 복호 화상 신호를 기억한다(S108). 움직임 정보 메모리(111)는, 움직임 벡터 검출부(108)에 의해 공급되는 움직임 벡터를, 최소의 예측 블록 사이즈 단위로 1 화상 기억한다(S109).
계속해서, 도 21의 플로차트를 사용해서, 움직임 정보 생성부(109)의 동작을 설명한다. 차분 벡터 산출부(120)는, 단자(12)에 의해 공급되는 후보 블록군, 단자(13)에 의해 공급되는 움직임 벡터와 참조 화상 인덱스, 단자(14)에 의해 공급되는 참조 화상, 및 단자(15)에 의해 공급되는 화상 신호에서, 예측 벡터 인덱스를 결정하여 차분 벡터와 비율 왜곡 평가값을 산출한다(S110).
결합 움직임 정보 결정부(121)는, 단자(12)에 의해 공급되는 후보 블록군, 단자(14)에 의해 공급되는 참조 화상, 및 단자(15)에 의해 공급되는 화상 신호에서, 병합 후보 번호를 결정하여 비율 왜곡 평가값을 산출한다(S111).
예측 부호화 모드 결정부(122)는, 차분 벡터 산출부(120)에 의해 공급되는 비율 왜곡 평가값과, 결합 움직임 정보 결정부(121)에 의해 공급되는 비율 왜곡 평가값을 비교하고, 전자가 후자보다 작은 경우는 병합 플래그를 "0"으로 설정하고, 그렇지 않은 경우는 병합 플래그를 "1"로 설정한다(S112).
계속해서, 도 22의 플로차트를 사용해서, 차분 벡터 산출부(120)의 동작을 설명한다. 예측 벡터 후보 리스트 생성부(130)는, 단자(12)에 의해 공급되는 후보 블록군에서 영역 외인 후보 블록, 인트라 모드인 후보 블록, 및 중복되는 움직임 벡터를 갖는 후보 블록을 제거한 후보 블록에서, 예측 벡터 후보 리스트를 생성한다. 예측 방향이 쌍방향이면, L0 방향과 L1 방향에 대해 예측 벡터 후보 리스트를 생성한다(S120).
예측 벡터 결정부(131)는, 예측 벡터 후보 리스트 생성부(130)에 의해 공급되는 예측 벡터 후보 리스트 중에서, 단자(13)에 의해 공급되는 움직임 벡터에 최적인 예측 벡터를 선택한다. 예측 방향이 쌍방향이면, L0 방향과 L1 방향에 대해 최적인 예측 벡터를 선택한다(S121). 감산부(132)는, 단자(13)에 의해 공급되는 움직임 벡터에서, 예측 벡터 결정부(131)에 의해 공급되는 예측 벡터를 감산하여 차분 벡터를 산출한다. 예측 방향이 쌍방향이면, L0 방향과 L1 방향에 대해 차분 벡터를 산출한다(S122).
(결합 움직임 정보 결정부(121)의 동작)
계속해서, 도 23의 플로차트를 사용해서, 결합 움직임 정보 결정부(121)의 동작을 상세하게 설명한다. 결합 움직임 정보 후보 생성부(140)는, 단자(12)에 의해 공급되는 후보 블록군에서 결합 움직임 정보 후보 리스트를 생성한다(S130). 결합 움직임 정보 선택부(141)는, 결합 움직임 정보 후보 생성부(140)에 의해 공급되는 결합 움직임 정보 후보 리스트 중에서, 단자(13)에 의해 공급되는 움직임 벡터와 참조 화상 인덱스, 및 예측 방향에 최적인 결합 움직임 정보를 결정한다(S131).
(결합 움직임 정보 후보 생성부(140)의 동작)
계속해서, 도 24의 플로차트를 사용해서, 결합 움직임 정보 후보 생성부(140)의 동작을 상세하게 설명한다. 단방향 결합 움직임 정보 후보 리스트 생성부(150)는, 단자(12)에 의해 공급되는 공간 후보 블록군에서 영역 외에 있는 후보 블록 및 인트라 모드에 있는 후보 블록을 제거한 후보 블록에서 공간 결합 움직임 정보 후보 리스트를 생성한다(S140). 공간 결합 움직임 정보 후보 리스트의 생성의 상세한 동작은 후술한다.
단방향 결합 움직임 정보 후보 리스트 생성부(150)는, 단자(12)에 의해 공급되는 시간 후보 블록군에서 영역 외에 있는 후보 블록 및 인트라 모드에 있는 후보 블록을 제거한 후보 블록에서, 시간 결합 움직임 정보 후보 리스트를 생성한다(S141). 시간 결합 움직임 정보 후보 리스트의 생성의 상세한 동작은 후술한다.
단방향 결합 움직임 정보 후보 리스트 생성부(150)는, 공간 결합 움직임 정보 후보 리스트와 시간 결합 움직임 정보 후보 리스트를 병합 후보 번호의 순서대로 결합하여 제1 결합 움직임 정보 후보 리스트를 생성한다(S142).
제1 결합 움직임 정보 후보 리스트 삭감부(151)는, 단방향 결합 움직임 정보 후보 리스트 생성부(150)에 의해 공급되는 제1 결합 움직임 정보 후보 리스트에 중복되는 움직임 정보를 갖는 결합 움직임 정보 후보가 복수 존재하는 경우에는 1개의 결합 움직임 정보 후보를 남기고 삭제하여 제2 결합 움직임 정보 후보 리스트를 생성한다(S143).
쌍방향 결합 움직임 정보 후보 리스트 생성부(152)는, 제1 결합 움직임 정보 후보 리스트 삭감부(151)에 의해 공급되는 제2 결합 움직임 정보 후보 리스트에서 쌍방향 결합 움직임 정보 후보 리스트를 생성한다(S144). 쌍방향 결합 움직임 정보 후보 리스트의 생성의 상세한 동작은 후술한다.
쌍방향 결합 움직임 정보 후보 리스트 생성부(152)는, 제2 결합 움직임 정보 후보 리스트와 쌍방향 결합 움직임 정보 후보 리스트를, 병합 후보 번호의 순서대로 결합하여 제3 결합 움직임 정보 후보 리스트를 생성한다(S145).
제2 결합 움직임 정보 후보 리스트 삭감부(153)는, 쌍방향 결합 움직임 정보 후보 리스트 생성부(152)에 의해 공급되는 제3 결합 움직임 정보 후보 리스트에서 중복되는 움직임 정보를 갖는 결합 움직임 정보 후보가 복수 존재하는 경우에는, 1개의 결합 움직임 정보 후보를 남기고 삭제하여 결합 움직임 정보 후보 리스트를 생성한다(S146).
계속해서, 도 25의 플로차트를 사용해서, 공간 결합 움직임 정보 후보 리스트 생성의 상세한 동작을 설명한다. 실시형태 1에서는, 공간 결합 움직임 정보 후보 리스트에는 4 이하의 후보 블록의 움직임 정보가 포함되도록 한다.
공간 후보 블록군에 포함되는 4개의 후보 블록인 블록(A), 블록(B), 블록(C) 및 블록(E)에 대해 이하의 처리를 반복 실행한다(S150에서 S153). 후보 블록의 유효성을 검사한다(S151). 후보 블록이 영역 외가 아니고 인트라 모드도 아닌 경우에 후보 블록은 유효하게 된다. 후보 블록이 유효하면(S151의 YES), 후보 블록의 움직임 정보를 공간 결합 움직임 정보 후보 리스트에 추가한다(S152). 후보 블록이 유효하지 않으면(S151의 NO), 스텝(S152)은 스킵된다.
실시형태 1에서는 공간 결합 움직임 정보 후보 리스트에는 4 이하의 후보 블록의 움직임 정보가 포함되도록 했지만, 후보 블록의 유효성에 따라 공간 결합 움직임 정보 후보 리스트의 수가 변동하면 좋고, 이것에 한정되지 않는다.
계속해서, 도 26의 플로차트를 사용해서, 시간 결합 움직임 정보 후보 리스트 생성의 상세한 동작을 설명한다. 실시형태 1에서는, 시간 결합 움직임 정보 후보 리스트에는 1 이하의 후보 블록의 움직임 정보가 포함되도록 한다.
시간 후보 블록군에 포함되는 2개의 후보 블록인 시간 블록에 대해 이하의 처리를 반복 실행한다(S160에서 S166). 후보 블록의 유효성을 검사한다(S161). 후보 블록이 영역 외가 아니고 인트라 모드도 아닌 경우에 후보 블록은 유효하게 된다. 후보 블록이 유효하면(S161의 YES), 시간 결합 움직임 정보 후보가 생성되고, 시간 결합 움직임 정보 후보가 시간 결합 움직임 정보 후보가 리스트에 추가되고(스텝(S162))에서 스텝(S165)), 처리를 종료한다. 후보 블록이 유효하지 않으면(S161의 NO), 다음 후보 블록을 검사한다(S166).
후보 블록이 유효하면, 시간 결합 움직임 정보 후보의 예측 방향의 결정을 실행한다(S162). 실시형태 1에서는 결합 움직임 정보 후보의 예측 방향을 쌍방향으로 한다. 다음으로, 시간 결합 움직임 정보 후보의 L0 방향, L1 방향의 참조 화상의 결정을 실행한다(S163). 실시형태 1에서는 L0 방향의 참조 화상을, L0 방향의 참조 화상 중 처리 대상에 가장 가까운 거리에 있는 참조 화상으로 하고, L1 방향의 참조 화상을, L1 의 참조 화상 중 처리 대상 화상에 가장 가까운 거리에 있는 참조 화상으로 한다. 여기에서는, L0 방향의 참조 화상을, L0 방향의 참조 화상 중 처리 대상 화상에 가장 가까운 거리에 있는 참조 화상으로 하고, L1 방향의 참조 화상을, L1 방향의 참조 화상 중 처리 대상 화상에 가장 가까운 거리에 있는 참조 화상으로 했지만, L0 방향의 참조 화상과 L1 방향의 참조 화상이 결정되면 좋고, 이것에 한정되지 않는다. 예컨대, 부호화 스트림 중에 L0 방향 및 L1 방향의 참조 화상을 부호화해도 좋고, L0 방향 및 L1 방향의 참조 화상 인덱스를 0으로 해도 좋고, 처리 대상 블록의 인접 블록이 사용하고 있는 L0 방향의 참조 화상 및 L1 방향의 참조 화상에서, 가장 많이 사용되고 있는 참조 화상을 L0 방향, L1 방향 각각의 참조하는 참조 화상으로 해도 좋다.
다음으로, 시간 결합 움직임 정보 후보의 움직임 벡터를 산출한다(S164). 본 실시형태에 있어서, 시간 결합 움직임 정보 후보는, 후보 블록의 움직임 정보에서 유효한 예측 방향인 참조 화상(ColRefPic)과 움직임 벡터(mvCol)를 기준으로, 쌍방향의 움직임 정보를 산출한다. 후보 블록의 예측 방향이 L0 방향 또는 L1 방향의 단방향의 경우에는, 그 예측 방향의 참조 화상과 움직임 벡터를 기준으로 선택한다. 후보 블록의 예측 방향이 쌍방향인 경우에는, L0 방향 또는 L1 방향 중 어느 일방의 참조 화상과 움직임 벡터를 기준으로 선택한다. 예컨대, ColPic과 같은 시간 방향으로 존재하는 참조 화상과 움직임 벡터를 기준으로 선택하는, 후보 블록의 L0 방향 또는 L1 방향의 참조 화상 중 어느 ColPic과 화상간 거리가 가까은 쪽을 기준으로 선택하는, 후보 블록의 L0 방향 또는 L1 방향 중 어느 움직임 벡터가 처리 대상 화상과 교차하는 쪽을 기준으로 선택하는 등을 들 수 있다. 쌍방향 움직임 정보 생성의 기준으로 하는 참조 화상과 움직임 벡터가 선택되면, 시간 결합 움직임 정보 후보의 움직임 벡터를 산출한다.
여기에서는, 상기와 같이 하여 시간 결합 움직임 정보 후보를 생성했지만, 부호화 종결의 다른 화상의 움직임 정보를 이용해서 쌍방향의 움직임 정보가 결정대면 좋고, 이것에 한정되지 않는다. 예컨대, 다이렉트 움직임 보상에서 실행되고 있는 바와 같이 각 방향의 참조 화상과 처리 대상 화상의 거리에 상응하여 스케일링한 움직임 벡터를 쌍방향의 움직임 벡터로 해도 좋다. 후보 블록이 무효이면(S163의 NO), 다음 후보 블록을 검사한다(S165).
여기에서는, 시간 결합 움직임 정보 후보 리스트에는 1 이하의 후보 블록의 움직임 정보가 포함되도록 했지만, 후보 블록의 유효성에 따라 시간 결합 움직임 정보 후보 리스트의 수가 변동되면 좋고, 이것에 한정되지 않는다. 예측 방향, 참조 화상 및 움직임 벡터의 결정 방법에 대해서도 마찬가지로, 이들에 한정되지 않는다.
(쌍방향 결합 움직임 정보 후보 리스트의 생성)
계속해서, 도 27의 플로차트를 사용해서, 쌍방향 결합 움직임 정보 후보 리스트의 생성의 상세한 동작을 설명한다. 쌍방향 결합 움직임 정보 후보 리스트는 비어있도록 한다. 기준 방향 결정부(160)는, 제2 결합 움직임 정보 후보 리스트에서 쌍방향 결합 움직임 정보 후보의 기준 방향을 결정한다(S170). 기준 방향이 L0의 쌍방향 결합 움직임 정보 후보(BD0)의 경우의 기준 방향은 L0 방향이 되고, 기준 방향이 L1의 쌍방향 결합 움직임 정보 후보(BD1)의 경우의 기준 방향은 L1 방향이 된다.
기준 방향 움직임 정보 결정부(161)는, 기준 방향 결정부(160)에 의해 공급되는 기준 방향 및 제2 결합 움직임 정보 후보 리스트에서, 쌍방향 결합 움직임 정보 후보의 기준 방향의 움직임 벡터와 참조 화상 인덱스를 결정한다(S171). 기준 방향 움직임 정보 결정부(161)의 상세한 동작은 후술한다.
역방향 움직임 정보 결정부(162)는, 기준 방향 움직임 정보 결정부(161)에 의해 공급되는 기준 방향, 기준 방향의 움직임 벡터, 참조 화상 인덱스 및 제2 결합 움직임 정보 후보 리스트에서, 쌍방향 결합 움직임 정보 후보의 역방향의 움직임 벡터와 참조 화상 인덱스를 결정한다(S172). 역방향 움직임 정보 결정부(162)의 상세한 동작은 후술한다.
쌍방향 움직임 정보 결정부(163)는, 역방향 움직임 정보 결정부(162)에 의해 공급되는 기준 방향, 기준 방향의 움직임 벡터와 참조 화상 인덱스 및 역방향의 움직임 벡터와 참조 화상 인덱스에서, 쌍방향 결합 움직임 정보 후보의 예측 방향을 결정한다(S173). 쌍방향 결합 움직임 정보 후보의 예측 방향의 결정의 상세한 동작은 후술한다.
쌍방향 움직임 정보 결정부(163)는, 쌍방향 결합 움직임 정보 후보의 예측 방향의 유효성을 검사한다(S174). 쌍방향 움직임 정보 결정부(163)는, 쌍방향 결합 움직임 정보 후보의 예측 방향이 유효하면(S174의 YES), 쌍방향 결합 움직임 정보 후보 리스트에 쌍방향 결합 움직임 정보 후보를 추가한다(S175). 쌍방향 결합 움직임 정보 후보의 예측 방향이 무효이면(S174의 NO), 스텝(S175)는 스킵된다.
계속해서, 도 28의 플로차트를 사용해서, 기준 방향 움직임 정보 결정부(161)의 상세한 동작을 설명한다. 쌍방향 결합 움직임 정보 후보의 기준 방향으로서 LX 방향(X는 0 또는 1)이 선택된 것으로 한다. 기준 방향인 LX의 유효성을 "0"으로 설정한다(S190). 제2 결합 움직임 정보 후보 리스트에 포함되는 결합 움직임 정보 후보의 수(NCands), 이하의 처리를 반복한다(S191에서 S194). 결합 움직임 정보 후보의 LX 방향의 유효성을 검사한다(S192). 결합 움직임 정보 후보의 LX 방향이 유효하면(S192의 YES), 기준 방향인 LX의 유효성을 "1"로 설정하고, 기준 방향의 움직임 벡터와 참조 인덱스를 결합 움직임 정보 후보의 LX 방향의 움직임 벡터와 참조 인덱스로 처리를 종료한다(S193). 결합 움직임 정보 후보의 LX 방향이 무효이면(S192의 NO), 다음 후보를 검사한다(S194).
여기에서는, 제2의 결합 움직임 정보 후보 리스트에 포함되는 결합 움직임 정보 후보의 수(NCands)만 검사한다고 했지만, 쌍방향 결합 움직임 정보 후보의 기준 방향의 움직임 정보가 결정될 수 있으면 좋고, 이것에 한정되지 않는다. 예컨대, 선택률이 높은 결합 움직임 정보 후보만으로 쌍방향 결합 움직임 정보 후보를 생성하는 경우에는 검사수를 2나 3과 같은 소정수로 고정하여 처리량을 삭감함과 동시에 용장인 쌍방향 결합 움직임 정보 후보의 생성 가능성을 저하시켜서 병합 인덱스의 부호량을 삭감할 수도 있다.
계속해서, 도 29의 플로차트를 사용해서, 역방향 움직임 정보 결정부(162)의 상세한 동작을 설명한다. 쌍방향 결합 움직임 정보 후보의 역방향으로 기준 방향의 역방향이 설정된다. 역방향으로 LY 방향(Y는 0 또는 1)이 선택된 것으로 한다. 역방향인 LY의 유효성을 "0"으로 설정한다(S200). 제2 결합 움직임 정보 후보 리스트에 포함되는 결합 움직임 정보 후보의 수(NCands), 이하의 처리를 반복한다(S201에서 S205).
기준 방향에서 선택된 결합 움직임 정보 후보가 아닌 것을 검사한다(S202). 기준 방향에서 선택된 결합 움직임 정보 후보가 아니라면(S202의 YES), 결합 움직임 정보 후보의 LY 방향의 유효성을 검사한다(S203). 결합 움직임 정보 후보의 LY 방향이 유효하면(S203의 YES), 역방향인 LY의 유효성을 "1"로 설정하고, 역방향의 움직임 벡터와 참조 인덱스를 결합 움직임 정보 후보의 LY 방향의 움직임 벡터와 참조 인덱스로 처리를 종료한다(S204). 기준 방향에서 선택된 결합 움직임 정보 후보라면(S202의 NO), 또는 결합 움직임 정보 후보의 LY 방향이 무효라면(S203의 NO), 다음 후보를 검사한다(S205).
여기에서는, 제2 결합 움직임 정보 후보 리스트에 포함되는 결합 움직임 정보 후보의 수(NCands)만 검사한다고 했지만, 쌍방향 결합 움직임 정보 후보의 역방향의 움직임 정보가 결정될 수 있으면 좋고, 이것에 한정되지 않는다. 예컨대, 선택률이 높은 결합 움직임 정보 후보만으로 쌍방향 결합 움직임 정보 후보를 생성하는 경우에는 검사수를 2나 3과 같은 소정수로 고정하여 처리량을 삭감함과 동시에 용장인 쌍방향 결합 움직임 정보 후보의 생성 가능성을 저하시켜서 병합 인덱스의 부호량을 삭감할 수도 있다. 또, 검사를 개시하는 블록을 기준 방향에서 선택된 결합 움직임 정보 후보의 다음 결합 움직임 정보 후보로 함으로서, BD0과 BD1이 동일하게 될 가능성을 없애고, 스텝(S202)을 삭감할 수 있다.
계속해서, 도 30의 표를 사용해서, 쌍방향 결합 움직임 정보 후보의 예측 방향의 결정의 상세한 동작을 설명한다. LX 방향과 LY 방향이 함께 유효하면 예측 방향은 쌍방향의 BI가 되고, LX 방향만이 유효하면 예측 방향은 단방향의 LX 방향이 되고, LY 방향만 유효하면 예측 방향은 단방향의 LY 방향이 되고, LX 방향과 LY 방향이 함께 무효이면 예측 방향은 무효가 된다. 즉, LX 방향과 LY 방향이 함께 유효한 경우, 당해 LX 방향의 움직임 정보를 구비하는 결합 움직임 정보 후보와, 당해 LY 방향의 움직임 정보를 구비하는 당해 LX 방향의 움직임 정보를 구비하는 결합 움직임 정보 후보와는 다른 결합 움직임 정보 후보가 조합되어 새로운 쌍방향 결합 움직임 정보 후보가 생성된다. 또, LX 방향만 유효한 경우, 당해 유효한 LX 예측을 구비하는 결합 움직임 정보 후보의 예측 방향이 쌍예측이면, 당해 결합 움직임 정보 후보의 예측 방향이 단예측으로 변환된다. 마찬가지로, LY방향만 유효한 경우, 당해 유효한 LY 예측을 구비하는 결합 움직임 정보 후보의 예측 방향이 쌍예측이면, 당해 결합 움직임 정보 후보의 예측 방향이 단예측으로 변환된다.
여기에서는, 쌍방향 결합 움직임 정보 후보의 예측 방향의 결정을 도 30으로 했지만, 예측 방향이 결정되면 좋고, 이것에 한정되지 않는다. 도 31(a)~(c)에 쌍방향 결합 움직임 정보 후보의 예측 방향 결정의 확장예를 나타낸다. 예컨대, 도 31(a)와 같이 LX 방향과 LY 방향의 적어도 일방이 무효이면 예측 방향을 무효로 하는 것이나, 도 31(b)이나 도 31(c)와 같이 예측 방향을 강제적으로 쌍방향으로 해도 좋다.
일반적으로 움직임 벡터의 정밀도가 비교적 높은 경우에는 단방향 예측보다 쌍방향 예측의 예측 효율이 높아진다. 이 때문에, 도 31(a)에서는, LX 방향과 LY 방향이 함께 유효하지 않은 경우에는, 쌍방향 결합 움직임 정보 후보의 예측 방향을 무효로 하여, 결합 움직임 정보 후보의 수를 줄임으로서 병합 인덱스의 부호량을 삭감할 수 있다. 여기서, 예컨대, 단방향 결합 움직임 정보 후보 중에 쌍방향 예측의 후보가 있는 경우에 쌍방향 결합 움직임 정보 후보의 예측 방향을 무효로 하는 것과 같은 적응 처리로 할 수도 있다.
또, 도 31(b)는 무효한 예측 방향의 움직임 벡터를 (0, 0), 참조 인덱스를 "0"으로 한다. 이와 같이, 최단거리의 참조 화상을 예측 신호로 쌍방향 결합 움직임 정보 후보를 강제적으로 쌍방향으로 할 수도 있다. 이것은, 참조 인덱스의 "0"은 일반적으로 처리 대상 화상과 가장 거리가 가까운 참조 화상이 되기 위한 것으로, 최단거리의 예측 신호의 신뢰도가 가장 높기 때문이다.
(동화상 복호 장치(200)의 구성)
다음으로, 실시형태 1의 동화상 복호 장치를 설명한다. 도 32에 실시형태 1의 동화상 복호 장치(200)를 나타낸다. 동화상 복호 장치(200)는, 동화상 부호화 장치(100)에 의해 부호화된 부호열을 복호하여 재생 화상을 생성하는 장치이다.
동화상 복호 장치(200)는, CPU(Central Processing Unit), 프레임 메모리, 하드디스크 등을 구비하는 정보 처리 장치 등의 하드웨어에 의해 실현된다. 동화상 복호 장치(200)는, 상기의 구성 요소가 동작하는 것에 의해, 이하에 설명하는 기능적인 구성 요소를 실현한다. 또한, 복호 대상의 예측 블록의 위치 정보, 예측 블록 사이즈에 관해서는 동화상 복호 장치(200)내에서 공유하는 것으로 하고, 도시하지 않는다. 또, 후보 번호 관리 테이블, 및 결합 움직임 정보 후보 리스트에 포함되는 결합 움직임 정보 후보의 최대수는 동화상 복호 장치(200)내에서 공유하고 있는 것으로 하고, 도시하지 않는다.
실시형태 1의 동화상 복호 장치(200)는, 부호열 해석부(201), 예측 오차 복호부(202), 가산부(203), 움직임 정보 재생부(204), 움직임 보상부(205), 프레임 메모리(206) 및 움직임 움직임 정보 메모리(207)를 구비한다.
(동화상 복호 장치(200)의 기능)
이하, 각 부의 기능에 대해 설명한다. 부호열 해석부(201)는, 단자(30)에 의해 공급된 부호열을 복호하고 예측 오차 부호화 데이터, 병합 플래그, 병합 후보 번호, 움직임 보상 예측의 예측 방향, 참조 화상 인덱스, 차분 벡터, 및 예측 벡터 인덱스를 신택스에 따라 복호한다. 그리고 당해 예측 오차 부호화 데이터를 예측 오차 복호부(202)에, 당해 병합 플래그, 당해 병합 후보 번호, 당해 움직임 보상 예측의 예측 방향, 당해 참조 화상 인덱스, 당해 차분 벡터, 및 당해 예측 벡터 인덱스를 움직임 정보 재생부(204)에 공급한다. 또한, 병합 후보 번호는 병합 인덱스에 의해 변환되어 얻어진다.
예측 오차 복호부(202)는, 부호열 해석부(201)에 의해 공급되는 예측 오차 부호화 데이터에 대해, 역양자화나 역직교 변환 등의 처리를 실행하여 예측 오차 신호를 생성하고, 당해 예측 오차 신호를 가산부(203)에 공급한다.
가산부(203)는, 예측 오차 복호부(202)에 의해 공급되는 예측 오차 신호와, 움직임 보상부(205)에 의해 공급되는 예측 신호를 가산하여 복호 화상 신호를 생성하고, 당해 복호 화상 신호를 프레임 메모리(206) 및 단자(31)에 공급한다.
움직임 정보 재생부(204)는, 부호열 해석부(201)에 의해 공급되는 병합 플래그, 병합 후보 번호, 움직임 보상 예측의 예측 방향, 참조 화상 인덱스, 차분 벡터 및 예측 벡터 인덱스와, 움직임 정보 메모리(207)에 의해 공급되는 후보 블록군에서, 움직임 정보를 재생하고, 당해 움직임 정보를 움직임 보상부(205)에 공급한다. 움직임 정보 재생부(204)의 상세한 구성에 대해서는 후술한다.
움직임 보상부(205)는, 움직임 정보 재생부(204)에 의해 공급되는 움직임 정보에 기초하여, 프레임 메모리(206)내의 참조 화상 인덱스가 나타내는 참조 화상을, 움직임 벡터에 기초하여 움직임 보상하여 예측 신호를 생성한다. 예측 방향이 쌍방향이면, L0 방향과 L1 방향의 예측 신호를 평균화한 것을 예측 신호로 생성하고, 당해 예측 신호를 가산부(203)에 공급한다.
프레임 메모리(206) 및 움직임 정보 메모리(207)는, 동화상 부호화 장치(100)의 프레임 메모리(110) 및 움직임 정보 메모리(111)와 동일한 기능을 구비한다.
(움직임 정보 재생부(204)의 상세한 구성)
이어서, 실시형태 1의 특징을 이루는 움직임 정보 재생부(204)의 상세한 구성에 대해 도 33을 사용해서 설명한다. 도 33은 움직임 정보 재생부(204)의 구성을 나타낸다. 움직임 정보 재생부(204)는, 부호화 모드 판정부(210), 움직임 벡터 재생부(211) 및 결합 움직임 정보 재생부(212)를 포함한다. 단자(32)는 부호열 해석부(201)에, 단자(33)는 움직임 정보 메모리(207)에, 단자(34)는 움직임 보상부(205)에 각각 접속되어 있다.
이하, 각 부의 기능에 대해 설명한다. 부호화 모드 판정부(210)는, 부호열 해석부(201)에 의해 공급되는 병합 플래그가 "0"이면, 부호열 해석부(201)에 의해 공급되는 움직임 보상 예측의 예측 방향, 참조 화상 인덱스, 차분 벡터 및 예측 벡터 인덱스를 움직임 벡터 재생부(211)에 공급한다. 병합 플래그가 "1"이면, 부호열 해석부(201)에 의해 공급되는 병합 후보 번호를 결합 움직임 정보 재생부(212)에 공급한다.
움직임 벡터 재생부(211)는, 부호화 모드 판정부(210)에 의해 공급되는 움직임 보상 예측의 예측 방향, 참조 화상 인덱스, 차분 벡터 및 예측 벡터 인덱스와, 단자(33)에 의해 공급되는 후보 블록군에서, 움직임 정보를 재생하여 단자(34)에 공급한다. 움직임 벡터 재생부(211)의 상세한 구성에 대해서는 후술한다.
결합 움직임정보 재생부(212)는, 부호화 모드 판정부(210)에 의해 공급되는 병합 후보 번호와, 단자(33)에 의해 공급되는 후보 블록군에서, 움직임 정보를 재생하여 단자(34)에 공급한다. 결합 움직임 정보 재생부(212)의 상세한 구성에 대해서는 후술한다.
이어서, 움직임 벡터 재생부(211)의 상세한 구성에 대해 도 34를 사용해서 설명한다. 도 34는 움직임 벡터 재생부(211)의 구성을 나타낸다. 움직임 벡터 재생부(211)는, 예측 벡터 후보 리스트 생성부(220), 예측 벡터 결정부(221) 및 가산부(222)를 포함한다. 단자(35)는 부호화 모드 판정부(210)에 접속되어 있다.
이하, 각 부의 기능에 대해 설명한다. 예측 벡터 후보 리스트 생성부(220)는, 동화상 부호화 장치(100)의 예측 벡터 후보 리스트 생성부(130)와 동일한 기능을 구비한다. 예측 벡터 결정부(221)는, 예측 벡터 후보 리스트 생성부(220)에 의해 공급되는 예측 벡터 후보 리스트 및 단자 (35)에 의해 공급되는 예측 벡터 인덱스에서, 예측 벡터를 결정하여 가산부(222)에 공급한다.
가산부(222)는, 단자(35)에 의해 공급되는 차분 벡터와, 예측 벡터 결정부(221)에 의해 공급되는 예측 벡터를 가산하여 움직임 벡터를 산출하고, 당해 움직임 벡터를 단자(34)에 공급한다.
이어서, 결합 움직임 정보 재생부(212)의 상세한 구성에 대해서는 도 35를 사용해서 설명한다. 도 35는 결합 움직임 정보 재생부(212)의 구성을 나타낸다. 결합 움직임 정보 재생부(212)는, 결합 움직임 정보 후보 생성부(230) 및 결합 움직임 정보 선택부(231)를 포함한다.
이하, 각 부의 기능에 대해 설명한다. 결합 움직임 정보 후보 생성부(230)는 도 15에 나타내는 결합 움직임 정보 후보 생성부(140)와 동일한 기능을 구비한다. 결합 움직임 정보 선택부(231)는, 결합 움직임 정보 후보 생성부(230)에 의해 공급되는 결합 움직임 정보 후보 리스트 및 단자(35)에 의해 공급되는 병합 후보 번호에 기초하여, 결합 움직임 정보 후보 리스트 중에서 움직임 정보를 선택하고, 당해 움직임 정보를 단자(34)에 공급한다.
(동화상 복호 장치(200)의 동작)
이어서, 도 36의 플로차트를 사용해서, 실시형태 1의 동화상 복호 장치(200)에 있어서의 복호의 동작을 설명한다. 부호열 해석부(201)는, 단자(30)에 의해 공급되는 부호열을 복호하여 예측 오차 부호화 데이터, 병합 플래그, 병합 후보 번호, 움직임 보상 예측의 예측 방향, 참조 화상 인덱스, 차분 벡터 및 예측 벡터 인덱스를 신택스에 따라 복호한다(S210).
움직임 정보 재생부(204)는, 부호열 해석부(201)에 의해 공급되는 병합 플래그, 병합 후보 번호, 움직임 보상 예측의 예측 방향, 참조 화상 인덱스, 차분 벡터 및 예측 벡터 인덱스와, 움직임 정보 메모리(207)에 의해 공급되는 후보 블록군에서, 움직임 정보를 재생한다(S211).
움직임 보상부(205)는, 움직임 정보 재생부(204)에 의해 공급되는 움직임 정보에 기초하여, 프레임 메모리(206)내의 참조 화상 인덱스가 나타내는 참조 화상을, 움직임 벡터에 기초하여 움직임 보상하여 예측 신호를 생성한다. 예측 방향이 쌍방향이면, L0 방향과 L1 방향의 예측 신호를 평균화한 것을 예측 신호로 생성한다(S212).
예측 오차 복호부(202)는, 부호열 해석부(201)에 의해 공급되는 예측 오차 부호화 데이터에 대해, 역양자화나 역직교 변환 등의 처리를 실행하여 예측 오차 신호를 생성한다(S213). 가산부(203)는, 예측 오차 복호부(202)에 의해 공급되는 예측 오차 신호와, 움직임 보상부(205)에 의해 공급되는 예측 신호를 가산하여 복호 화상 신호를 생성한다(S214).
프레임 메모리(206)는, 가산부(203)에 의해 공급되는 복호 화상 신호를 기억한다(S215). 움직임 정보 메모리(207)는, 움직임 정보 재생부(204)에 의해 공급되는 움직임 벡터를 최소의 예측 블록 사이즈 단위로 1 화상분 기억한다(S216).
계속해서, 도 37의 플로차트를 사용해서, 움직임 정보 재생부(204)의 동작을 설명한다. 부호화 모드 판정부(210)는, 부호열 해석부(201)에 의해 공급되는 병합 플래그가 "0"인지 "1"인지 판정한다(S220). 병합 플래그가 "1"이면(S220의 1), 결합 움직임 정보 재생부(212)는, 부호화 모드 판정부(210)에 의해 공급되는 병합 후보 번호 및 단자(33)에 의해 공급되는 후보 블록군에서, 움직임 정보를 재생한다(S221).
병합 플래그가 "0"이면, (S220의 0), 움직임 벡터 재생부(211)는, 부호화 모드 판정부(210)에 의해 공급되는 움직임 보상 예측의 예측 방향, 참조 화상 인덱스, 차분 벡터 및 예측 벡터 인덱스 및 단자(33)에 의해 공급되는 후보 블록군에서, 움직임 보상을 재생한다(S222).
계속해서, 도 38의 플로차트를 사용해서, 움직임 벡터 재생부(211)의 동작을 설명한다. 예측 벡터 후보 리스트 생성부(220)는, 동화상 부호화 장치(100)의 예측 벡터 후보 리스트 생성부(130)와 동일한 동작에 따라 예측 벡터 후보 리스트를 생성한다(S300).
예측 벡터 결정부(221)는, 예측 벡터 후보 리스트 생성부(220)에 의해 공급되는 예측 벡터 후보 리스트 중에서, 단자(35)에 의해 공급되는 예측 벡터 인덱스에서 나타내는 예측 벡터 후보를 선택하고, 예측 벡터를 결정한다(S301). 가산부(222)는, 단자(35)에 의해 공급되는 차분 벡터와, 예측 벡터 결정부(221)에 의해 공급되는 예측 벡터를 가산하여 움직임 벡터를 산출한다(S302).
계속해서, 도 39의 플로차트를 사용해서, 결합 움직임 정보 재생부(212)의 동작을 설명한다. 결합 움직임 정보 후보 생성부(230)는, 동화상 부호화 장치(100)의 결합 움직임 정보 후보 생성부(140)와 동일한 동작에 따라 결합 움직임 정보 후보 리스트를 생성한다(S310). 결합 움직임 정보 선택부(231)는, 결합 움직임 정보 후보 생성부(230)에 의해 공급되는 결합 움직임 정보 후보 리스트 중에서, 단자(35)에 의해 공급되는 병합 후보 번호에서 나타내는 결합 움직임 정보 후보를 선택하여, 결합 움직임 정보를 결정한다(S311).
(실시형태 1의 변형예)
또한, 실시형태 1은 이하와 같이 변형될 수 있다.
(변형예 1: 병합 후보 번호의 순서)
상술의 실시형태 1에서는, 후보 번호 관리 테이블의 일례로 도 18을 들었지만, 결합 움직임 정보 후보의 최대수는 1 이상이면 좋고, 선택률이 높은 결합 움직임 정보 후보만큼 작은 병합 후보 번호가 할당되어 있으면 좋고, 도 18에 한정되지 않는다. 또, 결합 움직임 정보 후보 리스트에 포함되는 결합 움직임 정보 후보의 최대수는 7(병합 인덱스의 최대값은 6)로 했지만, 2 이상이면 좋다. 예컨대, 쌍방향 결합 움직임 정보 후보의 선택률이, 블록(C)과 블록(E)의 결합 움직임 정보 후보의 선택률보다 높은 경우에는, 도 40(a)이나 도 40(b)와 같이 해도 좋다.
또, 도 41과 같이 쌍방향 결합 움직임 정보 후보를 증가시킬 수도 있다. 각 쌍방향 결합 움직임 정보 후보(BD0~BD3)에 대해 설명한다. 쌍방향 결합 움직임 정보 후보(BD0)과 쌍방향 결합 움직임 정보 후보(BD1)는 실시형태 1과 동일한 것으로 한다. 쌍방향 결합 움직임 정보 후보(BD2)와 쌍방향 결합 움직임 정보 후보(BD3)는, 기준 방향의 쌍방향 결합 움직임 정보 후보의 기준 방향의 움직임 벡터와 참조 인덱스와, 역방향의 쌍방향 결합 움직임 정보 후보의 기준 방향의 움직임 벡터와 참조 인덱스의 결정 방법이, 쌍방향 결합 움직임 정보 후보(BD0)와 쌍방향 결합 움직임 정보 후보(BD1)는 상이하다.
도 42는 쌍방향 결합 움직임 정보 후보(BD2)의 도출을 설명하는 플로차트이다. 도 42는, 도 28의 플로차트의 스텝(S193)을 스텝(S195)에서 스텝(S197)로 옮겨 놓은 것이다. 이하, 스텝(S195)에서 스텝(S197)에 대해 설명한다. LX의 유효성이 "1"인지 검사한다(S195). LX의 유효성이 "1"이 아니면(S195의 NO), LX의 유효성을 "1"로(S196), 다음 후보를 검사한다(S194). LX의 유효성이 "1"이면(S195의 YES), 기준 방향의 움직임 벡터와 참조 인덱스를, 결합 움직임 정보 후보의 LX 방향의 움직임 벡터와 참조 인덱스로(S197), 처리를 완료한다.
도 43은 쌍방향 결합 움직임 정보 후보(BD3)의 도출을 설명하는 플로차트이다. 도 43은, 도 29의 플로차트의 스텝(S204)을 스텝(S206)에서 스텝(S208)로 옮겨 놓은 것이다. 이하, 스텝(S206)에서 스텝(S208)에 대해 설명한다. LY의 유효성이 "1"인지 검사한다(S206). LY의 유효성이 "1"이 아니면(S206의 NO), LY의 유효성을 "1"로(S207), 다음 후보를 검사한다(S205). LY의 유효성이 "1"이면(S206의 YES), 기준 방향의 움직임 벡터와 참조 인덱스를, 결합 움직임 정보 후보의 LY 방향의 움직임 벡터와 참조 인덱스로(S208), 처리를 종료한다.
*즉, 쌍방향 결합 움직임 정보 후보(BD2)는, 기준 방향에서 2번째로 유효하게 되는 결합 움직임 정보 후보의 기준 방향의 움직임 벡터와 참조 인덱스와, 역방향에서 기준 방향과 같은 후보가 아닌 최초로 유효하게 되는 결합 움직임 정보 후보의 역방향의 움직임 벡터와 참조 인덱스를 이용한 쌍방향 결합 움직임 정보 후보가 된다.
또, 쌍방향 결합 움직임 정보 후보(BD3)는, 기준 방향에서 최초로 유효하게 되는 결합 움직임 정보 후보의 기준 방향의 움직임 벡터와 참조 인덱스와, 역방향에서 기준 방향과 같은 후보가 아닌 2번째로 유효하게 되는 결합 움직임 정보 후보의 역방향의 움직임 벡터와 참조 인덱스를 조합한 쌍방향 결합 움직임 정보 후보가 된다.
이와 같이 쌍방향 결합 움직임 정보 후보의 조합을 증가시켜서, 결합 움직임 정보 후보의 선택률을 높여서 움직임 정보의 부호화 효율을 향상시킬 수 있다.
(변형예 2: 쌍방향 결합 움직임 정보 후보의 동일 판정)
상술의 실시형태 1에서는, 역방향 움직임 정보 결정부(162)의 동작예로서 도 29를 들었지만, 쌍방향 결합 움직임 정보 후보가 생성되면 좋고, 이것에 한정되지 않는다. 예컨대, 쌍방향 결합 움직임 정보 후보의 유효성을 높이는, 즉 제2 결합 움직임 정보 후보 리스트 삭감부(153)에 따라 삭제되지 않도록 하는 목적으로, 도 44와 같이 스텝(S240)을 추가해도 좋다.
기준 방향의 움직임 벡터 및 참조 인덱스와, 검사 대상의 결합 움직임 정보 후보의 역방향의 움직임 벡터 및 참조 인덱스를 이용한 쌍방향 결합 움직임 정보 후보와 동일한 움직임 정보를 갖는 결합 움직임 정보 후보가, 제2 결합 움직임 정보 후보 리스트 중에 없는 것을 검사한다(S240). 동일한 결합 움직임 정보 후보가 존재하지 않는 경우에(S240의 YES), 스텝(S205)을 실시한다. 동일한 결합 움직임 정보 후보가 존재하는 경우에(S240의 NO), 다음 후보를 검사한다(S206). 이 경우, 도 16의 제2 결합 움직임 정보 후보 리스트 삭감부(153) 및 도 24의 스텝(S146)을 생략할 수도 있다.
이것에 의해, 제2 결합 움직임 정보 후보 리스트 삭감부(153)에 따라 쌍방향 결합 움직임 정보 후보가 삭감되는 것은 없어지고, 결합 움직임 정보 후보의 선택률을 높여서 움직임 정보의 부호화 효율을 향상시킬 수 있다.
(변형예 3: 쌍방향 결합 움직임 정보 후보의 기준 방향과의 동일 판정)
상술의 실시형태 1에서는, 역방향 움직임 정보 결정부(162)의 동작예로서 도 29를 들었지만, 도 45와 같이 스텝(S250)을 추가 해도 좋다.
기준 방향에서 선택된 결합 움직임 정보 후보의 역방향의 움직임 벡터 및 참조 인덱스와, 검사 대상의 결합 움직임 정보 후보의 역방향의 움직임 벡터 및 참조 인덱스가 동일하지 않은 것을 검사한다(S250). 동일하지 않은 경우에(S250의 YES), 스텝(S205)을 실시한다. 동일한 경우에(S250의 NO), 다음 후보를 검사한다(S206).
이것에 의해, 쌍방향 결합 움직임 정보 후보가, 기준 방향에서 선택된 결합 움직임 정보 후보와 동일하게 되는 것이 없어지고, 쌍방향 결합 움직임 정보 후보의 유효성을 높이고, 결합 움직임 정보 후보의 선택률을 높임으로서 움직임 정보 부호화 효율을 향상시킬 수 있다.
(변형예 4: 삭제 프로세스의 일원화)
상술의 실시형태 1에서는, 결합 움직임 정보 후보 생성부(140)의 구성의 일례로 도 16을 들었지만, 보다 간이적인 구성으로는, 도 46과 같이 제1 결합 움직임 정보 후보 리스트 삭감부(151)를 없애고 제2 결합 움직임 정보 후보 리스트 삭감부(153)만으로 삭감부를 1개로 정리할 수 있다.
다만, 이 경우의 과제로 쌍방향 결합 움직임 정보 후보 리스트 생성부(152)에 용장 결합 움직임 정보 후보가 공급되기 때문에, 최초의 2개의 단방향 결합 움직임 정보 후보가 동일했던 경우에는, 기준 방향이 L0의 쌍방향 결합 움직임 정보 후보(BD0)와 기준 방향이 L1의 쌍방향 결합 움직임 정보 후보(BD1)가 같은 움직임 정보가 된다. 이 때문에, 도 47(b)와 같이, 기준 방향이 L0인지 L1인지에 따라, 도 28 및 도 29의 검사 순서를 변화시킴음로서 동일한 쌍방향 결합 움직임 정보 후보를 생성하는 확률을 저하시킬 수 있다.
(변형예 5: 동일 방향의 이용)
상술의 실시형태 1에서는, 역방향 움직임 정보 결정부(162)의 역방향에 대해, 기준 방향이 L0 방향이면 역방향은 L1 방향이 되고, 기준 방향이 L1 방향이면 역방향은 L0이 되는 예를 들었다. 이 점, 기준 방향이 L0 방향이면 역방향을 L0 방향으로 하고, 기준 방향이 L1 방향이면 역방향을 L1 방향으로 해도 좋다. 이것은, 도 48과 같이 제2 결합 움직임 정보 후보 리스트에 포함되는 결합 움직임 정보 후보에 동일한 예측 방향의 움직임 정보만 존재하는 경우에, 쌍방향 결합 움직임 정보 후보의 생성 확률을 높이고, 결합 움직임 정보 후보의 선택률을 높임으로서 움직임 정보의 부호화 효율을 향상시킬 수 있다.
(변형예 6: 미리 정해진 조합)
상술의 실시형태 1에서는, 쌍방향 결합 움직임 정보 후보를, 기준 방향과 역방향에 있어서 유효한 결합 움직임 정보 후보 블록을 검색하고, 기준 방향과 역방향의 움직임 정보를 이용함으로서 생성했다. 기준 방향과 역방향에 검색함으로서 쌍방향 결합 움직임 정보 후보의 유효성을 향상시킬 수 있지만, 처리량이 증가한다.
그리고 도 49(a), (b)와 같이 쌍방향 결합 움직임 정보 후보를 미리 정해진 것보다 신뢰도가 높은 결합 움직임 정보 후보 블록의 조합으로 정의해 놓음으로서, 검색 처리를 줄이고, 쌍방향 결합 움직임 정보 후보의 선택률을 향상시켜서, 부호화 효율을 향상시킬 수 있다.
도 49(a)는 기준 방향이 L0의 쌍방향 결합 움직임 정보 후보(BD0)를 가장 신뢰도가 높은 후보 블록(A)의 L0 방향의 움직임 정보와 2번째로 신뢰도가 높은 후보 블록(B)의 L1 방향의 움직임 정보를 조합해서, 기준 방향이 L1의 쌍방향 결합 움직임 정보 후보(BD1)를 가장 신뢰도가 높은 후보 블록(A)의 L1 방향의 움직임 정보와 2번째로 신뢰도가 높은 후보 블록(B)의 L0 방향의 움직임 정보를 조합해서, 예측 방향을 쌍방향 예측으로 정의한 예이다.
도 49(b)는 기준 방향이 L0의 쌍방향 결합 움직임 정보 후보(BD0)를 가장 신뢰도가 높은 후보 블록(A)의 L0의 방향의 움직임 정보로, 기준 방향이 L1의 쌍방향 결합 움직임 정보 후보(BD1)를 가장 신뢰도가 높은 후보 블록(A)의 L1 방향의 움직임 정보로, 예측 방향을 단방향 예측으로 정의한 예이다. 또한, 보다 신뢰도가 높은 후보 블록의 조합이라면, 이 이외의 조합이어도 좋다.
(변형예 7: BD0, BD1 적응)
상술의 실시형태 1에서는 기준 방향이 L0의 쌍방향 결합 움직임 정보 후보(BD0)에 작은 병합 후보 번호를 할당한다고 했지만, 이것에 한정되지 않는다. 예컨대, 예측 방향의 쌍방향인 쌍방향 결합 움직임 정보 후보에 우선적으로 작은 병합 후보 번호를 할당함으로서, 예측 효율이 높은 쌍방향 예측의 쌍방향 결합 움직임 정보 후보에 작은 병합 후보 번호를 할당함으로서 부호화 효율을 개선할 수도 있다. 또한, BD0와 BD1이 함께 쌍방향 예측인 경우에는, 기준 방향의 움직임 정보가 단방향인 쌍방향 결합 움직임 정보 후보에 우선적으로 작은 병합 후보 번호를 할당할 수도 있다. 이것은, 일반적으로 단방향 예측보다 쌍방향 예측이 예측 효율이 높은 것에 관계 없이 단방향 예측이 선택되어 있는 경우, 그 움직임 정보의 신뢰도는 높기 때문이다.
(실시형태 1의 효과)
(쌍방향 예측의 쌍방향 결합 움직임 정보의 효과예)
실시형태 1에 의한 효과에 대해 도 50을 사용해서 설명한다. 이하, 블록(N)의 L0 방향의 움직임 벡터를 mvL0N, L1 방향의 움직임 벡터를 mvL1N, L0 방향의 참조 화상 인덱스를 refIdxL0N, L1 방향의 참조 화상 인덱스를 refIdxL1N, L0 방향의 차분 벡터를 dmvL0N, L1 방향의 차분 벡터를 dmvL1N, L0 방향의 참조 화상 인덱스의 차분을 drefIdxL0N 및 L1 방향의 참조 화상 인덱스를 drefIdxL1N으로 나타낸다.
처리 대상 블록(Z)에 따라 예측 오차가 최소가 되는 정보는, 예측 방향이 쌍방향(BI)에서, mvL0Z=(2, 8), mvL1Z=(4, 2), refIdxL0Z=0, refIdxL1N=0이라고 한다.
이때, 단방향 결합 움직임 정보 후보가 도 50의 A, B, COL, C, E라고 한다. 이들 단방향 결합 움직임 정보 후보 중에는 처리 대상 블록(Z)에 따라 예측 오차가 최소가 되는 움직임 정보와 동일한 움직임 정보는 없다. 따라서, 이들 단 방향 결합 움직임 정보 후보 중에서 비율 왜곡 평가값이 최소가 되는 단방향 결합 움직임 정보 후보를 선택하게 된다. 그리고 그 후보의 비율 왜곡 평가값과, 차분 벡터 산출부(120)에서 산출된 비율 왜곡 평가값을 비교해서, 전자가 후자보다 작아지는 경우만 부호화 모드로 병합 모드가 이용된다.
부호화 모드로 병합 모드가 선택된 경우, 그것은 움직임 정보의 부호화 효율과 예측 오차의 균형이 최적이기 때문이며, 예측 오차는 최적으로 되지 않는다. 또한, 부호화 모드로서 비병합 모드가 선택된 경우에는, 움직임 정보의 부호화 효율은 최적으로 되지 않는다.
여기서, 실시형태 1에 따라 생성된 쌍방향 결합 움직임 정보 후보는, 도 50의 BD0, BD1이 된다. 기준 방향이 L0의 쌍방향 결합 움직임 정보 후보(BD0)는, 블록(A)의 L0 방향의 움직임 정보와 블록(B)의 L1 방향의 움직임 정보에 의해 이루어지는 쌍방향 결합 움직임 정보 후보이다. 기준 방향이 L1의 쌍방향 결합 움직임 정보 후보(BD1)는, 블록(A)의 L1 방향의 움직임 정보와 블록(B)의 L0 방향의 움직임 정보에 의해 이루어지는 쌍방향 결합 움직임 정보 후보이다. 이때, 기준 방향이 L0의 쌍방향 결합 움직임 정보 후보(BD0)는 처리 대상 블록(Z) 따라 예측 오차가 최소가 되는 움직임 정보와 같은 움직임 정보를 갖는 것을 알 수 있다. 즉, 기준 방향이 L0의 쌍방향 결합 움직임 정보 후보(BD0)를 선택함으로서, 예측 오차를 최소화하고, 움직임 정보의 부호화 효율을 최적화할 수 있다.
(단방향 예측의 쌍방향 결합 움직임 정보의 효과예)
또, 실시형태 1에 의한 단방향 예측의 효과에 대해 도 51을 사용해서 설명한다. 처리 대상 블록(Z)에 따라 예측 오차가 최소가 되는 움직임 정보는, 예측 방향이 단방향(UN1)에서, mvL0Z=(0, 8), refIdxL0Z=2라고 한다.
단방향 결합 움직임 정보 후보의 B, C, COL이 무효(×)라고 하고, 유효한 단방향 결합 움직임 정보 후보의 A, E는 도 51과 같은 움직임 정보를 갖는 것으로 한다. 이 경우도 단방향 결합 움직임 정보 후보 중에는, 처리 대상 블록(Z)에 따라 예측 오차가 최소가 되는 움직임 정보는 없다.
여기에서도, 실시형태 1에 따라 생성된 쌍방향 결합 움직임 정보 후보는 도 51의 BD0, BD1이 된다. 기준 방향이 L0의 쌍방향 결합 움직임 정보 후보(BD0)는, 블록(A)의 L0 방향의 움직임 정보에 의해 이루어지는 예측 방향이 단방향의 쌍방향 결합 움직임 정보 후보이다. 기준 방향이 L1의 쌍방향 결합 움직임 정보 후보(BD1)는, 블록(E)의 L0 방향의 움직임 정보와 블록(A)의 L1 방향의 움직임 정보에 의해 이루어지는 쌍방향 결합 움직임 정보 후보이다. 기준 방향이 L0의 쌍방향 결합 움직임 정보 후보(BD0)는, 처리 대상 블록(Z)에 따라 예측 오차가 최소가 되는 움직임 정보와 같은 움직임 정보를 갖는 것을 알 수 있다. 즉, 기준 방향이 L0의 쌍방향 결합 움직임 정보 후보(BD0)를 선택함으로서, 예측 오차를 최소화하고, 움직임 정보의 부호화 효율을 최적화 할 수 있다.
(단방향 예측의 조합에 의한 쌍방향 결합 움직임 정보의 효과예)
또, 실시형태 1에 의한 예측 방향이 단방향의 움직임 정보의 조합에 의한 효과에 대해 도 52를 사용해서 설명한다. 처리 대상 블록(Z)에 따라 예측 오차가 최소가 되는 움직임 정보는, 예측 방향이 단방향(BI)에서, mvL0Z=(2, 2), refIdxL0Z=0, mvL1Z=(-2, 2), refIdxL1Z=0이라고 한다.
단방향 결합 움직임 정보 후보의 A, COL, C가 무효(×)라고 하고, 유효한 단방향 결합 움직임 정보 후보의 B, E는 도 52와 같은 움직임 정보를 갖는다고 한다. 이 경우도 단방향 결합 움직임 정보 후보 중에는 처리 대상 블록(Z)에 따라 예측 오차가 최소가 되는 움직임 정보는 없다.
여기에서도, 실시형태 1에 따라 생성된 쌍방향 결합 움직임 정보 후보는 도 52의 BD0, BD1이 된다. 기준 방향이 L0의 쌍방향 결합 움직임 정보 후보(BD0)는 블록(B)의 L0 방향의 움직임 정보와 블록(E)의 L1 방향의 움직임 정보에 의해 이루어지는 쌍방향 결합 움직임 정보 후보로, BD1는 생성되지 않는다. 기준 방향이 L0의 쌍방향 결합 움직임 정보 후보(BD0)는 처리 대상 블록(Z)에 따라 예측 오차가 최소가 되는 움직임 정보와 같은 움직임 정보를 갖는 것을 알 수 잇다. 즉, 기준 방향이 L0의 쌍방향 결합 움직임 정보 후보(BD0)를 선택함으로서, 예측 오차를 최소화하고, 움직임 정보의 부호화 효율을 최적화할 수 있다.
(쌍방향 결합 움직임 정보 후보)
이상과 같이, 단방향 결합 움직임 정보 후보의 L0 방향과 L1 방향의 움직임 정보를 이용해서 쌍방향 결합 움직임 정보 후보를 생성함으로서, 처리 대상 블록의 움직임이, 부호화 종결의 다른 화상의 동일 위치 블록이나 당해 처리 대상 블록으 인접 블록의 움직임과 엇갈림이 있는 경우에도, 움직임 정보를 부호화할 필요 없이 인덱스만으로 부호화할 수 있다. 따라서, 부호화 효율과 예측 효율을 최적화할 수 있는 동화상 부호화 장치 및 동화상 복호 장치를 실현할 수 있다.
(단방향의 결합 움직임 정보 후보)
또, 단방향 결합 움직임 정보 후보의 L0 방향과 L1 방향의 움직임 정보를 이용해서 새로운 단방향의 결합 움직임 정보 후보를 생성하는 경우에 대해서도, 단방향 결합 움직임 정보 후보의 L0 방향과 L1 방향의 움직임 정보를 이용해서 쌍방향 결합 움직임 정보 후보를 생성하는 경우와, 같은 효과를 상주한다.
(동일 방향의 이용에 의한 쌍방향 결합 움직임 정보)
또, 단방향 결합 움직임 정보 후보의 동일한 예측 방향의 움직임 정보를 이용해서 쌍방향 결합 움직임 정보 후보를 생성하는 경우에 대해서도, 단방향 결합 움직임 정보 후보의 L0 방향과 L1 방향의 움직임 정보를 이용해서 쌍방향 결합 움직임 정보 후보를 생성하는 경우와, 동일한 효과를 얻는다.
(동화상 복호 처리의 간이화)
이상과 같이, 단방향 결합 움직임 정보 후보의 각 방향의 움직임 정보를 이용해서 쌍방향 결합 움직임 정보 후보를 생성함으로서, 처리 대상 블록의 움직임이, 부호화 종결의 다른 화상의 동일 위치 블록이나 당해 처리 대상 블록의 인접 블록의 움직임과 엇갈림이 있는 경우에도, 예측 방향, 참조 인덱스 및 차분 벡터의 복호, 예측 벡터와 차분 벡터의 가산 처리 등이 불필요하게 되고, 동화상 복호 장치의 처리를 삭감할 수 있다.
(삭제 프로세스)
이상과 같이, 제1 결합 움직임 정보 후보 리스트 삭감부(151)를 설치함으로서, 쌍방향 결합 움직임 정보 후보 리스트 생성부(152)에 있어서, 기준 방향이 L0의 쌍방향 결합 움직임 정보 후보(BD0)와, 기준 방향이 L1의 쌍방향 결합 움직임 정보 후보(BD1)가 동일한 움직임 정보를 갖는 것을 회피할 수 있고, 쌍방향 결합 움직임 정보 후보의 유효성을 높여서 부호화 효율을 향상시킬 수 있다.
(선택률 순서의 병합 후보 번호 할당)
이상과 같이, 선택률이 높은 결합 움직임 정보 후보만큼 작은 병합 후보 번호를 할당함으로서, 각 방향에 있어서 보다 확실하게 움직임 정보의 선택률을 높이고, 각 방향에서 정밀도가 높은 움직임 정보를 이용해서 고정밀도인 쌍방향 결합 움직임 정보 후보를 생성할 수 있다. 또, 검색의 처리를 단순화할 수 있고, 검색의 처리수를 제한해도 부호화 효율의 저하를 억제할 수 있다.
(메모리 리드 시간)
이상과 같이, 단방향 결합 움직임 정보 후보의 각 방향의 움직임 정보를 이용해서 쌍방향 결합 움직임 정보 후보를 생성함으로서, 단방향 결합 움직임 정보 후보의 수를 증가시킬 필요 없이 결합 움직임 정보 후보의 수를 증가시킬 수 있다. 따라서, 단방향 결합 움직임 정보 후보 수의 증가에 따라 메모리 리드 시간이 길어지는 일반적인 LSI를 사용하고 있는 동화상 부호화 장치 및 동화상 복호 장치에 있어서, 단방향 결합 움직임 정보 후보 수의 증가에 의한 메모리 리드 시간의 증대를 억제할 수 있다.
(적응전환)
이상과 같이, 예측 방향이 쌍방향인 쌍방향 결합 움직임 정보 후보에 우선적으로 작은 병합 후보 번호를 할당함으로서, 예측 효율이 높고, 예측 방향이 쌍방향인 쌍방향 결합 움직임 정보 후보의 선택률을 높이고, 기준 방향의 움직임 정보가 단방향인 쌍방향 결합 움직임 정보 후보에 우선적으로 작은 병합 후보 번호를 할당함으로서, 신뢰도가 높은 움직임 정보를 이용한 쌍방향 결합 움직임 정보 후보의 선택률을 높여서 부호화 효율을 향상시킬 수 있다.
[실시형태 2]
(신택스)
실시형태 2의 동화상 부호화 장치의 구성은, 당해 동화상 부호화 장치의 상위 기능과 부호열 생성부(104)의 기능을 제거하여 실시형태 1의 동화상 부호화 장치(100)의 구성과 동일하다. 이하, 실시형태 2에서 동화상 부호화 장치의 상위 기능과 부호열 생성부(104)의 기능에 대해 실시형태 1과의 차이를 설명한다.
실시형태 2의 동화상 부호화 장치의 상위 기능은, 부호화 스트림 단위 또는 부호화 스트림의 일부인 슬라이스마다, 후보 번호 관리 테이블을 변경하는 기능을 구비한다. 부호열 생성부(104)는, 후보 번호 관리 테이블을 도 53(a), (b)와 같이 부호화 스트림 안에 부호화하여 전송한다. 도 53(a), (b)에서는, 부호화 스트림 단위로 제어를 위한 SPS(Sequence Parameter Set) 및 슬라이스 단위로의 제어를 위한 Slice_header로 후보 번호 관리 테이블을 부호화하는 신택스의 예를 나타내고 있다.
“modified_merge_index_flag”로 병합 후보 번호와 결합 움직임 정보 후보의 표준 관계를 변경하는지 아닌지를 지정하고, “max_no_of_merge_index_minus1”로 재정의하는 개수를 지정하고, “merge_mode[i]”로 결합 움직임 정보 후보 리스트에 포함되는 후보 블록의 순서를 지정한다. 또, 쌍방향 결합 움직임 정보 후보의 기준 방향을 지정하기 위한 정보인 “bd_merge_base_direction”을 설치할 수도 있다.
예컨대, 병합 후보 번호와 결합 움직임 정보 후보의 표준 관계가 도 18로, 재정의하고 싶은 후보 번호 관리 테이블이 도 40(a)였다고 한다면, “modified_merge_index_flag”를 “1”로 설정하고, “max_no_of_merge_index_minus1”을 “6”으로 설정하고, “merge_mode[i]”를 각각 “0”, “1”, “2”, “5”, “6”, “3”, “4”로 한다.
도 53(a), (b)는 신택스의 일례로, 쌍방향 결합 움직임 정보 후보에 할당되는 병합 후보 번호를 부호화 스트림 중에 지정할 수 있고, 쌍방향 결합 움직임 정보 후보의 기준 방향을 정할 수 있으면 좋고, 이것에 한정되지 않는다.
실시형태 2의 동화상 복호 장치의 구성은, 부호열 해석부(201)의 기능을 제거하여 실시형태 1의 동화상 복호 장치(200)의 구성과 동일하다. 이하, 실시형태 2에서 동화상 복호 장치의 부호열 해석부(201)의 기능에 대해 실시형태 1과의 차이를 설명한다. 부호열 해석부(201)는, 후보 번호 관리 테이블을 도 53(a), (b)의 신택스에 따라 복호한다.
(실시형태 2의 효과)
병합 후보 번호와 결합 움직임 정보 후보의 최적인 관계를, 실시형태 2에 의한 동화상 부호화 장치와 동화상 복호 장치에서 스트림 단위 또는 슬라이스 단위로 공유함으로서, 스트림 단위나 슬라이스 단위로 움직임 특성이 변화하는 경우에 병합 인덱스의 부호화 효율을 향상시킬 수 있다.
[실시형태 3]
(결합 움직임 정보 후보의 치환)
실시형태 3의 동화상 부호화 장치의 구성은, 결합 움직임 정보 후보 생성부(140)의 기능을 제거하여 실시형태 1의 동화상 부호화 장치(100)의 구성과 동일하다. 먼저, 실시형태 3에서 후보 번호 관리 테이블을 도 54로 하고, 결합 움직임 정보 후보 리스트에 포함되는 결합 움직임 정보 후보의 최대수는 5라고 한다. 결합 움직임 정보 후보 리스트에 포함되는 결합 움직임 정보 후보의 최대수가 5인 것, 쌍방향 결합 움직임 정보 후보에 병합 후보 번호가 할당되어 있지 않은 것이 상이하다. 이하, 실시형태 3에서 결합 움직임 정보 후보 생성부(140)에 대해 도 55를 사용해서 실시형태 1과의 차이를 설명한다.
도 55의 결합 움직임 정보 후보 생성부(140)는, 도 16의 결합 움직임 정보 후보 생성부(140)에 후보 번호 관리 테이블 변경부(154)가 추가된 구성이다. 이하, 후보 번호 관리 테이블 변경부(154)의 기능에 대해 설명한다. 후보 번호 관리 테이블 변경부(154)는, 제1 결합 움직임 정보 후보 리스트 삭감부(151)에 의해 공급되는 제2 결합 움직임 정보 후보 리스트에서, 쌍방향 결합 움직임 정보 후보의 유효수를 산출한다. 쌍방향 결합 움직임 정보 후보 유효수가 1 이상이면, 후보 번호 관리 테이블을 변경하고, 제2 결합 움직임 정보 후보 리스트를 쌍방향 결합 움직임 정보 후보 리스트 생성부(152)에 공급한다. 쌍방향 결합 움직임 정보 후보의 유효수가 0이면, 제2 결합 움직임 정보 후보 리스트를 결합 움직임 정보 후보 리스트로서 단자(18)에 공급한다.
계속해서, 실시형태 3의 결합 움직임 정보 후보 생성부(140)의 동작에 대해 도 56을 사용해서 실시형태 1과의 차이를 설명한다. 도 56의 플로차트는, 도 24의 플로차트에 이하의 2개의 스텝이 추가되어 있다. 후보 번호 관리 테이블 변경부(154)는, 후보 번호 관리 테이블을 변경한다(S260). 후보 번호 관리 테이블이 변경되었는지를 검사한다(S261). 후보 번호 관리 테이블이 변경되었으면(S261의YES), 스텝(S144)을 실시한다. 후보 번호 관리 테이블이 변경되어 있지 않으면(S261의 NO), 스텝(S144)은 스킵된다.
이하, 후보 번호 관리 테이블 변경부(154)의 동작에 대해 도 57을 사용해서 설명한다. 먼저, 후보 번호 관리 테이블 변경부(154)는, 제2 결합 움직임 정보 후보 리스트에 포함되지 않는 무효인 결합 움직임 정보 후보의 수를 카운트하고, 결합 움직임 정보 후보의 무효수를 산출한다(S270). 또한, 실시형태 3에서는, 결합 움직임 정보 후보의 무효수의 산출을 제2 결합 움직임 정보 후보 리스트에 포함되지 않는 무효인 결합 움직임 정보 후보의 수로 했지만, 무효인 결합 움직임 정보 후보의 수가 산출되면 좋고, 이것에 한정되지 않는다. 예컨대, 공간 결합 움직임 정보 후보의 최대수인 4와 시간 결합 움직임 정보 후보의 최대수인 1을 합계한 5에서 제2 결합 움직임 정보 후보 리스트에 포함되는 유효인 결합 움직임 정보 후보의 수를 감산하여 무효한 결합 움직임 정보 후보의 수를 구해도 좋다. 또, 선택률이 높은 결합 움직임 정보가 무효인 경우에는 쌍방향 결합 움직임 정보 후보도 선택률이 낮아지는 것을 생각할 수 있기 때문에, 병합 후보 번호가 2 이상의 무효인 결합 움직임 정보 후보의 수를 카운트해도 좋다.
후보 번호 관리 테이블 변경부(154)는, 결합 움직임 정보 후보의 무효수가 1 이상인지 조사한다(S271). 결합 움직임 정보 후보의 무효수가 1 이상이면(S271의 YES), 후보 번호 관리 테이블을 변경하기 위해 이후의 처리를 실행한다. 결합 움직임 정보 후보의 무효수가 0이면(S271의 NO), 처리를 종료한다.
후보 번호 관리 테이블 변경부(154)는, 유효인 쌍방향 결합 움직임 정보 후보의 수를 카운트하고, 쌍방향 결합 움직임 정보 후보의 유효수를 산출한다(S272). 즉, BD0과 DB1이 함께 유효이면 쌍방향 결합 움직임 정보 후보의 유효수는 2가 되고, BD0과 DB1 중 어느 일방이 유효이면 쌍방향 결합 움직임 정보 후보의 유효수는 1이 되고, BD0과 DB1이 함께 무효이면 쌍방향 결합 움직임 정보 후보의 유효수는 0이 된다.
후보 번호 관리 테이블 변경부(154)는, 결합 움직임 정보 후보의 무효수와 쌍방향 결합 움직임 정보 후보의 유효수 중 작은 쪽을 쌍방향 결합 움직임 정보 후보의 추가수로 한다(S273). 후보 번호 관리 테이블 변경부(154)는, 쌍방향 결합 움직임 정보 후보의 추가수분의 쌍방향 결합 움직임 정보 후보에 무효인 병합 후보 번호를 할당한다(S274).
이하, 후보 번호 관리 테이블 변경부(154)의 후보 번호 관리 테이블의 변경예에 대해 도 58(a)~(c)를 사용해서 설명한다. 도 58(a)는 결합 움직임 정보 후보의 무효수가 1로 쌍방향 결합 움직임 정보 후보의 유효수가 1 이상의 경우의 예를 나타내고 있다. 처음의 무효한 병합 후보 번호(1)에 BD0이 할당된다. 또한, BD1이 유효이면 BD1을 할당해도 좋다. 도 58(b)는 결합 움직임 정보 후보의 무효수가 2로 쌍방향 결합 움직임 정보 후보의 유효수가 2의 경우의 예를 나타내고 있다. 먼저 무효인 병합 후보 번호(2)에 BD0이, 2번째로 무효인 병합 후보 번호(4)에 BD1이 할당된다. 도 58(c)는 결합 움직임 정보 후보의 무효수가 2로 쌍방향 결합 움직임 정보 후보의 유효수가 1(BD1이 유효)의 경우의 예를 나타내고 있다. 먼저 무효인 병합 후보 번호(2)에 BD1이 할당된다.
실시형태 3의 동화상 복호 장치의 구성은, 결합 움직임 정보 후보 생성부(140)의 기능을 제거하여 실시형태 1의 동화상 복호 장치(200)의 구성과 동일하다. 실시형태 3의 동화상 복호 장치의 결합 움직임 정보 후보 생성부(140)는 실시형태 3의 동화상 부호화 장치의 결합 움직임 정보 후보 생성부(140)와 동일하다.
(실시형태 3의 변형예)
또한, 실시형태 3은 이하와 같이 변형될 수 있다.
(변형예 1: 단방향 결합 움직임 정보 후보 우선)
상술의 실시형태 3에서는, 후보 번호 관리 테이블 변경부(154)의 동작예로 도 57을 들었지만, 변경된 후보 번호 관리 테이블이 선택률이 높은 결합 움직임 정보 후보만큼 작은 병합 후보 번호가 할당되어 있으면 좋고, 이것에 한정되지 않는다.
예컨대, 기존의 단방향 결합 움직임 정보 후보의 신뢰도가 충분히 높은 경우에는, 후보 번호 관리 테이블 변경부(154)의 동작에 도 59와 같이 이하의 스텝(S275)을 추가해도 좋다. 도 59의 플로차트는, 도 57의 플로차트에 스텝(S275)을 추가한 것이다. 후보 번호 관리 테이블 변경부(154)는, 무효인 결합 움직임 정보 후보의 병합 후보 번호를 채운다(S274).
이하, 후보 번호 관리 테이블 변경부(154)의 후보 번호 관리 테이블의 변경예에 대해 도 60(a), (b)를 사용해서 설명한다. 도 60(a)는 결합 움직임 정보 후보의 무효수가 1로 쌍방향 결합 움직임 정보 후보의 유효수가 1 이상의 경우의 예를 나타내고 있다. 무효인 병합 후보 번호(병합 후보 번호(1))가 채워진 후, 먼저 무효인 병합 후보 번호(4)에 BD0이 할당된다. 또한, BD1이 유효이면 BD1를 할당해도 좋다. 도 60(b)는 결합 움직임 정보 후보의 무효수가 2로 쌍방향 결합 움직임 정보 후보의 유효수가 2의 경우의 예를 나타내고 있다. 무효인 병합 후보 번호(병합 후보 번호(2))가 채워진 후, 최초로 무효인 병합 후보 번호(3)에 BD0이, 2번째로 무효인 병합 후보 번호(4)에 BD1이 할당된다. 이와 같이 함으로서, 쌍방향 결합 움직임 정보 후보에는 단방향 결합 움직임 정보 후보보다 큰 병합 후보 번호가 할당된다.
(변경예 2: 소정 블록 의존)
후보 번호 관리 테이블 변경부(154)의 동작은 더 변경할 수도 있다. 먼저, 본 변형예에서는, 소정의 블록에 소정의 쌍방향 결합 움직임 정보 후보가 관련되어 있는 것으로 하고, 블록(C)에 BD0이, 블록(D)에 BD1이 관련되어 있는 것으로 한다. 이하, 후보 번호 관리 테이블 변경부(154)의 동작의 다른 변형예에 대해 도 61을 사용해서 설명한다. 관련된 블록의 개수만큼 이하의 처리가 반복된다(S280에서 S284). i번째의 소정의 블록이 무효인지 검사한다(S281). i번째의 소정의 블록이 무효이면 (S281의 YES), 후보 번호 관리 테이블을 변경하기 위해 이후의 처리를 실행한다. i번째의 소정의 블록이 무효가 아니면(S281의 NO), 다음의 소정 블록을 검사한다.
변형예 2에서는, 소정의 결합 움직임 정보 후보를, 병합 후보 번호(3)의 블록(C)과 병합 후보 번호(4)의 블록(E)의 2개라고 하고 있다. 이 때문에, 후보 번호 관리 테이블 변경부(154)는, 제1의 소정의 무효인 병합 후보 번호에 쌍방향 결합 움직임 정보 후보(BD0)를 할당하고, 후보 번호 관리 테이블 변경부(154)는, 제2의 소정의 무효인 병합 후보 번호에 쌍방향 결합 움직임 정보 후보(BD1)를 할당한다(S282).
이상과 같이, 변형예 2에 의한 쌍방향 결합 움직임 정보 후보 리스트 생성부(152)는, 소정의 결합 움직임 정보 후보가 무효인 경우에 쌍방향 결합 움직임 정보 후보가 유효가 된다. 여기에서는, 소정의 결합 움직임 정보 후보를 블록(C)와 블록(E)로 했지만, 보다 큰 병합 후보 번호를 갖는 선택률이 낮은 결합 움직임 정보 후보가 무효인 경우에 쌍방향 결합 움직임 정보 후보가 생성되면 좋고, 이것에 한정되지 않는다.
(변형예 3: 단방향 예측의 결합 움직임 정보 후보의 치환)
후보 번호 관리 테이블 변경부(154)의 동작은 더 변형할 수도 있다. 이하, 후보 번호 관리 테이블 변경부(154)의 동작의 변형예에 대해 도 62를 사용해서 설명한다. 결합 움직임 정보 후보의 무효수가 0이면(S271의 NO), 후보 번호 관리 테이블 변경부(154)는, 제2 결합 움직임 정보 후보 리스트에 포함되는 예측 방향이 단방향(L0 방향 또는 L1 방향)인 결합 움직임 정보 후보의 수를 카운트하고, 단방향 예측 수를 산출한다(S290). 단방향 예측수가 1 이상인지 조사한다(S291). 쌍방향 결합 움직임 정보 후보의 유효수가 1 이상이면(S291의 YES), 후보 번호 관리 테이블을 변경하기 위해 이후의 처리를 실행한다. 단방향 예측수가 0이면(S291의 NO), 처리를 종료한다. 후보 번호 관리 테이블 변경부(154)는, 예측 방향이 쌍방향인 쌍방향 결합 움직임 정보 후보의 수를 카운트하고, 쌍방향 결합 움직임 정보 후보의 유효수를 산출한다(S292). 후보 번호 관리 테이블 변경부(154)는, 쌍방향 결합 움직임 정보 후보의 추가수분의 쌍방향 결합 움직임 정보 후보에 예측 방향이 단방향인 결합 움직임 정보 후보의 병합 후보 번호를 할당한다(S294).
구체적으로, 후보 번호 관리 테이블 변경부(154)는, 쌍방향 결합 움직임 정보 후보(BD0)의 예측 방향이 쌍방향이면, 마지막의 예측 방향이 단방향인 병합 후보 번호를, 쌍방향 결합 움직임 정보 후보(BD0)에 할당한다. 또, 후보 번호 관리 테이블 변경부(154)는, 쌍방향 결합 움직임 정보 후보(Bd1)의 움직임 보상 예측의 방향이 쌍방향이면, 마지막에서 2번째의 예측 방향이 단방향인 병합 후보 번호를, 쌍방향 결합 움직임 정보 후보(BD1)에 할당된다. 또한, 실시형태 3의 변형예 3에서는, 단방향 예측수의 산출을 제2 결합 움직임 정보 후보 리스트에 포함되는 예측 방향이 단방향인 결합 움직임 정보 후보의 수로 했지만, 단방향 예측수의 산출이 되면 좋고, 이것에 한정되지 않는다. 예컨대, 선택률이 높은 결합 움직임 정보는 예측 방향이 단방향이어도 신뢰도는 높다고 생각할 수 있기 때문에, 병합 후보 번호가 3 이상의 예측 방향이 단방향인 결합 움직임 정보 후보의 수를 카운트해도 좋다. 또, 결합 움직임 정보 후보의 무효수가 0이면, 예측 방향이 단방향인 결합 움직임 정보 후보의 수를 카운트한다고 했지만, 결합 움직임 정보 후보의 무효수와 단방향 예측수의 합계 수를 상한으로 쌍방향 결합 움직임 정보 후보에 병합 후보 번호를 할당할 수 있으면 좋고, 이것에 한정되지 않는다.
이상과 같이, 변형예 3에 의한 쌍방향 결합 움직임 정보 후보 리스트 생성부(152)는, 예측 방향이 단방향인 결합 움직임 정보 후보를, 예측 방향이 쌍방향의 쌍방향 결합 움직임 정보 후보에 치환한다.
(실시형태 3의 효과)
이상과 같이, 무효가 되는 병합 인덱스를 쌍방향 결합 움직임 정보 후보의 병합 후보 번호로 이용함으로서, 병합 후보 번호의 증가에 의한 병합 인덱스의 부호량의 증가를 억제하고, 결합 움직임 정보 후보의 선택률을 높여서 부호화 효율을 향상시킬 수 있다.
이상과 같이, 시간 방향이나 공간 방향의 움직임 정보의 신뢰도가 높은 경우에는, 쌍방향 결합 움직임 정보 후보의 병합 후보 번호가 단방향 결합 움직임 정보 후보의 병합 후보 번호보다 커지도록 병합 후보 번호를 이용함으로서, 병합 인덱스의 부호화 효율을 향상시킬 수 있다.
이상과 같이, 큰 병합 후보 번호를 갖는 결합 움직임 정보 후보를, 쌍방향 결합 움직임 정보 후보와 관련시킴으로서, 신뢰도가 높고 선택률이 높은 블록의 결합 움직임 정보 후보를 남기면서, 선택률이 낮은 블록의 결합 움직임 정보 후보와 쌍방향 결합 움직임 정보 후보를 적응적으로 전환할 수 있다. 따라서, 병합 후보 번호의 증가에 의한 병합 인덱스의 부호량의 증가를 억제하고, 결합 움직임 정보 후보의 선택률을 높여서 부호화 효율을 향상시킬 수 있다.
이상과 같이, 예측 방향이 단방향인 결합 움직임 정보 후보를, 예측 방향이 쌍방향의 쌍방향 결합 움직임 정보 후보에 치환하고, 예측 효율이 높고, 예측 방향이 쌍방향의 쌍방향 결합 움직임 정보 후보의 수를 증가시켜서, 결합 움직임 정보 후보의 선택률을 높여서 부호화 효율을 향상시킬 수 있다.
[실시형태 4]
(단방향 예측의 움직임 정보를 우선)
실시형태 4의 동화상 부호화 장치의 구성은, 기준 방향 움직임 정보 결정부(161)의 기능을 제거하여 실시형태 1의 동화상 부호화 장치(100)의 구성과 동일하다. 이하, 실시형태 4에서 기준 방향 움직임 정보 결정부(161)에 대해 실시형태 1과의 차이를 설명한다. 실시형태 4의 기준 방향 움직임 정보 결정부(161)의 동작에 대해 도 63을 사용해서 설명한다.
도 63의 플로차트는, 도 28의 플로차트에 스텝(S320)에서 스텝(S323)이 추가된 것으로, 스텝(S321)에 특징이 있다. 먼저, 기준 방향인 LX의 유효성을 "0"으로 설정한다(S190). 제2 결합 움직임 정보 후보 리스트에 포함되는 결합 움직임 정보 후보의 수(NCands), 이하의 처리를 반복한다(S320에서 S323). 결합 움직임 정보 후보의 LX 방향의 유효성 및 단방향 예측인지 조사한다(S321). 결합 움직임 정보 후보의 LX 방향이 유효이고, 또한 단방향 예측이면(S321의 YES), 기준 방향인 LX의 유효성을 "1"로 설정하고, 기준 방향의 움직임 벡터와 참조 인덱스를 결합 움직임 정보 후보의 LX 방향의 움직임 벡터와 참조 인덱스로 처리를 종료한다(S322). 결합 움직임 정보 후보의 LX 방향이 유효이며, 또한 단방향 예측이 아니라면(S321의 NO), 다음 후보를 검사한다(S323).
결합 움직임 정보 후보의 LX 방향이 유효이고, 또한 단방향 예측의 움직임 정보 후보가 존재하지 않는 경우, 제2 결합 움직임 정보 후보 리스트에 포함되는 결합 움직임 정보 후보의 수(NCands), 이하의 처리를 반복한다(S191에서 S194). 결합 움직임 정보 후보의 LX 방향의 유효성을 검사한다(S192). 결합 움직임 정보 후보의 LX 방향이 유효이면(S192의 YES), 기준 방향인 LX의 유효성을 "1"로 설정하고, 기준 방향의 움직임 벡터와 참조 인덱스를 결합 움직임 정보 후보의 LX 방향의 움직임 벡터와 참조 인덱스로 처리를 종료한다(S193). 결합 움직임 정보 후보의 LX 방향이 무효이면(S192의 NO), 다음 후보를 검사한다(S194). 이와 같이, 실시형태 4의 기준 방향 움직임 정보 결정부(161)는, 기준 방향의 움직임 정보의 결정에 있어서 단방향인 움직임 정보를 우선으로 하는 점이, 실시형태 1과 상이하다.
실시형태 4의 동화상 복호 장치의 구성은, 기준 방향 움직임 정보 결정부(161)의 기능을 제거하여 실시형태 1의 동화상 복호 장치(200)의 구성과 동일하다. 실시형태 4의 동화상 복호 장치의 결합 움직임 정보 후보 생성부(140)는 실시형태 4의 동화상 부호화 장치의 결합 움직임 정보 후보 생성부(140)와 동일하다.
(실시형태 4의 변형예)
또한, 실시형태 4는 이하와 같이 변형될 수 있다.
(변형예 1: 단방향 한정)
상술의 실시형태 4에서는, 기준 방향 움직임 정보 결정부(161)의 동작예로 도 63을 들었지만, 움직임 정보의 결정에 있어서 단방향인 움직임 정보가 우선되면 좋고, 이것에 한정되지 않는다. 예컨대, 도 63의 스텝(S191)에서 스텝(S194)를 삭제하여 기준 방향의 움직임 정보를 단방향인 움직임 정보에 한정하여 선택해도 좋다.
(변형예 2: 역방향의 단방향의 우선)
상술의 실시형태 4에서는, 기준 방향 움직임 정보 결정부(161)의 동작예로 도 63을 들었지만, 움직임 정보의 결정에 있어서 단방향인 움직임 정보가 우선되면 좋고, 이것에 한정되지 않는다. 예컨대, 역방향 움직임 정보 결정부(162)의 역방향의 움직임 정보의 결정에 있어서도, 실시형태 4의 기준 방향 움직임 정보 결정부(161)와 같이 단방향인 움직임 정보를 우선해도 좋다. 또, 역방향 움직임 정보 결정부(162)의 역방향의 움직임 정보의 결정에 있어서, 실시형태 4의 변형예 1의 기준 방향 움직임 정보 결정부(161)와 같이 단방향인 움직임 정보에 한정되어 선택해도 좋다.
(실시형태 4의 효과)
실시형태 4에서는, 기준 방향의 움직임 정보의 결정에 있어서 단방향인 움직임 정보를 우선으로 함으로서, 신뢰도가 높은 움직임 정보를 기준 방향의 움직임 정보로 이용할 수 있고, 쌍방향 결합 움직임 정보 후보의 선택률을 높여서 부호화 효율을 향상시킬 수 있다.
[실시형태 5]
(각 방향 삭제 프로세스)
실시형태 5의 동화상 부호화 장치의 구성은, 결합 움직임 정보 후보 생성부(140)의 기능을 제거하여 실시형태 1의 동화상 부호화 장치(100)의 구성과 동일하다. 이하, 실시형태 5에서 결합 움직임 정보 후보 생성부(140)에 대해 실시형태 1과의 차이를 설명한다.
실시형태 5의 결합 움직임 정보 후보 생성부(140)의 구성에 대해 도 64를 사용해서 실시형태 1과의 차이를 설명한다. 도 64에서는, 도 16의 제1 결합 움직임 정보 후보 리스트 삭감부(151)의 대신에 L0 방향 움직임 정보 후보 리스트 생성부(155)와 L1 방향 움직임 정보 후보 리스트 생성부(156)가 설치되어 있다.
실시형태 5의 결합 움직임 정보 후보 생성부(140)의 기능에 대해 설명한다. L0 방향 움직임 정보 후보 리스트 생성부(155)는, 제1 결합 움직임 정보 후보 리스트에 포함되는 움직임 정보 후보에 대해, L0 방향의 움직임 정보가 중복되는 움직임 정보를 갖는 결합 움직임 정보 후보가 복수 존재하는 경우에는, 1개의 결합 움직임 정보 후보를 남기고 삭제하여 L0 방향 움직임 정보 후보 리스트를 생성하고, 당해 L0 방향 움직임 정보 후보 리스트를 쌍방향 결합 움직임 정보 후보 리스트 생성부(152)에 공급한다.
L1 방향 움직임 정보 후보 리스트 생성부(156)는, 제1 결합 움직임 정보 후보 리스트에 포함되는 움직임 정보 후보에 대해, L1 방향의 움직임 정보가 중복되는 움직임 정보를 갖는 결합 움직임 정보 후보가 복수 존재하는 경우에는, 1개의 결합 움직임 정보 후보를 남기고 삭제하여 L1 방향 움직임 정보 후보 리스트를 생성하고, 당해 L1 방향 움직임 정보 후보 리스트를 쌍방향 결합 움직임 정보 후보 리스트 생성부(152)에 공급한다.
쌍방향 결합 움직임 정보 후보 리스트 생성부(152)는, L0 방향 움직임 정보 후보 리스트 생성부(155)에 의해 공급되는 L0 방향 움직임 정보 후보 리스트와, L1 방향 움직임 정보 후보 리스트 생성부(156)에 의해 공급되는 L1 방향 움직임 정보 후보 리스트에서, 쌍방향 결합 움직임 정보 후보 리스트를 생성한다.
실시형태 5의 동화상 복호 장치의 구성은, 결합 움직임 정보 후보 생성부(140)의 기능을 제거하여 실시형태 1의 동화상 복호 장치(200)의 구성과 동일하다. 실시형태 5의 동화상 복호 장치의 결합 움직임 정보 후보 생성부(140)는 실시형태 5의 동화상 부호화 장치의 결합 움직임 정보 후보 생성부(140)와 동일하다.
(실시형태 5의 효과)
실시형태 5에서는, L0 방향과 L1 방향의 움직임 정보의 용장도를 삭감해 놓음으로서 동일한 쌍방향 결합 움직임 정보의 생성을 억제하고, 쌍방향 결합 움직임 정보 후보의 유효성을 높여서 부호화 효율을 향상시킬 수 있다.
[실시형태 6]
(쌍방향 결합 움직임 정보 후보의 선택적 이용)
실시형태 6의 동화상 부호화 장치의 구성은, 기준 방향 결정부(160)의 기능을 제거하여 실시형태 1의 동화상 부호화 장치(100)의 구성과 동일하다. 먼저, 실시형태 6에서 후보 번호 관리 테이블을 도 65로 하고, 결합 움직임 정보 후보 리스트에 포함되는 결합 움직임 정보 후보의 최대수는 6이라고 한다. 결합 움직임 정보 후보 리스트에 포함되는 결합 움직임 정보 후보의 최대수가 6인 것, 쌍방향 결합 움직임 정보 후보에 병합 후보 번호가 1개만 할당되어 있는 것이 상이하다. 이하, 실시형태 6에서 기준 방향 결정부(160)에 대해 실시형태 1과의 차이를 설명한다. 실시형태 6의 기준 방향 결정부(160)의 동작에 대해 도 66을 사용해서 설명한다.
기준 방향 결정부(160)는, 제2 결합 움직임 정보 후보 리스트에 포함되는 결합 움직임 정보 후보의 수(NCands), 이하의 처리를 반복한다(S300에서 S305). 결합 움직임 정보 후보의 L0 방향의 유효성을 검사한다(S301). 결합 움직임 정보 후보의 L0 방향이 유효하면(S301의 YES), 기준 방향을 L0으로 설정하여 처리를 종료한다(S302). 결합 움직임 정보 후보의 L0 방향이 무효이면(S301의 NO), 결합 움직임 정보 후보의 L1 방향의 유효성을 검사한다(S303). 결합 움직임 정보 후보의 L1 방향이 유효하면(S303의 YES), 기준 방향을 L1으로 설정하고 처리를 종료한다(S304). 결합 움직임 정보 후보의 L1 방향이 무효이면(S303의 N0), 다음 후보를 검사한다(S305). 또한, 기준 방향이 설정되지 않으면, 쌍방향 결합 움직임 정보 후보는 생성되지 않는다(S306).
실시형태 6의 동화상 복호 장치의 구성은, 기준 방향 결정부(160)의 기능을 제거하여 실시형태 1의 동화상 복호 장치(200)의 구성과 동일하다. 실시형태 6의 동화상 복호 장치의 기준 방향 결정부(160)는 실시형태 6의 동화상 부호화 장치의 기준 방향 결정부(160)와 동일하다.
(실시형태 6의 효과)
실시형태 6에서는, 결합 움직임 정보 후보 리스트에 포함되는 결합 움직임 정보 후보의 예측 방향에 따라 기준 방향을 L0 방향으로 하는지 L1 방향으로 하는지를 판정함으로서, 쌍방향 결합 움직임 정보 후보가 1개만 유효한 경우에, 쌍방향 결합 움직임 정보 후보의 유효성을 높이고, 쌍방향 결합 움직임 정보 후보의 선택성을 높여서 부호화 효율을 향상시킬 수 있다.
이상 진술한 실시형태 1에서 6의 동화상 부호화 장치가 출력하는 동화상 부호화 스트림은, 실시형태 1 내지 6에서 사용한 부호화 방법에 상응하여 복호할 수 있도록 특정의 데이터 포맷을 구비하고 있다. 당해 동화상 부호화 장치에 대응하는 동화상 복호 장치가 이 특정의 데이터 포맷의 부호화 스트림을 복호할 수 있다.
구체적으로, 쌍방향 결합 움직임 정보 후보를 나타내는 병합 인덱스나, 후보 번호 관리 테이블을 부호화 스트림 안에 부호화하고 있다. 또, 쌍방향 결합 움직임 정보 후보를 나타내는 병합 인덱스만을 부호화 스트림 안에 부호화하고, 후보 번호 관리 테이블을 동화상 부호화 장치와 동화상 복호 장치로 공유함으로서 후보 번호 관리 테이블을 부호화 스트림 안에 부호화하지 않아도 좋다.
동화상 부호화 장치와 동화상 복호 장치 사이에서 부호화 스트림을 교환하기 위해, 유선 또는 무선 네트워크가 사용되는 경우, 부호화 스트림을 통신로의 전송 형태에 적절한 데이터 형식으로 변환하여 전송해도 좋다. 그 경우, 동화상 부호화 장치가 출력하는 부호화 스트림을 통신로의 전송 형태에 적절한 데이터 형식의 부호화 데이터로 변환하고, 네트워크에 송신하는 동화상 송신 장치와, 네트워크에서 부호화 데이터를 수신하여 부호화 스트림으로 복원하여 동화상 복호 장치에 공급하는 동화상 수신 장치가 마련되어 있다.
동화상 송신 장치는, 동화상 부호화 장치가 출력하는 부호화 스트림을 버퍼하는 메모리와, 부호화 스트림을 패킷화하는 패킷 처리부와, 패킷화된 부호화 데이터를 네트워크를 통해 송신하는 송신부를 포함한다. 동화상 수신 장치는, 패킷화된 부호화 데이터를 네트워크를 통해 수신하는 수신부와, 수신된 부호화 데이터를 버퍼하는 메모리와, 부호화 데이터를 패킷 처리하여 부호화 스트림을 생성하고, 동화상 복호 장치에 제공하는 패킷 처리부를 포함한다.
이상의 부호화 및 복호에 따른 처리는, 하드웨어를 사용한 전송, 축적, 수신 장치로서 실현할 수 있는 것은 물론이고, ROM(Read Only Memory)나 플래시 메모리 등에 기억되어 있는 펌웨어나, 컴퓨터 등의 소프트웨어에 의해서도 실현할 수 있다. 그 펌웨어 프로그램, 소프트웨어 프로그램을 컴퓨터 등으로 판독할 수 있는 기억 매체에 기록하고 제공하는 것도, 유선 또는 무선 네트워크를 통해 서버에서 제공하는 것도, 지상파 또는 위성 디지털 방송의 데이터 방송으로 제공할 수도 있다.
이상, 본 발명을 실시형태를 기초로 설명했다. 실시형태는 예시이며, 그들의 각 구성 요소나 각 처리 프로세스의 조합에 여러 가지 변형예가 가능한 것, 또 그러한 변형예도 본 발명의 범위에 있는 것은 당업자에게 이해되는 부분이다.
상술한 실시형태 1에 있어서, 도 26의 플로차트를 사용해서, 시간 결합 움직임 정보 후보 리스트 생성의 동작을 설명했다. 그 플로차트에서는, 시간 결합 움직임 정보 후보의 움직임 벡터를 산출하는 처리가 있다(S164). 시간 결합 움직임 정보 후보는, 후보 블록의 움직임 정보로 유효한 예측 방향인 참조 화상(ColRefPic)과 움직임 벡터(mvCol)를 기준으로, 쌍방향의 움직임 정보를 산출한다. 후보 블록의 예측 방향이 L0 방향 또는 L1 방향의 단방향의 경우에는, 그 예측 방향의 참조 화상과 움직임 벡터를 기준으로 선택한다. 후보 블록의 예측 방향이 쌍방향인 경우에는, L0 방향 또는 L1 방향 중 어느 일방의 참조 화상과 움직임 벡터를 기준으로 선택한다. 쌍방향 움직임 정보 생성의 기준으로 하는 참조 화상과 움직임 벡터가 선택되면, 시간 결합 움직임 정보 후보의 움직임 벡터를 산출한다.
여기서, 쌍방향 움직임 정보 생성의 기준으로 하는 움직임 벡터(ColMv)와 참조 화상(ColRefPic)으로부터의 시간 결합 움직임 정보 후보의 움직임 벡터(mvL0t, mvL1t)의 산출 수법에 대해 도 67을 사용해서 설명한다.
ColPic과 ColRefPic의 화상간 거리를 ColDist로 하고, 시간 결합 움직임 정보 후보의 L0 방향의 참조 화상 ColL0Pic과 처리 대상 화상 CurPic의 화상간 거리를 CurL0Dist, 시간 결합 움직임 정보 후보의 L1 방향의 참조 화상 ColL1Pic과 처리 대상 화상 CurPic의 화상간 거리를 CurL1Dist로 하면, ColMv를 ColDist와 CurL0Dist, CurL1Dist의 거리 비율로 스케일링한 하기 식1의 움직임 벡터를, 시간 결합 움직임 정보 후보의 움직임 벡터로 한다. 또한, 화상간 거리의 산출은 POC를 사용해서 실행하고, 정부(正負)의 부호를 구비한다.
mvL0t=mvCol×CurrL 0Dist/ColDist
mvL1t=mvCol×CurrL 1Dist/ColDist...(식 1)
또한, 도 67의 ColPic, ColRefPic, ColL0Pic, ColL1Pic은 일례이며 이외의 관계라도 좋다.
[항목 1]
움직임 보상 예측을 실행하는 화상 부호화 장치로,
부호화 대상 블록에 인접하는 복수의 부호화 종결의 블록에서, 움직임 벡터의 정보와 참조 화상의 정보를 적어도 포함하는 움직임 정보를 각각 1개 또는 2개 갖는 복수의 블록을 선택해서, 선택된 블록의 움직임 정보에서, 움직임 보상 예측에 사용하는 움직임 정보의 후보를 포함하는 후보 리스트를 생성하는 후보 리스트 생성부와,
상기 후보에 포함되는 제1의 후보에서 제1의 예측 리스트의 움직임 정보를 취득하는 제1의 움직임 정보 취득부와,
상기 후보에 포함되는 제2의 후보에서 제2의 예측 리스트의 움직임 정보를 취득하는 제2의 움직임 정보 취득부와,
상기 제1의 움직임 정보 취득부에 의해 취득된 상기 제1의 예측 리스트의 움직임 정보와, 상기 제2의 움직임 정보 취득부에 의해 취득된 상기 제2의 예측 리스트의 움직임 정보를 조합하고, 움직임 정보의 새로운 후보를 생성하는 선택 후보 생성부를 구비하는 것을 특징으로 하는 화상 부호화 장치.
[항목 2]
상기 후보 리스트 생성부는, 상기 후보의 수가, 설정된 최대수에 만족되지 않는 경우, 상기 선택 후보 생성부에 의해 생성된 새로운 후보를 포함한 후보 리스트를 생성하는 것을 특징으로 하는 항목 1에 기재된 화상 부호화 장치.
[항목 3]
상기 후보 리스트 생성부는, 상기 후보의 수가, 상기 최대수를 넘지 않도록, 상기 선택 후보 생성부에 의해 생성된 1개 이상의 새로운 후보를 포함한 후보 리스트를 생성하는 것을 특징으로 하는 항목 2에 기재된 화상 부호화 장치.
[항목 4]
움직임 보상 예측에 사용하는 움직임 정보의 후보를 상기 후보 리스트내에서 특정하기 위한 후보 특정 정보를 부호화하는 부호열 생성부를 더 구비하는 것을 특징으로 하는 항목 1 내지 항목 3 중 어느 한 항목에 기재된 화상 부호화 장치.
[항목 5]
상기 후보 리스트 생성부는, 상기 선택 후보 생성부에 의해 생성된 새로운 후보에 상기 후보보다도 큰 후보 특정 정보를 할당하는 것을 특징으로 하는 항목 4에 기재된 화상 부호화 장치.
[항목 6]
상기 제1의 예측 리스트 및 상기 제2의 예측 리스트는, 상이한 예측 리스트인 것을 특징으로 하는 항목 1 내지 항목 5 중 어느 한 항목에 기재된 화상 부호화 장치.
[항목 7]
상기 후보 리스트 생성부는, 상기 부호화 대상 블록을 포함하는 화상과 시간적으로 상이한 화상 블록의 움직임 정보에서 도출한 움직임 정보를 후보 리스트에 포함하는 것을 특징으로 하는 항목 1 내지 항목 6 중 어느 한 항목에 기재된 화상 부호화 장치.
[항목 8]
상기 제1의 움직임 정보 취득부는, 상기 후보를 제1의 우선 순서에 따라 검색하고, 유효해지는 후보를 상기 제1의 후보로 하고,
상기 제2의 움직임 정보 취득부는, 상기 후보를 제2의 우선 순서에 따라 검색하고, 유효해지는 후보를 상기 제2의 후보로 하는 것을 특징으로 하는 항목 1 내지 항목 7 중 어느 한 항목에 기재된 화상 부호화 장치.
[항목 9]
상기 제1의 움직임 정보 취득부는, 상기 후보 중의 미리 정해진 후보를 상기 제1의 후보로 하고,
상기 제2의 움직임 정보 취득부는, 상기 후보 중의 미리 정해진 다른 후보를 상기 제2이 후보로 하는 것을 특징으로 하는 항목 1 내지 항목 7 중 어느 한 항목에 기재된 화상 부호화 장치.
[항목 10]
상기 선택 후보 생성부는, 상기 제1의 움직임 정보 취득부 및 상기 제2의 움직임 정보 취득부에 의해 취득된, 상기 제1의 예측 리스트의 움직임 정보 및 상기 제2의 예측 리스트의 움직임 정보의 양방이 유효한 경우, 상기 새로운 후보를 생성하는 것을 특징으로 하는 항목 1 내지 항목 9 중 어느 한 항목에 기재된 화상 부호화 장치.
[항목 11]
상기 새로운 후보는, 2개의 움직임 정보를 갖는 것을 특징으로 하는 항목 1 내지 항목 10 중 어느 한 항목에 기재된 화상 부호화 장치.
[항목 12]
상기 새로운 후보는, 1개의 움직임 정보를 갖는 것을 특징으로 하는 항목 1 내지 항목 9 중 언 한 항목에 기재된 화상 부호화 장치.
[항목 13]
움직임 보상 예측을 실행하는 화상 부호화 방법으로,
부호화 대상 블록에 인접하는 복수의 부호화 종결의 블록에서, 움직임 벡터의 정보와 참조 화상의 정보를 적어도 포함하는 움직임 정보를 각각 1개 또는 2개 갖는 복수의 블록을 선택하고, 선택된 블록의 움직임 정보에서, 움직임 보상 예측에 사용하는 움직임 정보의 후보를 포함하는 후보 리스트를 생성하는 스텝과,
상기 후보 리스트에 포함되는 제1의 후보에서 제1의 예측 리스트의 움직임 정보를 취득하는 스텝과,
상기 후보 리스트에 포함되는 제2의 후보에서 제2의 예측 리스트의 움직임 정보를 취득하는 스텝과,
상기 제1의 예측 리스트의 움직임 정보와, 상기 제2의 예측 리스트의 움직임 정보를 조합하고, 움직임 정보의 새로운 후보를 생성하는 스텝을 구비하는 것을 특징으로 하는 화상 부호화 방법.
[항목 14]
움직임 보상 예측을 실행하는 화상 부호화 프로그램으로,
부호화 대상 블록에 인접하는 복수의 부호화 종결의 블록에서, 움직임 벡터의 정보와 참조 화상의 정보를 적어도 포함하는 움직임 정보를 각각 1개 또는 2개 갖는 복수의 블록을 선택하고, 선택된 블록의 움직임 정보에서, 움직임 보상 예측에 사용하는 움직임 정보의 후보를 포함하는 후보 리스트를 생성하는 처리와,
상기 후보 리스트에 포함되는 제1의 후보에서 제1의 예측 리스트의 움직임 정보를 취득하는 처리와,
상기 후보 리스트에 포함되는 제2의 후보에서 제2의 예측 리스트의 움직임 정보를 취득하는 처리와,
상기 제1의 예측 리스트의 움직임 정보와, 상기 제2의 예측 리스트의 움직임 정보를 조합하고, 움직임 정보의 새로운 후보를 생성하는 처리를 컴퓨터에 실행시키는 것을 특징으로 하는 화상 부호화 프로그램.
[항목 15]
움직임 보상 예측을 실행하는 화상 복호 장치로,
복호 대상 블록에 인접하는 복수의 복호 종결의 블록에서, 움직임 벡터의 정보와 참조 화상의 정보를 적어도 포함하는 움직임 정보를 각각 1개 또는 2개 갖는 복수의 블록을 선택하고, 선택된 블록의 움직임 정보에서, 움직임 보상 예측에 사용하는 움직임 정보의 후보를 포함하는 후보 리스트를 생성하는 후보 리스트 생성부와,
상기 후보에 포함되는 제1의 후보에서 제1의 예측 리스트의 움직임 정보를 취득하는 제1의 움직임 정보 취득부와,
상기 후보에 포함되는 제2의 후보에서 제2의 예측 리스트의 움직임 정보를 취득하는 제2의 움직임 정보 취득부와,
상기 제1의 움직임 정보 취득부에 의해 취득된 상기 제1의 예측 리스트의 움직임 정보와, 상기 제2의 움직임 정보 취득부에 의해 취득된 상기 제2의 예측 리스트의 움직임 정보를 조합하고, 움직임 정보의 새로운 후보를 생성하는 선택 후보 생성부를 구비하는 것을 특징으로 하는 화상 복호 장치.
[항목 16]
상기 후보 리스트 생성부는, 상기 후보의 수가, 설정된 최대수에 만족되지 않는 경우, 상기 선택 후보 생성부에 의해 생성된 새로운 후보를 포함한 후보 리스트를 생성하는 것을 특징으로 하는 화상 복호 장치.
[항목 17]
상기 후보 리스트 생성부는, 상기 후보의 수가, 상기 최대수를 넘지 않도록, 상기 선택 후보 생성부에 의해 생성된 1개 이상의 새로운 후보를 포함한 후보 리스트를 생성하는 것을 특징으로 하는 항목 16에 기재된 화상 복호 장치.
[항목 18]
움직임 보상 예측에 사용하는 움직임 정보의 후보를 상기 후보 리스트내에서 특정하기 위한 후보 특정 정보를 복호하는 부호열 해석부와,
복호된 상기 후보 특정 정보를 사용해서, 상기 후보 리스트에 포함되는 후보 중에서 1개의 후보를 선택하는 선택부를 더 구비하는 것을 특징으로 하는 항목 15 내지 항목 17 중 한 항목에 기재된 화상 복호 장치.
[항목 19]
상기 후보 리스트 생성부는, 상기 선택 후보 생성부에 의해 생성된 새로운 후보에 상기 후보보다도 큰 후보 특정 정보를 할당하는 것을 특징으로 하는 항목 18에 기재된 화상 복호 장치.
[항목 20]
상기 제1의 예측 리스트 및 상기 제2의 예측 리스트는, 상이한 예측 리스트인 것을 특징으로 하는 항목 15 내지 항목 19 중 어느 한 항목에 기재된 화상 복호 장치.
[항목 21]
상기 후보 리스트 생성부는, 상기 복호 대상 블록을 포함하는 화상과 시간적으로 상이한 화상 블록의 움직임 정보에서 도출한 움직임 정보를 후보 리스트에 포함하는 것을 특징으로 하는 항목 15 내지 항목 20 중 어느 한 항목에 기재된 화상 복호 장치.
[항목 22]
상기 제1의 움직임 정보 취득부는, 상기 후보를 제1의 우선 순서에 따라 검색하고, 유효해지는 후보를 상기 제1의 후보로 하고,
상기 제2의 움직임 정보 취득부는, 상기 후보를 제2의 우선 순서에 따라 검색하고, 유효해지는 후보를 상기 제2의 후보로 하는 것을 특징으로 하는 항목 15 내지 항목 21 중 어느 한 항목에 기재된 화상 복호 장치.
[항목 23]
상기 제1의 움직임 정보 취득부는, 상기 후보 중에 미리 정해진 후보를 상기 제1의 후보로 하고,
상기 제2의 움직임 정보 취득부는, 상기 후보 중에 미리 정해진 다른 후보를 상기 제2의 후보로 하는 것을 특징으로 하는 항목 15 내지 항목 21 중 어느 한 항목에 기재된 화상 복호 장치.
[항목 24]
상기 선택 후보 생성부는, 상기 제1의 움직임 정보 취득부 및 상기 제2의 움직임 정보 취득부에 의해 취득된, 상기 제1의 예측 리스트의 움직임 정보 및 상기 제2의 예측 리스트의 움직임 정보의 양방이 유효한 경우, 상기 새로운 후보를 생성하는 것을 특징으로 하는 항목 15 내지 항목 23 중 어느 한 항목에 기재된 화상 복호 장치.
[항목 25]
상기 새로운 후보는, 2개의 움직임 정보를 갖는 것을 특징으로 하는 항목 15 내지 항목 24중 어느 한 항목에 기재된 화상 복호 장치.
[항목 26]
상기 새로운 후보는, 1개의 움직임 정보를 갖는 것을 특징으로 하는 항목 15 내지 항목 23중 어느 한 항목에 기재된 화상 복호 장치.
[항목 27]
움직임 보상 예측을 실행하는 화상 복호 방법으로,
복호 대상 블록에 인접하는 복수의 복호 종결의 블록에서, 움직임 벡터의 정보와 참조 화상의 정보를 적어도 포함하는 움직임 정보를 각각 1개 또는 2개 갖는 복수의 블록을 선택하고, 선택된 블록의 움직임 정보에서, 움직임 보상 예측에 사용하는 움직임 정보의 후보를 포함하는 후보 리스트를 생성하는 스텝과,
상기 후보에 포함되는 제1의 후보에서 제1의 예측 리스트의 움직임 정보를 취득하는 스텝과,
상기 후보에 포함되는 제2의 후보에서 제2의 예측 리스트의 움직임 정보를 취득하는 스텝과,
상기 제1의 예측 리스트의 움직임 정보와, 상기 제2의 예측 리스트의 움직임 정보를 조합하고, 움직임 정보의 새로운 후보를 생성하는 스텝을 구비하는 것을 특징으로 하는 화상 복호 방법.
[항목 28]
움직임 보상 예측을 실행하는 화상 복호 프로그램으로,
복호 대상 블록에 인접하는 복수의 복호 종결의 블록에서, 움직임 벡터의 정보와 참조 화상의 정보를 적어도 포함하는 움직임 정보를 각각 1개 또는 2개 갖는 복수의 블록을 선택하고, 선택된 블록의 움직임 정보에서, 움직임 보상 예측에 사용하는 움직임 정보의 후보를 포함하는 후보 리스트를 생성하는 처리와,
상기 후보에 포함되는 제1의 후보에서 제1의 예측 리스트의 움직임 정보를 취득하는 처리와,
상기 후보에 포함되는 제2의 후보에서 제2의 예측 리스트의 움직임 정보를 취득하는 처리와,
상기 제1의 예측 리스트의 움직임 정보와, 상기 제2의 예측 리스트의 움직임 정보를 조합하고, 움직임 정보의 새로운 후보를 생성하는 처리를 컴퓨터에 실행시키는 것을 특징으로 하는 화상 복호 프로그램.
[산업상 이용가능성]
본 발명은, 움직임 보상 예측을 이용한 동화상 부호화 및 복호 기술에 이용할 수 있다.
100: 동화상 부호화 장치
101: 예측 블록 화상 취득부
102: 감산부
103: 예측 오차 부호화부
104: 부호열 생성부
105: 예측 오차 복호부
106: 움직임 보상부
107: 가산부
108: 움직임 벡터 검출부
109: 움직임 정보 생성부
110: 프레임 메모리
111: 움직임 정보 메모리
120: 차분 벡터 산출부
121: 결합 움직임 정보 결정부
122: 예측 부호화 모드 결정부
130: 예측 벡터 후보 리스트 생성부
131: 예측 벡터 결정부
132: 감산부
140: 결합 움직임 정보 후보 생성부
141: 결합 움직임 정보 선택부
150: 단방향 움직임 정보 후보 리스트 생성부
151: 제1 결합 움직임 정보 후보 리스트 삭감부
152: 쌍방향 결합 움직임 정보 후보 리스트 생성부
153: 제2 결합 움직임 정보 후보 리스트 삭감부
154: 후보 번호 관리 테이블 변경부
155: L0 방향 움직임 정보 후보 리스트 생성부
156: L1 방향 움직임 정보 후보 리스트 생성부
160: 기준 방향 결정부
161: 기준 방향 움직임 정보 결정부
162: 역방향 움직임 정보 결정부
163: 쌍방향 움직임 정보 결정부
200: 동화상 복호 장치
201: 부호열 해석부
202: 예측 오차 복호부
203: 가산부
204: 움직임 정보 재생부
205: 움직임 보상부
206: 프레임 메모리
207: 움직임 정보 메모리
210: 부호화 모드 판정부
211: 움직임 벡터 재생부
212: 결합 움직임 정보 재생부
220: 예측 벡터 후보 리스트 생성부
221: 예측 벡터 결정부
222: 가산부
230: 결합 움직임 정보 후보 생성부
231: 결합 움직임 정보 선택부
101: 예측 블록 화상 취득부
102: 감산부
103: 예측 오차 부호화부
104: 부호열 생성부
105: 예측 오차 복호부
106: 움직임 보상부
107: 가산부
108: 움직임 벡터 검출부
109: 움직임 정보 생성부
110: 프레임 메모리
111: 움직임 정보 메모리
120: 차분 벡터 산출부
121: 결합 움직임 정보 결정부
122: 예측 부호화 모드 결정부
130: 예측 벡터 후보 리스트 생성부
131: 예측 벡터 결정부
132: 감산부
140: 결합 움직임 정보 후보 생성부
141: 결합 움직임 정보 선택부
150: 단방향 움직임 정보 후보 리스트 생성부
151: 제1 결합 움직임 정보 후보 리스트 삭감부
152: 쌍방향 결합 움직임 정보 후보 리스트 생성부
153: 제2 결합 움직임 정보 후보 리스트 삭감부
154: 후보 번호 관리 테이블 변경부
155: L0 방향 움직임 정보 후보 리스트 생성부
156: L1 방향 움직임 정보 후보 리스트 생성부
160: 기준 방향 결정부
161: 기준 방향 움직임 정보 결정부
162: 역방향 움직임 정보 결정부
163: 쌍방향 움직임 정보 결정부
200: 동화상 복호 장치
201: 부호열 해석부
202: 예측 오차 복호부
203: 가산부
204: 움직임 정보 재생부
205: 움직임 보상부
206: 프레임 메모리
207: 움직임 정보 메모리
210: 부호화 모드 판정부
211: 움직임 벡터 재생부
212: 결합 움직임 정보 재생부
220: 예측 벡터 후보 리스트 생성부
221: 예측 벡터 결정부
222: 가산부
230: 결합 움직임 정보 후보 생성부
231: 결합 움직임 정보 선택부
Claims (6)
- 움직임 보상 예측을 하는 화상 부호화 장치이고,
부호화 대상 픽처의 부호화 대상 블록에 인접하는 복수의 부호화 완료된 블록의 움직임 정보를 소정의 순서로 그대로 공간 움직임 정보로서 포함하는 제1움직임 정보 후보 리스트를 생성하는 후보 리스트 생성부;
상기 제1움직임 정보 후보 리스트에 포함되는 제1의 움직임 정보 후보로부터 제1의 L0 방향의 움직임 정보를 취득하는 제1의 움직임 정보 취득부;
상기 제1움직임 정보 후보 리스트에 포함되는 상기 제1의 움직임 정보 후보와는 상이한 제2의 움직임 정보 후보로부터 제1의 L1 방향의 움직임 정보를 취득하는 제2의 움직임 정보 취득부; 및
예측 방향이 쌍방향이고, 상기 제1의 L0 방향의 움직임 정보와 상기 제1의 L1 방향의 움직임 정보를 갖는 제3의 움직임 정보 후보를 생성하여 상기 제1움직임 정보 후보 리스트에 추가하여 제2움직임 정보 후보 리스트로 하는 추가 후보 생성부를 구비하고,
상기 제1의 움직임 정보 취득부는, 상기 제1움직임 정보 후보 리스트에 포함되는 상기 제1의 움직임 정보 후보로부터 제2의 L1 방향의 움직임 정보를 더 취득하고,
상기 제2의 움직임 정보 취득부는, 상기 제1움직임 정보 후보 리스트에 포함되는 상기 제2의 움직임 정보 후보로부터 제2의 L0 방향의 움직임 정보를 더 취득하고,
상기 추가 후보 생성부는, 예측 방향이 쌍방향이고, 상기 제2의 L0 방향의 움직임 정보와 상기 제2의 L1 방향의 움직임 정보를 갖는 제4의 움직임 정보 후보를 생성하여 상기 제2움직임 정보 후보 리스트에 더 추가하고,
후보 특정 정보를 부호화하는 부호열 생성부; 및
상기 후보 특정 정보에 기초하여 상기 제2움직임 정보 후보 리스트로부터 상기 부호화 대상 블록의 움직임 보상에 이용하는 움직임 정보 후보를 선택하는 선택부를 더 구비하고,
상기 공간 움직임 정보, 상기 제1의 움직임 정보 후보, 상기 제2의 움직임 정보 후보, 상기 제3의 움직임 정보 후보, 및 상기 제4의 움직임 정보 후보는, 각각 예측 방향, 움직임 벡터 및 참조 픽처 인덱스를 포함하고,
상기 제1의 L0의 움직임 정보, 상기 제1의 L1 방향의 움직임 정보, 상기 제2의 L0의 움직임 정보, 및 상기 제2의 L1 방향의 움직임 정보는, 각각 움직임 벡터 및 참조 픽처 인덱스를 포함하는 것을 특징으로 하는 화상 부호화 장치. - 움직임 보상 예측을 하는 화상 부호화 방법이고,
부호화 대상 픽처의 부호화 대상 블록에 인접하는 복수의 부호화 완료된 블록의 움직임 정보를 소정의 순서로 그대로 공간 움직임 정보로서 포함하는 제1움직임 정보 후보 리스트를 생성하는 후보 리스트 생성 스텝;
상기 제1움직임 정보 후보 리스트에 포함되는 제1의 움직임 정보 후보로부터 제1의 L0 방향의 움직임 정보를 취득하는 제1의 움직임 정보 취득 스텝;
상기 제1움직임 정보 후보 리스트에 포함되는 상기 제1의 움직임 정보 후보와는 상이한 제2의 움직임 정보 후보로부터 제1의 L1 방향의 움직임 정보를 취득하는 제2의 움직임 정보 취득 스텝; 및
예측 방향이 쌍방향이고, 상기 제1의 L0 방향의 움직임 정보와 상기 제1의 L1 방향의 움직임 정보를 갖는 제3의 움직임 정보 후보를 생성하여 상기 제1움직임 정보 후보 리스트에 추가하여 제2움직임 정보 후보 리스트로 하는 추가 후보 생성 스텝을 포함하고,
상기 제1의 움직임 정보 취득 스텝은, 상기 제1움직임 정보 후보 리스트에 포함되는 상기 제1의 움직임 정보 후보로부터 제2의 L1 방향의 움직임 정보를 더 취득하고,
상기 제2의 움직임 정보 취득 스텝은, 상기 제1움직임 정보 후보 리스트에 포함되는 상기 제2의 움직임 정보 후보로부터 제2의 L0 방향의 움직임 정보를 더 취득하고,
상기 추가 후보 생성 스텝은, 예측 방향이 쌍방향이고, 상기 제2의 L0 방향의 움직임 정보와 상기 제2의 L1 방향의 움직임 정보를 갖는 제4의 움직임 정보 후보를 생성하여 상기 제2움직임 정보 후보 리스트에 더 추가하고,
후보 특정 정보를 부호화하는 부호열 생성 스텝; 및
상기 후보 특정 정보에 기초하여 상기 제2움직임 정보 후보 리스트로부터 상기 부호화 대상 블록의 움직임 보상에 이용하는 움직임 정보 후보를 선택하는 선택 스텝을 더 포함하고,
상기 공간 움직임 정보, 상기 제1의 움직임 정보 후보, 상기 제2의 움직임 정보 후보, 상기 제3의 움직임 정보 후보, 및 상기 제4의 움직임 정보 후보는, 각각 예측 방향, 움직임 벡터 및 참조 픽처 인덱스를 포함하고,
상기 제1의 L0의 움직임 정보, 상기 제1의 L1 방향의 움직임 정보, 상기 제2의 L0의 움직임 정보, 및 상기 제2의 L1 방향의 움직임 정보는, 각각 움직임 벡터 및 참조 픽처 인덱스를 포함하는 것을 특징으로 하는 화상 부호화 방법. - 움직임 보상 예측을 하는 화상 부호화 프로그램을 저장한 기록 매체이고,
부호화 대상 픽처의 부호화 대상 블록에 인접하는 복수의 부호화 완료된 블록의 움직임 정보를 소정의 순서로 그대로 공간 움직임 정보로서 포함하는 제1움직임 정보 후보 리스트를 생성하는 후보 리스트 생성 처리;
상기 제1움직임 정보 후보 리스트에 포함되는 제1의 움직임 정보 후보로부터 제1의 L0 방향의 움직임 정보를 취득하는 제1의 움직임 정보 취득 처리;
상기 제1움직임 정보 후보 리스트에 포함되는 상기 제1의 움직임 정보 후보와는 상이한 제2의 움직임 정보 후보로부터 제1의 L1 방향의 움직임 정보를 취득하는 제2의 움직임 정보 취득 처리; 및
예측 방향이 쌍방향이고, 상기 제1의 L0 방향의 움직임 정보와 상기 제1의 L1 방향의 움직임 정보를 갖는 제3의 움직임 정보 후보를 생성하여 상기 제1움직임 정보 후보 리스트에 추가하여 제2움직임 정보 후보 리스트로 하는 추가 후보 생성 처리를 컴퓨터에 실행시키고,
상기 제1의 움직임 정보 취득 처리는, 상기 제1움직임 정보 후보 리스트에 포함되는 상기 제1의 움직임 정보 후보로부터 제2의 L1 방향의 움직임 정보를 더 취득하고,
상기 제2의 움직임 정보 취득 처리는, 상기 제1움직임 정보 후보 리스트에 포함되는 상기 제2의 움직임 정보 후보로부터 제2의 L0 방향의 움직임 정보를 더 취득하고,
상기 추가 후보 생성 처리는, 예측 방향이 쌍방향이고, 상기 제2의 L0 방향의 움직임 정보와 상기 제2의 L1 방향의 움직임 정보를 갖는 제4의 움직임 정보 후보를 생성하여 상기 제2움직임 정보 후보 리스트에 더 추가하고,
후보 특정 정보를 부호화하는 부호열 생성 처리; 및
상기 후보 특정 정보에 기초하여 상기 제2움직임 정보 후보 리스트로부터 상기 부호화 대상 블록의 움직임 보상에 이용하는 움직임 정보 후보를 선택하는 선택 처리를 더 컴퓨터에 실행시키고,
상기 공간 움직임 정보, 상기 제1의 움직임 정보 후보, 상기 제2의 움직임 정보 후보, 상기 제3의 움직임 정보 후보, 및 상기 제4의 움직임 정보 후보는, 각각 예측 방향, 움직임 벡터 및 참조 픽처 인덱스를 포함하고,
상기 제1의 L0의 움직임 정보, 상기 제1의 L1 방향의 움직임 정보, 상기 제2의 L0의 움직임 정보, 및 상기 제2의 L1 방향의 움직임 정보는, 각각 움직임 벡터 및 참조 픽처 인덱스를 포함하는 것을 특징으로 하는 기록 매체. - 움직임 보상 예측을 하는 화상 복호 장치이고,
복호 대상 픽처의 복호 대상 블록에 인접하는 복수의 복호 완료된 블록의 움직임 정보를 소정의 순서로 그대로 공간 움직임 정보로서 포함하는 제1움직임 정보 후보 리스트를 생성하는 후보 리스트 생성부;
상기 제1움직임 정보 후보 리스트에 포함되는 제1의 움직임 정보 후보로부터 제1의 L0 방향의 움직임 정보를 취득하는 제1의 움직임 정보 취득부;
상기 제1움직임 정보 후보 리스트에 포함되는 상기 제1의 움직임 정보 후보와는 상이한 제2의 움직임 정보 후보로부터 제1의 L1 방향의 움직임 정보를 취득하는 제2의 움직임 정보 취득부; 및
예측 방향이 쌍방향이고, 상기 제1의 L0 방향의 움직임 정보와 상기 제1의 L1 방향의 움직임 정보를 갖는 제3의 움직임 정보 후보를 생성하여 상기 제1움직임 정보 후보 리스트에 추가하여 제2움직임 정보 후보 리스트로 하는 추가 후보 생성부를 구비하고,
상기 제1의 움직임 정보 취득부는, 상기 제1움직임 정보 후보 리스트에 포함되는 상기 제1의 움직임 정보 후보로부터 제2의 L1 방향의 움직임 정보를 더 취득하고,
상기 제2의 움직임 정보 취득부는, 상기 제1움직임 정보 후보 리스트에 포함되는 상기 제2의 움직임 정보 후보로부터 제2의 L0 방향의 움직임 정보를 더 취득하고,
상기 추가 후보 생성부는, 예측 방향이 쌍방향이고, 상기 제2의 L0 방향의 움직임 정보와 상기 제2의 L1 방향의 움직임 정보를 갖는 제4의 움직임 정보 후보를 생성하여 상기 제2움직임 정보 후보 리스트에 더 추가하고,
후보 특정 정보를 복호하는 부호열 해석부; 및
상기 후보 특정 정보에 기초하여 상기 제2움직임 정보 후보 리스트로부터 상기 복호 대상 블록의 움직임 보상에 이용하는 움직임 정보 후보를 선택하는 선택부를 더 구비하고,
상기 공간 움직임 정보, 상기 제1의 움직임 정보 후보, 상기 제2의 움직임 정보 후보, 상기 제3의 움직임 정보 후보, 및 상기 제4의 움직임 정보 후보는, 각각 예측 방향, 움직임 벡터 및 참조 픽처 인덱스를 포함하고,
상기 제1의 L0의 움직임 정보, 상기 제1의 L1 방향의 움직임 정보, 상기 제2의 L0의 움직임 정보, 및 상기 제2의 L1 방향의 움직임 정보는, 각각 움직임 벡터 및 참조 픽처 인덱스를 포함하는 것을 특징으로 하는 화상 복호 장치. - 움직임 보상 예측을 하는 화상 복호 방법이고,
복호 대상 픽처의 복호 대상 블록에 인접하는 복수의 복호 완료된 블록의 움직임 정보를 소정의 순서로 그대로 공간 움직임 정보로서 포함하는 제1움직임 정보 후보 리스트를 생성하는 후보 리스트 생성 스텝;
상기 제1움직임 정보 후보 리스트에 포함되는 제1의 움직임 정보 후보로부터 제1의 L0 방향의 움직임 정보를 취득하는 제1의 움직임 정보 취득 스텝;
상기 제1움직임 정보 후보 리스트에 포함되는 상기 제1의 움직임 정보 후보와는 상이한 제2의 움직임 정보 후보로부터 제1의 L1 방향의 움직임 정보를 취득하는 제2의 움직임 정보 취득 스텝; 및
예측 방향이 쌍방향이고, 상기 제1의 L0 방향의 움직임 정보와 상기 제1의 L1 방향의 움직임 정보를 갖는 제3의 움직임 정보 후보를 생성하여 상기 제1움직임 정보 후보 리스트에 추가하여 제2움직임 정보 후보 리스트로 하는 추가 후보 생성 스텝을 포함하고,
상기 제1의 움직임 정보 취득 스텝은, 상기 제1움직임 정보 후보 리스트에 포함되는 상기 제1의 움직임 정보 후보로부터 제2의 L1 방향의 움직임 정보를 더 취득하고,
상기 제2의 움직임 정보 취득 스텝은, 상기 제1움직임 정보 후보 리스트에 포함되는 상기 제2의 움직임 정보 후보로부터 제2의 L0 방향의 움직임 정보를 더 취득하고,
상기 추가 후보 생성 스텝은, 예측 방향이 쌍방향이고, 상기 제2의 L0 방향의 움직임 정보와 상기 제2의 L1 방향의 움직임 정보를 갖는 제4의 움직임 정보 후보를 생성하여 상기 제2움직임 정보 후보 리스트에 더 추가하고,
후보 특정 정보를 복호하는 부호열 해석 스텝; 및
상기 후보 특정 정보에 기초하여 상기 제2움직임 정보 후보 리스트로부터 상기 복호 대상 블록의 움직임 보상에 이용하는 움직임 정보 후보를 선택하는 선택 스텝을 더 포함하고,
상기 공간 움직임 정보, 상기 제1의 움직임 정보 후보, 상기 제2의 움직임 정보 후보, 상기 제3의 움직임 정보 후보, 및 상기 제4의 움직임 정보 후보는, 각각 예측 방향, 움직임 벡터 및 참조 픽처 인덱스를 포함하고,
상기 제1의 L0의 움직임 정보, 상기 제1의 L1 방향의 움직임 정보, 상기 제2의 L0의 움직임 정보, 및 상기 제2의 L1 방향의 움직임 정보는, 각각 움직임 벡터 및 참조 픽처 인덱스를 포함하는 것을 특징으로 하는 화상 복호 방법. - 움직임 보상 예측을 하는 화상 복호 프로그램을 저장한 기록 매체이고,
복호 대상 픽처의 복호 대상 블록에 인접하는 복수의 복호 완료된 블록의 움직임 정보를 소정의 순서로 그대로 공간 움직임 정보로서 포함하는 제1움직임 정보 후보 리스트를 생성하는 후보 리스트 생성 처리;
상기 제1움직임 정보 후보 리스트에 포함되는 제1의 움직임 정보 후보로부터 제1의 L0 방향의 움직임 정보를 취득하는 제1의 움직임 정보 취득 처리;
상기 제1움직임 정보 후보 리스트에 포함되는 상기 제1의 움직임 정보 후보와는 상이한 제2의 움직임 정보 후보로부터 제1의 L1 방향의 움직임 정보를 취득하는 제2의 움직임 정보 취득 처리; 및
예측 방향이 쌍방향이고, 상기 제1의 L0 방향의 움직임 정보와 상기 제1의 L1 방향의 움직임 정보를 갖는 제3의 움직임 정보 후보를 생성하여 상기 제1움직임 정보 후보 리스트에 추가하여 제2움직임 정보 후보 리스트로 하는 추가 후보 생성 처리를 컴퓨터에 실행시키고,
상기 제1의 움직임 정보 취득 처리는, 상기 제1움직임 정보 후보 리스트에 포함되는 상기 제1의 움직임 정보 후보로부터 제2의 L1 방향의 움직임 정보를 더 취득하고,
상기 제2의 움직임 정보 취득 처리는, 상기 제1움직임 정보 후보 리스트에 포함되는 상기 제2의 움직임 정보 후보로부터 제2의 L0 방향의 움직임 정보를 더 취득하고,
상기 추가 후보 생성 처리는, 예측 방향이 쌍방향이고, 상기 제2의 L0 방향의 움직임 정보와 상기 제2의 L1 방향의 움직임 정보를 갖는 제4의 움직임 정보 후보를 생성하여 상기 제2움직임 정보 후보 리스트에 더 추가하고,
후보 특정 정보를 복호하는 부호열 해석 처리; 및
상기 후보 특정 정보에 기초하여 상기 제2움직임 정보 후보 리스트로부터 상기 복호 대상 블록의 움직임 보상에 이용하는 움직임 정보 후보를 선택하는 선택 처리를 더 컴퓨터에 실행시키고,
상기 공간 움직임 정보, 상기 제1의 움직임 정보 후보, 상기 제2의 움직임 정보 후보, 상기 제3의 움직임 정보 후보, 및 상기 제4의 움직임 정보 후보는, 각각 예측 방향, 움직임 벡터 및 참조 픽처 인덱스를 포함하고,
상기 제1의 L0의 움직임 정보, 상기 제1의 L1 방향의 움직임 정보, 상기 제2의 L0의 움직임 정보, 및 상기 제2의 L1 방향의 움직임 정보는, 각각 움직임 벡터 및 참조 픽처 인덱스를 포함하는 것을 특징으로 하는 기록 매체.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020227004619A KR102464103B1 (ko) | 2011-06-30 | 2012-06-27 | 화상 부호화 장치, 화상 부호화 방법, 화상 부호화 프로그램, 화상 복호 장치, 화상 복호 방법 및 화상 복호 프로그램 |
Applications Claiming Priority (10)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011146065 | 2011-06-30 | ||
JPJP-P-2011-146065 | 2011-06-30 | ||
JPJP-P-2011-146066 | 2011-06-30 | ||
JP2011146066 | 2011-06-30 | ||
JPJP-P-2012-143341 | 2012-06-26 | ||
JP2012143341A JP5678924B2 (ja) | 2011-06-30 | 2012-06-26 | 画像復号装置、画像復号方法、及び画像復号プログラム、並びに、受信装置、受信方法、及び受信プログラム |
JP2012143340A JP5807621B2 (ja) | 2011-06-30 | 2012-06-26 | 画像符号化装置、画像符号化方法、画像符号化プログラム、送信装置、送信方法および送信プログラム |
JPJP-P-2012-143340 | 2012-06-26 | ||
PCT/JP2012/004148 WO2013001803A1 (ja) | 2011-06-30 | 2012-06-27 | 画像符号化装置、画像符号化方法、画像符号化プログラム、画像復号装置、画像復号方法および画像復号プログラム |
KR1020217000106A KR102279115B1 (ko) | 2011-06-30 | 2012-06-27 | 화상 부호화 장치, 화상 부호화 방법, 화상 부호화 프로그램, 화상 복호 장치, 화상 복호 방법 및 화상 복호 프로그램 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020217000106A Division KR102279115B1 (ko) | 2011-06-30 | 2012-06-27 | 화상 부호화 장치, 화상 부호화 방법, 화상 부호화 프로그램, 화상 복호 장치, 화상 복호 방법 및 화상 복호 프로그램 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020227004619A Division KR102464103B1 (ko) | 2011-06-30 | 2012-06-27 | 화상 부호화 장치, 화상 부호화 방법, 화상 부호화 프로그램, 화상 복호 장치, 화상 복호 방법 및 화상 복호 프로그램 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20210091356A true KR20210091356A (ko) | 2021-07-21 |
KR102365353B1 KR102365353B1 (ko) | 2022-02-23 |
Family
ID=47423722
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020227004619A KR102464103B1 (ko) | 2011-06-30 | 2012-06-27 | 화상 부호화 장치, 화상 부호화 방법, 화상 부호화 프로그램, 화상 복호 장치, 화상 복호 방법 및 화상 복호 프로그램 |
KR1020217021884A KR102365353B1 (ko) | 2011-06-30 | 2012-06-27 | 화상 부호화 장치, 화상 부호화 방법, 화상 부호화 프로그램, 화상 복호 장치, 화상 복호 방법 및 화상 복호 프로그램 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020227004619A KR102464103B1 (ko) | 2011-06-30 | 2012-06-27 | 화상 부호화 장치, 화상 부호화 방법, 화상 부호화 프로그램, 화상 복호 장치, 화상 복호 방법 및 화상 복호 프로그램 |
Country Status (2)
Country | Link |
---|---|
KR (2) | KR102464103B1 (ko) |
WO (1) | WO2013001803A1 (ko) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9648334B2 (en) * | 2011-03-21 | 2017-05-09 | Qualcomm Incorporated | Bi-predictive merge mode based on uni-predictive neighbors in video coding |
EP2698999B1 (en) | 2011-04-12 | 2017-01-04 | Sun Patent Trust | Motion-video encoding method, motion-video encoding apparatus, motion-video decoding method, motion-video decoding apparatus, and motion-video encoding/decoding apparatus |
HUE037619T2 (hu) | 2011-05-24 | 2018-09-28 | Velos Media Int Ltd | Képkódoló eljárás, képkódoló berendezés, képdekódoló eljárás, képdekódoló berendezés és képkódoló/dekódoló berendezés |
US9485518B2 (en) | 2011-05-27 | 2016-11-01 | Sun Patent Trust | Decoding method and apparatus with candidate motion vectors |
JP5865366B2 (ja) | 2011-05-27 | 2016-02-17 | パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America | 画像符号化方法、画像符号化装置、画像復号方法、画像復号装置、および、画像符号化復号装置 |
PL2717579T3 (pl) | 2011-05-31 | 2020-07-27 | Sun Patent Trust | Sposób dekodowania obrazu i urządzenie do dekodowania obrazu |
SG194746A1 (en) | 2011-05-31 | 2013-12-30 | Kaba Gmbh | Image encoding method, image encoding device, image decoding method, image decoding device, and image encoding/decoding device |
PL2728878T3 (pl) | 2011-06-30 | 2020-06-15 | Sun Patent Trust | Sposób dekodowania obrazów, sposób kodowania obrazów, urządzenie do dekodowania obrazów, urządzenie do kodowania obrazów oraz urządzenie do kodowania/dekodowania obrazów |
MX341415B (es) | 2011-08-03 | 2016-08-19 | Panasonic Ip Corp America | Metodo de codificacion de video, aparato de codificacion de video, metodo de decodificacion de video, aparato de decodificacion de video y aparato de codificacion/decodificacion de video. |
BR112014008403B1 (pt) | 2011-10-19 | 2022-05-10 | Sun Patent Trust | Método de codificação de imagem, aparelho de codificação de imagem, método de decodificação de imagem, e aparelho de decodificação de imagem |
MX2021001302A (es) | 2018-08-06 | 2021-04-13 | Electronics & Telecommunications Res Inst | Metodo y dispositivo de codificacion/decodificacion de imagen, y flujo de bits de almacenamiento de medio de grabacion. |
JP6933235B2 (ja) * | 2018-12-13 | 2021-09-08 | 株式会社Jvcケンウッド | 画像復号装置、画像復号方法、及び画像復号プログラム |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10276439A (ja) | 1997-03-28 | 1998-10-13 | Sharp Corp | 領域統合が可能な動き補償フレーム間予測方式を用いた動画像符号化・復号化装置 |
KR20090086610A (ko) * | 2002-04-19 | 2009-08-13 | 파나소닉 주식회사 | 움직임 벡터 계산방법 |
-
2012
- 2012-06-27 KR KR1020227004619A patent/KR102464103B1/ko active IP Right Grant
- 2012-06-27 WO PCT/JP2012/004148 patent/WO2013001803A1/ja active Application Filing
- 2012-06-27 KR KR1020217021884A patent/KR102365353B1/ko active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10276439A (ja) | 1997-03-28 | 1998-10-13 | Sharp Corp | 領域統合が可能な動き補償フレーム間予測方式を用いた動画像符号化・復号化装置 |
KR20090086610A (ko) * | 2002-04-19 | 2009-08-13 | 파나소닉 주식회사 | 움직임 벡터 계산방법 |
Non-Patent Citations (1)
Title |
---|
Thomas Wiegand et. al. , "WD3 : Working Draft 3 of High Efficiency Video Coding", JCTVC 5th meeting Geneva, 23, March, 2011, JCTVC-E603_v2* * |
Also Published As
Publication number | Publication date |
---|---|
KR102464103B1 (ko) | 2022-11-04 |
WO2013001803A1 (ja) | 2013-01-03 |
KR20220025216A (ko) | 2022-03-03 |
KR102365353B1 (ko) | 2022-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102279115B1 (ko) | 화상 부호화 장치, 화상 부호화 방법, 화상 부호화 프로그램, 화상 복호 장치, 화상 복호 방법 및 화상 복호 프로그램 | |
KR102464103B1 (ko) | 화상 부호화 장치, 화상 부호화 방법, 화상 부호화 프로그램, 화상 복호 장치, 화상 복호 방법 및 화상 복호 프로그램 | |
JP6135750B2 (ja) | 画像符号化装置、画像符号化方法、及び画像符号化プログラム、並びに、送信装置、送信方法、及び送信プログラム | |
JP5679024B2 (ja) | 画像復号装置、画像復号方法、及び画像復号プログラム、並びに、受信装置、受信方法、及び受信プログラム | |
JP2013021613A (ja) | 画像復号装置、画像復号方法及び画像復号プログラム | |
JP2013021612A (ja) | 画像符号化装置、画像符号化方法及び画像符号化プログラム | |
JP2013021572A (ja) | 画像符号化装置、画像符号化方法および画像符号化プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A107 | Divisional application of patent | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |