KR101829594B1 - 동화상 복호 장치, 동화상 복호 방법, 동화상 부호화 장치, 동화상 부호화 방법 및 기록 매체 - Google Patents

동화상 복호 장치, 동화상 복호 방법, 동화상 부호화 장치, 동화상 부호화 방법 및 기록 매체 Download PDF

Info

Publication number
KR101829594B1
KR101829594B1 KR1020177007981A KR20177007981A KR101829594B1 KR 101829594 B1 KR101829594 B1 KR 101829594B1 KR 1020177007981 A KR1020177007981 A KR 1020177007981A KR 20177007981 A KR20177007981 A KR 20177007981A KR 101829594 B1 KR101829594 B1 KR 101829594B1
Authority
KR
South Korea
Prior art keywords
motion vector
vector
unit
block
coding
Prior art date
Application number
KR1020177007981A
Other languages
English (en)
Other versions
KR20170037675A (ko
Inventor
유스케 이타니
?이치 세키구치
šœ이치 세키구치
가즈오 스기모토
Original Assignee
미쓰비시덴키 가부시키가이샤
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=45892217&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=KR101829594(B1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by 미쓰비시덴키 가부시키가이샤 filed Critical 미쓰비시덴키 가부시키가이샤
Publication of KR20170037675A publication Critical patent/KR20170037675A/ko
Application granted granted Critical
Publication of KR101829594B1 publication Critical patent/KR101829594B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/521Processing 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Landscapes

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

Abstract

블록 분할부(2)에 의해 분할된 부호화 블록에 대응하는 부호화 모드가 다이렉트 모드의 인터 부호화 모드인 경우, 움직임 보상 예측부(5)가, 선택 가능한 1 이상의 움직임 벡터 중에서, 예측 화상의 생성에 적합한 움직임 벡터를 선택하고, 그 움직임 벡터를 이용하여, 부호화 블록에 대한 움직임 보상 예측 처리를 실시해서 예측 화상을 생성함과 아울러, 그 움직임 벡터를 나타내는 인덱스 정보를 가변 길이 부호화부(13)에 출력하고, 가변 길이 부호화부(13)가 인덱스 정보를 가변 길이 부호화한다.

Description

동화상 복호 장치, 동화상 복호 방법, 동화상 부호화 장치, 동화상 부호화 방법 및 기록 매체{DYNAMIC IMAGE DECODING DEVICE, DYNAMIC IMAGE DECODING METHOD, DYNAMIC IMAGE ENCODING DEVICE, DYNAMIC IMAGE ENCODING METHOD, AND RECODING MEDIUM}
본 발명은 화상 압축 부호화 기술이나 압축 화상 데이터 전송 기술 등에 이용되는 동화상 부호화 장치, 동화상 복호 장치, 동화상 부호화 방법 및 동화상 복호 방법에 관한 것이다.
예를 들면, MPEG(Moving Picture Experts Group)이나 「ITU-TH.26x」 등의 국제 표준 영상 부호화 방식에서는, 휘도 신호 16×16 화소와, 그 휘도 신호 16×16 화소에 대응하는 색차 신호 8×8 화소를 통합한 블록 데이터(이하, 「매크로 블록」이라고 부름)를 1단위로서, 움직임 보상 기술이나 직교 변환/변환 계수 양자화 기술에 근거하여 압축하는 방법이 채용되고 있다.
동화상 부호화 장치 및 동화상 복호 장치에 있어서의 움직임 보상 처리에서는, 전방 또는 후방의 픽쳐를 참조하여, 매크로 블록 단위로 움직임 벡터의 검출이나 예측 화상의 생성을 행한다.
이 때, 1장의 픽쳐만을 참조하여, 화면간 예측 부호화를 행하는 것을 P 픽쳐라고 칭하고, 동시에 2장의 픽쳐를 참조하여, 화면간 예측 부호화를 행하는 것을 B 픽쳐라고 칭한다.
국제 표준 방식인 AVC/H.264(ISO/IEC 14496-10|ITU-TH.264)에서는, B 픽쳐를 부호화할 때에, 다이렉트 모드라고 불리는 부호화 모드를 선택할 수 있다(예를 들면, 비특허문헌 1을 참조).
즉, 부호화 대상의 매크로 블록은, 움직임 벡터의 부호화 데이터를 갖지 않고, 부호화 완료된 다른 픽쳐의 매크로 블록의 움직임 벡터나, 주위의 매크로 블록의 움직임 벡터를 이용하는 소정의 연산 처리로, 부호화 대상의 매크로 블록의 움직임 벡터를 생성하는 부호화 모드를 선택할 수 있다.
이 다이렉트 모드에는, 시간 다이렉트 모드와 공간 다이렉트 모드의 2 종류가 존재한다.
시간 다이렉트 모드에서는, 부호화 완료된 다른 픽쳐의 움직임 벡터를 참조하여, 부호화 완료된 픽쳐와 부호화 대상의 픽쳐의 시간차에 따라 움직임 벡터의 스케일링(scaling) 처리를 행함으로써, 부호화 대상의 매크로 블록의 움직임 벡터를 생성한다.
공간 다이렉트 모드에서는, 부호화 대상의 매크로 블록의 주위에 위치하고 있는 적어도 1개 이상의 부호화 완료된 매크로 블록의 움직임 벡터를 참조하여, 그들의 움직임 벡터로부터 부호화 대상의 매크로 블록의 움직임 벡터를 생성한다.
이 다이렉트 모드에서는, 슬라이스 헤더(slice header)에 마련된 플래그인"direct_spatial_mv_pred_flag"를 이용하는 것에 의해, 슬라이스 단위로, 시간 다이렉트 모드 또는 공간 다이렉트 모드 중 어느 한쪽을 선택하는 것이 가능하다.
단, 다이렉트 모드 중에서, 변환 계수를 부호화하지 않는 모드를 스킵 모드(skip mode)라고 칭한다. 이하, 다이렉트 모드라고 기재할 때는 스킵 모드도 포함되는 것으로 한다.
여기서, 도 11은 시간 다이렉트 모드로 움직임 벡터를 생성하는 방법을 나타내는 모식도이다.
도 11에서, 「P」는 P 픽쳐를 나타내고, 「B」는 B 픽쳐를 나타내고 있다.
또한, 숫자 0-3은 픽쳐의 표시 순서를 나타내고, 시간 T0, T1, T2, T3의 표시 화상인 것을 나타내고 있다.
픽쳐의 부호화 처리는 P0, P3, B1, B2의 차례로 행해지고 있는 것으로 한다.
예를 들면, 픽쳐 B2 중의 매크로 블록 MB1을 시간 다이렉트 모드로 부호화하는 경우를 상정한다.
이 경우, 픽쳐 B2의 시간축상 후방에 있는 부호화 완료된 픽쳐 중, 픽쳐 B2에 제일 가까운 픽쳐 P3의 움직임 벡터로서, 매크로 블록 MB1과 공간적으로 동일한 위치에 있는 매크로 블록 MB2의 움직임 벡터 MV를 이용한다.
이 움직임 벡터 MV는 픽쳐 P0를 참조하고 있고, 매크로 블록 MB1을 부호화할 때에 이용하는 움직임 벡터 MVL0, MVL1은 이하의 식 (1)로 구해진다.
Figure 112017028686585-pat00001
도 12는 공간 다이렉트 모드로 움직임 벡터를 생성하는 방법을 나타내는 모식도이다.
도 12에서, currentMB는 부호화 대상의 매크로 블록을 나타내고 있다.
이 때, 부호화 대상의 매크로 블록의 왼쪽 옆의 부호화 완료 매크로 블록 A의 움직임 벡터를 MVa, 부호화 대상의 매크로 블록 위의 부호화 완료 매크로 블록 B의 움직임 벡터를 MVb, 부호화 대상의 매크로 블록의 오른쪽 위의 부호화 완료 매크로 블록 C의 움직임 벡터를 MVc로 하면, 하기의 식 (2)에 나타내는 바와 같이, 이들 움직임 벡터 MVa, MVb, MVc의 미디언(중앙값)을 구하는 것에 의해, 부호화 대상의 매크로 블록의 움직임 벡터 MV를 산출할 수 있다.
Figure 112017028686585-pat00002
공간 다이렉트 모드에서는, 전방 및 후방의 각각에 대해 움직임 벡터를 구하지만, 모두 상기의 방법을 이용하여 구하는 것이 가능하다.
또, 예측 화상의 생성에 이용하는 참조 화상은, 참조에 이용하는 벡터마다, 참조 화상을 리스트로 관리되고 있고, 2개의 벡터를 이용하는 경우, 각 참조 화상 리스트는 리스트 0, 리스트 1로 칭해진다.
참조 화상 리스트에 대해 시간적으로 가까운 것부터 순서대로 저장되고, 통상은 리스트 0이 앞 방향의 참조 화상을 나타내고, 리스트 1이 뒤 방향의 참조 화상을 나타내고 있다. 단, 리스트 1이 앞 방향의 참조 화상을 나타내고, 리스트 0은 뒤 방향의 참조 화상을 나타내고 있어도 좋고, 리스트 0과 리스트 1의 쌍방이 앞 방향과 뒤 방향의 참조 화상을 나타내고 있어도 좋다. 또한, 나열 순서도 시간적으로 가까운 것부터 나열할 필요는 없다.
예를 들면, 이하의 비특허문헌 1에는, 참조 화상 리스트가 슬라이스마다 정리되는 것이 가능하다고 하는 것이 기재되어 있다.
비특허문헌 1: MPEG-4 AVC(ISO/IEC 14496-10)/ITU-TH.264 규격
종래의 화상 부호화 장치는 이상과 같이 구성되어 있기 때문에, 슬라이스 헤더에 마련된 플래그인 "direct_spatial_mv_pred_flag"를 참조하면, 슬라이스 단위로, 시간 다이렉트 모드와 공간 다이렉트 모드를 전환할 수 있다. 그러나, 매크로 블록 단위에서는, 시간 다이렉트 모드와 공간 다이렉트 모드를 전환할 수 없기 때문에, 어느 슬라이스에 속해 있는 어떤 매크로 블록에 대한 최적의 다이렉트 모드가 예를 들면 공간 다이렉트 모드이더라도, 당해 슬라이스에 대응하는 다이렉트 모드가 시간 다이렉트 모드로 정해져 있으면, 당해 매크로 블록에 대해 시간 다이렉트 모드를 사용하지 않으면 안되어, 최적의 다이렉트 모드를 선택할 수 없다. 이러한 경우, 최적의 다이렉트 모드를 선택할 수 없기 때문에, 불필요한 움직임 벡터를 부호화하지 않으면 안되어, 부호량이 증가하게 되는 등의 과제가 있었다.
본 발명은 상기와 같은 과제를 해결하기 위해서 이루어진 것으로, 소정의 블록 단위에 최적인 다이렉트 모드를 선택하여, 부호량을 삭감할 수 있는 동화상 부호화 장치, 동화상 복호 장치, 동화상 부호화 방법 및 동화상 복호 방법을 얻는 것을 목적으로 한다.
본 발명에 따른 동화상 부호화 장치는, 예측 처리가 실시될 때의 처리 단위로 되는 부호화 블록의 최대 사이즈를 결정함과 아울러, 최대 사이즈의 부호화 블록이 계층적으로 분할될 때의 상한(上限)의 계층수를 결정하고, 이용 가능한 1 이상의 부호화 모드 중에서, 각각의 부호화 블록의 부호화 방법을 정하는 부호화 모드를 선택하는 부호화 제어 수단과, 입력 화상을 소정의 부호화 블록으로 분할함과 아울러, 상기 부호화 블록을 계층적으로 분할하는 블록 분할 수단을 마련하고, 블록 분할 수단에 의해 분할된 부호화 블록에 대응하는 부호화 모드로서, 부호화 제어 수단에 의해 다이렉트 모드의 인터 부호화 모드가 선택된 경우, 움직임 보상 예측 수단이, 선택 가능한 1 이상의 움직임 벡터 중에서, 예측 화상의 생성에 적절한 움직임 벡터를 선택하고, 그 움직임 벡터를 이용하여, 상기 부호화 블록에 대한 움직임 보상 예측 처리를 실시해서 예측 화상을 생성함과 아울러, 그 움직임 벡터를 나타내는 인덱스 정보를 가변 길이 부호화 수단에 출력하고, 가변 길이 부호화 수단이 인덱스 정보를 가변 길이 부호화하도록 한 것이다.
본 발명에 의하면, 예측 처리가 실시될 때의 처리 단위로 되는 부호화 블록의 최대 사이즈를 결정함과 아울러, 최대 사이즈의 부호화 블록이 계층적으로 분할될 때의 상한의 계층수를 결정하고, 이용 가능한 1 이상의 부호화 모드 중에서, 각각의 부호화 블록의 부호화 방법을 정하는 부호화 모드를 선택하는 부호화 제어 수단과, 입력 화상을 소정의 부호화 블록으로 분할함과 아울러, 상기 부호화 블록을 계층적으로 분할하는 블록 분할 수단을 마련하고, 블록 분할 수단에 의해 분할된 부호화 블록에 대응하는 부호화 모드로서, 부호화 제어 수단에 의해 다이렉트 모드의 인터 부호화 모드가 선택된 경우, 움직임 보상 예측 수단이, 선택 가능한 1 이상의 움직임 벡터 중에서, 예측 화상의 생성에 적절한 움직임 벡터를 선택하고, 그 움직임 벡터를 이용하여, 상기 부호화 블록에 대한 움직임 보상 예측 처리를 실시해서 예측 화상을 생성함과 아울러, 그 움직임 벡터를 나타내는 인덱스 정보를 가변 길이 부호화 수단에 출력하고, 가변 길이 부호화 수단이 인덱스 정보를 가변 길이 부호화하도록 구성했기 때문에, 소정의 블록 단위에 최적인 다이렉트 모드를 선택하고, 부호량을 삭감할 수 있는 효과가 있다.
도 1은 본 발명의 실시 형태 1에 따른 동화상 부호화 장치를 나타내는 구성도이다.
도 2는 본 발명의 실시 형태 1에 따른 동화상 부호화 장치의 움직임 보상 예측부(5)를 나타내는 구성도이다.
도 3은 움직임 보상 예측부(5)를 구성하고 있는 다이렉트 벡터 생성부(23)를 나타내는 구성도이다.
도 4는 다이렉트 벡터 생성부(23)를 구성하고 있는 다이렉트 벡터 판정부(33)를 나타내는 구성도이다.
도 5는 본 발명의 실시 형태 1에 따른 동화상 복호 장치를 나타내는 구성도이다.
도 6은 본 발명의 실시 형태 1에 따른 동화상 복호 장치의 움직임 보상 예측부(54)를 나타내는 구성도이다.
도 7은 본 발명의 실시 형태 1에 따른 동화상 부호화 장치의 처리 내용을 나타내는 흐름도이다.
도 8은 본 발명의 실시 형태 1에 따른 동화상 복호 장치의 처리 내용을 나타내는 흐름도이다.
도 9는 최대 사이즈의 부호화 블록이 계층적으로 복수의 부호화 블록으로 분할되는 모양을 나타내는 설명도이다.
도 10(a)는 분할 후의 파티션의 분포를 나타내고, (b)는 계층 분할 후의 파티션에 부호화 모드 m(Bn)이 할당되는 상황을 쿼드트리 그래프(quadtree graph)로 나타내는 설명도이다.
도 11은 시간 다이렉트 모드로 움직임 벡터를 생성하는 방법을 나타내는 모식도이다.
도 12는 공간 다이렉트 모드로 움직임 벡터를 생성하는 방법을 나타내는 모식도이다.
도 13은 미디언 예측의 후보 A1-An, B1-Bn, C, D, E로부터 공간 다이렉트 벡터를 생성하는 방법을 나타내는 모식도이다.
도 14는 시간 방향의 거리에 따라 스케일링을 행함으로써, 공간 다이렉트 벡터를 생성하는 방법을 나타내는 모식도이다.
도 15는 전방 예측 화상과 후방 예측 화상의 유사도에 의한 평가값의 산출예를 나타내는 설명도이다.
도 16은 움직임 벡터의 분산값을 이용한 평가식을 나타내는 설명도이다.
도 17은 공간 벡터 MV_A, MV_B, MV_C나, 시간 벡터 MV_1~MV_8을 나타내는 설명도이다.
도 18은 복수의 부호화 완료 벡터로부터 1개의 후보 벡터의 생성을 나타내는 설명도이다.
도 19는 시간적으로 앞에 있는 화상만을 조합하고, 평가값 SAD를 산출하는 예를 나타내는 설명도이다.
도 20은 L자 템플릿을 닮은 화상의 탐색을 나타내는 설명도이다.
도 21은 부호화 블록 Bn의 사이즈가 Ln=kMn인 예를 나타내는 설명도이다.
도 22는 (Ln +1, Mn+1)=(Ln/2, Mn/2)와 같이 분할하는 예를 나타내는 설명도이다.
도 23은 도 21 또는 도 22 중 어느 하나의 분할을 선택할 수 있는 예를 나타내는 설명도이다.
도 24는 변환 블록 사이즈 단위가 계층 구조로 되어 있는 예를 나타내는 설명도이다.
도 25는 본 발명의 실시 형태 3에 따른 동화상 부호화 장치의 움직임 보상 예측부(5)를 나타내는 구성도이다.
도 26은 움직임 보상 예측부(5)를 구성하고 있는 다이렉트 벡터 생성부(25)를 나타내는 구성도이다.
도 27은 다이렉트 벡터 생성부(25)를 구성하고 있는 초기 벡터 생성부(34)를 나타내는 구성도이다.
도 28은 초기 벡터 생성부(34)를 구성하고 있는 초기 벡터 판정부(73)를 나타내는 구성도이다.
도 29는 본 발명의 실시 형태 3에 따른 동화상 복호 장치의 움직임 보상 예측부(54)를 나타내는 구성도이다.
도 30은 움직임 벡터의 탐색 처리를 나타내는 설명도이다.
도 31은 본 발명의 실시 형태 4에 따른 동화상 부호화 장치의 움직임 보상 예측부(5)를 나타내는 구성도이다.
도 32는 본 발명의 실시 형태 4에 따른 동화상 복호 장치의 움직임 보상 예측부(54)를 나타내는 구성도이다.
도 33은 선택 가능한 움직임 벡터와, 그 움직임 벡터를 나타내는 인덱스 정보가 기술되어 있는 다이렉트 벡터 후보 인덱스를 나타내는 설명도이다.
도 34는 1개의 벡터의 인덱스 정보만을 부호화하는 예를 나타내는 설명도이다.
도 35는 움직임 보상 예측부(5)를 구성하고 있는 다이렉트 벡터 생성부(26)를 나타내는 구성도이다.
도 36은 본 발명의 실시 형태 5에 따른 동화상 부호화 장치의 움직임 보상 예측부(5)를 나타내는 구성도이다.
도 37은 움직임 보상 예측부(5)를 구성하고 있는 다이렉트 벡터 생성부(27)를 나타내는 구성도이다.
도 38은 본 발명의 실시 형태 5에 따른 동화상 복호 장치의 움직임 보상 예측부(54)를 나타내는 구성도이다.
도 39는 움직임 보상 예측부(5)를 구성하고 있는 다이렉트 벡터 생성부(26)를 나타내는 구성도이다.
도 40은 주위의 블록과의 상관 관계를 나타내는 설명도이다.
도 41은 부호화 블록의 블록 사이즈마다, 선택 가능한 1 이상의 움직임 벡터를 나타내는 리스트의 설명도이다.
도 42는 최대의 블록 사이즈가 「128」인 리스트의 일례를 나타내는 설명도이다.
도 43은 부호화 블록의 분할 패턴마다, 선택 가능한 1 이상의 움직임 벡터를 나타내는 리스트의 설명도이다.
도 44는 동화상 부호화 장치에서의 리스트 정보의 송신 처리를 나타내는 흐름도이다.
도 45는 동화상 복호 장치에서의 리스트 정보의 수신 처리를 나타내는 흐름도이다.
도 46은 리스트 내의 「temporal」이 선택 가능으로부터 선택 불가로 변경되어 있기 때문에, "온"의 변경 플래그와 변경 후의 리스트를 나타내는 리스트 정보를 부호화하고 있는 예를 나타내는 설명도이다.
도 47은 변경 플래그가 "온"이기 때문에, 현재 유지하고 있는 리스트를 변경하고 있는 예를 나타내는 설명도이다.
도 48은 블록 사이즈마다 변경 플래그를 준비하고, 선택 가능한 움직임 벡터가 변경된 블록 사이즈에 관한 리스트 정보만을 부호화하고 있는 예를 나타내는 설명도이다.
도 49는 대상으로 되는 블록으로부터 인터 부호화되어 있는 블록을 탐색하고, 그 블록 내에 포함되는 모든 벡터를 공간 벡터 후보로 하는 예를 나타내는 설명도이다.
이하, 본 발명의 실시 형태에 대해 도면을 참조하면서 상세히 설명한다.
(실시 형태 1)
본 실시 형태 1에서는, 영상의 각 프레임 화상을 입력하고, 근접 프레임간에 움직임 보상 예측을 실시함으로써 얻어지는 예측 차분 신호에 대해 직교 변환이나 양자화에 의한 압축 처리를 실시한 후에 가변 길이 부호화를 행하여 비트 스트림을 생성하는 동화상 부호화 장치와, 그 동화상 부호화 장치로부터 출력된 비트 스트림을 복호하는 동화상 복호 장치에 대해 설명한다.
본 실시 형태 1의 동화상 부호화 장치는, 영상 신호의 공간·시간 방향의 국소적인 변화에 적응하여, 영상 신호를 다양한 사이즈의 영역으로 분할해서 프레임내·프레임간 적응 부호화를 행하는 것을 특징으로 하고 있다.
일반적으로 영상 신호는, 공간·시간적으로 신호의 복잡함이 국소적으로 변화하는 특성을 가지고 있다. 공간적으로 보면, 어느 특정의 영상 프레임 상에서는, 하늘이나 벽 등과 같은 비교적 넓은 화상 영역 중에서 균일한 신호 특성을 가지는 패턴과, 인물이나 미세한 텍스쳐(texture)를 가진 회화(繪畵) 등 작은 화상 영역 내에서 복잡한 텍스쳐 패턴을 가지는 패턴이 또한 혼재되는 경우가 있다.
시간적으로 보아도, 하늘이나 벽은 국소적으로 시간 방향의 패턴의 변화가 작지만, 움직이는 인물이나 물체는 그 윤곽이 시간적으로 강체·비강체의 운동을 하기 때문에, 시간적인 변화가 크다.
부호화 처리는, 시간·공간적인 예측에 의해서 신호 전력이나 엔트로피가 작은 예측 차분 신호를 생성함으로써, 전체의 부호량을 삭감하지만, 예측을 위한 파라미터를 가능한 한 큰 화상 신호 영역에 균일하게 적용할 수 있으면, 당해 파라미터의 부호량을 작게 할 수 있다.
한편, 시간적·공간적으로 변화가 큰 화상 신호 패턴에 대해, 동일한 예측 파라미터를 적용하면, 예측의 오류가 증가하기 때문에, 예측 차분 신호의 부호량을 삭감할 수 없다.
그래서, 시간적·공간적으로 변화가 큰 화상 신호 패턴에 대해서는, 예측 대상의 영역을 작게 하고, 예측을 위한 파라미터의 데이터량을 늘려도 예측 차분 신호의 전력·엔트로피를 저감하는 쪽이 바람직하다.
이러한 영상 신호의 일반적인 성질에 적응한 부호화를 행하기 위해, 본 실시 형태 1의 동화상 부호화 장치에서는, 소정의 최대 블록 사이즈로부터 계층적으로 영상 신호의 영역을 분할하고, 분할 영역마다 예측 처리나 예측 차분의 부호화 처리를 실시하도록 하고 있다.
본 실시 형태 1의 동화상 부호화 장치가 처리 대상으로 하는 영상 신호는, 휘도 신호와 2개의 색차 신호로 이루어지는 YUV 신호나, 디지털 촬상 소자로부터 출력되는 RGB 신호 등의 임의의 색 공간의 컬러 영상 신호 외에, 흑백 화상 신호나 적외선 화상 신호 등, 영상 프레임이 수평·수직 2차원의 디지털 샘플(화소) 열로 구성되는 임의의 영상 신호이다.
각 화소의 계조(gradation)는 8비트이어도 좋고, 10비트, 12비트 등의 계조이어도 좋다.
단, 이하의 설명에서는, 특별히 말이 없는 한, 입력되는 영상 신호가 YUV 신호인 것으로 한다. 또한, 2개의 색차 성분 U, V가 휘도 성분 Y에 대해 서브샘플링된 4:2:0 포맷의 신호인 것으로 한다.
또, 영상의 각 프레임에 대응하는 처리 데이터 단위를 「픽쳐」라고 칭하고, 본 실시 형태 1에서는, 「픽쳐」는 순차적으로 주사(프로그래시브 스캔)된 영상 프레임의 신호로서 설명을 행한다. 단, 영상 신호가 인터레이스 신호인 경우, 「픽쳐」는 영상 프레임을 구성하는 단위인 필드 화상 신호이더라도 좋다.
도 1은 본 발명의 실시 형태 1에 따른 동화상 부호화 장치를 나타내는 구성도이다.
도 1에서, 부호화 제어부(1)는 움직임 보상 예측 처리(프레임간 예측 처리) 또는 인트라 예측 처리(프레임내 예측 처리)가 실시될 때의 처리 단위로 되는 부호화 블록의 최대 사이즈를 결정함과 아울러, 최대 사이즈의 부호화 블록이 계층적으로 분할될 때의 상한의 계층수를 결정하는 처리를 행한다.
또한, 부호화 제어부(1)는 이용 가능한 1 이상의 부호화 모드(1 이상의 인트라 부호화 모드, 1 이상의 인터 부호화 모드(다이렉트 모드의 인터 부호화 모드를 포함함)) 중에서, 계층적으로 분할되는 각각의 부호화 블록에 적합한 부호화 모드를 선택하는 처리를 행한다. 또, 부호화 제어부(1)는 부호화 제어 수단을 구성하고 있다.
블록 분할부(2)는 입력 화상을 나타내는 영상 신호가 입력되면, 그 영상 신호가 나타내는 입력 화상을 부호화 제어부(1)에 의해 결정된 최대 사이즈의 부호화 블록으로 분할함과 아울러, 부호화 제어부(1)에 의해 결정된 상한의 계층수에 이를 때까지, 그 부호화 블록을 계층적으로 분할하는 처리를 행한다. 또, 블록 분할부(2)는 블록 분할 수단을 구성하고 있다.
전환 스위치(3)는 부호화 제어부(1)에 의해 선택된 부호화 모드가 인트라 부호화 모드이면, 블록 분할부(2)에 의해 분할된 부호화 블록을 인트라 예측부(4)에 출력하고, 부호화 제어부(1)에 의해 선택된 부호화 모드가 인터 부호화 모드이면, 블록 분할부(2)에 의해 분할된 부호화 블록을 움직임 보상 예측부(5)에 출력하는 처리를 실시한다.
인트라 예측부(4)는 전환 스위치(3)로부터 블록 분할부(2)에 의해 분할된 부호화 블록을 받으면, 부호화 제어부(1)로부터 출력된 인트라 예측 파라미터를 이용하여, 그 부호화 블록에 대한 인트라 예측 처리를 실시해서 예측 화상을 생성하는 처리를 실시한다.
또, 전환 스위치(3) 및 인트라 예측부(4)로 인트라 예측 수단이 구성되어 있다.
움직임 보상 예측부(5)는 블록 분할부(2)에 의해 분할된 부호화 블록에 적합한 부호화 모드로서, 부호화 제어부(1)에 의해 다이렉트 모드의 인터 부호화 모드가 선택된 경우, 당해 부호화 블록의 주위에 위치하고 있는 부호화 완료 블록의 움직임 벡터로부터 공간 다이렉트 모드의 공간 다이렉트 벡터를 생성함과 아울러, 당해 부호화 블록이 참조 가능한 부호화 완료 픽쳐의 움직임 벡터로부터 시간 다이렉트 모드의 시간 다이렉트 벡터를 생성하고, 그 공간 다이렉트 벡터 또는 시간 다이렉트 벡터 중에서, 참조 화상간의 상관이 높아지는 쪽의 다이렉트 벡터를 선택하고, 그 다이렉트 벡터를 이용하여, 당해 부호화 블록에 대한 움직임 보상 예측 처리를 실시해서 예측 화상을 생성하는 처리를 실시한다.
또한, 움직임 보상 예측부(5)는 블록 분할부(2)에 의해 분할된 부호화 블록에 적합한 부호화 모드로서, 부호화 제어부(1)에 의해 다이렉트 모드 이외의 인터 부호화 모드가 선택된 경우, 당해 부호화 블록과 움직임 보상 예측 프레임 메모리(12)에 저장되어 있는 참조 화상으로부터 움직임 벡터를 탐색하고, 그 움직임 벡터를 이용하여, 당해 부호화 블록에 대한 움직임 보상 예측 처리를 실시해서 예측 화상을 생성하는 처리를 실시한다.
또, 전환 스위치(3) 및 움직임 보상 예측부(5)로 움직임 보상 예측 수단이 구성되어 있다.
감산부(6)는 블록 분할부(2)에 의해 분할된 부호화 블록으로부터, 인트라 예측부(4) 또는 움직임 보상 예측부(5)에 의해 생성된 예측 화상을 감산함으로써, 차분 화상(=부호화 블록-예측 화상)을 생성하는 처리를 실시한다. 또, 감산부(6)는 차분 화상 생성 수단을 구성하고 있다.
변환·양자화부(7)는 부호화 제어부(1)로부터 출력된 예측 차분 부호화 파라미터에 포함되어 있는 변환 블록 사이즈 단위로, 감산부(6)에 의해 생성된 차분 화상의 변환 처리(예를 들면, DCT(이산 코사인 변환)나, 미리 특정의 학습 계열에 대해 기저 설계가 이루어져 있는 KL 변환 등의 직교 변환 처리)를 실시함과 아울러, 그 예측 차분 부호화 파라미터에 포함되어 있는 양자화 파라미터를 이용하여, 그 차분 화상의 변환 계수를 양자화함으로써, 양자화 후의 변환 계수를 차분 화상의 압축 데이터로서 출력하는 처리를 실시한다. 또, 변환·양자화부(7)는 화상 압축 수단을 구성하고 있다.
역양자화·역변환부(8)는 부호화 제어부(1)로부터 출력된 예측 차분 부호화 파라미터에 포함되어 있는 양자화 파라미터를 이용하여, 변환·양자화부(7)로부터 출력된 압축 데이터를 역양자화하고, 그 예측 차분 부호화 파라미터에 포함되어 있는 변환 블록 사이즈 단위로, 역양자화의 압축 데이터의 역변환 처리(예를 들면, 역DCT(역이산 코사인 변환)나, 역KL 변환 등의 역변환 처리)를 실시함으로써, 역변환 처리 후의 압축 데이터를 국소 복호 예측 차분 신호로서 출력하는 처리를 실시한다.
가산부(9)는 역양자화·역변환부(8)로부터 출력된 국소 복호 예측 차분 신호와 인트라 예측부(4) 또는 움직임 보상 예측부(5)에 의해 생성된 예측 화상을 나타내는 예측 신호를 가산함으로써, 국소 복호 화상을 나타내는 국소 복호 화상 신호를 생성하는 처리를 실시한다.
인트라 예측용 메모리(10)는 인트라 예측부(4)에 의해 다음회의 인트라 예측 처리에서 이용되는 화상으로서, 가산부(9)에 의해 생성된 국소 복호 화상 신호가 나타내는 국소 복호 화상을 저장하는 RAM 등의 기록 매체이다.
루프 필터부(11)는 가산부(9)에 의해 생성된 국소 복호 화상 신호에 포함되어 있는 부호화 왜곡을 보상하고, 부호화 왜곡 보상 후의 국소 복호 화상 신호가 나타내는 국소 복호 화상을 참조 화상으로서 움직임 보상 예측 프레임 메모리(12)에 출력하는 처리를 실시한다.
움직임 보상 예측 프레임 메모리(12)는 움직임 보상 예측부(5)에 의해 다음회의 움직임 보상 예측 처리에서 이용되는 참조 화상으로서, 루프 필터부(11)에 의한 필터링 처리 후의 국소 복호 화상을 저장하는 RAM 등의 기록 매체이다.
가변 길이 부호화부(13)는 변환·양자화부(7)로부터 출력된 압축 데이터와, 부호화 제어부(1)로부터 출력된 부호화 모드 및 예측 차분 부호화 파라미터와, 인트라 예측부(4)로부터 출력된 인트라 예측 파라미터 또는 움직임 보상 예측부(5)로부터 출력된 인터 예측 파라미터를 가변 길이 부호화하고, 그 압축 데이터, 부호화 모드, 예측 차분 부호화 파라미터, 인트라 예측 파라미터/인터 예측 파라미터의 부호화 데이터가 다중화되어 있는 비트 스트림을 생성하는 처리를 실시한다. 또, 가변 길이 부호화부(13)는 가변 길이 부호화 수단을 구성하고 있다.
도 2는 본 발명의 실시 형태 1에 따른 동화상 부호화 장치의 움직임 보상 예측부(5)를 나타내는 구성도이다.
도 2에서, 전환 스위치(21)는 부호화 제어부(1)에 의해 선택된 부호화 모드가 다이렉트 모드 이외의 인터 모드인 경우, 블록 분할부(2)에 의해 분할된 부호화 블록을 움직임 벡터 탐색부(22)에 출력하는 한편, 그 부호화 모드가 다이렉트 모드의 인터 모드인 경우, 블록 분할부(2)에 의해 분할된 부호화 블록을 다이렉트 벡터 생성부(23)에 출력하는 처리를 실시한다.
또, 다이렉트 벡터 생성부(23)에서는, 다이렉트 벡터를 생성할 때에, 블록 분할부(2)에 의해 분할된 부호화 블록을 이용하지 않기 때문에, 그 부호화 블록을 다이렉트 벡터 생성부(23)에 출력하지 않도록 하여도 좋다.
움직임 벡터 탐색부(22)는 전환 스위치(21)로부터 출력된 부호화 블록과 움직임 보상 예측 프레임 메모리(12)에 저장되어 있는 참조 화상을 참조하면서, 인터 모드에서 최적인 움직임 벡터를 탐색하고, 그 움직임 벡터를 움직임 보상 처리부(24)에 출력하는 처리를 실시한다.
다이렉트 벡터 생성부(23)는 당해 부호화 블록의 주위에 위치하고 있는 부호화 완료 블록의 움직임 벡터로부터 공간 다이렉트 모드의 공간 다이렉트 벡터를 생성함과 아울러, 당해 부호화 블록이 참조 가능한 부호화 완료 픽쳐의 움직임 벡터로부터 시간 다이렉트 모드의 시간 다이렉트 벡터를 생성하고, 그 공간 다이렉트 벡터 또는 시간 다이렉트 벡터 중에서, 참조 화상간의 상관이 높아지는 쪽의 다이렉트 벡터를 선택하는 처리를 실시한다.
움직임 보상 처리부(24)는 움직임 벡터 탐색부(22)에 의해 탐색된 움직임 벡터 또는 다이렉트 벡터 생성부(23)에 의해 선택된 다이렉트 벡터와 움직임 보상 예측 프레임 메모리(12)에 저장되어 있는 1 프레임 이상의 참조 화상을 이용하여, 부호화 제어부(1)로부터 출력된 인터 예측 파라미터에 근거해서 움직임 보상 예측 처리를 실시함으로써, 예측 화상을 생성하는 처리를 실시한다.
또, 움직임 보상 처리부(24)는 움직임 보상 예측 처리를 실시할 때에 이용한 인터 예측 파라미터를 가변 길이 부호화부(13)에 출력한다. 부호화 제어부(1)에 의해 선택된 부호화 모드가 다이렉트 모드 이외의 인터 모드인 경우, 움직임 벡터 탐색부(22)에 의해 탐색된 움직임 벡터를 당해 인터 예측 파라미터에 포함하여 가변 길이 부호화부(13)에 출력한다.
도 3은 움직임 보상 예측부(5)를 구성하고 있는 다이렉트 벡터 생성부(23)를 나타내는 구성도이다.
도 3에서, 공간 다이렉트 벡터 생성부(31)는 부호화 완료된 블록의 움직임 벡터(부호화 완료된 블록의 움직임 벡터는 도시하지 않은 움직임 벡터 메모리, 혹은, 움직임 보상 예측부(5)의 내부 메모리에 저장되어 있음) 중에서, 부호화 블록의 주위에 위치하고 있는 부호화 완료된 블록의 움직임 벡터를 판독하고, 그 움직임 벡터로부터 공간 다이렉트 모드의 공간 다이렉트 벡터를 생성하는 처리를 실시한다.
시간 다이렉트 벡터 생성부(32)는 부호화 완료된 블록의 움직임 벡터 중에서, 부호화 블록이 참조 가능한 부호화 완료된 픽쳐의 움직임 벡터로서, 부호화 블록과 공간적으로 동일한 위치에 있는 블록의 움직임 벡터를 판독하고, 그 움직임 벡터로부터 시간 다이렉트 모드의 시간 다이렉트 벡터를 생성하는 처리를 실시한다.
다이렉트 벡터 판정부(33)는 공간 다이렉트 벡터 생성부(31)에 의해 생성된 공간 다이렉트 벡터를 이용하여, 공간 다이렉트 모드의 평가값을 산출함과 아울러, 시간 다이렉트 벡터 생성부(32)에 의해 생성된 시간 다이렉트 벡터를 이용하여, 시간 다이렉트 모드의 평가값을 산출하고, 그 공간 다이렉트 모드의 평가값과 시간 다이렉트 모드의 평가값을 비교해서, 그 공간 다이렉트 벡터 또는 시간 다이렉트 벡터 중 어느 한쪽을 선택하는 처리를 실시한다.
도 4는 다이렉트 벡터 생성부(23)를 구성하고 있는 다이렉트 벡터 판정부(33)를 나타내는 구성도이다.
도 4에서, 움직임 보상부(41)는 공간 다이렉트 벡터 생성부(31)에 의해 생성된 공간 다이렉트 벡터를 이용하여, 공간 다이렉트 모드의 리스트 0 예측 화상(예를 들면, 공간 다이렉트 모드의 전방 예측 화상)과 공간 다이렉트 모드의 리스트 1 예측 화상(예를 들면, 공간 다이렉트 모드의 후방 예측 화상)을 생성함과 아울러, 시간 다이렉트 벡터 생성부(32)에 의해 생성된 시간 다이렉트 벡터를 이용하여, 시간 다이렉트 모드의 리스트 0 예측 화상(예를 들면, 시간 다이렉트 모드의 전방 예측 화상)과 시간 다이렉트 모드의 리스트 1 예측 화상(예를 들면, 시간 다이렉트 모드의 후방 예측 화상)을 생성하는 처리를 실시한다.
유사도 산출부(42)는 공간 다이렉트 모드의 평가값으로서, 공간 다이렉트 모드의 리스트 0 예측 화상(전방 예측 화상)과 리스트 1 예측 화상(후방 예측 화상)의 유사도를 산출함과 아울러, 시간 다이렉트 모드의 평가값으로서, 시간 다이렉트 모드의 리스트 0 예측 화상(전방 예측 화상)과 리스트 1 예측 화상(후방 예측 화상)의 유사도를 산출하는 처리를 실시한다.
다이렉트 벡터 선택부(43)는 유사도 산출부(42)에 의해 산출된 공간 다이렉트 모드에서의 리스트 0 예측 화상(전방 예측 화상)과 리스트 1 예측 화상(후방 예측 화상)의 유사도와, 시간 다이렉트 모드에서의 리스트 0 예측 화상(전방 예측 화상)과 리스트 1 예측 화상(후방 예측 화상)의 유사도를 비교하여, 공간 다이렉트 벡터 또는 시간 다이렉트 벡터 중, 리스트 0 예측 화상(전방 예측 화상)과 리스트 1 예측 화상(후방 예측 화상)의 유사도가 높은 쪽의 다이렉트 모드의 다이렉트 벡터를 선택하는 처리를 실시한다.
도 5는 본 발명의 실시 형태 1에 따른 동화상 복호 장치를 나타내는 구성도이다.
도 5에서, 가변 길이 복호부(51)는 비트 스트림에 다중화되어 있는 부호화 데이터로부터 계층적으로 분할되어 있는 각각의 부호화 블록에 관한 압축 데이터, 부호화 모드, 예측 차분 부호화 파라미터, 인트라 예측 파라미터/인터 예측 파라미터를 가변 길이 복호하고, 그 압축 데이터 및 예측 차분 부호화 파라미터를 역양자화·역변환부(55)에 출력함과 아울러, 그 부호화 모드 및 인트라 예측 파라미터/인터 예측 파라미터를 전환 스위치(52)에 출력하는 처리를 실시한다. 또, 가변 길이 복호부(51)는 가변 길이 복호 수단을 구성하고 있다.
전환 스위치(52)는 가변 길이 복호부(51)로부터 출력된 부호화 블록에 관한 부호화 모드가 인트라 부호화 모드인 경우, 가변 길이 복호부(51)로부터 출력된 인트라 예측 파라미터를 인트라 예측부(53)에 출력하고, 그 부호화 모드가 인터 부호화 모드인 경우, 가변 길이 복호부(51)로부터 출력된 인터 예측 파라미터를 움직임 보상 예측부(54)에 출력하는 처리를 실시한다.
인트라 예측부(53)는 전환 스위치(52)로부터 출력된 인트라 예측 파라미터를 이용하여, 당해 부호화 블록에 대한 인트라 예측 처리를 실시해서 예측 화상을 생성하는 처리를 실시한다.
또, 전환 스위치(52) 및 인트라 예측부(53)로 인트라 예측 수단이 구성되어 있다.
움직임 보상 예측부(54)는 가변 길이 복호부(51)로부터 출력된 부호화 블록에 관한 부호화 모드가 다이렉트 모드의 인터 부호화 모드인 경우, 당해 부호화 블록의 주위에 위치하고 있는 복호 완료 블록의 움직임 벡터로부터 공간 다이렉트 모드의 공간 다이렉트 벡터를 생성함과 아울러, 당해 부호화 블록이 참조 가능한 복호 완료 픽쳐의 움직임 벡터로부터 시간 다이렉트 모드의 시간 다이렉트 벡터를 생성하고, 그 공간 다이렉트 벡터 또는 시간 다이렉트 벡터 중에서, 참조 화상간의 상관이 높아지는 쪽의 다이렉트 벡터를 선택하고, 그 다이렉트 벡터를 이용하여, 당해 부호화 블록에 대한 움직임 보상 예측 처리를 실시해서 예측 화상을 생성하는 처리를 실시한다.
또한, 움직임 보상 예측부(54)는 가변 길이 복호부(51)로부터 출력된 부호화 블록에 관한 부호화 모드가 다이렉트 모드 이외의 인터 부호화 모드인 경우, 가변 길이 복호부(51)로부터 출력된 인터 예측 파라미터에 포함되어 있는 움직임 벡터를 이용하여, 당해 부호화 블록에 대한 움직임 보상 예측 처리를 실시해서 예측 화상을 생성하는 처리를 실시한다.
또, 전환 스위치(52) 및 움직임 보상 예측부(54)로 움직임 보상 예측 수단이 구성되어 있다.
역양자화·역변환부(55)는 가변 길이 복호부(51)로부터 출력된 예측 차분 부호화 파라미터에 포함되어 있는 양자화 파라미터를 이용하여, 가변 길이 복호부(51)로부터 출력된 부호화 블록에 관한 압축 데이터를 역양자화하고, 그 예측 차분 부호화 파라미터에 포함되어 있는 변환 블록 사이즈 단위로, 역양자화의 압축 데이터의 역변환 처리(예를 들면, 역DCT(역이산 코사인 변환)나, 역KL 변환 등의 역변환 처리)를 실시함으로써, 역변환 처리 후의 압축 데이터를 복호 예측 차분 신호(압축 전의 차분 화상을 나타내는 신호)로서 출력하는 처리를 실시한다. 또, 역양자화·역변환부(55)는 차분 화상 생성 수단을 구성하고 있다.
가산부(56)는 역양자화·역변환부(55)로부터 출력된 복호 예측 차분 신호와 인트라 예측부(53) 또는 움직임 보상 예측부(54)에 의해 생성된 예측 화상을 나타내는 예측 신호를 가산함으로써, 복호 화상을 나타내는 복호 화상 신호를 생성하는 처리를 실시한다. 또, 가산부(56)는 복호 화상 생성 수단을 구성하고 있다.
인트라 예측용 메모리(57)는 인트라 예측부(53)에 의해 다음회의 인트라 예측 처리에서 이용되는 화상으로서, 가산부(56)에 의해 생성된 복호 화상 신호가 나타내는 복호 화상을 저장하는 RAM 등의 기록 매체이다.
루프 필터부(58)는 가산기(56)에 의해 생성된 복호 화상 신호에 포함되어 있는 부호화 왜곡을 보상하고, 부호화 왜곡 보상 후의 복호 화상 신호가 나타내는 복호 화상을 참조 화상으로서 움직임 보상 예측 프레임 메모리(59)에 출력하는 처리를 실시한다.
움직임 보상 예측 프레임 메모리(59)는 움직임 보상 예측부(54)에 의해 다음회의 움직임 보상 예측 처리에서 이용되는 참조 화상으로서, 루프 필터부(58)에 의한 필터링 처리 후의 복호 화상을 저장하는 RAM 등의 기록 매체이다.
도 6은 본 발명의 실시 형태 1에 따른 동화상 복호 장치의 움직임 보상 예측부(54)를 나타내는 구성도이다.
도 6에서, 전환 스위치(61)은 가변 길이 복호부(51)로부터 출력된 부호화 블록에 관한 부호화 모드가 다이렉트 모드 이외의 인터 모드인 경우, 가변 길이 복호부(51)로부터 출력된 인터 예측 파라미터(움직임 벡터를 포함함)를 움직임 보상 처리부(63)에 출력하고, 그 부호화 모드가 다이렉트 모드의 인터 모드인 경우, 가변 길이 복호부(51)로부터 출력된 인터 예측 파라미터를 다이렉트 벡터 생성부(62)에 출력하는 처리를 실시한다.
다이렉트 벡터 생성부(62)는 당해 부호화 블록의 주위에 위치하고 있는 복호 완료 블록의 움직임 벡터로부터 공간 다이렉트 모드의 공간 다이렉트 벡터를 생성함과 아울러, 당해 부호화 블록이 참조 가능한 복호 완료 픽쳐의 움직임 벡터로부터 시간 다이렉트 모드의 시간 다이렉트 벡터를 생성하고, 그 공간 다이렉트 벡터 또는 시간 다이렉트 벡터 중에서, 참조 화상간의 상관이 높아지는 쪽의 다이렉트 벡터를 선택하는 처리를 실시한다.
또한, 다이렉트 벡터 생성부(62)는 전환 스위치(61)로부터 출력된 인터 예측 파라미터를 움직임 보상 처리부(63)에 출력하는 처리를 실시한다.
또, 다이렉트 벡터 생성부(62)의 내부 구성은 도 2의 다이렉트 벡터 생성부(23)와 동일하다.
움직임 보상 처리부(63)는 전환 스위치(61)로부터 출력된 인터 예측 파라미터에 포함되어 있는 움직임 벡터 또는 다이렉트 벡터 생성부(62)에 의해 선택된 다이렉트 벡터와 움직임 보상 예측 프레임 메모리(59)에 저장되어 있는 1 프레임의 참조 화상을 이용하여, 다이렉트 벡터 생성부(62)로부터 출력된 인터 예측 파라미터에 근거해서 움직임 보상 예측 처리를 실시함으로써, 예측 화상을 생성하는 처리를 실시한다.
도 1에서는, 동화상 부호화 장치의 구성 요소인 부호화 제어부(1), 블록 분할부(2), 전환 스위치(3), 인트라 예측부(4), 움직임 보상 예측부(5), 감산부(6), 변환·양자화부(7), 역양자화·역변환부(8), 가산부(9), 루프 필터부(11) 및 가변 길이 부호화부(13)의 각각이 전용의 하드웨어(예를 들면, CPU를 실장하고 있는 반도체 집적 회로 혹은 원칩 마이크로컴퓨터 등)로 구성되어 있는 것을 상정하고 있지만, 동화상 부호화 장치가 컴퓨터로 구성되는 경우, 부호화 제어부(1), 블록 분할부(2), 전환 스위치(3), 인트라 예측부(4), 움직임 보상 예측부(5), 감산부(6), 변환·양자화부(7), 역양자화·역변환부(8), 가산부(9), 루프 필터부(11) 및 가변 길이 부호화부(13)의 처리 내용을 기술하고 있는 프로그램을 당해 컴퓨터의 메모리에 저장하고, 당해 컴퓨터의 CPU가 당해 메모리에 저장되어 있는 프로그램을 실행하도록 하여도 좋다.
도 7은 본 발명의 실시 형태 1에 따른 동화상 부호화 장치의 처리 내용을 나타내는 흐름도이다.
도 5에서는, 동화상 복호 장치의 구성 요소인 가변 길이 복호부(51), 전환 스위치(52), 인트라 예측부(53), 움직임 보상 예측부(54), 역양자화·역변환부(55), 가산부(56) 및 루프 필터부(58)의 각각이 전용의 하드웨어(예를 들면, CPU를 실장하고 있는 반도체 집적 회로 혹은 원칩 마이크로컴퓨터 등)로 구성되어 있는 것을 상정하고 있지만, 동화상 복호 장치가 컴퓨터로 구성되는 경우, 가변 길이 복호부(51), 전환 스위치(52), 인트라 예측부(53), 움직임 보상 예측부(54), 역양자화·역변환부(55), 가산부(56) 및 루프 필터부(58)의 처리 내용을 기술하고 있는 프로그램을 당해 컴퓨터의 메모리에 저장하고, 당해 컴퓨터의 CPU가 당해 메모리에 저장되어 있는 프로그램을 실행하도록 하여도 좋다.
도 8은 본 발명의 실시 형태 1에 따른 동화상 복호 장치의 처리 내용을 나타내는 흐름도이다.
다음으로 동작에 대해 설명한다.
최초로, 도 1의 동화상 부호화 장치의 처리 내용을 설명한다.
우선, 부호화 제어부(1)는, 움직임 보상 예측 처리(프레임간 예측 처리) 또는 인트라 예측 처리(프레임내 예측 처리)가 실시될 때의 처리 단위로 되는 부호화 블록의 최대 사이즈를 결정함과 아울러, 최대 사이즈의 부호화 블록이 계층적으로 분할될 때의 상한의 계층수를 결정한다(도 7의 스텝 ST1).
부호화 블록의 최대 사이즈의 결정 방법으로서, 예를 들면, 모든 픽쳐에 대해, 입력 화상의 해상도에 따른 사이즈로 결정하는 방법이 고려된다.
또한, 입력 화상의 국소적인 움직임의 복잡함의 차이를 파라미터로서 정량화해 두고, 움직임의 격렬한 픽쳐에서는 최대 사이즈를 작은 값으로 결정하고, 움직임이 적은 픽쳐에서는 최대 사이즈를 큰 값으로 결정하는 방법 등이 고려된다.
상한의 계층수에 대해서는, 예를 들면, 입력 화상의 움직임이 격렬할수록, 계층수를 깊게 하여, 보다 미세한 움직임을 검출할 수 있도록 설정하고, 입력 화상의 움직임이 적으면, 계층수를 억제하도록 설정하는 방법이 고려된다.
또한, 부호화 제어부(1)는, 이용 가능한 1 이상의 부호화 모드(M 종류의 인트라 부호화 모드, N 종류의 인터 부호화 모드(다이렉트 모드의 인터 부호화 모드를 포함함)) 중에서, 계층적으로 분할되는 각각의 부호화 블록에 적합한 부호화 모드를 선택한다(스텝 ST2).
부호화 제어부(1)에 의한 부호화 모드의 선택 방법은 공지의 기술이기 때문에 상세한 설명을 생략하지만, 예를 들면, 이용 가능한 임의의 부호화 모드를 이용하여, 부호화 블록에 대한 부호화 처리를 실시해서 부호화 효율을 검증하고, 이용 가능한 복수의 부호화 모드 중에서, 가장 부호화 효율이 좋은 부호화 모드를 선택하는 방법 등이 있다.
블록 분할부(2)는, 입력 화상을 나타내는 영상 신호가 입력되면, 그 영상 신호가 나타내는 입력 화상을 부호화 제어부(1)에 의해 결정된 최대 사이즈의 부호화 블록으로 분할함과 아울러, 부호화 제어부(1)에 의해 결정된 상한의 계층수에 이를 때까지, 그 부호화 블록을 계층적으로 분할한다.
여기서, 도 9는 최대 사이즈의 부호화 블록이 계층적으로 복수의 부호화 블록으로 분할되는 모양을 나타내는 설명도이다.
도 9의 예에서는, 최대 사이즈의 부호화 블록은 제 0 계층의 부호화 블록 B0이고, 휘도 성분으로 (L0, M0)의 사이즈를 가지고 있다.
또한, 도 9의 예에서는, 최대 사이즈의 부호화 블록 B0을 출발점으로 하여, 쿼드트리 구조로, 별도로 정하는 소정의 깊이까지 계층적으로 분할을 행하는 것에 의해서, 부호화 블록 Bn을 얻고 있다.
깊이 n에 대해서는, 부호화 블록 Bn은 사이즈(Ln, Mn)의 화상 영역이다.
단, Ln과 Mn은 동일하더라도 좋고 다르더라도 좋지만, 도 9의 예에서는 Ln=Mn의 경우를 나타내고 있다.
이후, 부호화 블록 Bn의 사이즈는 부호화 블록 Bn의 휘도 성분에서의 사이즈 (Ln, Mn)이라고 정의한다.
블록 분할부(2)는, 쿼드트리 분할을 행하기 때문에, 항상 (Ln +1, Mn+1)=(Ln/2, Mn/2)가 성립한다.
단, RGB 신호 등과 같이, 모든 색 성분이 동일 샘플수를 가지는 컬러 영상 신호(4:4:4 포맷)에서는, 모든 색 성분의 사이즈가 (Ln, Mn)으로 되지만, 4:2:0 포맷을 취하는 경우, 대응하는 색차 성분의 부호화 블록의 사이즈는 (Ln/2, Mn/2)이다.
이후, 제 n 계층의 부호화 블록 Bn에서 선택할 수 있는 부호화 모드를 m(Bn)이라고 적는다.
복수의 색 성분으로 이루어지는 컬러 영상 신호의 경우, 부호화 모드 m(Bn)은, 색 성분마다, 각각 개별의 모드를 이용하도록 구성되어도 좋지만, 이후, 특별히 말하지 않는 한, YUV 신호, 4:2:0 포맷의 부호화 블록의 휘도 성분에 대한 부호화 모드인 것을 지칭하는 것으로 하여 설명을 행한다.
부호화 모드 m(Bn)에는, 하나 내지 복수의 인트라 부호화 모드(총칭하여 「INTRA」), 하나 내지 복수의 인터 부호화 모드(총칭하여 「INTER」)가 있고, 부호화 제어부(1)는, 상술한 바와 같이, 당해 픽쳐에서 이용 가능한 모든 부호화 모드 내지는, 그 서브세트 중에서, 부호화 블록 Bn에 대해 가장 부호화 효율이 좋은 부호화 모드를 선택한다.
부호화 블록 Bn은, 도 9에 나타내는 바와 같이, 하나 내지 복수의 예측 처리 단위(파티션)로 더 분할된다.
이후, 부호화 블록 Bn에 속하는 파티션을 Pi n(i: 제 n 계층에서의 파티션 번호)라고 표기한다.
부호화 블록 Bn에 속하는 파티션 Pi n의 분할이 어떻게 이루어지고 있는지는 부호화 모드 m(Bn) 중에 정보로서 포함된다.
파티션 Pi n은, 모두 부호화 모드 m(Bn)에 따라 예측 처리가 행해지지만, 파티션 Pi n마다, 개별의 예측 파라미터를 선택할 수 있다.
부호화 제어부(1)는, 최대 사이즈의 부호화 블록에 대해, 예를 들면, 도 10에 나타내는 블록 분할 상태를 생성하고, 부호화 블록 Bn을 특정한다.
도 10(a)의 해칭 부분은 분할 후의 파티션의 분포를 나타내고, 또한, 도 10(b)은 계층 분할 후의 파티션에 부호화 모드 m(Bn)이 할당되는 상황을 쿼드트리 그래프로 나타내고 있다.
도 10(b)에서, □로 둘러싸여 있는 노드가, 부호화 모드 m(Bn)가 할당된 노드(부호화 블록 Bn)를 나타내고 있다.
전환 스위치(3)는, 부호화 제어부(1)가 각각의 부호화 블록 Bn의 파티션 Pi n에 대해 최적인 부호화 모드 m(Bn)를 선택하면, 그 부호화 모드 m(Bn)가 인트라 부호화 모드이면(스텝 ST3), 블록 분할부(2)에 의해 분할된 부호화 블록 Bn의 파티션 Pi n을 인트라 예측부(4)에 출력한다.
한편, 그 부호화 모드 m(Bn)가 인터 부호화 모드이면(스텝 ST3), 블록 분할부(2)에 의해 분할된 부호화 블록 Bn의 파티션 Pi n을 움직임 보상 예측부(5)에 출력한다.
인트라 예측부(4)는, 전환 스위치(3)로부터 부호화 블록 Bn의 파티션 Pi n을 받으면, 부호화 제어부(1)에 의해 선택된 부호화 모드 m(Bn)에 대응하는 인트라 예측 파라미터를 이용하여, 그 부호화 블록 Bn의 파티션 Pi n에 대한 인트라 예측 처리를 실시하고, 인트라 예측 화상 Pi n을 생성한다(스텝 ST4).
인트라 예측부(4)는, 인트라 예측 화상 Pi n을 생성하면, 그 인트라 예측 화상 Pi n을 감산부(6) 및 가산부(9)에 출력하지만, 도 5의 동화상 복호 장치에서도 동일한 인트라 예측 화상 Pi n을 생성할 수 있도록 하기 위해서, 그 인트라 예측 파라미터를 가변 길이 부호화부(13)에 출력한다. 본 실시 형태 1에서의 인트라 예측 처리는, AVC/H.264 규격(ISO/IEC 14496-10)으로 정해지는 알고리즘에 한정되지 않지만, 인트라 예측 파라미터로서는, 동화상 부호화 장치측과 동화상 복호 장치측에서 완전히 동일한 인트라 예측 화상을 생성하기 위해 필요한 정보를 포함할 필요가 있다.
움직임 보상 예측부(5)는, 전환 스위치(3)로부터 부호화 블록 Bn의 파티션 Pi n을 받으면, 부호화 제어부(1)에 의해 선택된 부호화 모드 m(Bn)가 다이렉트 모드의 인터 부호화 모드이면, 부호화 블록 Bn의 파티션 Pi n의 주위에 위치하고 있는 부호화 완료 블록의 움직임 벡터로부터 공간 다이렉트 모드의 공간 다이렉트 벡터를 생성함과 아울러, 부호화 블록 Bn가 참조 가능한 부호화 완료 픽쳐의 움직임 벡터로부터 시간 다이렉트 모드의 시간 다이렉트 벡터를 생성한다.
그리고, 움직임 보상 예측부(5)는, 그 공간 다이렉트 벡터 또는 시간 다이렉트 벡터 중에서, 참조 화상간의 상관이 높아지는 쪽의 다이렉트 벡터를 선택하고, 그 다이렉트 벡터 및 부호화 모드 m(Bn)에 대응하는 인터 예측 파라미터를 이용하여, 부호화 블록 Bn의 파티션 Pi n에 대한 움직임 보상 예측 처리를 실시해서 인터 예측 화상 Pi n을 생성한다(스텝 ST5).
한편, 부호화 제어부(1)에 의해 선택된 부호화 모드 m(Bn)가 다이렉트 모드 이외의 인터 부호화 모드이면, 움직임 보상 예측부(5)는, 부호화 블록 Bn의 파티션 Pi n과 움직임 보상 예측 프레임 메모리(12)에 저장되어 있는 참조 화상으로부터 움직임 벡터를 탐색하고, 그 움직임 벡터 및 부호화 모드 m(Bn)에 대응하는 인터 예측 파라미터를 이용하여, 부호화 블록 Bn의 파티션 Pi n에 대한 움직임 보상 예측 처리를 실시해서 인터 예측 화상 Pi n을 생성한다(스텝 ST5).
움직임 보상 예측부(5)는, 인터 예측 화상 Pi n을 생성하면, 그 인터 예측 화상 Pi n을 감산부(6) 및 가산부(9)에 출력하지만, 도 5의 동화상 복호 장치에서도 동일한 인터 예측 화상 Pi n을 생성할 수 있도록 하기 위해서, 그 인터 예측 파라미터를 가변 길이 부호화부(13)에 출력한다. 인터 예측 화상의 생성에 이용된 인터 예측 파라미터에는,
· 부호화 블록 Bn 내의 파티션 분할을 기술하는 모드 정보
· 각 파티션의 움직임 벡터
· 움직임 보상 예측 프레임 메모리(12) 내에 복수의 참조 화상을 포함하는 구성의 경우, 어느 참조 화상을 이용하여 예측을 행할지를 나타내는 참조 화상 지시 인덱스 정보
· 복수의 움직임 벡터 예측값 후보가 있는 경우에 어느 움직임 벡터 예측값을 선택하여 사용할지를 나타내는 인덱스 정보
· 복수의 움직임 보상 내삽 필터가 있는 경우에 어느 필터를 선택하여 사용할지를 나타내는 인덱스 정보
· 당해 파티션의 움직임 벡터가 복수의 화소 정밀도(절반 화소, 1/4 화소, 1/8 화소 등)를 나타내는 것이 가능한 경우, 어느 화소 정밀도를 사용할지를 나타내는 선택 정보
등의 정보를 포함하고, 동화상 복호 장치측에서 완전히 동일한 인터 예측 화상을 생성하기 위해서, 가변 길이 부호화부(13)에 의해서 비트 스트림에 다중화된다.
움직임 보상 예측부(5)의 처리 내용의 개략은 상기한 바와 같지만, 상세한 처리 내용은 후술한다.
감산부(6)는, 인트라 예측부(4) 또는 움직임 보상 예측부(5)가 예측 화상(인트라 예측 화상 Pi n, 인터 예측 화상 Pi n)을 생성하면, 블록 분할부(2)에 의해 분할된 부호화 블록 Bn의 파티션 Pi n으로부터, 인트라 예측부(4) 또는 움직임 보상 예측부(5)에 의해 생성된 예측 화상(인트라 예측 화상 Pi n, 인터 예측 화상 Pi n)을 감산함으로써 차분 화상을 생성하고, 그 차분 화상을 나타내는 예측 차분 신호 ei n을 변환·양자화부(7)에 출력한다(스텝 ST6).
변환·양자화부(7)는, 감산부(6)로부터 차분 화상을 나타내는 예측 차분 신호 ei n을 받으면, 부호화 제어부(1)로부터 출력된 예측 차분 부호화 파라미터에 포함되어 있는 변환 블록 사이즈 단위로, 그 차분 화상의 변환 처리(예를 들면, DCT(이산 코사인 변환)나, 미리 특정한 학습 계열에 대해 기저 설계가 이루어져 있는 KL 변환 등의 직교 변환 처리)를 실시함과 아울러, 그 예측 차분 부호화 파라미터에 포함되어 있는 양자화 파라미터를 이용하여, 그 차분 화상의 변환 계수를 양자화함으로써, 양자화 후의 변환 계수를 차분 화상의 압축 데이터로서 역양자화·역변환부(8) 및 가변 길이 부호화부(13)에 출력한다(스텝 ST7).
역양자화·역변환부(8)는, 변환·양자화부(7)로부터 차분 화상의 압축 데이터를 받으면, 부호화 제어부(1)로부터 출력된 예측 차분 부호화 파라미터에 포함되어 있는 양자화 파라미터를 이용하여, 그 차분 화상의 압축 데이터를 역양자화하고, 그 예측 차분 부호화 파라미터에 포함되어 있는 변환 블록 사이즈 단위로, 역양자화의 압축 데이터의 역변환 처리(예를 들면, 역DCT(역이산 코사인 변환)나, 역KL 변환 등의 역변환 처리)를 실시함으로써, 역변환 처리 후의 압축 데이터를 국소 복호 예측 차분 신호 ei n 햇(hat)(전자 출원의 관계상, 알파벳 문자를 뒤따른 「^」을 햇이라고 표기함)로서 가산부(9)에 출력한다(스텝 ST8).
가산부(9)는, 역양자화·역변환부(8)로부터 국소 복호 예측 차분 신호 ei n 햇를 받으면, 그 국소 복호 예측 차분 신호 ei n 햇과, 인트라 예측부(4) 또는 움직임 보상 예측부(5)에 의해 생성된 예측 화상(인트라 예측 화상 Pi n, 인터 예측 화상 Pi n)을 나타내는 예측 신호를 가산함으로써, 국소 복호 파티션 화상 Pi n 햇 내지는 그 집합으로서의 국소 복호 부호화 블록 화상인 국소 복호 화상을 생성한다(스텝 ST9).
가산부(9)는, 국소 복호 화상을 생성하면, 그 국소 복호 화상을 나타내는 국소 복호 화상 신호를 인트라 예측용 메모리(10)에 저장함과 아울러, 그 국소 복호 화상 신호를 루프 필터부(11)에 출력한다.
스텝 ST3~ST9의 처리는, 계층적으로 분할된 모든 부호화 블록 Bn에 대한 처리가 완료될 때까지 반복 실시되고, 모든 부호화 블록 Bn에 대한 처리가 완료되면 스텝 ST12의 처리로 이행한다(스텝 ST10, ST11).
가변 길이 부호화부(13)는, 변환·양자화부(7)로부터 출력된 압축 데이터와, 부호화 제어부(1)로부터 출력된 부호화 모드(부호화 블록의 분할 상태를 나타내는 정보를 포함함) 및 예측 차분 부호화 파라미터와, 인트라 예측부(4)로부터 출력된 인트라 예측 파라미터 또는 움직임 보상 예측부(5)로부터 출력된 인터 예측 파라미터를 엔트로피 부호화한다.
가변 길이 부호화부(13)는, 엔트로피 부호화의 부호화 결과인 압축 데이터, 부호화 모드, 예측 차분 부호화 파라미터, 인트라 예측 파라미터/인터 예측 파라미터의 부호화 데이터를 다중화하여 비트 스트림을 생성한다(스텝 ST12).
루프 필터부(11)는, 가산부(9)로부터 국소 복호 화상 신호를 받으면, 그 국소 복호 화상 신호에 포함되어 있는 부호화 왜곡을 보상하고, 부호화 왜곡 보상 후의 국소 복호 화상 신호가 나타내는 국소 복호 화상을 참조 화상으로서 움직임 보상 예측 프레임 메모리(12)에 저장한다(스텝 ST13).
루프 필터부(11)에 의한 필터링 처리는, 가산부(9)로부터 출력되는 국소 복호 화상 신호의 최대 부호화 블록 혹은 개개의 부호화 블록 단위로 행하더라도 좋고, 1 화면 분의 매크로 블록에 상당하는 국소 복호 화상 신호가 출력된 후에 1 화면분 통합하여 행하더라도 좋다.
다음으로, 움직임 보상 예측부(5)의 처리 내용을 상세히 설명한다.
움직임 보상 예측부(5)의 전환 스위치(21)는, 부호화 제어부(1)에 의해 선택된 부호화 모드 m(Bn)가 다이렉트 모드 이외의 인터 모드인 경우, 블록 분할부(2)에 의해 분할된 부호화 블록 Bn의 파티션 Pi n을 움직임 벡터 탐색부(22)에 출력한다.
한편, 부호화 모드 m(Bn)가 다이렉트 모드의 인터 모드인 경우, 블록 분할부(2)에 의해 분할된 부호화 블록 Bn의 파티션 Pi n을 다이렉트 벡터 생성부(23)에 출력한다.
단, 다이렉트 벡터 생성부(23)에서는, 다이렉트 벡터의 생성에 부호화 블록 Bn의 파티션 Pi n을 이용하지 않기 때문에, 당해 부호화 모드 m(Bn)가 다이렉트 모드의 인터 모드이더라도, 부호화 블록 Bn의 파티션 Pi n을 다이렉트 벡터 생성부(23)에 출력하지 않도록 하여도 좋다.
움직임 보상 예측부(5)의 움직임 벡터 탐색부(22)는, 전환 스위치(21)로부터 부호화 블록 Bn의 파티션 Pi n을 받으면, 그 파티션 Pi n과 움직임 보상 예측 프레임 메모리(12)에 저장되어 있는 참조 화상을 참조하면서, 인터 모드에서 최적인 움직임 벡터를 탐색하고, 그 움직임 벡터를 움직임 보상 처리부(24)에 출력한다.
인터 모드에서 최적인 움직임 벡터를 탐색하는 처리 자체는 공지의 기술이기 때문에, 상세한 설명을 생략한다.
움직임 보상 예측부(5)의 다이렉트 벡터 생성부(23)는, 부호화 모드 m(Bn)가 다이렉트 모드인 경우, 부호화 블록 Bn의 파티션 Pi n마다, 공간 다이렉트 모드의 공간 다이렉트 벡터와 시간 다이렉트 모드의 시간 다이렉트 벡터를 생성하고, 그 공간 다이렉트 벡터 또는 시간 다이렉트 벡터 중 어느 한쪽을 움직임 벡터로서 움직임 보상 처리부(24)에 출력한다.
또, 부호화 블록 Bn에 속하는 파티션 Pi n의 분할 상태를 나타내는 정보는, 상술한 바와 같이, 부호화 모드 m(Bn) 중에 포함되어 있기 때문에, 다이렉트 벡터 생성부(23)는 부호화 모드 m(Bn)를 참조함으로써, 부호화 블록 Bn의 파티션 Pi n을 특정할 수 있다.
즉, 다이렉트 벡터 생성부(23)의 공간 다이렉트 벡터 생성부(31)는, 도시하지 않은 움직임 벡터 메모리 또는 내부 메모리에 의해 저장되어 있는 부호화 완료 블록의 움직임 벡터 중에서, 부호화 블록 Bn의 파티션 Pi n의 주위에 위치하고 있는 부호화 완료 블록의 움직임 벡터를 판독하고, 그 움직임 벡터로부터 공간 다이렉트 모드의 공간 다이렉트 벡터를 생성한다.
또한, 다이렉트 벡터 생성부(23)의 시간 다이렉트 벡터 생성부(32)는, 부호화 완료 블록의 움직임 벡터 중에서, 부호화 블록 Bn가 참조 가능한 부호화 완료 픽쳐의 움직임 벡터로서, 부호화 블록 Bn의 파티션 Pi n과 공간적으로 동일한 위치에 있는 블록의 움직임 벡터를 판독하고, 그 움직임 벡터로부터 시간 다이렉트 모드의 시간 다이렉트 벡터를 생성한다.
여기서, 도 11은 시간 다이렉트 모드로 움직임 벡터(시간 다이렉트 벡터)를 생성하는 방법을 나타내는 모식도이다.
예를 들면, 픽쳐 B2 중의 블록 MB1이 부호화 대상의 파티션 Pi n이고, 블록 MB1을 시간 다이렉트 모드로 부호화하는 경우를 상정한다.
이 경우, 픽쳐 B2의 시간축상 후방에 있는 부호화 완료 픽쳐 중, 픽쳐 B2에 제일 가까운 픽쳐 P3의 움직임 벡터로서, 블록 MB1과 공간적으로 동일한 위치에 있는 블록 MB2의 움직임 벡터 MV를 이용한다.
이 움직임 벡터 MV는 픽쳐 P0를 참조하고 있고, 블록 MB1을 부호화할 때에 이용하는 움직임 벡터 MVL0, MVL1은 이하의 식 (3)으로 구해진다.
Figure 112017028686585-pat00003
시간 다이렉트 벡터 생성부(32)는, 움직임 벡터 MVL0, MVL1을 산출하면, 그 움직임 벡터 MVL0, MVL1을 시간 다이렉트 모드의 시간 다이렉트 벡터로서 다이렉트 벡터 판정부(33)에 출력한다.
단, 시간 다이렉트 벡터 생성부(32)에서의 시간 다이렉트 벡터의 생성 방법은, 도 11에 나타내는 H.264 방식을 이용하여도 좋지만, 이것에 한정하는 것이 아니며, 다른 방법을 이용하여도 좋다.
도 12는 공간 다이렉트 모드로 움직임 벡터(공간 다이렉트 벡터)를 생성하는 방법을 나타내는 모식도이다.
도 12에서, currentMB는 부호화 대상의 블록인 파티션 Pi n을 나타내고 있다.
이 때, 부호화 대상의 블록의 좌횡의 부호화 완료 블록 A의 움직임 벡터를 MVa, 부호화 대상의 블록 위의 부호화 완료 블록 B의 움직임 벡터를 MVb, 부호화 대상의 블록의 오른쪽 위의 부호화 완료 블록 C의 움직임 벡터를 MVc라고 하면, 하기의 식 (4)에 나타내는 바와 같이, 이러한 움직임 벡터 MVa, MVb, MVc의 미디언(중앙값)을 구하는 것에 의해, 부호화 대상의 블록의 움직임 벡터 MV를 산출할 수 있다.
Figure 112017028686585-pat00004
공간 다이렉트 모드에서는, 리스트 0 및 리스트 1의 각각에 대해 움직임 벡터를 구하지만, 모두 상기의 방법을 이용하여 구하는 것이 가능하다.
공간 다이렉트 벡터 생성부(31)는, 상기와 같이 해서, 리스트 0 및 리스트 1의 움직임 벡터 MV를 산출하면, 리스트 0 및 리스트 1의 움직임 벡터 MV를 공간 다이렉트 모드의 공간 다이렉트 벡터로서 다이렉트 벡터 판정부(33)에 출력한다.
단, 공간 다이렉트 벡터 생성부(31)에서의 공간 다이렉트 벡터의 생성 방법은, 도 12에 나타내는 H.264 방식을 이용하여도 좋지만, 이것에 한정하는 것이 아니며, 다른 방법을 이용하여도 좋다.
예를 들면, 도 13에 나타내는 바와 같이, 미디언 예측의 후보로서, A1-An, B1-Bn으로부터 1개씩과, C, D, E로부터 1개의 3개로, 공간 다이렉트 벡터를 생성하도록 하여도 좋다.
또한, 공간 다이렉트 벡터의 생성에 이용하는 MV 후보가 다른 ref_Idx인 경우는, 도 14에 나타내는 바와 같이, 시간 방향의 거리에 따라 스케일링을 행하도록 하여도 좋다.
Figure 112017028686585-pat00005
단, scaled_MV는 스케일링 후의 벡터, MV는 스케일링 전의 움직임 벡터, d(x)는 x까지의 시간적인 거리를 나타내고 있다.
또한, Xr은 부호화 대상의 블록이 나타내는 참조 화상, Yr은 스케일링의 대상으로 되는 블록 위치 A-D가 나타내는 참조 화상을 나타내고 있다.
다이렉트 벡터 생성부(23)의 다이렉트 벡터 판정부(33)는, 공간 다이렉트 벡터 생성부(31)가 공간 다이렉트 벡터를 생성하면, 그 공간 다이렉트 벡터를 이용하여, 공간 다이렉트 모드의 평가값을 산출한다.
또한, 다이렉트 벡터 판정부(33)는, 시간 다이렉트 벡터 생성부(32)가 시간 다이렉트 벡터를 생성하면, 그 시간 다이렉트 벡터를 이용하여, 시간 다이렉트 모드의 평가값을 산출한다.
다이렉트 벡터 판정부(33)는, 그 공간 다이렉트 모드의 평가값과 시간 다이렉트 모드의 평가값을 비교하여, 그 공간 다이렉트 벡터 또는 시간 다이렉트 벡터 중, 이하에 기재하는 판정 수단에 의해서 다이렉트 모드의 다이렉트 벡터를 선택해서 움직임 보상 처리부(24)에 출력한다.
이하, 다이렉트 벡터 판정부(33)의 처리 내용을 구체적으로 설명한다.
다이렉트 벡터 판정부(33)의 움직임 보상부(41)는, 공간 다이렉트 벡터 생성부(31)가 공간 다이렉트 벡터 MVL0, MVL1을 생성하면, 그 공간 다이렉트 벡터 MVL0을 이용하여, 공간 다이렉트 모드의 리스트 0 예측 화상을 생성하고, 그 공간 다이렉트 벡터 MVL1을 이용하여, 공간 다이렉트 모드의 리스트 1 예측 화상을 생성한다.
여기서, 도 15는 전방 예측 화상과 후방 예측 화상의 유사도에 의한 평가값의 산출예를 나타내는 설명도이지만, 도 15의 예에서는, 공간 다이렉트 모드의 리스트 0 예측 화상으로서, 전방 예측 화상 fspatial을 생성하고, 공간 다이렉트 모드의 리스트 1 예측 화상으로서, 후방 예측 화상 gspatial을 생성하고 있다.
또, 움직임 보상부(41)는, 시간 다이렉트 벡터 생성부(32)가 리스트 0 및 리스트 1의 움직임 벡터 MV인 시간 다이렉트 벡터를 생성하면, 전방의 움직임 벡터 MV인 시간 다이렉트 벡터를 이용하여, 시간 다이렉트 모드의 리스트 0 예측 화상을 생성하고, 후방의 움직임 벡터 MV인 시간 다이렉트 벡터를 이용하여, 시간 다이렉트 모드의 시간 다이렉트 모드의 리스트 1 예측 화상을 생성한다.
도 15의 예에서는, 시간 다이렉트 모드의 리스트 0 예측 화상으로서, 시간 다이렉트 모드의 전방 예측 화상 ftemporal을 생성하고, 시간 다이렉트 모드의 리스트 1 예측 화상으로서 후방 예측 화상 gtemporal을 생성하고 있다.
여기서는, 앞 방향의 참조 화상을 나타내는 참조 화상 리스트 0과, 뒤 방향의 참조 화상을 나타내는 참조 화상 리스트 1을 이용하여, 리스트 0 예측 화상으로서 전방 예측 화상을 생성하고, 리스트 1 예측 화상으로서 후방 예측 화상을 생성하는 것에 대해 나타냈지만, 뒤 방향의 참조 화상을 나타내는 참조 화상 리스트 0과, 앞 방향의 참조 화상을 나타내는 참조 화상 리스트 1을 이용하여, 리스트 0 예측 화상으로서 후방 예측 화상을 생성하고, 리스트 1 예측 화상으로서 전방 예측 화상을 생성하도록 하여도 좋다.
또한, 앞 방향의 참조 화상을 나타내는 참조 화상 리스트 0과, 앞 방향의 참조 화상을 나타내는 참조 화상 리스트 1을 이용하여, 리스트 0 예측 화상 및 리스트 1 예측 화상으로서, 전방 예측 화상을 생성하도록 하여도 좋다(상세한 것은 후술함).
다이렉트 벡터 판정부(33)의 유사도 산출부(42)는, 공간 다이렉트 모드의 리스트 0 예측 화상과 리스트 1 예측 화상을 생성하면, 하기의 식 (6)과 같이, 공간 다이렉트 모드의 평가값 SADspatial을 산출한다.
식 (6)에서는, 설명의 편의상, 공간 다이렉트 모드의 리스트 0 예측 화상이 전방 예측 화상 fspatial, 공간 다이렉트 모드의 리스트 1 예측 화상이 후방 예측 화상 gspatial로 하고 있다.
Figure 112017028686585-pat00006
또한, 유사도 산출부(42)는, 시간 다이렉트 모드의 리스트 0 예측 화상과 리스트 1 예측 화상을 생성하면, 하기의 식 (7)과 같이, 시간 다이렉트 모드의 평가값 SADtemporal을 산출한다.
식 (7)에서는, 설명의 편의상, 시간 다이렉트 모드의 리스트 0 예측 화상이 전방 예측 화상 ftemporal, 시간 다이렉트 모드의 리스트 1 예측 화상이 후방 예측 화상 gtemporal로 하고 있다.
Figure 112017028686585-pat00007
또, 전방 예측 화상과 후방 예측 화상간의 차분이 클수록, 2개의 화상간의 유사도가 낮아져(2개의 화상의 차분 절대값 합을 나타내는 평가값 SAD가 커져), 시간적인 상관이 낮아진다. 반대로, 전방 예측 화상과 후방 예측 화상간의 차분이 작을수록, 2개의 화상간의 유사도가 높아져(2개의 화상의 차분 절대값 합를 나타내는 평가값 SAD가 작아져), 시간적인 상관이 높아진다.
또한, 다이렉트 벡터로 예측하는 화상은 부호화 대상의 블록에 유사한 화상을 예측할 것이다. 2개의 벡터를 이용하여 예측 화상을 생성하는 경우, 각각의 벡터가 예측하는 화상은 부호화 대상의 블록에 유사할 것이고, 이것은 2개의 참조 화상의 상관이 높은 것을 나타내고 있다.
따라서, 평가값 SAD가 작은 쪽의 다이렉트 벡터를 선택함으로써, 참조 화상간의 상관이 높은 모드를 선택할 수 있어, 다이렉트 모드의 정밀도를 높일 수 있다.
다이렉트 벡터 판정부(33)의 다이렉트 벡터 선택부(43)는, 유사도 산출부(42)가 공간 다이렉트 모드의 평가값 SADspatial과, 시간 다이렉트 모드의 평가값 SADtemporal을 산출하면, 그 평가값 SADspatial과 평가값 SADtemporal을 비교함으로써, 공간 다이렉트 모드에서의 전방 예측 화상 fspatial과 후방 예측 화상 gspatial의 유사도와, 시간 다이렉트 모드에서의 전방 예측 화상 ftemporal과 후방 예측 화상 gtemporal의 유사도를 비교한다.
다이렉트 벡터 선택부(43)는, 공간 다이렉트 모드에서의 전방 예측 화상 fspatial과 후방 예측 화상 gspatial의 유사도가, 시간 다이렉트 모드에서의 전방 예측 화상 ftemporal과 후방 예측 화상 gtemporal의 유사도보다 높은 경우(SADspatial≤SADtemporal), 공간 다이렉트 벡터 생성부(31)에 의해 생성된 공간 다이렉트 벡터를 선택하고, 그 공간 다이렉트 벡터를 움직임 벡터로서 움직임 보상 처리부(24)에 출력한다.
한편, 시간 다이렉트 모드에서의 전방 예측 화상 ftemporal과 후방 예측 화상 gtemporal의 유사도가, 공간 다이렉트 모드에서의 전방 예측 화상 fspatial과 후방 예측 화상 gspatial의 유사도보다 높은 경우(SADspatial>SADtemporal), 시간 다이렉트 벡터 생성부(32)에 의해 생성된 시간 다이렉트 벡터를 선택하고, 그 시간 다이렉트 벡터를 움직임 벡터로서 움직임 보상 처리부(24)에 출력한다.
움직임 보상 처리부(24)는, 부호화 모드 m(Bn)가 다이렉트 모드가 아닐 때, 움직임 벡터 탐색부(22)로부터 움직임 벡터를 받으면, 그 움직임 벡터와 움직임 보상 예측 프레임 메모리(12)에 저장되어 있는 1 프레임의 참조 화상을 이용하여, 부호화 제어부(1)로부터 출력된 인터 예측 파라미터에 근거해서 움직임 보상 예측 처리를 실시함으로써, 예측 화상을 생성한다.
한편, 부호화 모드 m(Bn)가 다이렉트 모드일 때, 다이렉트 벡터 생성부(23)로부터 움직임 벡터(다이렉트 벡터 선택부(43)에 의해 선택된 다이렉트 벡터)를 받으면, 그 움직임 벡터와 움직임 보상 예측 프레임 메모리(12)에 저장되어 있는 1 프레임의 참조 화상을 이용하여, 부호화 제어부(1)로부터 출력된 인터 예측 파라미터에 근거해서 움직임 보상 예측 처리를 실시함으로써, 예측 화상을 생성한다.
또, 움직임 보상 처리부(24)의 움직임 보상 예측 처리는 공지의 기술이기 때문에 상세한 설명을 생략한다.
여기서는, 유사도 산출부(42)가 차분 절대값 합인 평가값 SAD를 산출하고, 다이렉트 벡터 선택부(43)가 평가값 SAD를 비교하는 것에 대해 나타냈지만, 유사도 산출부(42)가 평가값으로서, 전방 예측 화상과 후방 예측 화상간의 차분 제곱 합 SSE를 산출하고, 다이렉트 벡터 선택부(43)가 차분 제곱 합 SSE를 비교하도록 하여도 좋다. SSE를 이용하는 것에 의해 처리량은 증가하지만, 보다 정확하게 유사도를 산출하는 것이 가능해진다.
다음으로, 도 5의 화상 복호 장치의 처리 내용을 설명한다.
가변 길이 복호부(51)는, 도 1의 화상 부호화 장치로부터 출력된 비트 스트림이 입력되면, 그 비트 스트림에 대한 가변 길이 복호 처리를 실시하고, 1 프레임 이상의 픽쳐로 구성되는 순서 단위 혹은 픽쳐 단위로 프레임 사이즈를 복호한다(도 8의 스텝 ST21).
가변 길이 복호부(51)는, 도 1의 부호화 제어부(1)와 동일한 순서로, 움직임 보상 예측 처리(프레임간 예측 처리) 또는 인트라 예측 처리(프레임내 예측 처리)가 실시될 때의 처리 단위로 되는 부호화 블록의 최대 사이즈를 결정함과 아울러, 최대 사이즈의 부호화 블록이 계층적으로 분할될 때의 상한의 계층수를 결정한다(스텝 ST22).
예를 들면, 화상 부호화 장치에서, 부호화 블록의 최대 사이즈가, 입력 화상의 해상도에 따라 결정되어 있는 경우, 먼저 복호하고 있은 프레임 사이즈에 근거하여 부호화 블록의 최대 사이즈를 결정한다.
또, 부호화 블록의 최대 사이즈 및 상한의 계층수를 나타내는 정보가 비트 스트림에 다중화되어 있는 경우에는, 그 비트 스트림으로부터 복호한 정보를 참조한다.
비트 스트림에 다중화되어 있는 최대 사이즈의 부호화 블록 B0의 부호화 모드 m(B0)에는, 최대 사이즈의 부호화 블록 B0의 분할 상태를 나타내는 정보가 포함되어 있기 때문에, 가변 길이 복호부(51)는, 비트 스트림에 다중화되어 있는 최대 사이즈의 부호화 블록 B0의 부호화 모드 m(B0)를 복호하고, 계층적으로 분할되어 있는 각각의 부호화 블록 Bn을 특정한다(스텝 ST23).
가변 길이 복호부(51)는, 각각의 부호화 블록 Bn을 특정하면, 그 부호화 블록 Bn의 부호화 모드 m(Bn)를 복호하고, 그 부호화 모드 m(Bn)에 속해 있는 파티션 Pi n의 정보에 근거하여, 부호화 블록 Bn에 속해 있는 파티션 Pi n을 특정한다.
가변 길이 복호부(51)는, 부호화 블록 Bn에 속해 있는 파티션 Pi n을 특정하면, 파티션 Pi n마다, 압축 데이터, 부호화 모드, 예측 차분 부호화 파라미터, 인트라 예측 파라미터/인터 예측 파라미터를 복호한다(스텝 ST24).
전환 스위치(52)는, 가변 길이 복호부(51)로부터 부호화 블록 Bn에 속해 있는 파티션 Pi n의 부호화 모드 m(Bn)가 인트라 부호화 모드인 경우(스텝 ST25), 가변 길이 복호부(51)로부터 출력된 인트라 예측 파라미터를 인트라 예측부(53)에 출력한다.
한편, 파티션 Pi n의 부호화 모드 m(Bn)가 인터 부호화 모드인 경우(스텝 ST25), 가변 길이 복호부(51)로부터 출력된 인터 예측 파라미터를 움직임 보상 예측부(54)에 출력한다.
인트라 예측부(53)는, 전환 스위치(52)로부터 인트라 예측 파라미터를 받으면, 그 인트라 예측 파라미터를 이용하여, 그 부호화 블록 Bn의 파티션 Pi n에 대한 인트라 예측 처리를 실시해서 인트라 예측 화상 Pi n을 생성한다(스텝 ST26).
움직임 보상 예측부(54)는, 전환 스위치(52)로부터 인터 예측 파라미터를 받으면, 가변 길이 복호부(51)로부터 출력된 부호화 모드 m(Bn)가 다이렉트 모드의 인터 부호화 모드이면, 도 1의 움직임 보상 예측부(5)와 마찬가지로, 공간 다이렉트 모드의 공간 다이렉트 벡터와 시간 다이렉트 모드의 시간 다이렉트 벡터를 생성한다.
움직임 보상 예측부(54)는, 공간 다이렉트 모드의 공간 다이렉트 벡터와 시간 다이렉트 모드의 시간 다이렉트 벡터를 생성하면, 도 1의 움직임 보상 예측부(5)와 마찬가지로, 그 공간 다이렉트 벡터 또는 시간 다이렉트 벡터 중에서, 참조 화상간의 상관이 높아지는 쪽의 다이렉트 벡터를 선택하고, 그 다이렉트 벡터 및 인터 예측 파라미터를 이용하여, 부호화 블록 Bn의 파티션 Pi n에 대한 움직임 보상 예측 처리를 실시하고, 인터 예측 화상 Pi n을 생성한다(스텝 ST27).
한편, 가변 길이 복호부(51)로부터 출력된 부호화 모드 m(Bn)가 다이렉트 모드 이외의 인터 부호화 모드이면, 움직임 보상 예측부(54)의 움직임 보상 처리부(63)이, 전환 스위치(52)로부터 출력된 인터 예측 파라미터에 포함되어 있는 움직임 벡터를 이용하여, 부호화 블록 Bn의 파티션 Pi n에 대한 움직임 보상 예측 처리를 실시하고, 인터 예측 화상 Pi n을 생성한다(스텝 ST27).
역양자화·역변환부(55)는, 가변 길이 복호부(51)로부터 출력된 예측 차분 부호화 파라미터에 포함되어 있는 양자화 파라미터를 이용하여, 가변 길이 복호부(51)로부터 출력된 부호화 블록에 관한 압축 데이터를 역양자화하고, 그 예측 차분 부호화 파라미터에 포함되어 있는 변환 블록 사이즈 단위로, 역양자화의 압축 데이터의 역변환 처리(예를 들면, 역DCT(역이산 코사인 변환)나, 역KL 변환 등의 역변환 처리)를 실시함으로써, 역변환 처리 후의 압축 데이터를 복호 예측 차분 신호(압축 전의 차분 화상을 나타내는 신호)로서 가산부(56)에 출력한다(스텝 ST28).
가산부(56)는, 역양자화·역변환부(55)로부터 복호 예측 차분 신호를 받으면, 그 복호 예측 차분 신호와 인트라 예측부(53) 또는 움직임 보상 예측부(54)에 의해 생성된 예측 화상을 나타내는 예측 신호를 가산함으로써 복호 화상을 생성하고, 그 복호 화상을 나타내는 복호 화상 신호를 인트라 예측용 메모리(57)에 저장함과 아울러, 그 복호 화상 신호를 루프 필터부(58)에 출력한다(스텝 ST29).
스텝 ST23~ST29의 처리는, 계층적으로 분할된 모든 부호화 블록 Bn에 대한 처리가 완료될 때까지 반복 실시된다(스텝 ST30).
루프 필터부(58)는, 가산기(56)로부터 복호 화상 신호를 받으면, 그 복호 화상 신호에 포함되어 있는 부호화 왜곡을 보상하고, 부호화 왜곡 보상 후의 복호 화상 신호가 나타내는 복호 화상을 참조 화상으로서 움직임 보상 예측 프레임 메모리(59)에 저장한다(스텝 ST31).
루프 필터부(58)에 의한 필터링 처리는, 가산기(56)로부터 출력되는 복호 화상 신호의 최대 부호화 블록 혹은 개개의 부호화 블록 단위로 행하더라도 좋고, 1 화면분의 매크로 블록에 상당하는 복호 화상 신호가 출력된 후에 1 화면분 통합하여 행하더라도 좋다.
이상으로 명백한 바와 같이, 본 실시 형태 1에 의하면, 예측 처리가 실시될 때의 처리 단위로 되는 부호화 블록의 최대 사이즈를 결정함과 아울러, 최대 사이즈의 부호화 블록이 계층적으로 분할될 때의 상한의 계층수를 결정하고, 이용 가능한 1 이상의 부호화 모드 중에서, 계층적으로 분할되는 각각의 부호화 블록에 적합한 부호화 모드를 선택하는 부호화 제어부(1)과, 입력 화상을 부호화 제어부(1)에 의해 결정된 최대 사이즈의 부호화 블록으로 분할함과 아울러, 부호화 제어부(1)에 의해 결정된 상한의 계층수에 이를 때까지, 그 부호화 블록을 계층적으로 분할하는 블록 분할부(2)를 마련하고, 블록 분할부(2)에 의해 분할된 부호화 블록에 적합한 부호화 모드로서, 부호화 제어부(1)에 의해 다이렉트 모드의 인터 부호화 모드가 선택된 경우, 움직임 보상 예측부(5)가, 당해 부호화 블록의 주위에 위치하고 있는 부호화 완료 블록의 움직임 벡터로부터 공간 다이렉트 모드의 공간 다이렉트 벡터를 생성함과 아울러, 당해 부호화 블록이 참조 가능한 부호화 완료 픽쳐의 움직임 벡터로부터 시간 다이렉트 모드의 시간 다이렉트 벡터를 생성하고, 그 공간 다이렉트 벡터 또는 시간 다이렉트 벡터 중에서, 참조 화상간의 상관이 높아지는 쪽의 다이렉트 벡터를 선택하고, 그 다이렉트 벡터를 이용하여, 당해 부호화 블록에 대한 움직임 보상 예측 처리를 실시해서 예측 화상을 생성하도록 구성했기 때문에, 소정의 블록 단위에 최적인 다이렉트 모드를 선택하고, 부호량을 삭감할 수 있는 효과를 얻을 수 있다.
또한, 본 실시 형태 1에 의하면, 비트 스트림에 다중화되어 있는 부호화 데이터로부터 계층적으로 분할되어 있는 각각의 부호화 블록에 관한 압축 데이터 및 부호화 모드를 가변 길이 복호하는 가변 길이 복호부(51)를 마련하고, 가변 길이 복호부(51)에 의해 가변 길이 복호된 부호화 블록에 관한 부호화 모드가 다이렉트 모드의 인터 부호화 모드인 경우, 움직임 보상 예측부(54)가, 당해 부호화 블록의 주위에 위치하고 있는 복호 완료 블록의 움직임 벡터로부터 공간 다이렉트 모드의 공간 다이렉트 벡터를 생성함과 아울러, 당해 부호화 블록이 참조 가능한 복호 완료 픽쳐의 움직임 벡터로부터 시간 다이렉트 모드의 시간 다이렉트 벡터를 생성하고, 그 공간 다이렉트 벡터 또는 시간 다이렉트 벡터 중에서, 참조 화상간의 상관이 높아지는 쪽의 다이렉트 벡터를 선택하고, 그 다이렉트 벡터를 이용하여, 그 부호화 블록에 대한 움직임 보상 예측 처리를 실시해서 예측 화상을 생성하도록 구성했기 때문에, 소정의 블록 단위에 최적인 다이렉트 모드를 선택할 수 있는 부호화 데이터를 복호 가능한 동화상 복호 장치가 얻어지는 효과를 얻을 수 있다.
(실시 형태 2)
상기 실시 형태 1에서는, 움직임 보상 예측부(5, 54)(구체적으로는, 유사도 산출부(42))가, 공간 다이렉트 모드의 평가값 SADspatial로서, 공간 다이렉트 모드의 전방 예측 화상 fspatial과 후방 예측 화상 gspatial의 유사도를 산출하는 한편, 시간 다이렉트 모드의 평가값 SADtemporal로서 시간 다이렉트 모드의 전방 예측 화상 ftemporal과 후방 예측 화상 gtemporal의 유사도를 산출하는 것에 대해 나타냈지만, 공간 다이렉트 모드의 평가값으로서, 부호화 블록 Bn의 주위에 위치하고 있는 부호화 완료 블록(복호 완료 블록)의 움직임 벡터의 분산값 σ(spatial)를 산출하는 한편, 시간 다이렉트 모드의 평가값으로서, 부호화 블록 Bn가 참조 가능한 부호화 완료 픽쳐(복호 완료 픽쳐)에서, 부호화 블록 Bn과 공간적으로 동일한 위치에 있는 블록의 주위에 위치하고 있는 부호화 완료 블록(복호 완료 블록)의 움직임 벡터의 분산값 σ(temporal)를 산출하도록 하여도 좋고, 상기 실시 형태 1과 동일한 효과를 상얻을 수 있다.
즉, 유사도 산출부(42)가, 공간 다이렉트 모드의 평가값 SADspatial로서, 공간 다이렉트 모드의 전방 예측 화상 fspatial과 후방 예측 화상 gspatial의 유사도를 산출하는 대신에, 도 16(a)에 나타내는 바와 같이, 부호화 블록 Bn의 주위에 위치하고 있는 부호화 완료 블록(복호 완료 블록)의 움직임 벡터의 분산값 σ(spatial)를 산출한다(하기의 식 (8)을 참조).
또한, 유사도 산출부(42)가, 시간 다이렉트 모드의 평가값 SADtemporal로서, 시간 다이렉트 모드의 전방 예측 화상 ftemporal과 후방 예측 화상 gtemporal의 유사도를 산출하는 대신에, 도 16(b)에 나타내는 바와 같이, 부호화 블록 Bn가 참조 가능한 부호화 완료 픽쳐(복호 완료 픽쳐)에서, 부호화 블록 Bn과 공간적으로 동일한 위치에 있는 블록의 주위에 위치하고 있는 부호화 완료 블록(복호 완료 블록)의 움직임 벡터의 분산값 σ(temporal)를 산출한다(하기의 식 (8)을 참조).
Figure 112017028686585-pat00008
또한, m은 spatial 또는 temporal을 나타내는 기호이다.
다이렉트 벡터 선택부(43)는, 움직임 벡터의 분산값 σ(spatial)와 움직임 벡터의 분산값 σ(temporal)를 비교하여, 움직임 벡터의 분산값 σ(spatial)가 움직임 벡터의 분산값 σ(temporal)보다 큰 경우, 공간 다이렉트 모드의 움직임 벡터(공간 다이렉트 벡터)의 신뢰성이 낮다고 판단해서, 시간 다이렉트 모드의 움직임 벡터(시간 다이렉트 벡터)를 선택한다.
한편, 움직임 벡터의 분산값 σ(temporal)가 움직임 벡터의 분산값 σ(spatial)보다 큰 경우, 시간 다이렉트 모드의 움직임 벡터(시간 다이렉트 벡터)의 신뢰성이 낮다고 판단하여, 공간 다이렉트 모드의 움직임 벡터(공간 다이렉트 벡터)를 선택한다.
상기 실시 형태 1에서는, 시간 다이렉트 벡터와 공간 다이렉트 벡터를 생성하고, 어느 한쪽의 다이렉트 벡터를 선택하는 것에 대해 나타냈지만, 그 시간 다이렉트 벡터나 공간 다이렉트 벡터 외에, 다른 벡터를 후보 벡터로서 부가하고, 그들 후보 벡터 중에서 다이렉트 벡터를 선택하도록 하여도 좋다.
예를 들면, 도 17과 같은 공간 벡터 MV_A, MV_B, MV_C나, 시간 벡터 MV_1~MV_8을 후보 벡터에 부가하여, 이러한 공간 벡터나 시간 벡터로부터 다이렉트 벡터를 선택하도록 하여도 좋다.
또한, 도 18에 나타내는 바와 같이, 복수의 부호화 완료 벡터로부터 1개의 벡터를 생성하고, 그 벡터를 후보 벡터에 부가하도록 하여도 좋다.
이와 같이, 후보 벡터를 늘림으로써 처리량은 증가하지만, 다이렉트 벡터의 정확도가 향상하여, 부호화 효율을 향상시킬 수 있다.
상기 실시 형태 1에서는, 특별히 언급하고 있지 않지만, 다이렉트 벡터의 후보를 슬라이스 단위로 결정하도록 하여도 좋다.
어느 벡터를 후보로 할지를 나타내는 정보는 슬라이스 헤더에 다중한다.
예를 들면, 시간 벡터에 대해서는, 패닝(panning)하는 영상에서는 시간 벡터의 효과가 낮기 때문에, 선택 후보로부터 제외하도록 하는 한편, 카메라가 고정인 영상에서는 공간 벡터의 효과가 크기 때문에 후보에 부가하는 등 방법을 생각할 수 있다.
후보로 되는 벡터가 많은 쪽이, 보다 원화상에 가까운 예측 화상을 생성할 수 있지만, 인코더의 처리량이 증대하기 때문에, 효과가 없는 벡터는 미리 후보로부터 제외해 두는 등, 영상의 국소성을 고려해서 결정하는 것에 의해, 처리량과 부호화 효율의 밸런스를 도모할 수 있다.
후보로 되는 벡터의 전환은, 예를 들면, 벡터마다 온/오프의 플래그를 마련하고, 그 플래그가 온의 벡터만을 후보로 하는 방법을 생각할 수 있다.
선택 후보로 되는 움직임 벡터는, 슬라이스 헤더로 전환하더라도 좋고, 시퀀스 헤더나 픽쳐 헤더 등, 상위 레이어로 전환하여도 좋다. 또한, 선택 후보로 되는 세트를 하나 이상 준비하고, 그 후보 세트의 인덱스를 부호화하도록 하여도 좋다.
또한, 매크로 블록이나 부호화 블록마다 전환하여도 좋다. 매크로 블록이나 부호화 블록마다 전환함으로써, 국소성을 갖게 할 수 있어, 부호화 효율 개선의 효과가 있다.
또한, 선택 후보는 파티션 블록 사이즈마다 일의적로 결정해 두어도 괜찮다. 일반적으로 블록 사이즈가 작아지면 공간적인 상관이 약해지기 때문에, 미디언 예측으로 결정되는 벡터의 예측 정밀도가 나빠진다고 생각된다. 그 때문에, 예를 들면, 미디언 예측으로 결정되는 움직임 벡터를 후보로부터 제외함으로써, 부호화 효율을 떨어뜨리지 않고 처리량을 줄일 수 있다.
상기 실시 형태 1에서는, 시간 다이렉트 벡터와 공간 다이렉트 벡터의 쌍방이 존재하는 경우를 상정하여 설명했지만, 부호화 블록 Bn에 대해, 인트라 부호화 처리를 실시하고 있는 경우 등에는, 움직임 벡터가 존재하지 않는 경우도 있다. 이 경우, 제로 벡터로 하는 방법이나, 후보로부터 제외하는 등 방법이 생각된다.
제로 벡터로 하는 경우는, 후보가 증가하기 때문에, 부호화 효율을 향상시킬 수 있지만, 처리량이 증가한다. 다이렉트 벡터의 후보로부터 제외하는 경우는 처리량을 줄일 수 있다.
상기 실시 형태 1에서는, 다이렉트 벡터를 생성하는 것에 대해 나타냈지만, 그 다이렉트 벡터를 통상의 움직임 벡터의 부호화에 사용하는 예측 벡터로서 사용하도록 하여도 좋다.
다이렉트 벡터를 예측 벡터로서 사용함으로써, 처리량은 증가하지만, 예측의 정밀도가 높아지기 대문에, 부호화 효율을 향상시킬 수 있다.
상기 실시 형태 1에서는, 부호화 블록 Bn보다 시간적으로 이전에 있는 화상과, 이후에 있는 화상을 조합하여, 평가값 SAD를 산출하는 예를 나타냈지만(도 15를 참조), 도 19에 나타내는 바와 같이, 시간적으로 이전에 있는 화상만을 조합해서, 평가값 SAD를 산출하도록 하여도 좋다. 또한, 시간적으로 이후에 있는 화상만을 조합하여, 평가값 SAD를 산출하도록 하여도 좋다.
이 경우, 시간 벡터는, 하기의 식 (9), (10)로 나타내어진다.
Figure 112017028686585-pat00009
Figure 112017028686585-pat00010
또한, d는 시간적인 거리를 나타내고, d0은 리스트 0의 참조 화상의 시간적 거리를 나타내고, d1은 리스트 0의 참조 화상의 시간적 거리를 나타내는 것으로 한다.
또, vcol과 dcol은 참조 화상 중에서 공간적으로 동일한 위치에 있는 블록의 벡터와, 그 벡터가 나타내는 참조 화상의 시간적인 거리를 나타내는 것으로 한다.
2개의 참조 화상 리스트가 동일한 참조 화상을 나타내고 있는 경우이더라도, 리스트에 2매 이상의 참조 화상이 있으면, 도 19와 동일한 방법으로 적용 가능하다.
상기 실시 형태 1에서는, 2개의 참조 화상 리스트에 2매 이상 참조 화상이 있는 경우를 상정하고 있지만, 실제는 참조 화상이 1매밖에 없는 경우도 생각할 수 있다.
이 경우, 2개의 참조 화상 리스트에 동일한 참조 화상이 세트되어 있으면, 시간 벡터는 사용하지 않고 , 공간 벡터만으로 판단하는 것을 생각할 수 있다. 다른 참조 화상이 세트되어 있는 경우는 전술한 방식으로 대응 가능하다.
상기 실시 형태 1에서는, 2 방향으로부터의 예측 처리를 상정하고 있지만, 1 방향만의 예측 처리이어도 좋다. 1 방향의 벡터로부터 예측하는 경우는 어느 벡터를 사용할지를 나타내는 정보를 부호화하여 전송한다. 이것에 의해, 오클루젼(occlusion) 등의 문제에 대처하는 것이 가능해져, 예측 정밀도의 향상에 기여한다.
상기 실시 형태 1의 다이렉트 모드에서는, 2개의 벡터를 이용한 예측을 상정하고 있지만, 벡터의 개수는 3개 이상이더라도 좋다.
이 경우, 예를 들면, 복수의 벡터 후보 중, 임계값 Th 이하의 평가값 SAD로 되는 후보의 모두를 사용하여 예측 화상을 생성하는 방법이 생각된다. 또한, 참조 화상 리스트도 그 벡터분 유지하고 있다.
또한, 임계값 Th 이하의 후보 모두를 사용하는 것이 아니라, 슬라이스 헤더 등에, 미리 사용하는 최대 벡터수를 정해 두고, 평가값이 작은 후보로부터 최대 벡터수만큼 이용해서 예측 화상을 생성하도록 하여도 좋다.
일반적으로, 예측 화상에 이용하는 참조 화상이 많을수록, 성능이 향상되는 것이 알려져 있다. 그 때문에, 처리량은 증가하지만, 부호화 효율의 향상에 기여한다.
상기 실시 형태 1에서는, 참조 화상간의 평가에 의해서 벡터를 결정하고 있지만, 이것은 공간적으로 인접하는 부호화 완료된 화상과 참조 화상의 비교로 평가하여도 좋다.
이 경우는, 도 20에 나타내는 L자형의 화상을 이용하여 행하는 것을 생각할 수 있다.
또한, 공간적으로 인접하는 화상을 이용하는 경우, 파이프라인(pipeline) 처리의 사정으로 부호화 완료된 화상이 늦어질 가능성도 있다. 이 경우, 대신에 예측 화상을 이용하는 것을 생각할 수 있다.
상기 실시 형태 1에서는, 도 9에 나타내는 바와 같이, 부호화 블록 Bn의 사이즈가 Ln=Mn인 것을 나타냈지만, 부호화 블록 Bn의 사이즈가 Ln≠Mn이어도 좋다.
예를 들면, 도 21에 나타내는 바와 같이, 부호화 블록 Bn의 사이즈가 Ln=kMn으로 되는 경우를 생각할 수 있다.
다음의 분할에서는, (Ln +1, Mn+1)=(Ln, Mn)로 되고, 이후의 분할은, 도 9와 동일한 분할을 행하더라도 좋고, (Ln +1, Mn+1)=(Ln/2, Mn/2)와 같이 분할을 행하더라도 좋다(도 22를 참조).
또한, 도 23에 나타내는 바와 같이, 도 21과 도 22의 분할 중 어떤 것을 선택할 수 있도록 하여도 좋다. 선택할 수 있도록 한 경우는, 어느 분할을 선택했는지를 나타내는 플래그를 부호화한다. 이 케이스는, 예를 들면, 비특허문헌 1의 H.264와 같은 16×16을 1개의 블록으로 하는 것을 옆으로 연결하는 것만으로 가능하기 때문에, 기존 방식과의 호환성을 유지할 수 있다.
상기에서는, 부호화 블록 Bn의 사이즈가 Ln=kMn으로 되는 경우를 나타냈지만, kLn=Mn과 같이 세로에 연결한 것이어도, 동일한 생각으로 분할이 가능하다는 것은 말할 필요도 없다.
상기 실시 형태 1에서는, 변환·양자화부(7), 역양자화·역변환부(8, 55)가 예측 차분 부호화 파라미터에 포함되어 있는 변환 블록 사이즈 단위로 변환 처리(역변환 처리)를 행하는 것을 나타냈지만, 변환 블록 사이즈 단위는, 변환 처리 단위에 따라 일의적으로 결정하여도 좋고, 도 24에 나타내는 바와 같이 계층 구조로 하여도 좋다. 이 경우, 각 계층에서는 분할할지 여부를 나타내는 플래그를 부호화한다.
상기 분할은, 파티션 단위로 행하더라도 좋고, 부호화 블록 단위로 행하더라도 좋다.
상기 변환은, 정방형으로의 변환을 가정하고 있지만, 장방형 등, 다른 직사각형으로의 변환이더라도 좋다.
(실시 형태 3)
상기 실시 형태 1에서는, 움직임 보상 예측부(5, 54)의 다이렉트 벡터 생성부(23, 62)가 공간 다이렉트 벡터와 시간 다이렉트 벡터를 생성하는 것을 나타냈지만, 그 공간 다이렉트 벡터와 시간 다이렉트 벡터를 생성할 때, 초기 탐색점을 결정하고, 그 초기 탐색점의 주위를 탐색함으로써, 다이렉트 벡터를 결정하도록 하여도 좋다.
도 25는 본 발명의 실시 형태 3에 따른 동화상 부호화 장치의 움직임 보상 예측부(5)를 나타내는 구성도이며, 도면에서, 도 2와 동일한 부호는 동일 또는 상당히 부분을 나타내기 때문에 설명을 생략한다.
다이렉트 벡터 생성부(25)는 공간 다이렉트 벡터와 시간 다이렉트 벡터를 생성하는 처리를 실시한다.
도 26은 움직임 보상 예측부(5)를 구성하고 있는 다이렉트 벡터 생성부(25)를 나타내는 구성도이다.
도 26에서, 초기 벡터 생성부(34)는 부호화 완료된 블록의 움직임 벡터로부터 초기 벡터를 생성하는 처리를 실시한다.
움직임 벡터 탐색부(35)는 초기 벡터 생성부(34)에 의해 생성된 초기 벡터가 나타내는 초기 탐색점의 주위를 탐색함으로써, 다이렉트 벡터를 결정하는 처리를 실시한다.
도 27은 다이렉트 벡터 생성부(25)를 구성하고 있는 초기 벡터 생성부(34)를 나타내는 구성도이다.
도 27에서, 공간 벡터 생성부(71)는 예를 들면 도 3의 공간 다이렉트 벡터 생성부(31)와 동일한 방법으로, 부호화 완료된 블록의 움직임 벡터로부터 공간 벡터를 생성하는 처리를 실시한다.
시간 벡터 생성부(72)는 예를 들면 도 3의 시간 다이렉트 벡터 생성부(32)와 동일한 방법으로, 부호화 완료된 블록의 움직임 벡터로부터 시간 벡터를 생성하는 처리를 실시한다.
초기 벡터 판정부(73)는 공간 벡터 생성부(71)에 의해 생성된 공간 벡터 또는 시간 벡터 생성부(72)에 의해 생성된 시간 벡터 중 어느 한쪽을 초기 벡터로서 선택하는 처리를 실시한다.
도 28은 초기 벡터 생성부(34)를 구성하고 있는 초기 벡터 판정부(73)를 나타내는 구성도이다.
도 28에서, 움직임 보상부(81)는 도 4의 움직임 보상부(41)와 동일한 방법으로, 공간 다이렉트 모드의 리스트 0 예측 화상, 공간 다이렉트 모드의 리스트 1 예측 화상, 시간 다이렉트 모드의 리스트 0 예측 화상 및 시간 다이렉트 모드의 리스트 1 예측 화상을 생성하는 처리를 실시한다.
유사도 산출부(82)는 도 4의 유사도 산출부(42)와 동일한 방법으로, 공간 평가값으로서, 공간 다이렉트 모드의 리스트 0 예측 화상과 리스트 1 예측 화상의 유사도를 산출함과 아울러, 시간 평가값으로서, 시간 다이렉트 모드의 리스트 0 예측 화상과 리스트 1 예측 화상의 유사도를 산출하는 처리를 실시한다.
초기 벡터 결정부(83)는 유사도 산출부(82)에 의해 산출된 공간 평가값과 시간 평가값을 비교하고, 그 비교 결과에 따라, 공간 벡터 또는 시간 벡터를 선택하는 처리를 실시한다.
도 29는 본 발명의 실시 형태 3에 따른 동화상 복호 장치의 움직임 보상 예측부(54)를 나타내는 구성도이며, 도면에서, 도 6과 동일한 부호는 동일 또는 상당히 부분을 나타내기 때문에, 설명을 생략한다.
다이렉트 벡터 생성부(64)는 공간 다이렉트 벡터와 시간 다이렉트 벡터를 생성하는 처리를 실시한다.
또, 다이렉트 벡터 생성부(64)의 내부 구성은 도 25의 다이렉트 벡터 생성부(25)와 동일하다.
다음으로 동작에 대해 설명한다.
상기 실시 형태 1과 비교하여, 움직임 보상 예측부(5, 54)의 다이렉트 벡터 생성부(23, 62)가 다이렉트 벡터 생성부(25, 64)를 대신할 수 있고 있는 점 이외는 동일하기 때문에, 다이렉트 벡터 생성부(25, 64)의 처리 내용만을 설명한다.
단, 다이렉트 벡터 생성부(25, 64)의 처리 내용은 동일하기 때문에, 다이렉트 벡터 생성부(25)의 처리 내용을 설명한다.
다이렉트 벡터 생성부(25)의 초기 벡터 생성부(34)는 부호화 완료된 블록의 움직임 벡터로부터 초기 벡터 MV_first를 생성한다.
즉, 초기 벡터 생성부(34)의 공간 벡터 생성부(71)는, 예를 들면, 도 3의 공간 다이렉트 벡터 생성부(31)와 동일한 방법으로, 부호화 완료된 블록의 움직임 벡터로부터 공간 벡터를 생성한다. 단, 다른 방법으로 공간 벡터를 생성하도록 하여도 좋다.
초기 벡터 생성부(34)의 시간 벡터 생성부(72)는, 예를 들면, 도 3의 시간 다이렉트 벡터 생성부(32)와 동일한 방법으로, 부호화 완료된 블록의 움직임 벡터로부터 시간 벡터를 생성한다. 단, 다른 방법으로 시간 벡터를 생성하도록 하여도 좋다.
초기 벡터 생성부(34)의 초기 벡터 판정부(73)는, 공간 벡터 생성부(71)가 공간 벡터를 생성하고, 시간 벡터 생성부(72)가 시간 벡터를 생성하면, 그 공간 벡터 또는 시간 벡터 중에서, 어느 한쪽의 벡터를 초기 벡터 MV_first로서 선택한다.
즉, 초기 벡터 판정부(73)의 움직임 보상부(81)는, 도 4의 움직임 보상부(41)와 동일한 방법으로, 공간 다이렉트 모드의 리스트 0 예측 화상, 공간 다이렉트 모드의 리스트 1 예측 화상, 시간 다이렉트 모드의 리스트 0 예측 화상 및 시간 다이렉트 모드의 리스트 1 예측 화상을 생성한다.
초기 벡터 판정부(73)의 유사도 산출부(82)는, 도 4의 유사도 산출부(42)와 동일한 방법으로, 공간 평가값으로서, 공간 다이렉트 모드의 리스트 0 예측 화상과 리스트 1 예측 화상의 유사도를 산출함과 아울러, 시간 평가값으로서, 시간 다이렉트 모드의 리스트 0 예측 화상과 리스트 1 예측 화상의 유사도를 산출한다.
초기 벡터 판정부(73)의 초기 벡터 결정부(83)는, 유사도 산출부(82)에 의해 산출된 공간 평가값과 시간 평가값의 비교 결과를 참조함으로써, 공간 벡터 또는 시간 벡터 중, 예측 화상간의 유사도가 높은 쪽의 벡터를 선택한다.
다이렉트 벡터 생성부(25)의 움직임 벡터 탐색부(35)는, 초기 벡터 생성부(34)가 초기 벡터 MV_first를 생성하면, 도 30에 나타내는 바와 같이, 그 초기 벡터 MV_first가 나타내는 초기 탐색점(블록)을 중심으로, 그 주위의 ±n의 범위를 탐색함으로써, 다이렉트 벡터를 결정한다.
탐색시의 평가는, 예를 들면, 도 28의 유사도 산출부(82)와 동등한 처리를 행하도록 하여도 좋다. 이 경우, 초기 벡터가 나타내는 위치를 v라고 하면, 하기의 식 (11)과 같이, 탐색의 평가값 SAD를 산출한다.
Figure 112017028686585-pat00011
단, 탐색 범위 n은 고정이어도 좋고, 슬라이스 헤더 등 상위 헤더로 결정하여도 좋다. 또한, 탐색점의 분포 범위(탐색 범위)를 정방형이라고 가정하고 있지만, 직사각형이어도 좋고, 마름모형 등이어도 좋다.
움직임 벡터 탐색부(35)는, 탐색의 평가값 SAD를 산출하면, 탐색 범위 내에서, 평가값 SAD가 가장 작은 움직임 벡터를 다이렉트 벡터로서 움직임 보상 처리부(24)에 출력한다.
본 실시 형태 3에서는, 시간 벡터와 공간 벡터를 생성하고, 어느 한쪽의 벡터를 초기 벡터로서 선택하는 것에 대해 나타냈지만, 그 시간 벡터나 공간 벡터 외에, 다른 벡터를 후보 벡터로서 부가하고, 그들 후보 벡터 중에서 초기 벡터를 선택하도록 하여도 좋다.
예를 들면, 도 17과 같은 공간 벡터 MV_A, MV_B, MV_C나, 시간 벡터 MV_1~MV_8을 후보 벡터에 부가하고, 이들 공간 벡터나 시간 벡터로부터 초기 벡터를 선택하도록 하여도 좋다.
또한, 도 18에 나타내는 바와 같이, 복수의 부호화 완료 벡터로부터 1개의 벡터를 생성하고, 그 벡터를 후보 벡터에 부가하도록 하여도 좋다.
이와 같이, 후보 벡터를 늘림으로써 처리량은 증가하지만, 초기 벡터의 정확도가 향상하여, 부호화 효율을 향상시킬 수 있다.
본 실시 형태 3에서는, 다이렉트 벡터의 후보를 슬라이스 단위로 결정하도록 하여도 좋다.
어느 벡터를 후보로 할지 나타내는 정보는 슬라이스 헤더에 다중한다.
예를 들면, 시간 벡터에 대해서는, 패닝하는 영상에서는 시간 벡터의 효과가 낮기 때문에, 선택 후보로부터 제외하도록 하는 한편, 카메라가 고정인 영상에서는 시간 벡터의 효과가 크기 때문에 후보에 부가하는 등 방법을 생각할 수 있다.
후보로 되는 벡터가 많은 쪽이 보다 원화상에 가까운 예측 화상을 생성할 수 있지만, 인코더의 처리량이 증대하기 때문에, 효과가 없는 벡터는 미리 후보로부터는 제외해 두는 등, 영상의 국소성을 고려하여 결정하는 것에 의해, 처리량과 부호화 효율의 밸런스를 도모할 수 있다.
후보로 되는 벡터의 변환은, 예를 들면, 벡터마다 온/오프의 플래그를 마련하고, 그 플래그가 온인 벡터만을 후보로 하는 방법을 생각할 수 있다.
선택 후보로 되는 움직임 벡터는, 슬라이스 헤더로 전환하여도 좋고, 시퀀스 헤더나 픽쳐 헤더 등, 상위 레이어로 전환하여도 좋다. 또한, 선택 후보로 되는 세트를 하나 이상 준비하고, 그 후보 세트의 인덱스를 부호화하도록 하여도 좋다.
또한, 매크로 블록이나 부호화 블록마다 전환하여도 좋다. 매크로 블록이나 부호화 블록마다 전환함으로써, 국소성을 갖게 할 수 있어, 부호화 효율 개선의 효과가 있다.
또한, 선택 후보는 파티션 블록 사이즈마다 일의적으로 결정해 두어도 좋다. 일반적으로 블록 사이즈가 작아지면 공간적인 상관이 약해지기 때문에, 미디언 예측으로 결정되는 벡터의 예측 정밀도가 나빠진다고 생각할 수 있다. 그 때문에, 예를 들면, 미디언 예측으로 결정되는 움직임 벡터를 후보로부터 제외함으로써, 부호화 효율을 낮추지 않고 처리량을 줄일 수 있다.
본 실시 형태 3에서는, 시간 벡터와 공간 벡터의 쌍방이 존재하는 경우를 상정하여 설명했지만, 부호화 블록 Bn에 대해, 인트라 부호화 처리를 실시하고 있는 경우 등에는, 움직임 벡터가 존재하지 않는 경우도 있다. 이 경우, 제로 벡터로 하는 방법이나, 후보로부터 제외하는 등 방법을 생각할 수 있다.
제로 벡터로 하는 경우는, 후보가 증가하기 때문에, 부호화 효율을 향상시킬 수 있지만 처리량이 증가한다. 다이렉트 벡터의 후보로부터 제외하는 경우는 처리량을 줄일 수 있다.
본 실시 형태 3에서는, 다이렉트 벡터를 생성하는 것에 대해 나타냈지만, 그 다이렉트 벡터를 통상의 움직임 벡터의 부호화에 사용하는 예측 벡터로서 사용하도록 하여도 좋다.
다이렉트 벡터를 예측 벡터로서 사용함으로써, 처리량은 증가하지만, 예측의 정밀도가 상승하기 때문에, 부호화 효율을 향상시킬 수 있다.
본 실시 형태 3에서는, 부호화 블록 Bn보다 시간적으로 이전에 있는 화상과, 이후에 있는 화상을 조합하고, 평가값 SAD를 산출하는 예를 나타냈지만(도 15를 참조), 도 19에 나타내는 바와 같이, 시간적으로 이전에 있는 화상만을 조합하고, 평가값 SAD를 산출하도록 하여도 좋다. 또한, 시간적으로 이후에 있는 화상만을 조합하고, 평가값 SAD를 산출하도록 하여도 좋다.
이 경우, 시간 벡터는 하기의 식 (12), (13)로 나타내진다.
Figure 112017028686585-pat00012
Figure 112017028686585-pat00013
또한, d는 시간적인 거리를 나타내고, d0은 리스트 0의 참조 화상의 시간적 거리를 나타내고, d1은 리스트 0의 참조 화상의 시간적 거리를 나타내는 것으로 한다.
또, vcol과 dcol은 참조 화상 중에서 공간적으로 동일한 위치에 있는 블록의 벡터와, 그 벡터가 나타내는 참조 화상의 시간적인 거리를 나타내는 것으로 한다.
2개의 참조 화상 리스트가 동일한 참조 화상을 나타내고 있는 경우이더라도, 도 19와 동일한 방법으로 적용 가능하다.
본 실시 형태 3에서는, 2개의 참조 화상 리스트에 2매 이상 참조 화상이 있는 경우를 상정하고 있지만, 실제는 참조 화상이 1매밖에 없는 경우도 생각할 수 있다.
이 경우, 2개의 참조 화상 리스트에 동일한 참조 화상이 세트되어 있으면, 시간 벡터는 사용하지 않고, 공간 벡터만으로 판단하는 것을 생각할 수 있다. 상이한 참조 화상이 세트되어 있는 경우는 전술한 방식으로 대응 가능하다.
본 실시 형태 3에서는, 2 방향으로부터의 예측 처리를 상정하고 있지만, 1 방향만의 예측 처리이어도 좋다. 1 방향의 벡터로부터 예측하는 경우는, 어느 벡터를 사용할지 나타내는 정보를 부호화하여 전송한다. 이것에 의해, 오클루젼 등의 문제에 대처하는 것이 가능해져, 예측 정밀도의 향상에 기여한다.
본 실시 형태 3에서는, 2개의 벡터를 이용한 예측을 상정하고 있지만, 벡터의 개수는 3개 이상이어도 좋다.
이 경우, 예를 들면, 복수의 벡터 후보 중, 임계값 Th 이하의 평가값 SAD로 되는 후보의 모두를 사용하여 예측 화상을 생성하는 방법을 생각할 수 있다.
또한, 임계값 Th 이하의 후보의 모두를 사용하는 것이 아니라, 슬라이스 헤더 등에, 미리 사용하는 최대 벡터수를 정해 두고, 평가값의 작은 후보로부터 최대 벡터수만큼 이용하여 예측 화상을 생성하도록 하여도 좋다.
본 실시 형태 3에서는, 참조 화상간의 평가에 의해서 벡터를 결정하고 있지만, 이것은 공간적으로 인접하는 부호화 완료된 화상과 참조 화상의 비교로 평가하여도 좋다.
이 경우는, 도 20에 나타내는 L자형의 화상을 이용해 행하는 것을 생각할 수 있다.
또한, 공간적으로 인접하는 화상을 이용하는 경우, 파이프라인 처리의 사정으로 부호화 완료된 화상이 지연될 가능성도 있다. 이 경우, 대신에 예측 화상을 이용하는 것을 생각할 수 있다.
본 실시 형태 3에서는, 초기 벡터를 결정하고 나서, 움직임 벡터의 탐색을 행하고 있지만, 움직임 벡터의 탐색을 행할지 여부를 슬라이스 단위로 플래그를 이용하여 결정하도록 하여도 좋다.
이 경우, 부호화 효율이 떨어지지만, 처리량을 크게 삭감할 수 있는 효과가 있는 효과가 있다.
단, 플래그는 슬라이스 단위이어도 좋고, 시퀀스나 픽쳐 등의 상위 레이어로 결정하여도 좋다. 플래그가 오프이고, 움직임 탐색을 행하지 않는 경우는 상기 실시 형태 1과 동등한 동작을 행한다.
본 실시 형태 3에서는, 다이렉트 벡터 생성부(25, 64)가, 블록 사이즈에 의존하지 않고 행하는 것을 상정하고 있지만, 이 처리는 소정의 사이즈 이하의 경우에만 제한하여도 좋다.
소정의 사이즈 이하로 제한할지 여부를 나타내는 플래그나, 어느 블록 사이즈 이하로 할지를 나타내는 정보는 슬라이스 등 상위 헤더에 다중하여도 좋고, 최대 CU 사이즈에 따라 변화시켜도 좋다.
블록 사이즈가 작아지면, 참조 화상간의 상관이 낮아져, 오차가 커지는 경향이 있다. 그 때문에, 어느 벡터를 선택하여도, 그다지 성능에 영향이 없는 케이스도 많아, 큰 블록 사이즈로의 처리를 오프로 함으로써, 부호화 성능을 떨어뜨리는 일없이 처리량을 줄이는 효과가 있다.
(실시 형태 4)
상기 실시 형태 1에서는, 움직임 보상 예측부(5, 54)가, 부호화 블록의 주위에 위치하고 있는 부호화 완료 블록(복호 완료 블록)의 움직임 벡터로부터 공간 다이렉트 모드의 공간 다이렉트 벡터를 생성함과 아울러, 당해 부호화 블록이 참조 가능한 부호화 완료 픽쳐(복호 완료 픽쳐)의 움직임 벡터로부터 시간 다이렉트 모드의 시간 다이렉트 벡터를 생성하고, 그 공간 다이렉트 벡터 또는 시간 다이렉트 벡터 중에서, 참조 화상간의 상관이 높아지는 쪽의 다이렉트 벡터를 선택하는 것에 대해 나타냈지만, 동화상 부호화 장치의 움직임 보상 예측부(5)에서는, 선택 가능한 1 이상의 움직임 벡터 중에서, 예측 화상의 생성에 적합한 움직임 벡터를 선택하고, 그 움직임 벡터를 이용하여, 부호화 블록에 대한 움직임 보상 예측 처리를 실시해서 예측 화상을 생성함과 아울러, 그 움직임 벡터를 나타내는 인덱스 정보를 가변 길이 부호화부(13)에 출력하도록 하여도 좋다.
한편, 동화상 복호 장치의 움직임 보상 예측부(54)에서는, 비트 스트림에 다중화되어 있는 인덱스 정보가 나타내는 움직임 벡터를 이용하여, 부호화 블록에 대한 움직임 보상 예측 처리를 실시해서 예측 화상을 생성하도록 하여도 좋다.
도 31은 본 발명의 실시 형태 4에 따른 동화상 부호화 장치의 움직임 보상 예측부(5)를 나타내는 구성도이며, 도면에서, 도 2와 동일한 부호는 동일 또는 상당히 부분을 나타내기 때문에 설명을 생략한다.
다이렉트 벡터 생성부(26)는 선택 가능한 움직임 벡터와, 그 움직임 벡터를 나타내는 인덱스 정보가 기술되어 있는 다이렉트 벡터 후보 인덱스를 참조하여, 선택 가능한 1 이상의 움직임 벡터 중에서, 예측 화상의 생성에 적합한 움직임 벡터를 선택하고, 그 움직임 벡터를 다이렉트 벡터로서 움직임 보상 처리부(24)에 출력함과 아울러, 그 움직임 벡터를 나타내는 인덱스 정보를 가변 길이 부호화부(13)에 출력하는 처리를 실시한다.
또, 가변 길이 부호화부(13)는 압축 데이터나 부호화 모드 등을 가변 길이 부호화할 때, 그 인덱스 정보를 인터 예측 파라미터에 포함하여 가변 길이 부호화한다.
도 32는 본 발명의 실시 형태 4에 따른 동화상 복호 장치의 움직임 보상 예측부(54)를 나타내는 구성도이며, 도면에서, 도 6과 동일한 부호는 동일 또는 상당히 부분을 나타내기 때문에 설명을 생략한다.
다이렉트 벡터 생성부(65)는 선택 가능한 움직임 벡터와, 그 움직임 벡터를 나타내는 인덱스 정보가 기술되어 있는 다이렉트 벡터 후보 인덱스가 입력되고, 그 다이렉트 벡터 후보 인덱스로부터, 인터 예측 파라미터에 포함되어 있는 인덱스 정보가 나타내는 움직임 벡터를 판독하고, 그 움직임 벡터를 다이렉트 벡터로서 움직임 보상 처리부(63)에 출력하는 처리를 실시한다.
다음으로 동작에 대해 설명한다.
상기 실시 형태 1과 비교하여, 움직임 보상 예측부(5, 54)의 다이렉트 벡터 생성부(23, 62)가, 다이렉트 벡터 생성부(26, 65)를 대신하고 있는 점 이외는 동일하기 때문에, 다이렉트 벡터 생성부(26, 65)의 처리 내용만을 설명한다.
움직임 보상 예측부(5)의 다이렉트 벡터 생성부(26)는, 부호화 모드 m(Bn)가 다이렉트 모드인 경우, 부호화 블록 Bn의 파티션 Pi n마다 다이렉트 벡터를 생성한다.
즉, 다이렉트 벡터 생성부(26)는, 도 33에 나타내는 다이렉트 벡터 후보 인덱스를 참조하여, 선택 가능한 1 이상의 움직임 벡터 중에서, 예측 화상의 생성에 적합한 움직임 벡터를 선택한다.
도 33의 예에서는, 5개의 움직임 벡터가 선택 가능한 움직임 벡터로서 열거되어 있지만, 공간 예측에서는, 「median」이 가장 많이 선택되기 때문에, 「median」에 인덱스 0이 할당되어 있다.
다이렉트 벡터 생성부(26)는, 예측 화상의 생성에 적합한 움직임 벡터를 선택할 때, 하기의 식 (14)에 나타내는 바와 같이, 선택 가능한 움직임 벡터로부터 얻어지는 예측 화상과 원화상의 왜곡과, 선택 가능한 움직임 벡터의 인덱스 부호량으로부터 코스트 R을 산출하고, 복수의 움직임 벡터 중에서, 코스트 R이 최소인 움직임 벡터를 선택한다.
Figure 112017028686585-pat00014
다이렉트 벡터 생성부(26)는, 코스트 R이 최소인 움직임 벡터를 선택하면, 그 움직임 벡터를 다이렉트 벡터로서 움직임 보상 처리부(24)에 출력함과 아울러, 그 움직임 벡터를 나타내는 인덱스 정보를 가변 길이 부호화부(13)에 출력한다.
예를 들면, 코스트 R이 최소인 움직임 벡터로서 「median」을 선택하고 있으면, 인덱스 0을 가변 길이 부호화부(13)에 출력하고, 「MV_A」를 선택하고 있으면, 인덱스 1을 가변 길이 부호화부(13)에 출력한다.
가변 길이 부호화부(13)는, 다이렉트 벡터 생성부(26)로부터 인덱스 정보를 받으면, 압축 데이터나 부호화 모드 등을 가변 길이 부호화할 때, 그 인덱스 정보를 인터 예측 파라미터에 포함하여 가변 길이 부호화한다.
움직임 보상 예측부(54)의 다이렉트 벡터 생성부(65)는, 부호화 모드 m(Bn)가 다이렉트 모드인 경우, 부호화 블록 Bn의 파티션 Pi n마다 다이렉트 벡터를 생성한다.
즉, 다이렉트 벡터 생성부(65)는, 도 31의 다이렉트 벡터 생성부(26)와 동일한 다이렉트 벡터 후보 인덱스가 입력되고 있고(예를 들면, 도 33의 다이렉트 벡터 후보 인덱스), 전환 스위치(61)로부터 인덱스 정보를 포함하는 인터 예측 파라미터를 받으면, 그 다이렉트 벡터 후보 인덱스로부터, 그 인덱스 정보가 나타내는 움직임 벡터를 판독하고, 그 움직임 벡터를 다이렉트 벡터로서 움직임 보상 처리부(63)에 출력한다.
예를 들면, 인덱스 정보가 인덱스 0이면, 다이렉트 벡터로서 「median」을 출력하고, 인덱스 정보가 인덱스 1이면, 다이렉트 벡터로서 「MV_A」를 출력한다.
이상으로 명백한 바와 같이, 본 실시 형태 4에 의하면, 선택 가능한 1 이상의 움직임 벡터 중에서, 예측 화상의 생성에 적합한 움직임 벡터를 선택하고, 그 움직임 벡터를 이용하여, 부호화 블록에 대한 움직임 보상 예측 처리를 실시해서 예측 화상을 생성함과 아울러, 그 움직임 벡터를 나타내는 인덱스 정보를 가변 길이 부호화부(13)에 출력하도록 구성했기 때문에, 상기 실시 형태 1과 마찬가지로, 소정의 블록 단위에 최적인 다이렉트 모드를 선택하여, 부호량을 삭감할 수 있는 효과를 얻을 수 있다.
본 실시 형태 4에서는, 선택 가능한 위치에 있는 움직임 벡터가 존재하는 경우를 상정하여 설명했지만, 부호화 블록 Bn에 대해, 인트라 부호화 처리를 실시하고 있는 경우 등에는, 움직임 벡터가 존재하지 않는 경우도 있다. 이 경우, 제로 벡터로 하는 방법이나, 후보로부터 제외하는 등 방법을 생각할 수 있다.
제로 벡터로 하는 경우는, 후보가 증가하기 때문에, 부호화 효율을 향상시킬 수 있지만, 처리량이 증가한다. 다이렉트 벡터의 후보로부터 제외하는 경우는 처리량을 줄일 수 있다.
본 실시 형태 4에서는, 다이렉트 벡터를 생성하는 것에 대해 나타냈지만, 그 벡터를 통상의 움직임 벡터의 부호화에 사용하는 예측 벡터로서 사용하도록 하여도 좋다.
예측 벡터로서 사용함으로써, 처리량은 증가하지만, 예측의 정밀도가 높아지기 때문에, 부호화 효율을 향상시킬 수 있다.
본 실시 형태 4에서는, 선택 가능한 움직임 벡터의 후보가 고정되어 있지만, 선택 가능한 움직임 벡터의 후보를 슬라이스 단위로 결정하도록 하여도 좋다.
어느 벡터를 후보로 할지 나타내는 정보는 슬라이스 헤더에 다중한다.
예를 들면, 시간 벡터에 대해서는, 패닝하는 영상에서는 시간 벡터의 효과가 낮기 때문에, 선택 후보로부터 제외하도록 하는 한편, 카메라가 고정인 영상에서는 시간 벡터의 효과가 크기 때문에 후보에 부가하는 등의 방법을 생각할 수 있다.
후보로 되는 벡터가 많은 쪽이 보다 원화상에 가까운 예측 화상을 생성할 수 있지만, 인코더의 처리량이 증대하기 때문에, 효과가 없는 벡터는 미리 후보로부터는 제외해 두는 등, 영상의 국소성을 고려해서 결정하는 것에 의해, 처리량과 부호화 효율의 밸런스를 도모할 수 있다.
후보로 되는 벡터의 변환은, 예를 들면, 벡터마다 온/오프의 플래그를 마련하고, 그 플래그가 온인 벡터만을 후보로 하는 방법을 생각할 수 있다.
선택 후보로 되는 움직임 벡터는, 슬라이스 헤더로 전환하여도 좋고, 시퀀스 헤더나 픽쳐 헤더 등, 상위 레이어로 전환하여도 좋다. 또한, 선택 후보로 되는 세트를 하나 이상 준비하고, 그 후보 세트의 인덱스를 부호화하도록 하여도 좋다.
또한, 매크로 블록이나 부호화 블록마다 전환하여도 좋다. 매크로 블록이나 부호화 블록마다 전환함으로써, 국소성을 갖게 할 수 있어, 부호화 효율의 개선이 도모된다.
본 실시 형태 4에서는, 인덱스의 순서를 고정으로 하고 있지만, 인덱스의 순서를 슬라이스 단위로 변경하도록 하여도 좋다. 슬라이스에 의해서 선택되는 벡터에 편향이 있는 경우, 선택 회수가 많은 벡터에 대해 짧은 부호를 할당하도록 인덱스 표를 전환함으로써, 부호화 효율의 향상이 도모된다.
전환 정보의 부호화는, 개개의 벡터에 대해, 각각 순서를 부호화하여도 좋고, 복수의 인덱스 세트를 준비하고, 어느 인덱스 세트를 이용할지를 나타내는 정보를 부호화하도록 하여도 좋다.
또한, 디폴트 설정만을 결정해 두고, 디폴트 설정과 다른 설정을 사용하는지 여부를 나타내는 플래그를 준비하고, 그 플래그가 온인 경우에 한해, 인덱스 세트를 갱신해서 설정을 전환하는 방법도 생각할 수 있다.
여기서는, 슬라이스 단위로 인덱스의 순서를 전환하는 예를 나타내고 있지만, 인덱스의 순서를 시퀀스나 픽쳐 등 상위 레이어로 결정하여도 좋은 것은 말할 필요도 없다.
또한, 파티션 블록이나 부호화 블록마다 전환하여도 좋다. 매크로 블록이나 부호화 블록마다 전환함으로써, 국소성을 갖게 할 수 있어, 부호화 효율의 개선이 도모된다.
또한, 선택 후보는 파티션 블록 사이즈마다 일의적으로 결정해 두어도 좋다. 일반적으로 블록 사이즈가 작아지면 공간적인 상관이 약해지기 때문에, 미디언 예측으로 결정되는 벡터의 예측 정밀도가 나빠진다고 생각할 수 있다. 그 때문에, 미디언 예측으로 결정되는 인덱스의 순서를 변경함으로써, 부호화 효율의 향상을 도모할 수 있다.
본 실시 형태 4에서는, 선택 가능한 움직임 벡터가 5개 준비되어 있는 다이렉트 벡터 후보 인덱스를 나타냈지만, 6개 이상의 움직임 벡터를 후보 벡터로서 준비하도록 하여도 좋고, 5개보다 적은 움직임 벡터를 후보 벡터로서 준비하여도 좋다.
예를 들면, 도 17에 나타내는 바와 같이, 시간 벡터 근방의 벡터나, 도 18에 나타내는 바와 같이, 주위의 벡터의 가중치 가산이 행해진 벡터를 후보 벡터로서 부가하여도 좋다.
본 실시 형태 4에서는, 2 방향으로부터의 예측 처리를 상정하고 있지만, 1 방향만의 예측 처리이어도 좋다. 1 방향의 벡터로부터 예측하는 경우는, 어느 벡터를 사용할지를 나타내는 정보를 부호화하여 전송한다. 이것에 의해, 오클루젼 등의 문제에 대처하는 것이 가능해져, 예측 정밀도의 향상에 기여한다.
본 실시 형태 4에서는, 2개의 벡터를 이용하는 양방향 예측을 상정하고 있지만, 벡터의 개수는 3개 이상이어도 좋다. 이 경우, 예를 들면, 선택한 모든 벡터를 나타내는 인덱스 정보를 부호화하여도 좋고, 반대로 선택하지 않은 벡터를 나타내는 인덱스 정보를 부호화하여도 좋다.
혹은, 도 34에 나타내는 바와 같이, 1개의 벡터의 인덱스 정보만을 부호화하고, 그 벡터가 나타내는 참조 화상에 가까운 화상을 이용하는 방법을 생각할 수 있다.
본 실시 형태 4에서는, 복수의 움직임 벡터 중에서, 코스트 R이 최소인 움직임 벡터를 선택하는 것을 나타냈지만, 하기의 식 (15)에 나타내는 바와 같이, 평가값 SADk를 산출하고, 그 평가값 SADk가 임계값 Th 이하인 움직임 벡터를 선택하도록 하여도 좋다.
Figure 112017028686585-pat00015
단, findex는 인덱스 정보를 부호화하고 있는 벡터가 나타내는 참조 화상, gk는 벡터 MV_k가 나타내는 참조 화상을 나타내고 있다.
여기서는, 평가값 SADk를 이용하는 예를 나타내고 있지만, 예를 들면, SSE 등의 다른 수법으로 평가하도록 하여도 좋은 것은 말할 필요도 없다.
사용하는 벡터의 개수를 나타내는 정보는 슬라이스 단위 등 상위 헤더에 다중하도록 하여도 좋다. 벡터의 개수가 증가하면, 부호화 효율은 향상하지만, 처리량이 증가하기 때문에, 트레이드 오프의 관계에 있다.
또한, 슬라이스 단위가 아니라, 부호화 블록이나 파티션 등 보다 미세한 단위로 설정하도록 하여도 좋다. 이 경우, 화상의 국소성에 따라 처리량과 부호화 효율의 밸런스를 도모할 수 있다.
본 실시 형태 4에서는, 복수의 선택 가능한 움직임 벡터 중에서, 예측 화상의 생성에 적합한 움직임 벡터를 선택하는 것을 나타냈지만, 상기 실시 형태 3과 같이, 복수의 선택 가능한 움직임 벡터 중에서, 초기 벡터로서 사용하는 움직임 벡터를 선택하고 나서, 그 초기 벡터의 주위를 탐색함으로써, 최종적인 움직임 벡터를 결정하도록 하여도 좋다. 이 경우의 다이렉트 벡터 생성부(26)의 구성은 도 35와 같이 된다.
도 35의 초기 벡터 생성부(36)는 도 26의 초기 벡터 생성부(34)에 상당한다.
(실시 형태 5)
본 실시 형태 5의 움직임 보상 예측부(5, 54)는, 상기 실시 형태 1(또는, 실시 형태 2, 3)의 기능과 상기 실시 형태 4의 기능을 갖고, 상기 실시 형태 1(또는, 실시 형태 2, 3)의 기능과 상기 실시 형태 4의 기능을 슬라이스 단위로 전환하는 것이 가능하며, 어느 하나의 기능을 사용해서 예측 화상을 생성할 수 있다.
도 36은 본 발명의 실시 형태 5에 따른 동화상 부호화 장치의 움직임 보상 예측부(5)를 나타내는 구성도이며, 도면에서, 도 31과 동일한 부호는 동일 또는 상당히 부분을 나타내기 때문에 설명을 생략한다.
다이렉트 벡터 생성부(27)는 다이렉트 모드 전환 플래그가, 인덱스 정보를 송신하지 않는 취지를 나타내는 경우, 도 2의 다이렉트 벡터 생성부(23)(또는, 도 25의 다이렉트 벡터 생성부(25))와 동일한 방법으로, 다이렉트 벡터를 생성하는 한편, 다이렉트 모드 전환 플래그가, 인덱스 정보를 송신하는 취지를 나타내는 경우, 도 31의 다이렉트 벡터 생성부(26)와 동일한 방법으로, 다이렉트 벡터를 생성함과 아울러, 그 다이렉트 벡터를 나타내는 인덱스 정보를 가변 길이 부호화부(13)에 출력하는 처리를 실시한다.
또한, 다이렉트 벡터 생성부(27)는 다이렉트 모드 전환 플래그를 가변 길이 부호화부(13)에 출력하는 처리를 실시한다.
도 37은 움직임 보상 예측부(5)를 구성하고 있는 다이렉트 벡터 생성부(27)를 나타내는 구성도이다.
도 37에서, 전환 스위치(91)는 다이렉트 모드 전환 플래그가, 인덱스 정보를 송신하지 않는 취지를 나타내는 경우, 부호화 블록 Bn의 파티션 Pi n을 도 2의 다이렉트 벡터 생성부(23)(또는, 도 25의 다이렉트 벡터 생성부(25))에 상당하는 부분에 출력하고, 인덱스 정보를 송신하는 취지를 나타내는 경우, 부호화 블록 Bn의 파티션 Pi n을 도 31의 다이렉트 벡터 생성부(26)에 상당하는 부분에 출력하는 처리를 실시한다.
도 38은 본 발명의 실시 형태 5에 따른 동화상 복호 장치의 움직임 보상 예측부(54)를 나타내는 구성도이며, 도면에서, 도 32와 동일한 부호는 동일 또는 상당히 부분을 나타내기 때문에 설명을 생략한다.
다이렉트 벡터 생성부(66)는 인터 예측 파라미터에 포함되어 있는 다이렉트 모드 전환 플래그가, 인덱스 정보를 송신하지 않는 취지를 나타내는 경우, 도 6의 다이렉트 벡터 생성부(62)(또는, 도 29의 다이렉트 벡터 생성부(64))와 동일한 방법으로 다이렉트 벡터를 생성하는 한편, 다이렉트 모드 전환 플래그가, 인덱스 정보를 송신하는 취지를 나타내는 경우, 도 32의 다이렉트 벡터 생성부(65)와 동일한 방법으로 다이렉트 벡터를 생성하는 처리를 행한다.
다음으로 동작에 대해 설명한다.
움직임 보상 예측부(5)의 다이렉트 벡터 생성부(27)는, 도 2의 다이렉트 벡터 생성부(23)(또는, 도 25의 다이렉트 벡터 생성부(25))의 기능과 도 31의 다이렉트 벡터 생성부(26)의 기능을 갖고 있고, 외부로부터 입력된 다이렉트 모드 전환 플래그가, 인덱스 정보를 송신하지 않는 취지를 나타내는 경우, 도 2의 다이렉트 벡터 생성부(23)(또는, 도 25의 다이렉트 벡터 생성부(25))와 동일한 방법으로, 다이렉트 벡터를 생성하고, 그 다이렉트 벡터를 움직임 보상 처리부(24)에 출력한다.
또한, 다이렉트 벡터 생성부(27)는 그 다이렉트 모드 전환 플래그를 가변 길이 부호화부(13)에 출력한다.
다이렉트 벡터 생성부(27)는, 그 다이렉트 모드 전환 플래그가, 인덱스 정보를 송신하는 취지를 나타내는 경우, 도 32의 다이렉트 벡터 생성부(65)와 동일한 방법으로 다이렉트 벡터를 생성하고, 그 다이렉트 벡터를 움직임 보상 처리부(24)에 출력한다.
또한, 다이렉트 벡터 생성부(27)는 그 다이렉트 모드 전환 플래그와 인덱스 정보를 가변 길이 부호화부(13)에 출력한다.
가변 길이 부호화부(13)는, 다이렉트 벡터 생성부(27)로부터 다이렉트 모드 전환 플래그를 받으면, 압축 데이터나 부호화 모드 등을 가변 길이 부호화할 때, 그 다이렉트 모드 전환 플래그를 인터 예측 파라미터에 포함하여 가변 길이 부호화한다.
또한, 가변 길이 부호화부(13)는, 다이렉트 벡터 생성부(27)로부터 다이렉트 모드 전환 플래그와 인덱스 정보를 받으면, 압축 데이터나 부호화 모드 등을 가변 길이 부호화할 때, 그 다이렉트 모드 전환 플래그와 인덱스 정보를 인터 예측 파라미터에 포함하여 가변 길이 부호화한다.
움직임 보상 예측부(54)의 다이렉트 벡터 생성부(66)는, 가변 길이 복호부(51)에 의해 복호된 인터 예측 파라미터를 받으면, 그 인터 예측 파라미터에 포함되어 있는 다이렉트 모드 전환 플래그가, 인덱스 정보를 송신하지 않는 취지를 나타내는 경우, 도 6의 다이렉트 벡터 생성부(62)(또는, 도 29의 다이렉트 벡터 생성부(64))와 동일한 방법으로, 다이렉트 벡터를 생성한다.
한편, 다이렉트 모드 전환 플래그가, 인덱스 정보를 송신하는 취지를 나타내는 경우, 도 32의 다이렉트 벡터 생성부(65)와 동일한 방법으로, 다이렉트 벡터를 생성한다.
일반적으로, 인덱스 정보를 송신하는 모드는 인덱스 정보를 송신하지 않는 모드와 비교하여 부가 정보가 증가한다. 그 때문에, 저레이트 등 전체 부호량 중에서 부가 정보의 비율이 큰 경우에는, 인덱스 정보를 송신하지 않는 모드쪽이 성능이 좋다.
한편, 고레이트의 경우 등 전체 부호량 중에서 부가 정보의 비율이 작은 경우에는, 인덱스 정보를 부가하여 최적인 다이렉트 벡터를 사용하는 쪽이 부호화 효율의 향상이 예상된다.
본 실시 형태 5에서는, 다이렉트 모드 전환 플래그가 인터 예측 파라미터에 포함되는 것을 나타냈지만, 다이렉트 모드 전환 플래그가 슬라이스 헤더에 다중되어도 좋고, 픽쳐나 시퀀스 헤더에 다중되어도 좋다.
또한, 전환은 파티션 사이즈에 의해서 결정하는 것도 생각할 수 있다.
일반적으로 파티션 사이즈가 커지면, 움직임 벡터 등의 부가 정보의 비율이 상대적으로 작아진다. 그 때문에, 어느 일정 이상의 크기인 경우는, 인덱스 정보를 송신하는 모드를 선택하고, 그것보다 작은 경우는, 인덱스 정보를 송신하지 않는 모드를 선택하는 등의 구성을 생각할 수 있다.
상기와 같이, 파티션에 의해서 결정하는 경우, 부호화 블록 사이즈마다, 어떤 것을 사용할지를 나타내는 플래그를 슬라이스 헤더 등 상위 헤더에 다중하도록 하여도 좋다.
본 실시 형태 4에서는, 다이렉트 모드 전환 플래그에 의해서, 상기 실시 형태 1의 기능과 상기 실시 형태 4의 기능을 전환하는 것을 나타냈지만, 상기 실시 형태 2의 기능과 상기 실시 형태 4의 기능을 전환하도록 하여도 좋고, 상기 실시 형태 3의 기능과 상기 실시 형태 4의 기능을 전환하도록 하여도 좋다.
또한, 상기 실시 형태 1의 기능과 상기 실시 형태 2의 기능을 전환하도록 하여도 좋고, 상기 실시 형태 1의 기능과 상기 실시 형태 3의 기능을 전환하도록 하여도 좋고, 상기 실시 형태 2의 기능과 상기 실시 형태 3의 기능을 전환하도록 하여도 좋다.
또한, 상기 실시 형태 1~4의 기능 중에서, 임의의 기능을 선택하도록 하여도 좋다.
본 실시 형태 5에서는, 다이렉트 모드 전환 플래그에 의해서, 상기 실시 형태 1의 기능과 상기 실시 형태 4의 기능을 전환하는 것을 나타냈지만, 이것은 전환하는 것이 아니라 on/off의 플래그로서 이용하여도 좋다. 예를 들면, 실시 형태 1을 사용할지 여부의 on/off 플래그로 하고, on의 경우는 실시 형태 1과 실시 형태 4를 모두 행하고, 부호화 효율이 좋은 쪽의 모드를 선택하고, 그 정보를 부호화하는 것을 생각할 수 있다. 이와 같이 함으로써 화상의 국소성에 따라 다이렉트 모드를 전환할 수 있어, 부호화 효율의 향상에 기여하는 효과를 얻을 수 있다.
상기에서는 실시 형태 1을 on/off한다고 했지만, 이것은 실시 형태 4를 on/off하여도 좋다. 또한, 조합은 실시 형태 2와 4, 실시 형태 3과 4의 조합이어도 좋다.
본 실시 형태 5에서는, 복수의 선택 가능한 움직임 벡터 중에서, 예측 화상의 생성에 적합한 움직임 벡터를 선택하는 것을 나타냈지만, 상기 실시 형태 3과 같이, 복수의 선택 가능한 움직임 벡터 중에서, 초기 벡터로서 사용하는 움직임 벡터를 선택하고 나서, 그 초기 벡터의 주위를 탐색함으로써, 최종적인 움직임 벡터를 결정하도록 하여도 좋다. 이 경우의 다이렉트 벡터 생성부(27)의 구성은 도 39와 같이 된다.
도 39의 초기 벡터 생성부(37)는 도 26의 초기 벡터 생성부(34)에 상당한다.
또, 본원 발명은 그 발명의 범위 내에서, 각 실시 형태의 자유로운 조합 혹은 각 실시 형태의 임의의 구성요소의 변형, 혹은 각 실시 형태에서 임의의 구성요소의 생략이 가능하다.
예를 들면, 최대 사이즈를 결정함과 아울러, 최대 사이즈의 부호화 블록이 계층적으로 분할될 때의 상한의 계층수를 결정하고, 이용 가능한 1 이상의 부호화 모드 중에서, 계층적으로 분할되는 각각의 부호화 블록에 적합한 부호화 모드를 선택한다고 기재했지만, 최대 사이즈 혹은 계층수, 부호화 모드 중 어느 하나 혹은 모두를 미리 사전에 결정해 두어도 좋다.
(실시 형태 6)
상기 실시 형태 4에서는, 동화상 부호화 장치에서의 움직임 보상 예측부(5)의 다이렉트 벡터 생성부(26)가, 도 33에 나타내는 다이렉트 벡터 후보 인덱스를 참조하여, 선택 가능한 1 이상의 움직임 벡터를 파악하는 것을 나타냈지만, 부호화 제어부(1)가, 부호화 블록의 블록 사이즈에 따라, 선택 가능한 1 이상의 움직임 벡터 리스트를 생성하고, 선택 가능한 1 이상의 움직임 벡터를 나타내는 다이렉트 벡터 후보 리스트와 다이렉트 벡터 후보 인덱스를 참조함으로써, 다이렉트 모드 벡터를 결정하여도 좋다.
구체적으로는, 이하와 같다.
상술한 바와 같이, 선택 가능한 1 이상의 움직임 벡터는, 예를 들면, 파티션의 블록 사이즈마다 일의적으로 결정할 수 있지만, 도 40에 나타내는 바와 같이, 부호화 블록인 파티션의 블록 사이즈가 큰 경우, 주위의 블록과의 상관이 높고, 반대로 파티션의 블록 사이즈가 작은 경우, 주위의 블록과의 상관이 낮다.
따라서, 파티션의 블록 사이즈가 작을수록, 선택 가능한 움직임 벡터의 후보수를 줄일 수 있다.
그래서, 부호화 제어부(1)는, 도 41에 나타내는 바와 같이, 미리, 부호화 블록인 파티션의 블록 사이즈마다, 선택 가능한 1 이상의 움직임 벡터를 리스트화하고 있다.
도 41로부터 명백한 바와 같이, 파티션의 블록 사이즈가 작을수록, 선택 가능한 움직임 벡터의 후보수를 줄이고 있고, 예를 들면, 블록 사이즈가 「64」인 파티션에서는, 선택 가능한 움직임 벡터의 개수가 「4」이지만, 블록 사이즈가 「8」인 파티션에서는, 선택 가능한 움직임 벡터의 개수가 「2」이다.
도 42에서의 「median」, 「MV_A」, 「MV_B」, 「MV_C」, 「temporal」은 도 33에서의 「median」, 「MV_A」, 「MV_B」, 「MV_C」, 「temporal」과 대응하고 있다.
부호화 제어부(1)는, 선택 가능한 1 이상의 움직임 벡터를 결정할 때, 예를 들면, 도 41의 리스트를 참조하여, 부호화 대상인 파티션의 블록 사이즈에 대응하는 1 이상의 움직임 벡터를 특정하고, 그 1 이상의 움직임 벡터를 나타내는 다이렉트 벡터 후보 리스트를 움직임 보상 예측부(5)에 출력한다.
예를 들면, 파티션의 블록 사이즈가 「64」인 경우, 선택 가능한 1 이상의 움직임 벡터로서 「MV_A」, 「MV_B」, 「MV_C」, 「temporal」을 결정한다.
또한, 파티션의 블록 사이즈가 「8」인 경우, 선택 가능한 1 이상의 움직임 벡터로서 「median」, 「temporal」을 결정한다.
움직임 보상 예측부(5)의 다이렉트 벡터 생성부(26)는, 부호화 제어부(1)로부터 다이렉트 벡터 후보 리스트를 받으면, 상기 실시 형태 4와 마찬가지로, 그 다이렉트 벡터 후보 리스트가 나타내는 1 이상의 움직임 벡터 중에서, 예측 화상의 생성에 적합한 움직임 벡터를 선택하지만, 파티션의 블록 사이즈가 작은 경우, 선택 가능한 움직임 벡터의 후보수가 적기 때문에, 예를 들면, 상기의 식 (15)로 나타내는 평가값 SADk의 산출수 등이 줄어, 움직임 보상 예측부(5)의 처리 부하가 경감된다.
이와 같이, 동화상 부호화 장치의 부호화 제어부(1)가, 선택 가능한 1 이상의 움직임 벡터를 결정하는 경우, 동화상 복호 장치에서도, 동화상 부호화 장치와 완전히 동일한 선택 가능한 1 이상의 다이렉트 벡터 후보 리스트를 가질 필요가 있다.
동화상 복호 장치의 가변 길이 복호부(51)는, 부호화 모드 m(Bn)가 다이렉트 모드인 경우, 부호화 블록 Bn의 파티션 Pi n마다, 그 파티션의 블록 사이즈를 움직임 보상 예측부(54)에 출력함과 아울러, 비트 스트림으로부터 가변 길이 복호한 인덱스 정보(동화상 부호화 장치의 움직임 보상 예측부(5)에서 사용된 움직임 벡터를 나타내는 정보)를 움직임 보상 예측부(54)에 출력한다.
움직임 보상 예측부(54)의 다이렉트 벡터 생성부(65)는, 가변 길이 복호부(51)로부터 파티션의 블록 사이즈를 받으면, 상기 실시 형태 4와 같이, 다이렉트 벡터 인덱스가 입력되고, 블록 사이즈에 따라 미리 결정하고 있는 1 이상의 움직임 벡터 후보 리스트로부터 다이렉트 모드에 이용하는 움직임 벡터를 출력한다.
즉, 다이렉트 벡터 생성부(65)는, 미리, 파티션의 블록 사이즈마다, 선택 가능한 1 이상의 움직임 벡터를 리스트화하고 있고(도 41을 참조), 선택 가능한 1 이상의 움직임 벡터를 결정할 때, 도 41의 리스트와 다이렉트 벡터 인덱스를 참조하여, 금회 복호를 행하는 파티션의 블록 사이즈에 대응하는 1 이상의 움직임 벡터를 출력한다.
예를 들면, 파티션의 블록 사이즈가 「8」일 때에, 인덱스 정보가 인덱스 0이면, 다이렉트 벡터로서 「median」를 출력하고, 인덱스 정보가 인덱스 1이면, 다이렉트 벡터로서 「temporal」을 출력한다.
이상으로 명백한 바와 같이, 본 실시 형태 6에 의하면, 부호화 블록인 파티션의 블록 사이즈에 따라, 선택 가능한 1 이상의 움직임 벡터를 결정하도록 구성했기 때문에, 주위의 블록과의 상관이 낮은 파티션에서는, 예측 화상의 생성에 적합한 움직임 벡터 이외의 움직임 벡터를 후보로부터 제외할 수 있으므로, 처리량의 경감을 도모할 수 있는 효과를 얻을 수 있다.
또, 본 실시 형태 6에 의하면, 선택 가능한 1 이상의 움직임 벡터를 결정할 때, 파티션의 블록 사이즈가 작을수록, 선택 가능한 움직임 벡터의 후보수를 줄이도록 구성했기 때문에, 예측 화상의 생성에 적합한 움직임 벡터 이외의 움직임 벡터를 후보로부터 제외할 수 있으므로, 처리량의 경감을 도모할 수 있는 효과를 얻을 수 있다.
또, 본 실시 형태 6에서는, 부호화 블록인 파티션의 블록 사이즈가 최대 「64」인 예를 나타냈지만, 최대의 블록 사이즈가 64 이상이라도 좋고, 64 미만이라도 좋다.
도 42는 최대의 블록 사이즈가 「128」인 리스트의 일례를 나타내고 있다.
도 42의 예에서는, 부호화 제어부(1) 및 움직임 보상 예측부(54)에 의해 유지되는 리스트는, 최대의 블록 사이즈가 「128」이지만, 실제의 파티션의 블록 사이즈의 최대가 예를 들면 「32」인 경우에는, 상기 리스트 중의 「32」 이하의 부분을 참조하면 좋다.
또한, 본 실시 형태 6에서는, 부호화 블록인 파티션의 블록 사이즈에 따라, 선택 가능한 1 이상의 움직임 벡터를 결정하는 것을 나타냈지만, 부호화 블록의 분할 패턴에 따라, 선택 가능한 1 이상의 움직임 벡터를 결정하도록 하여도 좋고, 동일한 효과를 얻을 수 있다.
도 43은 부호화 블록의 분할 패턴마다, 선택 가능한 1 이상의 움직임 벡터를 나타내는 리스트의 설명도이다.
예를 들면, 부호화 블록인 파티션이, 2partH1인 경우, 선택 가능한 1 이상의 움직임 벡터로서 「MV_A」, 「MV_B」, 「MV_C」, 「temporal」을 정하고 있지만, 부호화 블록인 파티션이 2partH2인 경우, 왼쪽의 블록인 2partH1과는 움직임이 다를 가능성이 높다.
그 때문에, 2partH2가 선택 가능한 1 이상의 움직임 벡터 중에서, 왼쪽의 블록의 움직임 벡터인 「MV_A」를 삭제하고, 「MV_B」, 「MV_C」, 「temporal」을 정하고 있다.
또한, 본 실시 형태 6에서는, 시간 방향의 벡터를 이용하고 있지만, 이것은 사용하는 메모리량을 삭감하기 위해서, 메모리에 저장하는 데이터 사이즈를 압축하여도 좋다. 예를 들면 최소 블록 사이즈가 4×4인 경우, 시간 방향의 벡터는 4×4단위로 유지하는 것이 통상이지만, 이것을 더 큰 블록 사이즈로 유지하는 것을 생각할 수 있다.
상기와 같이 시간 방향의 벡터를 압축하여 유지할 때, 유지하는 단위보다 작은 블록 사이즈로 처리를 행하는 경우, 참조하는 위치가 정확한 위치를 나타내지 않게 된다고 하는 문제가 있다. 그 때문에, 유지하는 단위보다 작은 블록의 경우의 시간 방향 벡터를 사용하지 않는다는 처리를 행하여도 좋다. 정밀도가 낮은 벡터를 후보로부터 제외함으로써, 처리량의 삭감과 인덱스 부호량의 삭감이라고 하는 효과가 있다.
또한, 본 실시 형태 6에서는, 다이렉트 모드 벡터에 대해 설명했지만, 이것은 통상의 움직임 벡터 부호화에 이용하는 예측 벡터의 결정에 대해, 동일한 방식을 이용하여도 좋다. 이 방식을 이용함으로써, 처리량 경감과 부호화 효율 개선의 양면에서 효과가 있다.
또한, 본 실시 형태 6에서, 다이렉트 벡터의 생성 혹은 예측 벡터의 결정에 이용하는 복수의 벡터 후보에 대해서, 다이렉트 벡터 혹은 예측하고자 하는 벡터의 ref_Idx와 후보 벡터의 ref_Idx가 다른(참조 대상의 픽쳐가 다른) 경우에, 도 14에 나타내는 바와 같이, 후보 벡터에 대해 시간 방향의 거리에 따라 스케일링 처리를 행하도록 구성하여도 좋다. ref_Idx가 동일한 경우는, 시간 방향의 거리에 따른 스케일링 처리는 행하지 않는다.
Figure 112017028686585-pat00016
단, scaled_MV는 스케일링 후의 벡터, MV는 스케일링 전의 움직임 벡터, d(x)는 x까지의 시간적인 거리를 나타내고 있다.
또한, Xr은 부호화 대상의 블록이 나타내는 참조 화상, Yr은 스케일링의 대상으로 되는 블록 위치 A-D가 나타내는 참조 화상을 나타내고 있다.
또한, 공간 벡터 후보는, 도 49에 나타내는 바와 같이, 대상으로 되는 블록으로부터 인터 부호화되어 있는 블록을 탐색하고, 그 블록 내에 포함되는 모든 벡터를 후보로서 사용하도록 구성하여도 좋다. 상술한 바와 같이, 다이렉트 벡터 혹은 예측하고자 하는 벡터가 지시해야 할 앞의 참조 픽쳐와, 이들 후보 벡터가 지시하는 참조 픽쳐가 동일한 경우와 다른 경우가 있지만, 동일한 참조 픽쳐를 지시하는 후보 벡터만을 후보로서 사용하도록 구성하여도 좋고, 스케일링 처리로 동일 참조 픽쳐를 지시하도록 보정을 행해도록 구성하여도 좋다. 전자의 경우는 처리량을 늘리지 않고 정밀도가 낮은 벡터를 후보로부터 제외하는 효과가 있다. 후자의 경우는, 탐색하는 만큼 처리량은 증가하지만, 선택 후보를 늘릴 수 있기 때문에 부호량 삭감 효과가 있다.
또한, 식 (16)과 같은 스케일링을 행하는 경우, 인터 부호화되어 있는 블록을 찾아낸 시점에서, 다이렉트 벡터 혹은 예측하고자 하는 벡터의 ref_Idx와는 다른 ref_Idx인 후보 벡터는 스케일링을 행한다(동일한 ref_Idx의 경우는 스케일링을 행하지 않는다)고 하여도 좋고, 모두 탐색한 후에, 동일한 ref_Idx인 후보 벡터가 없던 경우만 스케일링을 행한다고 하여도 좋다. 처리량은 증가하는 것의 정밀도를 높인 벡터를 후보에 부가하는 것이 가능해지기 때문에, 부호량 삭감 효과가 있다.
(실시 형태 7)
상기 실시 형태 6에서는, 동화상 부호화 장치의 부호화 제어부(1) 및 동화상 복호 장치의 움직임 보상 예측부(54)가, 미리, 선택 가능한 움직임 벡터를 나타내는 리스트를 유지하고 있는 것을 나타냈지만, 동화상 부호화 장치의 가변 길이 부호화부(13)가, 그 리스트를 나타내는 리스트 정보를 가변 길이 부호화하고, 그 리스트 정보의 부호화 데이터를, 예를 들면, 슬라이스 헤더에 다중하고, 동화상 복호 장치측에 전송하도록 하여도 좋다.
이 경우, 동화상 복호 장치의 가변 길이 복호부(51)는, 슬라이스 헤더에 다중되어 있는 부호화 데이터로부터 리스트 정보를 가변 길이 복호하고, 그 리스트 정보가 나타내는 리스트를 움직임 보상 예측부(54)의 다이렉트 벡터 생성부(65)에 출력하게 된다.
이와 같이, 리스트를 나타내는 리스트 정보를 슬라이스 단위(혹은, 시퀀스나 픽쳐 단위 등이어도 좋다)로 동화상 복호 장치측에 전송하도록 하여도 좋지만, 부호화 제어부(1)에 의해 유지되고 있는 리스트가 변경된 경우에만, 변경 후의 리스트를 나타내는 리스트 정보를 동화상 복호 장치측에 전송하도록 하여도 좋다.
이하, 구체적으로 처리 내용을 설명한다.
도 44는 동화상 부호화 장치에서의 리스트 정보의 송신 처리를 나타내는 흐름도이고, 도 45는 동화상 복호 장치에서의 리스트 정보의 수신 처리를 나타내는 흐름도이다.
동화상 부호화 장치의 부호화 제어부(1)는, 상기 실시 형태 6과 마찬가지로, 부호화 블록인 파티션의 블록 사이즈에 따라, 선택 가능한 1 이상의 움직임 벡터를 결정하지만, 움직임 벡터를 결정할 때에 참조하는 리스트가 변경되어 있는지 여부를 확인하고, 리스트가 전회와 동일하면(도 44의 스텝 ST41), 전회와 리스트가 동일하다는 취지를 동화상 복호 장치측에 통지하기 위해, 변경 플래그를 "오프"로 설정한다(스텝 ST42).
가변 길이 부호화부(13)는, 부호화 제어부(1)가 변경 플래그를 "오프"로 설정하면, "오프"의 변경 플래그를 부호화하고, 그 부호화 데이터를 동화상 복호 장치측에 전송한다(스텝 ST43).
부호화 제어부(1)는, 전회와 리스트가 다른 경우(스텝 ST41), 전회와 리스트가 다르다는 취지를 동화상 복호 장치측에 통지하기 위해, 변경 플래그를 "온"으로 설정한다(스텝 ST44).
가변 길이 부호화부(13)는, 부호화 제어부(1)가 변경 플래그를 "온"으로 설정하면, "온"의 변경 플래그와 변경 후의 리스트를 나타내는 리스트 정보를 부호화하고, 그 부호화 데이터를 동화상 복호 장치측에 전송한다(스텝 ST45).
도 46은 리스트 내의 「temporal」이 선택 가능으로부터 선택 불가로 변경되어 있기 때문에, "온"의 변경 플래그와 변경 후의 리스트를 나타내는 리스트 정보를 부호화하고 있는 예를 나타내고 있다.
동화상 복호 장치의 가변 길이 복호부(51)는, 부호화 데이터로부터 변경 플래그를 복호하고(도 45의 스텝 ST51), 그 변경 플래그가 "오프"이면(스텝 ST52), "오프"의 변경 플래그를 움직임 보상 예측부(54)에 출력한다.
움직임 보상 예측부(54)는, 가변 길이 복호부(51)로부터 "오프"의 변경 플래그를 받으면, 전회와 리스트가 동일하다고 인식하고, 현재 유지하고 있는 리스트를 참조 대상으로 설정한다(스텝 ST53).
따라서, 움직임 보상 예측부(54)는, 현재 유지하고 있는 리스트를 참조하여, 금회 복호를 행하는 파티션의 블록 사이즈에 대응하는 1 이상의 움직임 벡터를 결정한다.
동화상 복호 장치의 가변 길이 복호부(51)는, 변경 플래그가 "온"이면(스텝 ST52), 부호화 데이터로부터 리스트 정보를 복호하고, "온"의 변경 플래그와 리스트 정보를 움직임 보상 예측부(54)에 출력한다(스텝 ST54).
움직임 보상 예측부(54)는, 가변 길이 복호부(51)로부터 "온"의 변경 플래그와 리스트 정보를 받으면, 전회와 리스트가 다르다고 인식해, 그 리스트 정보에 따라 현재 유지하고 있는 리스트를 변경하고, 변경 후의 리스트를 참조 대상으로 설정한다(스텝 ST55).
따라서, 움직임 보상 예측부(54)는, 변경 후의 리스트를 참조하여, 금회 복호를 행하는 파티션의 블록 사이즈에 대응하는 1 이상의 움직임 벡터를 결정한다.
도 47은 변경 플래그가 "온"이기 때문에, 현재 유지하고 있는 리스트를 변경하고 있는 예를 나타내고 있다.
이상으로 명백한 바와 같이, 본 실시 형태 7에 의하면, 선택 가능한 1 이상의 움직임 벡터를 나타내는 리스트가 변경된 경우에 한해, 변경 후의 리스트를 나타내는 리스트 정보를 부호화해서 부호화 데이터를 생성하도록 구성했기 때문에, 부호량의 대폭적인 증가를 초래하는 일없이, 리스트의 변경을 받아들이는 기능을 실장할 수 있는 효과를 얻을 수 있다.
본 실시 형태 7에서는, 리스트가 나타내는 선택 가능한 움직임 벡터의 일부가 변경된 경우에도, 변경 후의 리스트의 전체를 나타내는 리스트 정보를 부호화하는 예를 나타냈지만, 도 48에 나타내는 바와 같이, 블록 사이즈마다 변경 플래그를 준비하고, 선택 가능한 움직임 벡터가 변경된 블록 사이즈의 변경 플래그를 "온"으로 하고, 당해 블록 사이즈에 관한 리스트 정보만을 부호화하도록 하여도 좋다.
도 48의 예에서는, 블록 사이즈가 「64」와 「8」에서의 움직임 벡터는 변경되어 있지 않기 때문에, 변경 플래그는 "오프"이고, 당해 블록 사이즈에 관한 리스트 정보는 부호화되지 않는다.
한편, 블록 사이즈가 「32」와 「16」에서의 움직임 벡터는 변경되어 있기 때문에, 변경 플래그는 "온"이고, 당해 블록 사이즈에 관한 리스트 정보는 부호화되어 있다.
또, 어느 하나의 블록 사이즈의 변경 플래그가 "온"인 경우에 한해, 블록 사이즈 단위의 변경 플래그를 부호화하도록 하고, 어느 블록 사이즈의 변경 플래그도 "오프"인 경우에는, 리스트 단위의 변경 플래그("오프"의 변경 플래그)만을 부호화하도록 하여도 좋다.
또한, 리스트 단위의 변경 플래그를 이용하지 않고 , 블록 사이즈 단위의 변경 플래그만을 부호화하도록 하여도 좋다.
여기서는, 블록 사이즈마다, 선택 가능한 움직임 벡터를 변경할 수 있는 예를 나타냈지만, 부호화 블록의 분할 패턴마다, 선택 가능한 움직임 벡터를 변경할 수 있도록 하여도 좋다.
(산업상의 이용 가능성)
본 발명에 따른 동화상 부호화 장치, 동화상 복호 장치, 동화상 부호화 방법 및 동화상 복호 방법은, 소정의 블록 단위에 최적인 다이렉트 모드를 선택하여, 부호량을 삭감할 수 있기 때문에, 화상 압축 부호화 기술이나 압축 화상 데이터 전송 기술 등에 이용되는 동화상 부호화 장치, 동화상 복호 장치, 동화상 부호화 방법 및 동화상 복호 방법으로 이용하는데 적합하다.
1: 부호화 제어부(부호화 제어 수단)
2: 블록 분할부(블록 분할 수단)
3: 전환 스위치(인트라 예측 수단, 움직임 보상 예측 수단)
4: 인트라 예측부(인트라 예측 수단)
5: 움직임 보상 예측부(움직임 보상 예측 수단)
6: 감산부(차분 화상 생성 수단)
7: 변환·양자화부(화상 압축 수단)
8: 역양자화·역변환부
9: 가산부
10: 인트라 예측용 메모리
11: 루프 필터부
12: 움직임 보상 예측 프레임 메모리
13: 가변 길이 부호화부(가변 길이 부호화 수단)
21: 전환 스위치
22: 움직임 벡터 탐색부
23: 다이렉트 벡터 생성부
24: 움직임 보상 처리부
25, 26, 27: 다이렉트 벡터 생성부
31: 공간 다이렉트 벡터 생성부
32: 시간 다이렉트 벡터 생성부
33: 다이렉트 벡터 판정부
34, 36, 37: 초기 벡터 생성부
35: 움직임 벡터 탐색부
41: 움직임 보상부
42: 유사도 산출부
43: 다이렉트 벡터 선택부
51: 가변 길이 복호부(가변 길이 복호 수단)
52: 전환 스위치(인트라 예측 수단, 움직임 보상 예측 수단)
53: 인트라 예측부(인트라 예측 수단)
54: 움직임 보상 예측부(움직임 보상 예측 수단)
55: 역양자화·역변환부(차분 화상 생성 수단)
56: 가산부(복호 화상 생성 수단)
57: 인트라 예측용 메모리
58: 루프 필터부
59: 움직임 보상 예측 프레임 메모리
61: 전환 스위치
62: 다이렉트 벡터 생성부
63: 움직임 보상 처리부
64, 65, 66: 다이렉트 벡터 생성부
71: 공간 벡터 생성부
72: 시간 벡터 생성부
73: 초기 벡터 판정부
81: 움직임 보상부
82: 유사도 산출부
83: 초기 벡터 결정부
91: 전환 스위치

Claims (5)

  1. 비트 스트림에 다중화되어 있는 부호화 데이터에 가변 길이 복호 처리를 행하는 것에 의해, 최대 블록 사이즈와 계층수의 상한값에 따라 입력 화상을 계층적으로 분할함으로써 얻어지는 부호화 블록에 관한 압축 데이터, 부호화 블록에 관한 부호화 모드 및 움직임 벡터를 지정하기 위한 부호화 블록에 관한 인덱스 정보, 및 상기 인덱스 정보에 근거해 선택되는 움직임 벡터 후보의 수를 변경하기 위한 제어 정보를 얻는 가변 길이 복호부와,
    상기 부호화 모드가 인트라 예측을 나타내는 경우, 상기 부호화 블록에 대한 인트라 예측 처리를 행하는 것에 의해, 예측 화상을 생성하는 인트라 예측부와,
    상기 부호화 모드가 인터 예측을 나타내는 경우, 선택 가능한 1 이상의 움직임 벡터 후보 중에서 상기 인덱스 정보가 나타내는 움직임 벡터를 선택하고, 선택된 움직임 벡터를 이용하여, 상기 부호화 블록에 대해, 상기 부호화 모드에 근거하는 움직임 보상 예측 처리를 실시해서 예측 화상을 생성하는 움직임 보상 예측부와,
    상기 압축 데이터를 복호하여 얻어지는 차분 화상과 상기 움직임 보상 예측 부에 의해 생성된 예측 화상을 가산하여 복호 화상 데이터를 생성하는 복호 화상 생성부와,
    상기 복호 화상 데이터에 대해서 필터링 처리를 실행하는 루프 필터
    를 구비하고,
    상기 움직임 보상 예측부는 상기 인덱스 정보에 근거하여, 상기 부호화 블록의 주위에 위치하는 복수의 복호 완료된 블록의 움직임 벡터 후보로부터 얻어지는 공간 움직임 벡터 또는 상기 부호화 블록이 참조 가능한 복호 완료된 픽쳐의 움직임 벡터로부터 얻어지는 시간 움직임 벡터를 선택하고,
    상기 움직임 보상 예측부는 상기 제어 정보에 근거해서, 상기 부호화 블록의 주위에 위치하는 복수의 복호 완료된 블록으로부터 얻어지는 공간 움직임 벡터, 및 상기 부호화 블록이 참조 가능한 복호 완료된 픽쳐의 움직임 벡터로부터 얻어지는 시간 움직임 벡터 중 적어도 어느 하나를 포함하는 상기 움직임 벡터 후보의 리스트를 준비하고,
    상기 움직임 벡터 후보는 소정의 순서로 리스트화되고,
    상기 움직임 벡터 후보의 수는 슬라이스 단위로 변경 가능한 것
    을 특징으로 하는 동화상 복호 장치.
  2. 비트 스트림에 다중화되어 있는 부호화 데이터에 가변 길이 복호 처리를 행하는 것에 의해, 최대 블록 사이즈와 계층수의 상한값에 따라 입력 화상을 계층적으로 분할함으로써 얻어지는 부호화 블록에 관한 압축 데이터, 부호화 블록에 관한 부호화 모드 및 움직임 벡터를 지정하기 위한 부호화 블록에 관한 인덱스 정보, 및 상기 인덱스 정보에 근거해 선택되는 움직임 벡터 후보의 수를 변경하기 위한 제어 정보를 얻는 단계와,
    상기 부호화 모드가 인트라 예측을 나타내는 경우, 상기 부호화 블록에 대한 인트라 예측 처리를 행하는 것에 의해, 예측 화상을 생성하는 단계와,
    상기 부호화 모드가 인터 예측을 나타내는 경우, 선택 가능한 1 이상의 움직임 벡터 후보 중에서 상기 인덱스 정보가 나타내는 움직임 벡터를 선택하고, 선택된 움직임 벡터를 이용하여, 상기 부호화 블록에 대해, 상기 부호화 모드에 근거하는 움직임 보상 예측 처리를 실시해서 예측 화상을 생성하는 단계와,
    상기 압축 데이터를 복호하여 얻어지는 차분 화상과 상기 예측 화상을 가산하여 복호 화상 데이터를 생성하는 단계와,
    상기 복호 화상 데이터에 대해서 필터링 처리를 실행하는 단계
    를 구비하고,
    상기 움직임 벡터 후보는 상기 제어 정보에 근거해서, 상기 부호화 블록의 주위에 위치하는 복수의 복호 완료된 블록의 움직임 벡터로부터 얻어지는 공간 움직임 벡터 및, 상기 부호화 블록이 참조 가능한 복호 완료된 픽쳐의 움직임 벡터로부터 얻어지는 시간 움직임 벡터 중 적어도 하나를 포함하며, 소정의 순서로 리스트화되고,
    상기 움직임 벡터 후보의 수는 슬라이스 단위로 변경 가능한 것
    을 특징으로 하는 동화상 복호 방법.
  3. 부호화 블록의 주위에 위치하는 복수의 부호화 완료된 블록으로부터 얻어지는 공간 움직임 벡터, 및 상기 부호화 블록이 참조가능한 부호화 완료된 픽쳐의 움직임 벡터로부터 얻어지는 시간 움직임 벡터로부터 움직임 벡터 후보를 준비하고, 상기 움직임 벡터 후보 중에서 선택된 움직임 벡터를 이용해서 상기 부호화 블록에 대해서, 움직임 보상 예측 처리를 실시해서 예측 화상을 생성하는 움직임 보상 예측부와,
    선택된 움직임 벡터 후보를 나타내는 인덱스 정보를 생성하는 가변 길이 부호화부를 구비하고,
    상기 움직임 보상 예측부는 상기 공간 움직임 벡터 또는 상기 시간 움직임 벡터로부터 상기 움직임 벡터 후보의 리스트를 준비하고, 상기 움직임 벡터 후보는 소정의 순서로 리스트화되고,
    상기 움직임 벡터 후보의 수는 슬라이스마다 변경 가능하고, 상기 가변 길이 부호화부는 상기 움직임 벡터 후보의 수를 변경하기 위한 제어 정보를 생성하는 것
    을 특징으로 하는 동화상 부호화 장치.
  4. 부호화 블록의 주위에 위치하는 복수의 부호화 완료된 블록으로부터 얻어지는 공간 움직임 벡터, 및 상기 부호화 블록이 참조가능한 부호화 완료된 픽쳐의 움직임 벡터로부터 얻어지는 시간 움직임 벡터로부터 움직임 벡터 후보를 준비하는 단계와,
    상기 움직임 벡터 후보 중에서 선택된 움직임 벡터를 이용해서 상기 부호화 블록에 대해서, 움직임 보상 예측 처리를 실시해서 예측 화상을 생성하는 단계와,
    선택된 움직임 벡터 후보를 나타내는 인덱스 정보를 생성하는 단계를 구비하고,
    상기 움직임 벡터 후보는 소정의 순서로 리스트화되고,
    상기 움직임 벡터 후보의 수는 슬라이스마다 변경 가능하고, 상기 움직임 벡터 후보의 수가 변경된 경우는 상기 움직임 벡터 후보의 수를 변경하기 위한 제어 정보가 생성되는 것
    을 특징으로 하는 동화상 부호화 방법.
  5. 부호화 블록에 움직임 보상 예측 처리를 실시해서 생성되는 예측 화상과 원화상의 차분으로부터 생성되는 압축 데이터와,
    상기 움직임 보상 예측 처리에 이용된 움직임 벡터에 관한 인덱스 정보와,
    상기 인덱스 정보에 근거해서 선택되는 움직임 벡터 후보의 수를 변경하기 위한 제어 정보
    를 구비한 동화상 부호화 데이터를 기록한 기록 매체로서,
    상기 인덱스 정보는, 상기 움직임 벡터가 상기 부호화 블록의 주위에 위치하는 복수의 부호화 완료된 블록으로부터 얻어지는 공간 움직임 벡터, 및 상기 부호화 블록이 참조가능한 부호화 완료된 픽쳐의 움직임 벡터로부터 얻어지는 시간 움직임 벡터 중 적어도 하나를 포함하는 움직임 벡터 후보로부터 선택된 것인 경우, 선택된 벡터 후보를 나타내는 것이고,
    상기 움직임 벡터 후보는 소정의 순서로 리스트화되어 있고,
    상기 움직임 벡터 후보의 수는 슬라이스 단위로 변경 가능한 것
    을 특징으로 하는 기록 매체.
KR1020177007981A 2010-09-30 2011-07-21 동화상 복호 장치, 동화상 복호 방법, 동화상 부호화 장치, 동화상 부호화 방법 및 기록 매체 KR101829594B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP2010221460 2010-09-30
JPJP-P-2010-221460 2010-09-30
JPJP-P-2011-050214 2011-03-08
JP2011050214 2011-03-08
PCT/JP2011/004121 WO2012042719A1 (ja) 2010-09-30 2011-07-21 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020147034567A Division KR101723282B1 (ko) 2010-09-30 2011-07-21 동화상 복호 장치, 동화상 복호 방법, 동화상 부호화 장치, 동화상 부호화 방법 및 기록 매체

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020187003506A Division KR101914018B1 (ko) 2010-09-30 2011-07-21 동화상 복호 장치, 동화상 복호 방법, 동화상 부호화 장치, 동화상 부호화 방법 및 기록 매체

Publications (2)

Publication Number Publication Date
KR20170037675A KR20170037675A (ko) 2017-04-04
KR101829594B1 true KR101829594B1 (ko) 2018-02-14

Family

ID=45892217

Family Applications (5)

Application Number Title Priority Date Filing Date
KR1020187003506A KR101914018B1 (ko) 2010-09-30 2011-07-21 동화상 복호 장치, 동화상 복호 방법, 동화상 부호화 장치, 동화상 부호화 방법 및 기록 매체
KR1020137010987A KR101554792B1 (ko) 2010-09-30 2011-07-21 동화상 복호 장치 및 동화상 복호 방법
KR1020177007981A KR101829594B1 (ko) 2010-09-30 2011-07-21 동화상 복호 장치, 동화상 복호 방법, 동화상 부호화 장치, 동화상 부호화 방법 및 기록 매체
KR1020187030738A KR102013093B1 (ko) 2010-09-30 2011-07-21 동화상 복호 장치, 동화상 복호 방법, 동화상 부호화 장치, 동화상 부호화 방법 및 기록 매체
KR1020147034567A KR101723282B1 (ko) 2010-09-30 2011-07-21 동화상 복호 장치, 동화상 복호 방법, 동화상 부호화 장치, 동화상 부호화 방법 및 기록 매체

Family Applications Before (2)

Application Number Title Priority Date Filing Date
KR1020187003506A KR101914018B1 (ko) 2010-09-30 2011-07-21 동화상 복호 장치, 동화상 복호 방법, 동화상 부호화 장치, 동화상 부호화 방법 및 기록 매체
KR1020137010987A KR101554792B1 (ko) 2010-09-30 2011-07-21 동화상 복호 장치 및 동화상 복호 방법

Family Applications After (2)

Application Number Title Priority Date Filing Date
KR1020187030738A KR102013093B1 (ko) 2010-09-30 2011-07-21 동화상 복호 장치, 동화상 복호 방법, 동화상 부호화 장치, 동화상 부호화 방법 및 기록 매체
KR1020147034567A KR101723282B1 (ko) 2010-09-30 2011-07-21 동화상 복호 장치, 동화상 복호 방법, 동화상 부호화 장치, 동화상 부호화 방법 및 기록 매체

Country Status (12)

Country Link
US (5) US9369730B2 (ko)
EP (1) EP2624562A4 (ko)
JP (6) JP5486091B2 (ko)
KR (5) KR101914018B1 (ko)
CN (5) CN103222265B (ko)
BR (1) BR112013006499B1 (ko)
CA (3) CA2991166C (ko)
MX (1) MX2013003694A (ko)
RU (5) RU2597499C2 (ko)
SG (5) SG10201707379SA (ko)
TW (2) TWI571108B (ko)
WO (1) WO2012042719A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020005002A1 (ko) * 2018-06-28 2020-01-02 엘지전자 주식회사 영상 코딩 시스템에서 인터 예측에 따른 템플릿 영역 도출 방법 및 장치

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106210737B (zh) * 2010-10-06 2019-05-21 株式会社Ntt都科摩 图像预测解码装置、图像预测解码方法
JP5682582B2 (ja) * 2011-03-08 2015-03-11 株式会社Jvcケンウッド 動画像復号装置、動画像復号方法及び動画像復号プログラム、並びに、受信装置、受信方法及び受信プログラム
JP5807588B2 (ja) * 2011-03-08 2015-11-10 株式会社Jvcケンウッド 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム、並びに、送信装置、送信方法及び送信プログラム
US9487562B2 (en) 2011-06-17 2016-11-08 President And Fellows Of Harvard College Stabilized polypeptides as regulators of RAB GTPase function
ES2728146T3 (es) 2012-01-20 2019-10-22 Sun Patent Trust Procedimientos y aparato de codificación y decodificación de vídeo utilizando predicción temporal de vector de movimiento
WO2013114860A1 (ja) 2012-02-03 2013-08-08 パナソニック株式会社 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置及び画像符号化復号装置
WO2013132792A1 (ja) 2012-03-06 2013-09-12 パナソニック株式会社 動画像符号化方法、動画像復号方法、動画像符号化装置、動画像復号装置、及び動画像符号化復号装置
US10469851B2 (en) * 2012-04-16 2019-11-05 New Cinema, LLC Advanced video coding method, system, apparatus, and storage medium
BR112015008460A2 (pt) * 2012-11-06 2017-07-04 Nec Corp método de codificação de vídeo, dispositivo de codificação de vídeo, e programa de codificação de vídeo
KR102088383B1 (ko) * 2013-03-15 2020-03-12 삼성전자주식회사 비디오의 부호화 방법 및 장치, 비디오의 복호화 방법 및 장치
US9442637B1 (en) * 2013-06-17 2016-09-13 Xdroid Kft Hierarchical navigation and visualization system
US9693076B2 (en) * 2014-01-07 2017-06-27 Samsung Electronics Co., Ltd. Video encoding and decoding methods based on scale and angle variation information, and video encoding and decoding apparatuses for performing the methods
JP6187286B2 (ja) * 2014-01-28 2017-08-30 富士通株式会社 動画像符号化装置
GB201405649D0 (en) * 2014-03-28 2014-05-14 Sony Corp Data encoding and decoding
US20160373744A1 (en) * 2014-04-23 2016-12-22 Sony Corporation Image processing apparatus and image processing method
US10283091B2 (en) * 2014-10-13 2019-05-07 Microsoft Technology Licensing, Llc Buffer optimization
KR102288949B1 (ko) 2015-01-22 2021-08-12 현대모비스 주식회사 자동차의 브레이크 시스템
CN115134596A (zh) 2015-06-05 2022-09-30 杜比实验室特许公司 用于执行帧间预测的图像编解码方法、比特流存储方法
CN115134609A (zh) * 2015-06-11 2022-09-30 杜比实验室特许公司 使用自适应去块滤波编码和解码图像的方法及其装置
US10291931B2 (en) * 2016-10-13 2019-05-14 Ati Technologies Ulc Determining variance of a block of an image based on a motion vector for the block
US10694202B2 (en) * 2016-12-01 2020-06-23 Qualcomm Incorporated Indication of bilateral filter usage in video coding
US20180242024A1 (en) * 2017-02-21 2018-08-23 Mediatek Inc. Methods and Apparatuses of Candidate Set Determination for Quad-tree Plus Binary-tree Splitting Blocks
EP3611925A4 (en) * 2017-04-13 2020-03-25 Panasonic Intellectual Property Corporation of America ENCODING DEVICE, DECODING DEVICE, ENCODING METHOD, AND DECODING METHOD
CN110692242B (zh) * 2017-06-05 2023-10-03 松下电器(美国)知识产权公司 编码装置、解码装置、编码方法和解码方法
WO2019049912A1 (ja) * 2017-09-08 2019-03-14 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法
EP3709640A4 (en) 2017-11-09 2021-08-25 Samsung Electronics Co., Ltd. DEVICE AND METHOD FOR ENCODING IMAGES ON THE BASIS OF MOTION VECTOR RESOLUTION, AND DECODING DEVICE AND METHOD
CN112335248B (zh) * 2018-06-29 2023-12-05 英迪股份有限公司 使用解码器侧的运动补偿的视频编码方法和装置
WO2020008329A1 (en) 2018-07-01 2020-01-09 Beijing Bytedance Network Technology Co., Ltd. Spatial motion compression
US10735763B2 (en) * 2018-07-27 2020-08-04 Tencent America LLC Method and apparatus for motion vector prediction using spatial and temporal combination
CN111294601A (zh) 2018-12-07 2020-06-16 华为技术有限公司 视频图像解码、编码方法及装置
CN111698509B (zh) 2019-03-11 2022-09-30 杭州海康威视数字技术股份有限公司 一种编解码方法、装置及其设备
JP7395625B2 (ja) * 2019-06-19 2023-12-11 エルジー エレクトロニクス インコーポレイティド クロマブロックの分割条件を制限する画像符号化/復号化方法、装置、及びビットストリームを伝送する方法
JP6835337B2 (ja) * 2019-06-20 2021-02-24 Kddi株式会社 画像復号装置、画像復号方法及びプログラム
JP7267885B2 (ja) * 2019-09-20 2023-05-02 Kddi株式会社 画像復号装置、画像復号方法及びプログラム
JP7473656B2 (ja) 2020-01-09 2024-04-23 テレフオンアクチーボラゲット エルエム エリクソン(パブル) ピクチャヘッダ存在

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3351645B2 (ja) * 1995-01-31 2002-12-03 松下電器産業株式会社 動画像信号の符号化方法
JP3628810B2 (ja) * 1996-06-28 2005-03-16 三菱電機株式会社 画像符号化装置
FR2756399B1 (fr) * 1996-11-28 1999-06-25 Thomson Multimedia Sa Procede et dispositif de compression video pour images de synthese
CN100518319C (zh) * 1996-12-18 2009-07-22 汤姆森消费电子有限公司 将数据压缩成固定长度数据块及解压的方法
JP4114859B2 (ja) * 2002-01-09 2008-07-09 松下電器産業株式会社 動きベクトル符号化方法および動きベクトル復号化方法
JP2004088722A (ja) * 2002-03-04 2004-03-18 Matsushita Electric Ind Co Ltd 動画像符号化方法および動画像復号化方法
AU2003279015A1 (en) * 2002-09-27 2004-04-19 Videosoft, Inc. Real-time video coding/decoding
KR100506864B1 (ko) * 2002-10-04 2005-08-05 엘지전자 주식회사 모션벡터 결정방법
WO2004040915A1 (ja) * 2002-11-01 2004-05-13 Matsushita Electric Industrial Co., Ltd. 動画像符号化方法および動画像復号化方法
JP2005005844A (ja) * 2003-06-10 2005-01-06 Hitachi Ltd 計算装置及び符号化処理プログラム
US7688894B2 (en) * 2003-09-07 2010-03-30 Microsoft Corporation Scan patterns for interlaced video content
US7724827B2 (en) * 2003-09-07 2010-05-25 Microsoft Corporation Multi-layer run level encoding and decoding
US7567617B2 (en) * 2003-09-07 2009-07-28 Microsoft Corporation Predicting motion vectors for fields of forward-predicted interlaced video frames
KR100946790B1 (ko) * 2005-01-07 2010-03-11 니폰덴신뎅와 가부시키가이샤 영상 부호화 방법 및 장치, 영상 복호 방법 및 장치, 그들 프로그램을 기록한 기록 매체
JP2007221202A (ja) 2006-02-14 2007-08-30 Victor Co Of Japan Ltd 動画像符号化装置及び動画像符号化プログラム
CN101455087B (zh) * 2006-05-24 2011-01-12 松下电器产业株式会社 图像编码装置、图像编码方法及图像编码用集成电路
US8363936B2 (en) 2006-08-25 2013-01-29 Thomson Licensing Method and apparatus for reduced resolution partitioning
JP5025286B2 (ja) * 2007-02-28 2012-09-12 シャープ株式会社 符号化装置及び復号装置
BRPI0808679A2 (pt) * 2007-03-29 2014-09-02 Sharp Kk Dispositivo de transmissão de imagem de vídeo, dispositivo de recepção de imagem de vídeo, dispositivo de gravação de imagem de vídeo, dispositivo de reprodução de imagem de vídeo e dispositivo de exibição de imagem de vídeo
BRPI0809512A2 (pt) 2007-04-12 2016-03-15 Thomson Licensing método e aparelho para mesclagem dependente de contexto para modos salto-direto para codificação e decodificação de vídeo
JP2008283490A (ja) * 2007-05-10 2008-11-20 Ntt Docomo Inc 動画像符号化装置、方法及びプログラム、並びに動画像復号化装置、方法及びプログラム
JP2008311781A (ja) 2007-06-12 2008-12-25 Ntt Docomo Inc 動画像符号化装置、動画像復号化装置、動画像符号化方法、動画像復号化方法、動画像符号化プログラム及び動画像復号化プログラム
WO2009041215A1 (ja) * 2007-09-25 2009-04-02 Sharp Kabushiki Kaisha 動画像符号化装置及び動画像復号装置
WO2009051719A2 (en) * 2007-10-16 2009-04-23 Thomson Licensing Methods and apparatus for video encoding and decoding geometically partitioned super blocks
KR102037328B1 (ko) * 2007-10-16 2019-10-28 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
JP2009147807A (ja) * 2007-12-17 2009-07-02 Fujifilm Corp 画像処理装置
KR101505195B1 (ko) * 2008-02-20 2015-03-24 삼성전자주식회사 직접 모드 부호화 및 복호화 방법
EP2266318B1 (en) * 2008-03-19 2020-04-22 Nokia Technologies Oy Combined motion vector and reference index prediction for video coding
WO2009128208A1 (ja) * 2008-04-16 2009-10-22 株式会社日立製作所 動画像符号化装置、動画像復号化装置、動画像符号化方法、および動画像復号化方法
JP4937224B2 (ja) * 2008-09-30 2012-05-23 株式会社東芝 画像符号化装置
US8483285B2 (en) * 2008-10-03 2013-07-09 Qualcomm Incorporated Video coding using transforms bigger than 4×4 and 8×8
US8619856B2 (en) * 2008-10-03 2013-12-31 Qualcomm Incorporated Video coding with large macroblocks
US20100166073A1 (en) * 2008-12-31 2010-07-01 Advanced Micro Devices, Inc. Multiple-Candidate Motion Estimation With Advanced Spatial Filtering of Differential Motion Vectors
TWI405469B (zh) * 2009-02-20 2013-08-11 Sony Corp Image processing apparatus and method
EP2224738A1 (en) * 2009-02-27 2010-09-01 Nxp B.V. Identifying occlusions
US8391365B2 (en) * 2009-03-20 2013-03-05 National Cheng Kung University Motion estimator and a motion estimation method
US9060176B2 (en) * 2009-10-01 2015-06-16 Ntt Docomo, Inc. Motion vector prediction in video coding
WO2011099242A1 (ja) 2010-02-12 2011-08-18 三菱電機株式会社 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Ken McCann et. al., "Samsung’s Response to the Call for Proposals on Video Compression Technology", JCTVC 1st meeting, 23, April, 2010.*

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020005002A1 (ko) * 2018-06-28 2020-01-02 엘지전자 주식회사 영상 코딩 시스템에서 인터 예측에 따른 템플릿 영역 도출 방법 및 장치

Also Published As

Publication number Publication date
CN106713931A (zh) 2017-05-24
CA3033984A1 (en) 2012-04-05
KR101723282B1 (ko) 2017-04-04
US9894376B2 (en) 2018-02-13
WO2012042719A1 (ja) 2012-04-05
KR20180118814A (ko) 2018-10-31
KR20180017217A (ko) 2018-02-20
CN103222265A (zh) 2013-07-24
JP2017060197A (ja) 2017-03-23
US20130177076A1 (en) 2013-07-11
CA2991166C (en) 2019-04-09
TW201640898A (zh) 2016-11-16
MX2013003694A (es) 2013-04-24
CN106488249A (zh) 2017-03-08
US9894375B2 (en) 2018-02-13
US20150281725A1 (en) 2015-10-01
BR112013006499A2 (pt) 2020-08-04
EP2624562A4 (en) 2014-11-19
SG10201701439WA (en) 2017-03-30
JP2019146245A (ja) 2019-08-29
JP6768110B2 (ja) 2020-10-14
CN106713930B (zh) 2019-09-03
CN106454379A (zh) 2017-02-22
CN106488249B (zh) 2019-11-05
CA3033984C (en) 2022-03-08
JPWO2012042719A1 (ja) 2014-02-03
EP2624562A1 (en) 2013-08-07
CA2813232C (en) 2020-02-04
RU2706179C1 (ru) 2019-11-14
BR112013006499B1 (pt) 2022-09-20
KR20170037675A (ko) 2017-04-04
RU2549512C2 (ru) 2015-04-27
US20150245057A1 (en) 2015-08-27
TWI581622B (zh) 2017-05-01
TW201216717A (en) 2012-04-16
CA2813232A1 (en) 2012-04-05
RU2654136C2 (ru) 2018-05-16
JP2014112939A (ja) 2014-06-19
KR101914018B1 (ko) 2018-10-31
CN106713930A (zh) 2017-05-24
JP2018067974A (ja) 2018-04-26
KR20150010774A (ko) 2015-01-28
SG10201707379SA (en) 2017-10-30
JP6312787B2 (ja) 2018-04-18
JP5486091B2 (ja) 2014-05-07
SG10201802064VA (en) 2018-05-30
TWI571108B (zh) 2017-02-11
RU2015108787A (ru) 2015-08-10
JP6768017B2 (ja) 2020-10-14
CN103222265B (zh) 2017-02-08
CN106713931B (zh) 2019-09-03
RU2016132603A (ru) 2018-02-14
US20150245035A1 (en) 2015-08-27
SG10201506682SA (en) 2015-10-29
RU2680199C1 (ru) 2019-02-18
JP6071922B2 (ja) 2017-02-01
JP2020202590A (ja) 2020-12-17
KR20130076879A (ko) 2013-07-08
KR101554792B1 (ko) 2015-09-21
US9369730B2 (en) 2016-06-14
US9900612B2 (en) 2018-02-20
CN106454379B (zh) 2019-06-28
SG189114A1 (en) 2013-05-31
KR102013093B1 (ko) 2019-08-21
US9900611B2 (en) 2018-02-20
US20150245032A1 (en) 2015-08-27
RU2013119920A (ru) 2014-11-10
RU2597499C2 (ru) 2016-09-10
CA2991166A1 (en) 2012-04-05

Similar Documents

Publication Publication Date Title
KR101829594B1 (ko) 동화상 복호 장치, 동화상 복호 방법, 동화상 부호화 장치, 동화상 부호화 방법 및 기록 매체
KR101604959B1 (ko) 화상 부호화 장치, 화상 복호 장치, 화상 부호화 방법 및 화상 복호 방법
KR101860606B1 (ko) 화상 부호화 장치, 화상 복호 장치, 화상 부호화 방법, 화상 복호 방법 및 기억 매체
KR101538248B1 (ko) 화상 부호화 장치
KR20130135925A (ko) 화상 부호화 장치, 화상 복호 장치, 화상 부호화 방법 및 화상 복호 방법
JP2012186762A (ja) 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法
JP2012080210A (ja) 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法

Legal Events

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