KR20040099100A - 움직임 벡터 계산 방법 - Google Patents

움직임 벡터 계산 방법 Download PDF

Info

Publication number
KR20040099100A
KR20040099100A KR10-2003-7014885A KR20037014885A KR20040099100A KR 20040099100 A KR20040099100 A KR 20040099100A KR 20037014885 A KR20037014885 A KR 20037014885A KR 20040099100 A KR20040099100 A KR 20040099100A
Authority
KR
South Korea
Prior art keywords
motion vector
block
picture
motion
encoded
Prior art date
Application number
KR10-2003-7014885A
Other languages
English (en)
Inventor
곤도사토시
가도노신야
하가이마코토
아베기요후미
Original Assignee
마쯔시다덴기산교 가부시키가이샤
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 마쯔시다덴기산교 가부시키가이샤 filed Critical 마쯔시다덴기산교 가부시키가이샤
Publication of KR20040099100A publication Critical patent/KR20040099100A/ko

Links

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
    • 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/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/127Prioritisation of hardware or computational resources
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/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/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/16Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter for a given display mode, e.g. for interlaced or progressive display 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/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/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/58Motion compensation with long-term prediction, i.e. the reference frame for a current frame not being the temporally closest one
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/583Motion compensation with overlapping blocks
    • 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/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream

Abstract

모드 선택부(1109)는, 부호화 대상 매크로 블록 페어(이하, MBP)가 표시 시간 순으로 전방의 프레임을 참조하여 프레임 구조로 부호화되는 경우, 필드 구조로 부호화되어 있는 주변 MBP에 대해서는, 2개의 매크로 블록(이하, MB)의 양쪽이, 제1 참조 인덱스가 최소값인 프레임을 참조하고 있으면, MBP의 탑 필드인 MB의 움직임 벡터와 저부 필드인 MB의 움직임 벡터의 평균값을 대응시킨다. 제1 참조 인덱스가 최소값이 아닌 프레임을 참조하고 있는 MB가 있으면 그 움직임 벡터에 「0」을 적용시켜서, 부호화 대상 MB의 움직임 벡터를 계산한다.

Description

움직임 벡터 계산 방법, 동화상 부호화 방법, 동화상 복호화 방법, 동화상 부호화 장치, 및 동화상 복호화 장치{METHOD OF CALCULATING MOTION VECTOR}
일반적으로 동화상의 부호화에서는, 시간 방향 및 공간 방향의 용장성을 삭감함으로써 정보량의 압축을 행한다. 그래서 시간적인 용장성의 삭감을 목적으로 하는 픽처간 예측 부호화에서는, 전방 또는 후방의 픽처를 참조하여 블록 단위로 움직임의 검출 및 움직임 보상을 행하여, 얻어진 예측 화상과 현재의 픽처의 차분값에 대해서 부호화를 행한다.
현재 표준화 중에 있는 동화상 부호화 방법인 H.26L에서는, 픽처내 예측 부호화만을 행하는 픽처(I 픽처), 및 1장의 픽처를 참조하여 픽처간 예측 부호화를 행하는 픽처(이하, P 픽처), 또한 표시 시간 순으로 전방에 있는 2장의 픽처 또는 표시 시간 순으로 후방에 있는 2장의 픽처 또는 표시 시간 순으로 전방 및 후방에 있는 각각 1장씩의 픽처를 참조하여 픽처간 예측 부호화를 행하는 픽처(이하, B 픽처)가 제안되어 있다.
도 1은 상기 동화상 부호화 방법에서의 각 픽처와, 그것에 의해서 참조되는 픽처와의 참조 관계의 예를 도시하는 도면이다.
픽처(I1)는 참조 픽처를 갖지 않고 픽처내 예측 부호화를 행하고, 픽처(P10)는 표시 시간 순으로 전방에 있는 P7를 참조하여 픽처간 예측 부호화를 행하고 있다. 또, 픽처(B6)는 표시 시간 순으로 전방에 있는 2개의 픽처를 참조하고, 픽처(B12)는 표시 시간 순으로 후방에 있는 2개의 픽처를 참조하며, 픽처(B18)는 표시 시간 순으로 전방 및 후방에 있는 각각 1장씩의 픽처를 참조하여 픽처간 예측 부호화를 행하고 있다.
표시 시간 순으로 전방 및 후방에 있는 각각 1장씩의 픽처를 참조하여 픽처간 예측 부호화를 행하는 2방향 예측의 1개의 예측 모드로서 직접 모드가 있다. 직접 모드에서는 부호화 대상의 블록에 직접적으로는 움직임 벡터를 갖게 하지 않고, 표시 시간 순으로 근방에 있는 부호화 완료 픽처 내의 동일 위치에 있는 블록의 움직임 벡터를 참조함으로써, 실제로 움직임 보상을 행하기 위한 2개의 움직임 벡터를 산출하여 예측 화상을 작성한다.
도 2는 직접 모드에서 움직임 벡터를 결정하기 위해서 참조한 부호화가 완료된 픽처가, 표시 시간 순으로 전방에 있는 1장의 픽처만을 참조하는 움직임 벡터를 갖고 있었던 경우의 예를 도시한 것이다. 동일 도면에서, 수직 방향의 선분으로 나타내는 「P」는 픽처 타입과는 관계없이, 단순한 픽처를 나타내고 있다. 동일 도면에서는, 예를 들면, 픽처(P83)가 현재 부호화의 대상으로 되어 있는 픽처이고픽처(P82) 및 픽처(P84)를 참조 픽처로 하여 2방향 예측을 행한다. 이 픽처(P83)에서 부호화를 행하는 블록을 블록(MB81)으로 하면, 블록(MB81)의 움직임 벡터는 부호화가 완료된 후방 참조 픽처인 픽처(P84)의 동일 위치에 있는 블록(MB82)이 갖는 움직임 벡터를 이용하여 결정된다. 이 블록(MB82)은 움직임 벡터로서 움직임 벡터(MV81)의 1개만을 갖기 때문에, 구하는 2개의 움직임 벡터(M82) 및 움직임 벡터(MV83)는 식 1(a) 및 식 1(b)에 기초하여 직접, 움직임 벡터(MV81) 및 시간 간격(TR81)에 대해서 스케일링을 적용함으로써 산출된다.
MV82 = MV81/TR81×TR82 …식 1(a)
MV83 = -MV81/TR81×TR83 …식 1(b)
또한, 이 때 시간 간격(TR81)은 픽처(P84)로부터 픽처(P82)까지, 결국, 픽처(P84)로부터, 움직임 벡터(MV81)가 지시하는 참조 픽처까지의 시간의 간격을 나타내고 있다. 또한, 시간 간격(TR82)은 픽처(P83)로부터 움직임 벡터(MV82)가 지시하는 참조 픽처까지의 시간의 간격을 나타내고 있다. 또한, 시간 간격(TR83)은 픽처(P83)로부터, 움직임 벡터(MV83)가 지시하는 참조 픽처까지의 시간의 간격을 나타내고 있다.
또, 직접 모드에는, 이미 설명한 시간적 예측과, 공간적 예측의 2개의 방법이 있지만, 이하에서는, 공간적 예측에 대해서 설명한다. 직접 모드의 공간적 예측에서는, 예를 들면, 16화소×16화소로 구성되는 매크로 블록을 단위로 하여 부호화를 행하고, 부호화 대상 매크로 블록의 주변 3매크로 블록의 움직임 벡터 중, 부호화 대상 픽처로부터 표시 시간 순으로 가장 가까운 거리에 있는 픽처를 참조하여구해진 움직임 벡터의 1개를 선택하여, 선택된 움직임 벡터를 부호화 대상 매크로 블록의 움직임 벡터로 한다. 3개의 움직임 벡터가 전부 동일 픽처를 참조하고 있는 경우에는 이들의 중앙값을 선택한다. 3개 중 2개가 부호화 대상 픽처로부터 표시 시간 순으로 가장 가까운 거리에 있는 픽처를 참조하고 있는 경우에는 나머지 1개를 「0」 벡터로 간주하고, 이들의 중앙값을 선택한다. 또, 1개만이 부호화 대상 픽처로부터 표시 시간 순으로 가장 가까운 거리에 있는 픽처를 참조하고 있는 경우에는 그 움직임 벡터를 선택한다. 이와 같이 직접 모드에서는, 부호화 대상의 매크로 블록에 대해서 움직임 벡터를 부호화하지 않고, 다른 매크로 블록이 갖는 움직임 벡터를 이용하여 움직임 예측을 행한다.
도 3(a)는, 종래의 직접 모드의 공간적 예측 방법을 이용하여, B 픽처에서 표시 시간 순으로 전방의 픽처를 참조하는 경우의 움직임 벡터 예측 방법의 일례를 도시하는 도면이다. 동일 도면에서, P는 P 픽처, B는 B 픽처를 나타내고, 우측 4 픽처의 픽처 타입에 붙여져 있는 숫자는 각 픽처가 부호화된 순서를 나타내고 있다. 여기에서는, 픽처(B4)에서 사선을 그은 매크로 블록이 부호화 대상으로 되어 있는 것으로 한다. 부호화 대상 매크로 블록의 움직임 벡터를, 직접 모드의 공간적 예측 방법을 이용하여 계산하는 경우, 먼저 부호화 대상 매크로 블록의 주변으로부터, 3개의 부호화가 완료된 매크로 블록(점선부)을 선택한다. 여기에서는, 주변 3매크로 블록의 선택 방법은 설명을 생략한다. 부호화가 완료된 3 매크로 블록의 움직임 벡터는 이미 계산되어 유지되고 있다. 이 움직임 벡터는 동일 픽처 중의 매크로 블록이어도, 매크로 블록마다 상이한 픽처를 참조하여 구해지고 있는 경우가 있다. 이 주변 3 매크로 블록이 각각 어느 픽처를 참조하였는지는, 각 매크로 블록을 부호화할 때에 이용한 참조 픽처의 참조 인덱스에 의해서 알 수 있다. 참조 인덱스에 대한 상세한 설명은 후술한다.
그런데, 예를 들면, 도 3a에 도시한 부호화 대상 매크로 블록에 대해서, 주변 3 매크로 블록이 선택되고, 각 부호화 완료 매크로 블록의 움직임 벡터가 각각 움직임 벡터(a), 움직임 벡터(b) 및 움직임 벡터(c)였다고 한다. 이것에 있어서, 움직임 벡터(a)와 움직임 벡터(b)는 픽처 번호(11)가「11」인 P 픽처를 참조하여 구해지고, 움직임 벡터(c)는 픽처 번호(11)가「8」인 P 픽처를 참조하여 구해지고 있었다고 한다. 이 경우, 이들 움직임 벡터(a, b 및 c) 중, 부호화 대상 픽처로부터 표시 시간 순으로 가장 가까운 거리에 있는 픽처를 참조한 움직임 벡터인 움직임 벡터( a, b)의 2개가 부호화 대상 매크로 블록의 움직임 벡터의 후보가 된다. 이 경우, 움직임 벡터(c)를 「0」으로 간주하고, 움직임 벡터(a), 움직임 벡터(b) 및 움직임 벡터(c)의 3개 중 중앙값을 선택하여, 부호화 대상 매크로 블록의 움직임 벡터로 한다.
단, MPEG-4 등의 부호화 방식에서는, 픽처 내의 각 매크로 블록을 인터레이스를 행하는 필드 구조로 부호화해도 좋고, 인터레이스를 행하지 않는 프레임 구조로 부호화를 행해도 좋다. 따라서, MPEG-4 등에서는, 참조 프레임 1 프레임 중에는, 필드 구조로 부호화된 매크로 블록과, 프레임 구조로 부호화된 매크로 블록이 혼재하는 경우가 생긴다. 이와 같은 경우에도, 부호화 대상 매크로 블록의 주변 3 매크로 블록이 모두 부호화 대상 매크로 블록과 동일 구조로 부호화되어 있으면,전술한 직접 모드의 공간적 예측 방법을 이용하여 문제없이 부호화 대상 매크로 블록의 움직임 벡터를 1개 도출할 수 있다. 즉, 프레임 구조로 부호화되는 부호화 대상 매크로 블록에 대해서, 주변 3 매크로 블록도, 또 프레임 구조로 부호화되어 있는 경우, 또는 필드 구조로 부호화되는 부호화 대상 매크로 블록에 대해서, 주변 3 매크로 블록도 또한 필드 구조로 부호화되어 있는 경우이다. 전자의 경우에는, 이미 설명한 바와 같다. 또, 후자의 경우에는, 부호화 대상 매크로 블록의 탑 필드에 대응해서는, 주변 3 매크로 블록의 탑 필드에 대응한 3개의 움직임 벡터를 이용함으로써, 또 부호화 대상 매크로 블록의 저부 필드에 대응해서는, 주변 3매크로 블록의 저부 필드에 대응한 3개의 움직임 벡터를 이용함으로써, 탑 필드와 저부 필드의 각각에 대해서, 전술한 방법으로, 부호화 대상 매크로 블록의 움직임 벡터를 도출할 수 있다.
그러나, 직접 모드의 시간적 예측의 경우, 픽처간 예측 부호화를 행하는 블록이 직접 모드에 의해서 움직임 보상을 행할 때에, 움직임 벡터를 참조하는 블록이 도 1의 B6과 같은 B 픽처에 속해 있었을 때, 상기 블록은 다수의 움직임 벡터를 갖기 때문에 식 1에 기초한 스케일링에 의한 움직임 벡터의 산출을 직접 적용할 수 없다는 문제가 발생한다. 또, 움직임 벡터의 산출 후에 제산 연산을 행하기 때문에, 움직임 벡터값의 정밀도(예를 들면 1/2 화소나 1/4 화소 정밀도)가, 미리 정해진 정밀도에 일치하지 않는 경우가 생긴다.
또, 공간적 예측의 경우, 부호화 대상 매크로 블록과 주변 매크로 블록 중 어느 하나가 상이한 구조로 부호화되어 있는 경우, 부호화 대상 매크로 블록을 필드 구조 및 프레임 구조 중 어느 쪽의 구조로 부호화할지는 규정되어 있지 않고, 또 필드 구조로 부호화된 것과 프레임 구조로 부호화된 것이 혼재하는 주변 매크로 블록의 움직임 벡터 중에서, 부호화 대상 매크로 블록의 움직임 벡터를 선택하는 방법도 규정되어 있지 않다.
본 발명의 목적은, 필드 구조로 부호화된 블록과 프레임 구조로 부호화된 블록이 혼재하는 경우에도, 직접 모드에서의 정밀도가 좋은 공간 방향의 움직임 벡터 예측 방법을 제공하는 것이다.
본 발명은, 동화상의 부호화 방법 및 복호화 방법에 관한 것으로, 특히 이미 부호화가 완료된 표시 시간 순으로 전방에 있는 다수의 픽처 또는 표시 시간 순으로 후방에 있는 다수의 픽처 또는 표시 시간 순으로 전방 및 후방의 양쪽에 있는 다수의 픽처를 참조하여 예측 부호화를 행하는 방법에 관한 것이다.
도 1은 종래 예의 픽처의 참조 관계를 설명하기 위한 모식도,
도 2는 종래 예의 직접 모드의 동작을 설명하기 위한 모식도,
도 3(a)는 종래의 직접 모드의 공간적 예측 방법을 이용하여, B 픽처에서 시간적 전방 픽처를 참조하는 경우의 움직임 벡터 예측 방법의 일례를 나타내는 도면,
도 3(b)는 각 부호화 대상 픽처에 작성되는 참조 리스트의 일례를 나타내는 도면,
도 4는 픽처 번호와 참조 인덱스의 설명도,
도 5는 종래의 화상 부호화 장치에 의한 화상 부호화 신호 포맷의 개념을 나타내는 도면,
도 6은 본 발명의 실시 형태 1 및 실시 형태 2에 의한 부호화의 동작을 설명하기 위한 블록도,
도 7은 직접 모드에서 움직임 벡터를 참조하는 블록이 표시 시간 순으로 전방을 참조하는 2개의 움직임 벡터를 갖고 있었던 경우의 동작을 설명하기 위한 모식도,
도 8은 표시의 순서 및 부호화의 순서에서의 픽처의 참조 관계를 비교하기 위한 모식도,
도 9는 직접 모드에서 움직임 벡터를 참조하는 블록이 표시 시간 순으로 후방을 참조하는 2개의 움직임 벡터를 갖고 있었던 경우의 동작을 설명하기 위한 모식도,
도 10은 표시의 순서 및 부호화의 순서에서의 픽처의 참조 관계를 비교하기 위한 모식도,
도 11은 본 발명의 실시 형태 5 및 실시 형태 6에 의한 복호화의 동작을 설명하기 위한 블록도,
도 12는 직접 모드에서 움직임 벡터를 참조하는 블록이 표시 시간 순으로 전방을 참조하는 2개의 움직임 벡터를 갖고 있었던 경우의 동작을 설명하기 위한 모식도,
도 13은 직접 모드에서 움직임 벡터를 참조하는 블록이 표시 시간 순으로 후방을 참조하는 2개의 움직임 벡터를 갖고 있었던 경우의 동작을 설명하기 위한 모식도,
도 14는 직접 모드에서 움직임 벡터를 참조하는 블록이 표시 시간 순으로 후방을 참조하는 2개의 움직임 벡터를 갖고 있었던 경우의 동작을 설명하기 위한 모식도,
도 15는 직접 모드에서 움직임 벡터를 참조하는 블록이 표시 시간 순으로 전방을 참조하는 2개의 움직임 벡터를 갖고 있었던 경우의 동작을 설명하기 위한 모식도,
도 16은 직접 모드에서 움직임 벡터를 참조하는 블록이 표시 시간 순으로 전방을 참조하는 2개의 움직임 벡터를 갖고 있었던 경우의 동작을 설명하기 위한 모식도,
도 17은 직접 모드에서 움직임 벡터를 참조하는 블록이 표시 시간 순으로 전방을 참조하는 2개의 움직임 벡터를 갖고 있었던 경우의 동작을 설명하기 위한 모식도,
도 18은 직접 모드에서 움직임 벡터를 참조하는 블록이 표시 시간 순으로 전방을 참조하는 2개의 움직임 벡터를 갖고 있었던 경우의 동작을 설명하기 위한 모식도,
도 19는 직접 모드에서 움직임 벡터를 참조하는 블록이 표시 시간 순으로 후방을 참조하는 2개의 움직임 벡터를 갖고 있었던 경우의 동작을 설명하기 위한 모식도,
도 20은 직접 모드에서 움직임 벡터를 참조하는 블록이 표시 시간 순으로 후방을 참조하는 2개의 움직임 벡터를 갖고 있었던 경우의 동작을 설명하기 위한 모식도,
도 21은 직접 모드에서 움직임 벡터를 참조하는 블록이 표시 시간 순으로 후방을 참조하는 2개의 움직임 벡터를 갖고 있었던 경우의 동작을 설명하기 위한 모식도,
도 22는 직접 모드에서 움직임 벡터를 참조하는 블록이 표시 시간 순으로 후방을 참조하는 1개의 움직임 벡터를 갖고 있었던 경우의 동작을 설명하기 위한 모식도,
도 23은 직접 모드에서 주변 블록의 움직임 벡터를 참조하는 경우의 동작을 설명하기 위한 모식도,
도 24는 부호화열을 나타내는 도면,
도 25는 부호화 대상 블록과 부호화 대상 블록의 주위의 블록과의 관계를 나타내는 도면,
도 26은 부호화 대상 블록의 주위의 블록이 갖는 움직임 벡터를 나타내는 도면,
도 27은 부호화 대상 블록의 주위의 블록이 갖는 움직임 벡터를 나타내는 도면,
도 28은 부호화 대상 블록의 주위의 블록이 갖는 움직임 벡터를 나타내는 도면,
도 29는 부호화 대상 블록의 주위의 블록이 갖는 움직임 벡터를 나타내는 도면,
도 30은 부호화 대상 블록의 주위의 블록이 갖는 움직임 벡터를 나타내는 도면,
도 31은 부호화 대상 블록의 주위의 블록이 갖는 움직임 벡터를 나타내는 도면,
도 32는 부호화 대상 블록의 주위의 블록이 갖는 움직임 벡터를 나타내는 도면,
도 33은 부호화 대상 블록의 주위의 블록이 갖는 움직임 벡터를 나타내는 도면,
도 34는 직접 모드에서 사용하는 움직임 벡터를 결정하는 순서를 나타내는 도면,
도 35는 부호화 대상 블록과 부호화 대상 블록의 주위의 블록과의 관계를 나타내는 도면,
도 36은 참조 인덱스의 값에 의해서 부호화 대상 블록의 움직임 벡터를 결정하는 순서를 도시하는 도면,
도 37은 장시간 메모리에 보존되어 있는 픽처를 참조하는 움직임 벡터가 1개만인 경우의 직접 모드에서의 2방향 예측을 나타내는 도면,
도 38은 장시간 메모리에 보존되어 있는 픽처를 참조하는 움직임 벡터가 2개 있는 경우의 직접 모드에서의 2방향 예측을 나타내는 도면,
도 39는 움직임 벡터 계산 방법의 처리의 흐름을 나타내는 도면,
도 40은 본 발명의 실시 형태 11에 따른 동화상 부호화 장치(100)의 구성을 나타내는 블록도,
도 41(a)는 동화상 부호화 장치(100)에 시간 순으로 픽처 단위로 입력되는 프레임의 순서를 나타내는 도면,
도 41(b)는 도 41(a)에 나타낸 프레임의 배열을 부호화의 순서로 재배열된 경우의 순서를 나타내는 도면,
도 42는 제1 실시 형태를 설명하기 위한, 참조 픽처 리스트의 구조를 나타내는 도면,
도 43(a)는 필드 구조로 부호화되는 매크로 블록 페어와 프레임 구조로 부호화되는 매크로 블록 페어가 혼재하는 경우의 직접 모드 공간적 예측 방법을 이용한 움직임 벡터 계산 순서의 일례를 나타내는 플로우 챠트,
도 43(b)는 부호화 대상 매크로 블록 페어가 프레임 구조로 부호화되는 경우에서 본 발명이 적용되는 주변 매크로 블록 페어의 배치의 일례를 나타내는 도면,
도 43(c)는 부호화 대상 매크로 블록 페어가 필드 구조로 부호화되는 경우에서 본 발명이 적용되는 주변 매크로 블록 페어의 배치의 일례를 나타내는 도면,
도 44는 프레임 구조로 부호화하는 경우의 매크로 블록 페어의 데이터 구성과 필드 구조로 부호화하는 경우의 매크로 블록 페어의 데이터 구성을 나타내는 도면,
도 45는 도 43에 나타낸 단계 S302에서의 보다 상세한 처리 순서를 나타내는 플로우 챠트,
도 46은 참조 필드 인덱스와 참조 프레임 인덱스의 관계를 나타내는 관계 표시도,
도 47은 도 43에 나타낸 단계 S303에서의 보다 상세한 처리 순서를 나타내는 플로우 챠트,
도 48은 제1 실시 형태를 설명하기 위한, 부호화 대상 매크로 블록 페어와 주변 매크로 블록 페어의 위치 관계를 나타내는 도면,
도 49는 제1 실시 형태를 설명하기 위한, 부호화 대상 매크로 블록 페어와 주변 매크로 블록 페어의 위치 관계를 나타내는 도면,
도 50은 부호열 생성부(104)에 의해서 생성되는 부호열(700)의 데이터 구성의 일례를 나타내는 도면,
도 51은 도 50에 나타낸 부호열(700)을 복호화하는 동화상 복호화 장치(800)의 구성을 나타내는 블록도,
도 52(a)는 기록 매체 본체인 플렉서블 디스크의 물리 포맷의 예를 나타내는도면,
도 52(b)는 플렉서블 디스크의 정면에서 본 외관, 단면 구조 및 플렉서블 디스크를 나타내는 도면,
도 52(c)는 플렉서블 디스크(FD)에 상기 프로그램의 기록 재생을 행하기 위한 구성을 나타내는 도면,
도 53은 콘텐츠 배송 서비스를 실현하는 콘텐츠 공급 시스템의 전체 구성을 나타내는 블록도,
도 54는 휴대 전화의 외관의 일례를 나타내는 도면,
도 55는 휴대 전화의 구성을 나타내는 블록도,
도 56은 상기 실시 형태에서 나타낸 부호화 처리 또는 복호화 처리를 행하는 기기, 및 이 기기를 이용한 시스템을 설명하는 도면이다.
상기 목적을 달성하기 위해서 본 발명의 움직임 벡터 계산 방법은, 동화상의 픽처를 구성하는 블록의 움직임 벡터를, 이미 산출된 주변 블록의 움직임 벡터로부터 도출하는 움직임 벡터의 계산 방법에서, 도출의 대상이 되는 블록이 프레임 구조로 부호화 또는 복호화되는 경우에는, 필드 구조로 부호화 또는 복호화되어 있는 주변 블록에 대해서는, 탑 필드의 블록의 움직임 벡터와 저부 필드의 블록의 움직임 벡터 중, 일정한 조건을 만족하는 움직임 벡터를 이용하여 상기 도출의 대상이 되는 블록의 움직임 벡터를 도출하고, 도출의 대상이 되는 블록이 필드 구조로 부호화 또는 복호화되는 경우에는, 프레임 구조로 부호화 또는 복호화되어 있는 주변 블록에 대해서는, 서로 인접하는 2개의 블록의 움직임 벡터 중, 일정 조건을 만족하는 움직임 벡터를 이용하여 상기 도출의 대상이 되는 블록의 움직임 벡터를 도출한다. 따라서, 도출의 대상이 되는 블록과 주변 블록의 부호화 또는 복호화 구조가 상이한 경우에도, 각 주변 블록에서의 2개의 블록의 움직임 벡터 중, 일정 조건을 만족하는 움직임 벡터를 이용하여 상기 도출의 대상이 되는 블록의 움직임 벡터를 도출할 수 있다.
또, 본 발명의 상기 움직임 벡터 계산 방법에서, 상기 일정한 조건은, 도출의 대상이 되는 블록이 프레임 구조로 부호화 또는 복호화되는 경우에는, 상기 탑 필드의 블록의 움직임 벡터와 상기 저부 필드의 블록의 움직임 벡터의 각각이 참조하고 있는 픽처가, 참조 가능한 픽처 중, 동일 참조 인덱스를 갖는 픽처라는 조건이고, 도출의 대상이 되는 블록이 필드 구조로 부호화 또는 복호화되는 경우에는, 상기 서로 인접하는 2개의 블록의 움직임 벡터 각각이 참조하고 있는 픽처가, 참조 가능한 픽처 중, 동일 참조 인덱스를 갖는 픽처라는 조건으로 해도 좋다.
또한, 본 발명의 상기 움직임 벡터 계산 방법에 있어서, 상기 2개의 블록의 움직임 벡터의 양쪽이, 상기 일정한 조건을 만족하는 경우에는, 상기 2개의 블록의 움직임 벡터의 평균값을 이용하여, 상기 도출의 대상이 되는 블록의 움직임 벡터를 도출한다고 해도 좋다.
또한, 이 명세서는, 이전의 일본국 특허 출원「특원 2002-118598」,「특원 2002-121053」,「특원 2002-156266」, 「특원 2002-177889」,「특원 2002-193027」,「특원 2002-204713」,「특원 2002-262151」,「특원 2002-290542」,「특원 2002-323096」, 미국 가출원「60/378643」및「60/378954」의 내용을 취입한다.
본 발명은 종래의 기술의 문제점을 해결하는 것으로, 직접 모드에서, 움직임 벡터를 참조하는 블록이 B 픽처에 속하는 경우에도, 모순없이 움직임 보상에 이용하는 움직임 벡터를 결정하는 것을 가능하게 하는 동화상의 부호화 방법 및 복호화 방법을 제안하는 것을 목적으로 한다. 여기에서, 먼저 참조 인덱스에 대해서 설명한다.
도 3(b)는 각 부호화 대상 픽처에 작성되는 참조 픽처 리스트(10)의 일례를 도시하는 도면이다. 도 3(b)에 나타내는 참조 픽처 리스트(10)에는, 1개의 B 픽처를 중심으로 하여, 시간적으로 그 전후에 표시되고, 그 B 픽처가 참조 가능한 주변픽처와, 그들의 픽처 타입, 픽처 번호(11), 제1 참조 인덱스(12) 및 제2 참조 인덱스(13)가 도시되어 있다. 픽처 번호(11)는, 예를 들면, 각 픽처가 부호화된 순서를 나타내는 번호이다. 제1 참조 인덱스(12)는, 부호화 대상 픽처에 대한 주변 픽처의 상대적 위치 관계를 나타내는 제1 인덱스로서, 예를 들면 주로 부호화 대상 픽처가 표시 시간 순으로 전방의 픽처를 참조하는 경우의 인덱스로서 이용된다. 이 제1 참조 인덱스(12)의 리스트는, 「참조 인덱스 리스트 0(list 0)」또는「제1 참조 인덱스 리스트」라고 불린다. 또, 참조 인덱스는 상대 인덱스라고도 불린다. 도 3b의 참조 픽처 리스트(10)에서는, 제1 참조 인덱스(12)의 값에는, 먼저 부호화 대상 픽처보다 앞의 표시 시각을 갖는 참조 픽처에 대해서, 부호화 대상 픽처에 표시 시간 순으로 가까운 순으로부터「0」으로부터「1」씩 앞당겨지는 정수값이 할당된다. 부호화 대상 픽처보다 앞의 표시 시각을 갖는 참조 픽처 전부에 대해서「0」으로부터「1」씩 앞당겨지는 값이 할당되면, 다음에 부호화 대상 픽처보다 뒤의 표시 시각을 갖는 참조 픽처에 대해서, 부호화 대상 픽처에 표시 시간 순으로 가까운 순으로부터 계속해서 값이 할당된다.
제2 참조 인덱스(13)는, 부호화 대상 픽처에 대한 주변 픽처의 상대적 위치 관계를 나타내는 제2 인덱스로서, 예를 들면 주로 부호화 대상 픽처가 표시 시간 순으로 후방의 픽처를 참조하는 경우의 인덱스로서 이용된다. 이 제2 참조 인덱스(13)의 리스트는, 「참조 인덱스 리스트 1(list 1)」또는「제2 참조 인덱스 리스트」라고 불린다. 제2 참조 인덱스(13)의 값에는, 먼저 부호화 대상 픽처보다 뒤의 표시 시각을 갖는 참조 픽처에 대해서, 부호화 대상 픽처에 표시 시간 순으로가까운 순으로부터, 「0」으로부터「1」씩 앞당겨지는 정수값이 할당된다. 부호화 대상보다 뒤의 표시 시각을 갖는 참조 픽처 전부에 대해서 「0」으로부터「1」씩 앞당겨지는 값이 할당되면, 다음에 부호화 대상 픽처보다 앞의 표시 시각을 갖는 참조 픽처에 대해서, 부호화 대상 픽처에 표시 시간 순으로 가까운 순으로부터 계속해서 값이 할당된다. 따라서, 이 참조 픽처 리스트(10)를 보면, 제1 참조 인덱스(12), 제2 참조 인덱스(13)는, 참조 인덱스의 값이 작은 참조 픽처일수록 부호화 대상 픽처에 표시 시간 순으로 근접하고 있는 것을 알 수 있다. 이상에서는, 참조 인덱스의 초기 상태에서의 번호의 할당 방법에 대해서 설명하였지만, 참조 인덱스의 번호의 할당 방법은 픽처 단위나 슬라이스 단위로 변경하는 것이 가능하다. 참조 인덱스의 번호의 할당 방법은, 예를 들면, 표시 시간 순으로 멀어진 픽처에 대해서 작은 번호를 할당할 수도 있지만, 그와 같은 참조 인덱스는, 예를 들면, 표시 시간 순으로 멀어진 픽처를 참조하는 쪽이, 부호화 효율이 향상하는 경우에 이용된다. 즉, 블록 중의 참조 인덱스는 가변 길이 부호어에 의해 표현되고, 값이 작을수록 짧은 부호 길이의 코드가 할당되어 있기 때문에, 참조함으로써 부호화 효율이 향상하는 픽처에 대해서, 보다 작은 참조 인덱스를 할당함으로써, 참조 인덱스의 부호량을 줄이고, 또한 부호화 효율의 향상을 행하는 것이다.
도 4는 픽처 번호와 참조 인덱스의 설명도이다. 도 4는 참조 픽처 리스트의 예를 도시하고 있고, 중앙의 B 픽처(점선의 것)를 부호화할 때에 이용하는 참조 픽처 및 그 픽처 번호와 참조 인덱스를 나타낸 것이다. 도 4(A)는, 도 3을 이용하여 설명한, 초기 상태에서의 참조 인덱스의 할당 방법에 의해, 참조 인덱스를 할당한경우를 나타내고 있다.
도 5는 종래의 화상 부호화 장치에 의한 화상 부호화 신호 포맷의 개념도이다. Picture는 1 픽처분의 부호화 신호, Header는 픽처 선두에 포함되는 헤더 부호화 신호, Block 1은 직접 모드에 의한 블록의 부호화 신호, Block 2는 직접 모드 이외의 보간 예측에 의한 블록의 부호화 신호, Ridx 0, Ridx 1은 각각 제1 참조 인덱스와 제2 참조 인덱스, MV0, MV1는 각각 제1 움직임 벡터와 제2 움직임 벡터를 나타낸다. 부호화 블록(Block 2)에서는, 보간에 사용하는 2개의 참조 픽처를 나타내기 위해서 2개의 참조 인덱스(Ridx 0, Ridx 1)를 부호화 신호 중에 이 순서로 갖는다. 또, 부호화 블록(Block 2)의 제1 움직임 벡터(MV0)와, 제2 움직임 벡터(MV1)는 부호화 블록(Block 2)의 부호화 신호 내에 이 순서로 부호화된다. 참조 인덱스(Ridx 0, Ridx 1)의 어느 하나를 사용할지는 PredType에 의해 판단할 수 있다. 또, 제1 움직임 벡터(MV0)가 참조하는 픽처(제1 참조 픽처)를 제1 참조 인덱스(Ridx0)로 나타내고, 제2 움직임 벡터(MV1)가 참조하는 픽처(제2 참조 픽처)를 제2 참조 인덱스(Ridx 1)로 나타낸다. 예를 들면, 움직임 벡터(MV0과 MV1)의 2 방향에서 픽처를 참조하는 것이 나타내는 경우는, Ridx 0과 Ridx 1이 이용되고, 움직임 벡터(MV0 또는 MV1)의 어느 1 방향에서 픽처를 참조하는 것이 나타내는 경우는, 그 움직임 벡터에 따른 참조 인덱스인 Ridx 0 또는 Ridx 1이 이용되며, 직접 모드가 나타내어 있는 경우는 Ridx 0, Ridx 1 모두 이용되지 않는다. 제1 참조 픽처는, 제1 참조 인덱스에 의해 지정되고, 일반적으로는 부호화 대상 픽처보다 앞의 표시 시각을 갖는 픽처이고, 제2 참조 픽처는, 제2 참조 인덱스에 의해 지정되며,일반적으로는 부호화 대상 픽처보다 뒤의 표시 시각을 갖는 픽처이다. 단, 도 4의 참조 인덱스의 부여 방법 예로부터 알 수 있는 바와 같이, 제1 참조 픽처가 부호화 대상 픽처보다 뒤의 표시 시각을 갖는 픽처이고, 제2 참조 픽처가 부호화 대상 픽처보다 앞의 표시 시각을 갖는 픽처인 경우도 있다. 제1 참조 인덱스(Ridx 0)는, 블록(Block 2)의 제1 움직임 벡터(MV0)가 참조한 제1 참조 픽처를 나타내는 참조 인덱스이고, 제2 참조 인덱스(Ridx 1)는 블록(Block 2)의 제2 움직임 벡터(MV1)가 참조한 제2 참조 픽처를 나타내는 참조 인덱스이다.
한편, 부호화 신호 중의 버퍼 제어 신호(도 5 Header 내의 RPSL)를 이용하여 명시적으로 지시함으로써, 참조 인덱스에 대한 참조 픽처의 할당을 임의로 변경할 수 있다. 이 할당의 변경에 의해, 제2 참조 인덱스가 「0」인 참조 픽처를 임의의 참조 픽처로 하는 것도 가능하고, 예를 들면, 도 4(B)에 나타내는 바와 같이 픽처 번호에 대한 참조 인덱스의 할당을 변경할 수 있다.
이와 같이, 참조 인덱스에 대한 참조 픽처의 할당을 임의로 변경할 수 있기 때문에, 또 이 참조 인덱스에 대한 참조 픽처의 할당의 변경은, 통상 참조 픽처로서 선택함으로써 부호화 효율이 높아지는 픽처에 대해서 보다 작은 참조 인덱스를 할당하기 때문에, 움직임 벡터가 참조하는 참조 픽처의 참조 인덱스의 값이 가장 작아지는 움직임 벡터를 직접 모드에서 사용하는 움직임 벡터로 하면 부호화 효율을 높일 수 있다.
(실시 형태 1)
본 발명의 실시 형태 1의 동화상 부호화 방법을 도 6에 나타낸 블록도를 이용하여 설명한다.
부호화 대상이 되는 동화상은 시간 순으로 픽처 단위로 프레임 메모리(101)에 입력되고, 또한 부호화가 행해지는 순서로 재배열된다. 각각의 픽처는 블록이라고 불리는, 예를 들면 수평 16×수직 16화소의 그룹으로 분할되어, 블록 단위로 이후의 처리가 행해진다.
프레임 메모리(101)로부터 독출된 블록은 움직임 벡터 검출부(106)에 입력된다. 여기에서는 프레임 메모리(105)에 축적되어 있는 부호화가 완료된 픽처를 복호화한 화상을 참조 픽처로서 이용하여, 부호화 대상으로 하고 있는 블록의 움직임 벡터 검출을 행한다. 이 때 모드 선택부(107)에서는, 움직임 벡터 검출부(106)에서 얻어진 움직임 벡터나, 움직임 벡터 기억부(108)에 기억되어 있는 부호화가 완료된 픽처로 이용한 움직임 벡터를 참조하면서, 최적의 예측 모드를 결정한다. 모드 선택부(107)에서 얻어진 예측 모드와 그 예측 모드로 이용하는 움직임 벡터에 의해서 결정된 예측 화상이 차분 연산부(109)에 입력되고, 부호화 대상의 블록과의 차분을 취함으로써 예측 잔차 화상이 생성되며, 예측 잔차 부호화부(102)에서 부호화가 행해진다. 또, 모드 선택부(107)에서 얻어진 예측 모드로 이용하는 움직임 벡터는, 뒤의 블록이나 픽처의 부호화로 이용하기 위해서, 움직임 벡터 기억부(108)에 기억된다. 이상의 처리의 흐름은, 픽처간 예측 부호화가 선택된 경우의 동작이었지만, 스위치(111)에 의해서 픽처내 예측 부호화와의 전환이 이루어진다. 마지막으로, 부호열 생성부(103)에 의해서, 움직임 벡터 등의 제어 정보 및 예측 잔차 부호화부(102)로부터 출력되는 화상 정보 등에 대해서, 가변길이 부호화를 행하여 최종적으로 출력되는 부호열이 생성된다.
이상 부호화의 흐름의 개요를 나타내었지만, 움직임 벡터 검출부(106) 및 모드 선택부(107)에서의 처리의 상세에 대해서 이하에 설명한다.
움직임 벡터의 검출은, 블록마다 또는 블록을 분할한 영역마다 행해진다. 부호화의 대상으로 하고 있는 화상에 대해서 표시 시간 순으로 전방 및 후방에 위치하는 부호화가 완료된 픽처를 참조 픽처로 하고, 그 픽처 내의 탐색 영역에서 최적이라고 예측되는 위치를 나타내는 움직임 벡터 및 예측 모드를 결정함으로써 예측 화상을 작성한다.
표시 시간 순으로 전방 및 후방에 있는 2장의 픽처를 참조하여, 픽처간 예측 부호화를 행하는 2방향 예측의 1개로서, 직접 모드가 있다. 직접 모드에서는 부호화 대상의 블록에, 직접적으로는 움직임 벡터를 갖게 하지 않고, 표시 시간 순으로 근방에 있는 부호화 완료 픽처 내의 동일 위치에 있는 블록의 움직임 벡터를 참조함으로써, 실제로 움직임 보상을 행하기 위한 2개의 움직임 벡터를 산출하여, 예측 화상을 작성한다.
도 7은 직접 모드에서 움직임 벡터를 결정하기 위해서 참조한 부호화가 완료된 블록이 표시 시간 순으로 전방에 있는 2장의 픽처를 참조하는 2개의 움직임 벡터를 갖고 있었던 경우의 동작을 도시한 것이다. 픽처(P23)가 현재 부호화의 대상으로 하고 있는 픽처이고, 픽처(P22) 및 픽처(P24)를 참조 픽처로 하여 2방향 예측을 행하는 것이다. 부호화를 행하는 블록을 블록(MB21)으로 하면, 이 때 필요하게 되는 2개의 움직임 벡터는 부호화가 완료된 후방 참조 픽처(제2 참조 인덱스로 지정되는 제2 참조 픽처)인 픽처(P24)의 동일 위치에 있는 블록(MB22)이 갖는 움직임 벡터를 이용하여 결정된다. 이 블록(MB22)은 움직임 벡터로서 움직임 벡터(MV21) 및 움직임 벡터(MV22)의 2개를 갖기 때문에, 구하는 2개의 움직임 벡터(MV23) 및 움직임 벡터(MV24)를 식 1과 마찬가지로 직접 스케일링을 적용함으로써 산출할 수는 없다. 그래서 식 2와 같이, 스케일링을 적용하는 움직임 벡터로서 움직임 벡터(MV_REF)를 블록(MB22)이 갖는 2개의 움직임 벡터의 평균값으로부터 산출하고, 그 때의 시간 간격(TR_ REF)을 마찬가지로 평균값으로부터 산출한다. 그리고, 식 3에 기초하여 움직임 벡터(MV_REF) 및 시간 간격(TR_ REF)에 대해서 스케일링을 적용함으로써 움직임 벡터(MV23) 및 움직임 벡터(MV24)를 산출한다. 이 때 시간 간격(TR21)은 픽처(P24)로부터 픽처(P21)까지, 결국 움직임 벡터(MV21)가 참조하는 픽처까지의 시간의 간격을 나타내고, 시간 간격(TR22)은 움직임 벡터(MV22)가 참조하는 픽처까지의 시간의 간격을 나타내고 있다. 또, 시간 간격(TR23)은 움직임 벡터(MV23)가 참조하는 픽처까지의 시간의 간격을 나타내고, 시간 간격(TR24)은 움직임 벡터(MV24)가 참조하는 픽처까지의 시간의 간격을 나타내고 있다. 이들 픽처 간의 시간 간격은, 예를 들면 각 픽처에 부여되는 표시 시간이나 표시 순서를 나타내는 정보, 또는 그 정보의 차에 기초하여 결정할 수 있다. 또한, 도 7의 예에서는 부호화의 대상으로 하는 픽처는 이웃의 픽처를 참조하고 있지만, 이웃이 아닌 픽처를 참조한 경에도 마찬가지로 취급하는 것이 가능하다.
MV_REF = (MV21+MV22)/2 …식 2(a)
TR_REF = (TR21+TR22)/2 …식 2(b)
MV23 = MV_REF/TR_REF×TR23 …식 3(a)
MV24 =-MV_REF/TR_REF×TR24 …식 3(b)
이상과 같이 상기 실시 형태에서는, 직접 모드에서 움직임 벡터를 참조되는 블록이 표시 시간 순으로 전방에 있는 픽처를 참조하는 다수의 움직임 벡터를 갖는 경우에, 상기 다수의 움직임 벡터를 이용하여 1개의 움직임 벡터를 생성하고, 스케일링을 적용하여 실제로 움직임 보상에 사용하기 위한 2개의 움직임 벡터를 결정함으로써, 직접 모드에서 움직임 벡터를 참조되는 블록이 B 픽처에 속하는 경우에서도 모순없이 직접 모드를 이용한 픽처간 예측 부호화를 가능하게 하는 부호화 방법을 나타내었다.
또한, 도 7에서의 2개의 움직임 벡터(MV23) 및 움직임 벡터(MV24)를 구할 때에, 스케일링을 행하는 대상이 되는 움직임 벡터(MV_REF) 및 시간 간격(TR_REF)을 산출하기 위해서, 움직임 벡터(MV21)와 움직임 벡터(MV22)의 평균값 및 시간 간격(TR21)과 시간 간격(TR22)의 평균값을 취하는 방법으로서, 식 2 대신에 식 4를 이용하는 것도 가능하다. 먼저, 식 4(a)와 같이 움직임 벡터(MV21)에 대해서 시간 간격이 움직임 벡터(MV22)와 동일하게 되도록 스케일링을 행하여 움직임 벡터(MV21')를 산출한다. 그리고 움직임 벡터(MV21')와 움직임 벡터(MV22)의 평균을 취함으로써 움직임 벡터(MV_REF)가 결정된다. 이 때 시간 간격(TR_REF)은 시간 간격(TR22)을 그대로 이용하게 된다. 또한, 움직임 벡터(MV21)에 대해서 스케일링을 행하여 움직임 벡터(MV21')로 하는 대신에, 움직임 벡터(MV22)에 대해서 스케일링을 행하여 움직임 벡터(MV22')로 하는 경우도 마찬가지로 취급하는 것이 가능하다.
MV21' = MV21/TR21×TR22 …식 4(a)
MV_REF = (MV21'+ MV22)/2 …식 4(b)
TR_REF = TR22 …식 4(c)
또한, 도 7에서의 2개의 움직임 벡터(MV23) 및 움직임 벡터(MV24)를 산출할 때에, 스케일링을 행하는 대상이 되는 움직임 벡터(MV_REF) 및 시간 간격(TR_REF)으로서, 식 2와 같이 2개의 움직임 벡터의 평균값을 이용하는 대신에, 식 5와 같이 움직임 벡터를 참조하는 픽처(P24)에 대한 시간 간격이 짧은 쪽의 픽처(P22)를 참조하는 움직임 벡터(MV22) 및 시간 간격(TR22)을 직접 이용하는 것도 가능하다. 마찬가지로, 식 6과 같이 시간 간격이 긴 쪽의 픽처(P21)를 참조하는 움직임 벡터(MV21) 및 시간 간격(TR21)을 움직임 벡터(MV_REF) 및 시간 간격(TR_REF)으로서 직접 이용하는 것도 가능하다. 이 방법에 의해, 움직임 벡터를 참조되는 픽처(P24)에 속하는 각각의 블록은, 2개의 움직임 벡터 중의 한 쪽만을 기억해 둠으로써 움직임 보상을 실현할 수 있기 때문에, 부호화 장치에서의 움직임 벡터 기억부의 용량을 작게 억제하는 것이 가능해진다.
MV_REF = MV22 …식 5(a)
TR_REF = TR22 …식 5(b)
MV_REF = MV21 …식 6(a)
TR_REF = TR21 …식 6(b)
또한, 도 7에서의 2개의 움직임 벡터(MV23) 및 움직임 벡터(MV24)를 산출할때에, 스케일링을 행하는 대상이 되는 움직임 벡터(MV_REF) 및 시간 간격(TR_REF)으로서, 식 2와 같이 2개의 움직임 벡터의 평균값을 이용하는 대신에, 부호화되는 순서가 먼저인 픽처를 참조하는 움직임 벡터를 직접 이용하는 것도 가능하다. 도 8(a)는 도 7과 동일하게 동화상으로서 표시되는 순서에서의 픽처의 배열 방법에서의 참조 관계를 나타낸 것이고, 도 8(b)에서는 도 6의 프레임 메모리(101)에서 부호화되는 순서로 재배열된 일례를 나타내고 있다. 또한, 픽처(P23)가 직접 모드에 의해서 부호화를 행하는 픽처를 나타내고, 픽처(P24)가 그 때에 움직임 벡터를 참조하는 픽처를 나타내고 있다. 도 8(b)와 같이 재배열하였 때, 부호화되는 순서가 먼저인 픽처를 참조하는 움직임 벡터를 직접 이용하기 때문에, 식 5와 같이 움직임 벡터(MV_REF) 및 시간 간격(TR_REF)으로서 움직임 벡터(MV22) 및 시간 간격(TR22)이 직접 적용된다. 마찬가지로, 부호화되는 순서가 뒤인 픽처를 참조하는 움직임 벡터를 직접 이용하는 것도 가능하다. 이 경우에는, 식 6과 같이 움직임 벡터(MV_REF) 및 시간 간격(TR_REF)으로서 움직임 벡터(MV21) 및 시간 간격(TR21)이 직접 적용된다. 이 방법에 의해, 움직임 벡터를 참조하는 픽처(P24)에 속하는 각각의 블록은, 2개의 움직임 벡터 중의 한 쪽만을 기억해 둠으로써 움직임 보상을 실현할 수 있기 때문에, 부호화 장치에서의 움직임 벡터 기억기의 용량을 작게 억제하는 것이 가능해진다.
또한, 본 실시 형태에서는, 참조하는 움직임 벡터에 대해서 픽처간의 시간적 거리를 이용하여 스케일링함으로써, 직접 모드에서 이용하는 움직임 벡터를 계산하는 경우에 대해서 설명하였지만, 이것은 참조하는 움직임 벡터를 정수배하여 계산해도 좋다. 여기에서, 정수배에 사용되는 정수는, 다수 블록 단위 또는 다수 픽처 단위로 부호화 또는 복호화하는 경우에, 변경 가능하게 해도 좋다.
또한, 식 2(a) 또는 식 4(b)에서, 움직임 벡터(MV_REF)를 계산할 때에는, 식 2(a) 또는 식 4(b)의 우측 변을 계산한 후, 소정의 움직임 벡터의 정밀도(예를 들면, 1/2 화소 정밀도의 움직임 벡터이면, 0.5 화소 단위의 값)로 사사오입해도 좋다. 움직임 벡터의 정밀도로서는, 1/2 화소 정밀도에 한정되는 것은 아니다. 또 이 움직임 벡터의 정밀도는, 예를 들면, 블록 단위, 픽처 단위, 시퀀스 단위로 결정할 수 있다. 또, 식 3(a), 식 3(b), 식 4(a)에서, 움직임 벡터(MV23), 움직임 벡터(MV24), 움직임 벡터(MV21')를 계산할 때에는, 식 3(a), 식 3(b), 식 4(a)의 우측 변을 계산한 후, 소정의 움직임 벡터의 정밀도로 사사오입해도 좋다.
(실시 형태 2)
도 6에 기초한 부호화 처리의 개요는 실시 형태 1과 완전히 동등하다. 여기에서는 직접 모드에서의 2방향 예측의 동작에 대해서 도 9를 이용하여 그 상세를 설명한다.
도 9는 직접 모드에서 움직임 벡터를 결정하기 위해서 참조한 블록이 표시 시간 순으로 후방에 있는 2장의 픽처를 참조하는 2개의 움직임 벡터를 갖고 있었던 경우의 동작을 나타낸 것이다. 픽처(P43)가 현재 부호화의 대상으로 하고 있는 픽처이고 픽처(P42) 및 픽처(P44)를 참조 픽처로서 2방향 예측을 행하는 것이다. 부호화를 행하는 블록을 블록(MB41)으로 하면, 이 때 필요하게 되는 2개의 움직임 벡터는 부호화가 완료된 후방 참조 픽처(제2 참조 인덱스로 지정되는 제2 참조 픽처)인 픽처(P44)의 동일 위치에 있는 블록(MB42)이 갖는 움직임 벡터를 이용하여 결정된다. 이 블록(MB42)은 움직임 벡터로서 움직임 벡터(MV45) 및 움직임 벡터(MV46)의 2개를 갖기 때문에, 구하는 2개의 움직임 벡터(MV43) 및 움직임 벡터(MV44)를 식 1과 마찬가지로 직접 스케일링을 적용함으로써 산출할 수는 없다. 그래서 식 7과 같이, 스케일링을 적용하는 움직임 벡터로서 움직임 벡터(MVR_EF)를 블록(MB42)이 갖는 2개의 움직임 벡터의 평균값으로부터 결정하고, 그 때의 시간 간격(TR_REF)을 마찬가지로 평균값으로부터 결정한다. 그리고, 식 8에 기초하여 움직임 벡터(MV_REF) 및 시간 간격(TR_REF)에 대해서 스케일링을 적용함으로써 움직임 벡터(MV43) 및 움직임 벡터(MV44)를 산출한다. 이 때 시간 간격(TR45)은 픽처(P44)로부터 픽처(P45)까지, 결국 움직임 벡터(MV45)가 참조하는 픽처까지의 시간의 간격을 나타내고, 시간 간격(TR46)은 움직임 벡터(MV46)가 참조하는 픽처까지의 시간의 간격을 나타내고 있다. 또, 시간 간격(TR43)은 움직임 벡터(MV43)가 참조하는 픽처까지의 시간의 간격을 나타내고, 시간 간격(TR44)은 시간 간격(MV44)이 참조하는 픽처까지의 시간의 간격을 나타내는 것이다. 이들 픽처 간의 시간 간격은, 실시 형태 1에서 설명한 것과 마찬가지로, 예를 들면 각 픽처에 부여되는 표시 시간이나 표시 순서를 나타내는 정보, 또는 그 정보의 차에 기초하여 결정할 수 있다. 또한, 도 9의 예에서는 부호화의 대상으로 하는 픽처는 이웃의 픽처를 참조하고 있지만, 이웃이 아닌 픽처를 참조한 경우에도 마찬가지로 취급하는 것이 가능하다.
MV_REF = (MV45+MV46)/2 …식 7(a)
TR_REF = (TR45+TR46)/2 …식 7(b)
MV43 = -MV_REF/TR_REF×TR43 …식 8(a)
MV44 = MV_REF/TR_REF×TR44 …식 8(b)
이상과 같이 상기 실시 형태에서는, 직접 모드에서 움직임 벡터를 참조하는 블록이 표시 시간 순으로 후방에 있는 픽처를 참조하는 다수의 움직임 벡터를 갖는 경우에, 상기 다수의 움직임 벡터를 이용하여 1개의 움직임 벡터를 생성하고, 스케일링을 적용하여 실제로 움직임 보상에 사용하기 위한 2개의 움직임 벡터를 결정함으로써, 직접 모드에서 움직임 벡터를 참조하는 블록이 B픽처에 속하는 경우에서도 모순없이 직접 모드를 이용한 픽처간 예측 부호화를 가능하게 하는 부호화 방법을 나타내었다.
또한, 도 9에서의 2개의 움직임 벡터(MV43) 및 움직임 벡터(MV44)를 구할 때에, 스케일링을 행하는 대상이 되는 움직임 벡터(MV_REF) 및 시간 간격(TR_REF)을 산출하기 위해서, 움직임 벡터(MV45)와 움직임 벡터(MV46)의 평균값 및 시간 간격(TR45)과 시간 간격(TR46)의 평균값을 취하는 방법으로서, 식 7 대신에 식 9를 이용하는 것도 가능하다. 먼저, 식 9(a)와 같이 움직임 벡터(MV46)에 대해서 시간 간격이 움직임 벡터(MV45)와 같아지도록 스케일링을 행하여 움직임 벡터(MV46')를 산출한다. 그리고 움직임 벡터(MV46')와 움직임 벡터(MV45)의 평균을 취함으로써 움직임 벡터(MV_REF)가 결정된다. 이 때 시간 간격(TR_REF)은 시간 간격(TR41)을 그대로 이용하게 된다. 또한, 움직임 벡터(MV46)에 대해서 스케일링을 행하여 움직임 벡터(MV46')로 하는 대신에 움직임 벡터(MV45)에 대해서 스케일링을 행하여움직임 벡터(MV45')로 하는 경우도 마찬가지로 취급하는 것이 가능하다.
MV46' = MV46/TR46×TR45 …식 9(a)
MV_REF = (MV46'+MV45)/2 …식 9(b)
TR_REF = TR45 …식 9(c)
또한, 도 9에서의 2개의 움직임 벡터(MV43) 및 움직임 벡터(MV44)를 산출할 때에, 스케일링을 행하는 대상이 되는 움직임 벡터(MV_REF) 및 시간 간격(TR_REF)으로서, 식 7과 같이 2개의 움직임 벡터의 평균값을 이용하는 대신에, 식 10과 같이 움직임 벡터를 참조하는 픽처(P44)에 대해서 시간 간격이 짧은 쪽의 픽처(P45)를 참조하는 움직임 벡터(MV45) 및 시간 간격(TR45)을 직접 이용하는 것도 가능하다. 마찬가지로, 식 11과 같이 시간 간격이 긴 쪽의 픽처(P46)를 참조하는 움직임 벡터(MV46) 및 시간 간격(TR46)을 움직임 벡터(MV_REF) 및 시간 간격(TR_REF)으로서 직접 이용하는 것도 가능하다. 이 방법에 의해, 움직임 벡터를 참조하는 픽처(P44)에 속하는 각각의 블록은 2개의 움직임 벡터 중의 한 쪽만을 기억해 둠으로써 움직임 보상을 실현할 수 있기 때문에, 부호화 장치에서의 움직임 벡터 기억기의 용량을 작게 억제하는 것이 가능해진다.
MV_REF = MV45 …식 10(a)
TR_REF = TR45 …식 10(b)
MV_REF = MV46 …식 11(a)
TR_REF = TR46 …식 11(b)
또한, 도 9에서의 2개의 움직임 벡터(MV43) 및 움직임 벡터(MV44)를 산출할때에, 스케일링을 행하는 대상이 되는 움직임 벡터(MV_REF) 및 시간 간격(TR_REF)으로서, 식 7과 같이 2개의 움직임 벡터의 평균값을 이용하는 대신에, 부호화되는 순서가 먼저인 픽처를 참조하는 움직임 벡터를 직접 이용하는 것도 가능하다. 도 10(a)는 도 9와 동일하게 동화상으로서 표시되는 순서에서의 픽처의 배열 방법에서의 참조 관계를 나타내는 것이고, 도 10(b)에서는 도 6의 프레임 메모리(101)에서 부호화되는 순서로 재배열된 일례를 나타내고 있다. 또한, 픽처(P43)가 직접 모드에 의해서 부호화를 행하는 픽처, 픽처(P44)가 그 때에 움직임 벡터를 참조하는 픽처를 나타내고 있다. 도 10(b)와 같이 재배열하였을 때, 부호화되는 순서가 먼저인 픽처를 참조하는 움직임 벡터를 직접 이용하기 때문에, 식 11과 같이 움직임 벡터(MV_REF) 및 시간 간격(TR_REF)으로서 움직임 벡터(MV46) 및 시간 간격(TR46)이 직접 적용된다. 마찬가지로, 부호화되는 순서가 뒤인 픽처를 참조하는 움직임 벡터를 직접 이용하는 것도 가능하다. 이 경우에는, 식 10과 같이 움직임 벡터(MV_REF) 및 시간 간격(TR_REF)으로서 움직임 벡터(MV45) 및 시간 간격(TR45)이 직접 적용된다. 이 방법에 의해, 움직임 벡터를 참조하는 픽처(P44)에 속하는 각각의 블록은 2개의 움직임 벡터 중의 한 쪽만을 기억해 둠으로써 움직임 보상을 실현할 수 있기 때문에, 부호화 장치에서의 움직임 벡터 기억기의 용량을 작게 억제하는 것이 가능해진다.
또한, 직접 모드에서 움직임 벡터를 결정하기 위해서 참조한 픽처가 표시 시간 순으로 후방에 있는 2장의 픽처를 참조하는 2개의 움직임 벡터를 갖고 있었던 경우, 구하는 2개의 움직임 벡터(MV43) 및 움직임 벡터(MV44)를「0」으로 하여 움직임 보상을 행하는 것도 가능하다. 이 방법에 의해, 움직임 벡터를 참조하는 픽처(P44)에 속하는 각각의 블록은 움직임 벡터를 기억해 둘 필요가 없기 때문에 부호화 장치에서의 움직임 벡터 기억기의 용량을 작게 억제하는 것이 가능해지고, 또한 움직임 벡터 산출을 위한 처리를 생략하는 것이 가능해진다.
또한, 직접 모드에서 움직임 벡터를 결정하기 위해서 참조한 픽처가 표시 시간 순으로 후방에 있는 2장의 픽처를 참조하는 2개의 움직임 벡터를 갖고 있는 경우, 움직임 벡터의 참조를 금지하고, 직접 모드 이외의 예측 부호화만을 적용시키는 것도 가능하다. 도 9의 픽처(P44)와 같이 표시 시간 순으로 후방에 있는 2장의 픽처를 참조하는 경우에는, 표시 시간 순으로 전방에 있는 픽처와의 상관이 낮을 가능성을 생각할 수 있기 때문에, 직접 모드를 금지하여 별도의 예측 방법을 선택함으로써, 보다 정확한 예측 화상을 생성하는 것이 가능해진다.
또한, 본 실시 형태에서는, 참조하는 움직임 벡터에 대해서 픽처간의 시간적 거리를 이용하여 스케일링함으로써, 직접 모드에서 이용하는 움직임 벡터를 계산하는 경우에 대해서 설명하였지만, 이것은 참조하는 움직임 벡터를 정수배하여 계산해도 좋다. 여기에서, 정수배에 사용되는 정수는, 다수 블록 단위 또는 다수 픽처 단위로 부호화 또는 복호화하는 경우에, 변경 가능하게 해도 좋다.
또한, 식 7(a), 식 9(b)에서, 움직임 벡터(MV_REF)를 계산할 때에는, 식 7(a), 식 9(b)의 우측 변을 계산한 후, 소정의 움직임 벡터의 정밀도로 사사오입해도 좋다. 움직임 벡터의 정밀도로서는, 1/2화소, 1/3화소, 1/4화소 정밀도 등이 있다. 또 이 움직임 벡터의 정밀도는, 예를 들면, 블록 단위, 픽처 단위, 시퀀스단위로 결정할 수 있다. 또, 식 8(a), 식 8(b), 식 9(a)에서, 움직임 벡터(MV43), 움직임 벡터(MV44), 움직임 벡터(MV46')를 계산할 때에는, 식 8(a), 식 8(b), 식 9(a)의 우측 변을 계산한 후, 소정의 움직임 벡터의 정밀도로 사사오입해도 좋다.
(실시 형태 3)
본 발명의 실시 형태 3의 동화상 복호화 방법을 도 11에 나타낸 블록도를 이용하여 설명한다. 단, 실시 형태 1의 동화상 부호화 방법으로 생성된 부호열이 입력되는 것으로 한다.
먼저 입력된 부호열로부터 부호열 해석기(601)에 의해서 예측 모드, 움직임 벡터 정보 및 예측 잔차 부호화 데이터 등의 각종 정보가 추출된다.
예측 모드나 움직임 벡터 정보는 예측 모드/움직임 벡터 복호화부(608)에 대해서 출력되고, 예측 잔차 부호화 데이터는 예측 잔차 복호화부(602)에 출력된다. 예측 모드/움직임 벡터 복호화부(608)에서는, 예측 모드의 복호화와, 그 예측 모드에서 이용하는 움직임 벡터의 복호화를 행한다. 움직임 벡터의 복호화시에는, 움직임 벡터 기억부(605)에 기억되어 있는 복호화가 완료된 움직임 벡터를 이용한다. 복호화된 예측 모드 및 움직임 벡터는, 움직임 보상 복호부(604)에 대해서 출력된다. 또, 복호화된 움직임 벡터는, 뒤의 블록의 움직임 벡터의 복호화로 이용하기 위해서, 움직임 벡터 기억부(605)에 기억된다. 움직임 보상 복호부(604)에서는 프레임 메모리(603)에 축적되어 있는 복호화가 완료된 픽처의 복호화 화상을 참조 픽처로 하여, 입력된 예측 모드나 움직임 벡터 정보에 기초하여 예측 화상을 생성한다. 이와 같이 하여 생성된 예측 화상은 가산 연산부(606)에 입력되고, 예측 오차복호화부(602)에서 생성된 예측 잔차 화상과의 가산을 행함으로써 복호화 화상이 생성된다. 이상의 실시 형태는 픽처간 예측 부호화가 이루어지고 있는 부호열에 대한 동작이었지만, 스위치(607)에 의해서 픽처내 예측 부호화가 이루어지고 있는 부호열에 대한 복호화 처리와의 전환이 이루어진다.
이상 복호화의 흐름의 개요를 나타내었지만, 움직임 보상 복호부(604)에서의 처리의 상세에 대해서 이하에 설명한다.
움직임 벡터 정보는 블록마다 또는 블록을 분할한 영역마다 부가되어 있다. 복호화의 대상으로 하고 있는 픽처에 대해서 표시 시간 순으로 전방 및 후방에 위치하는 복호화가 완료된 픽처를 참조 픽처로 하고, 복호화된 움직임 벡터에 의해서 그 픽처 내에서 움직임 보상을 행하기 위한 예측 화상을 작성한다.
표시 시간 순으로 전방 및 후방에 있는 각각 1장씩의 픽처를 참조하여 픽처간 예측 부호화를 행하는 2방향 예측의 1개로서 직접 모드가 있다. 직접 모드에서는 복호화 대상의 블록이 움직임 벡터를 직접 갖지 않은 부호열을 입력으로 하기 위해서, 표시 시간 순으로 근방에 있는 복호화 완료 픽처 내의 동일 위치에 있는 블록의 움직임 벡터를 참조함으로써, 실제로 움직임 보상을 행하기 위한 2개의 움직임 벡터를 산출하여 예측 화상을 작성한다.
도 7은 직접 모드에서 움직임 벡터를 결정하기 위해서 참조한 복호화가 완료된 픽처가, 표시 시간 순으로 전방에 있는 2장의 픽처를 참조하는 2개의 움직임 벡터를 갖고 있었던 경우의 동작을 나타낸 것이다. 픽처(P23)가 현재 복호화의 대상으로 하고 있는 픽처이고, 픽처(P22) 및 픽처(P24)를 참조 픽처로서 2방향 예측을행하는 것이다. 복호화를 행하는 블록을 블록(MB21)으로 하면, 이 때 필요하게 되는 2개의 움직임 벡터는 복호화가 완료된 후방 참조 픽처(제2 참조 인덱스로 지정되는 제2 참조 픽처)인 픽처(P24)의 동일 위치에 있는 블록(MB22)이 갖는 움직임 벡터를 이용하여 결정된다. 이 블록(MB22)은 움직임 벡터로서 움직임 벡터(MV21) 및 움직임 벡터(MV22)의 2개를 갖기 때문에, 구하는 2개의 움직임 벡터(MV23) 및 움직임 벡터(MV24)를 식 1과 마찬가지로 직접 스케일링을 적용함으로써 산출할 수는 없다. 그래서 식 2와 같이, 스케일링을 적용하는 움직임 벡터로서 움직임 벡터(MV_REF)를 블록(MB22)이 갖는 2개의 움직임 벡터의 평균값으로부터 산출하고, 그 때의 시간 간격(TR_REF)를 마찬가지로 평균값으로부터 산출한다. 그리고, 식 3에 기초하여 움직임 벡터(MV_REF) 및 시간 간격(TR_REF)에 대해서 스케일링을 적용함으로써 움직임 벡터(MV23) 및 움직임 벡터(MV24)를 산출한다. 이 때 시간 간격(TR21)은 픽처(P24)로부터 픽처(P21)까지, 결국 움직임 벡터(MV21)가 참조하는 픽처까지의 시간의 간격을 나타내고, 시간 간격(TR22)은 움직임 벡터(MV22)가 참조하는 픽처까지의 시간의 간격을 나타내고 있다. 또, 시간 간격(TR23)은 움직임 벡터(MV23)가 참조하는 픽처까지의 시간의 간격을 나타내고, 시간 간격(TR24)은 움직임 벡터(MV24)가 참조하는 픽처까지의 시간의 간격을 나타내고 있다. 이들의 픽처간의 시간 간격은, 예를 들면 각 픽처에 부여되는 표시 시간이나 표시 순서를 나타내는 정보, 또는 그 정보의 차에 기초하여 결정할 수 있다. 또한, 도 7의 예에서는 복호화의 대상으로 하는 픽처는 이웃의 픽처를 참조하고 있지만, 이웃이 아닌 픽처를 참조한 경우에도 마찬가지로 취급하는 것이 가능하다.
이상과 같이 상기 실시 형태에서는, 직접 모드에서 움직임 벡터를 참조하는 블록이 표시 시간 순으로 전방에 있는 픽처를 참조하는 다수의 움직임 벡터를 갖는 경우에, 상기 다수의 움직임 벡터를 이용하여 1개의 움직임 벡터를 생성하고, 스케일링을 적용하여 실제로 움직임 보상에 사용하기 위한 2개의 움직임 벡터를 결정함으로써, 직접 모드에서 움직임 벡터를 참조하는 블록이 B 픽처에 속하는 경우에도 모순없이 직접 모드를 이용한 픽처간 예측 복호화를 가능하게 하는 복호화 방법을 나타내었다.
또한, 도 7에서의 2개의 움직임 벡터(MV23) 및 움직임 벡터(MV24)를 구할 때에, 스케일링을 행하는 대상이 되는 움직임 벡터(MV_REF) 및 시간 간격(TR_REF)을 산출하기 위해서, 움직임 벡터(MV21)와 움직임 벡터(MV22)의 평균값 및 시간 간격(TR21)과 시간 간격(TR22)의 평균값을 취하는 방법으로서, 식 2 대신에 식 4를 이용하는 것도 가능하다. 먼저, 식 4(a)와 같이 움직임 벡터(MV21)에 대해서 시간 간격이 움직임 벡터(MV22)와 동일하게 되도록 스케일링을 행하여 움직임 벡터(MV21')를 산출한다. 그리고 움직임 벡터(MV21')와 움직임 벡터(MV22)의 평균을 취함으로써 움직임 벡터(MV_REF)가 결정된다. 이 때 시간 간격(TR_REF)은 시간 간격(TR22)을 그대로 이용하게 된다. 또한, 움직임 벡터(MV21)에 대해서 스케일링을 행하여 움직임 벡터(MV21')로 하는 대신에 움직임 벡터(MV22)에 대해서 스케일링을 행하여 움직임 벡터(MV22')로 하는 경우도 마찬가지로 취급하는 것이 가능하다.
또한, 도 7에서의 2개의 움직임 벡터(MV23) 및 움직임 벡터(MV24)를 산출할때에, 스케일링을 행하는 대상이 되는 움직임 벡터(MV_REF) 및 시간 간격(TR_REF)으로서, 식 2와 같이 2개의 움직임 벡터의 평균값을 이용하는 대신에, 식 5와 같이 움직임 벡터를 참조하는 픽처(P24)에 대해서 시간 간격이 짧은 쪽의 픽처(P22)를 참조하는 움직임 벡터(MV22 및 TR22)를 직접 이용하는 것도 가능하다. 마찬가지로, 식 6과 같이 시간 간격이 긴 쪽의 픽처(P21)를 참조하는 움직임 벡터(MV21) 및 시간 간격(TR21)을 움직임 벡터(MV_REF) 및 시간 간격(TR_REF)으로서 직접 이용하는 것도 가능하다. 이 방법에 의해, 움직임 벡터를 참조하는 픽처(P24)에 속하는 각각의 블록은, 2개의 움직임 벡터 중의 한 쪽만을 기억해 둠으로써 움직임 보상을 실현할 수 있기 때문에, 복호화 장치에서의 움직임 벡터 기억부의 용량을 작게 억제하는 것이 가능해진다.
또한, 도 7에서의 2개의 움직임 벡터(MV23) 및 움직임 벡터(MV24)를 산출할 때에, 스케일링을 행하는 대상이 되는 움직임 벡터(MV_REF) 및 시간 간격(TR_REF)으로서, 식 2와 같이 2개의 움직임 벡터의 평균값을 이용하는 대신에, 복호화되는 순서가 먼저인 픽처를 참조하는 움직임 벡터를 직접 이용하는 것도 가능하다. 도 8(a)는 도 7과 동일하게 동화상으로서 표시되는 순서에서의 픽처의 배열 방법에서의 참조 관계를 나타낸 것이고, 도 8(b)에서는 입력된 부호열의 순서, 결국 복호화되는 순서의 일례를 나타내고 있다. 또한, 픽처(P23)가 직접 모드에 의해서 복호화를 행하는 픽처, 픽처(P24)가 그 때에 움직임 벡터를 참조하는 픽처를 나타내고 있다. 도 8(b)와 같은 배열 순서를 고려하였을 때, 복호화되는 순서가 먼저인 픽처를 참조하는 움직임 벡터를 직접 이용하기 때문에, 식 5와 같이 움직임벡터(MV_REF) 및 시간 간격(TR_REF)으로서 움직임 벡터(MV22) 및 시간 간격(TR22)이 직접 적용된다. 마찬가지로, 복호화되는 순서가 뒤인 픽처를 참조하는 움직임 벡터를 직접 이용하는 것도 가능하다. 이 경우에는, 식 6과 같이 움직임 벡터(MV_REF) 및 시간 간격(TR_REF)으로서 움직임 벡터(MV21) 및 시간 간격(TR21)이 직접 적용된다. 이 방법에 의해, 움직임 벡터를 참조하는 픽처(P24)에 속하는 각각의 블록은 2개의 움직임 벡터 중의 한 쪽만을 기억해 둠으로써 움직임 보상을 실현할 수 있기 때문에, 복호화 장치에서의 움직임 벡터 기억부의 용량을 작게 억제하는 것이 가능해진다.
또한, 본 실시 형태에서는, 참조하는 움직임 벡터에 대해서 픽처간의 시간적 거리를 이용하여 스케일링을 함으로써, 직접 모드에서 이용하는 움직임 벡터를 계산하는 경우에 대해서 설명하였지만, 이것은 참조하는 움직임 벡터를 정수배하여 계산해도 좋다. 여기에서, 정수배에 사용되는 정수는, 다수 블록 단위 또는 다수 픽처 단위로 부호화 또는 복호화하는 경우에, 변경 가능하게 해도 좋다.
(실시 형태 4)
도 11에 기초한 복호화 처리의 개요는 실시 형태 3과 완전히 동등하다. 여기에서는 직접 모드에서의 2방향 예측의 동작에 대해서 도 9를 이용하여 그 상세를 설명한다. 단, 실시 형태 2의 동화상 부호화 방법으로 생성된 부호열이 입력되는 것으로 한다.
도 9는 직접 모드에서 움직임 벡터를 결정하기 위해서 참조한 픽처가, 표시 시간 순으로 후방에 있는 2장의 픽처를 참조하는 2개의 움직임 벡터를 갖고 있었던경우의 동작을 나타낸 것이다. 픽처(P43)가 현재 복호화의 대상으로 하고 있는 픽처이고, 픽처(P42) 및 픽처(P44)를 참조 픽처로서 2방향 예측을 행하는 것이다. 복호화를 행하는 블록을 블록(MB41)으로 하면, 이 때 필요하게 되는 2개의 움직임 벡터는 복호화가 완료된 후방 참조 픽처(제2 참조 인덱스로 지정되는 제2 참조 픽처)인 픽처(P44)의 동일 위치에 있는 블록(MB42)이 갖는 움직임 벡터를 이용하여 결정된다. 이 블록(MB42)은 움직임 벡터로서 움직임 벡터(MV45) 및 움직임 벡터(MV46)의 2개를 갖기 때문에, 구하는 2개의 움직임 벡터(MV43) 및 움직임 벡터(MV44)를 식 1과 마찬가지로 직접 스케일링을 적용함으로써 산출할 수는 없다. 그래서 식 7과 같이, 스케일링을 적용하는 움직임 벡터로서 움직임 벡터(MV_REF)를 움직임 벡터(MB42)가 갖는 2개의 움직임 벡터의 평균값으로부터 결정하고, 그 때의 시간 간격(TR_REF)을 마찬가지로 평균값으로부터 결정한다. 그리고, 식 8에 기초하여 움직임 벡터(MV_REF) 및 시간 간격(TR_REF)에 대해서 스케일링을 적용함으로써 움직임 벡터(MV43) 및 움직임 벡터(MV44)를 산출한다. 이 때 시간 간격(TR45)은 픽처(P44)로부터 픽처(P45)까지, 결국 움직임 벡터(MV45)가 참조하는 픽처까지의 시간의 간격을 나타내고, 시간 간격(TR46)은 움직임 벡터(MV46)가 참조하는 픽처까지의 시간의 간격을 나타내고, 시간 간격(TR43)은 움직임 벡터(MV43)가 참조하는 픽처까지의 시간의 간격을 나타내고, 시간 간격(TR44)은 움직임 벡터(MV44)가 참조하는 픽처까지의 시간의 간격을 나타내는 것이다. 또한, 도 9의 예에서는 복호화의 대상으로 하는 픽처는 이웃의 픽처를 참조하고 있지만, 이웃이 아닌 픽처를 참조한 경우에도 마찬가지로 취급하는 것이 가능하다.
이상과 같이 상기 실시 형태에서는, 직접 모드에서 움직임 벡터를 참조되는 블록이 표시 시간 순으로 후방에 있는 픽처를 참조하는 다수의 움직임 벡터를 갖는 경우에, 상기 다수의 움직임 벡터를 이용하여 1개의 움직임 벡터를 생성하고, 스케일링을 적용하여 실제로 움직임 보상에 사용하기 위한 2개의 움직임 벡터를 결정함으로써, 직접 모드에서 움직임 벡터를 참조하는 블록이 B 픽처에 속하는 경우에서도 모순없이 직접 모드를 이용한 픽처간 예측 복호화를 가능하게 하는 복호화 방법을 나타내었다.
또한, 도 9에서의 2개의 움직임 벡터(MV43) 및 움직임 벡터(MV44)를 구할 때에, 스케일링을 행하는 대상이 되는 움직임 벡터(MV_REF) 및 시간 간격(TR_REF)을 산출하기 위해서, 움직임 벡터(MV45)와 움직임 벡터(MV46)의 평균값 및 시간 간격(TR45)과 시간 간격(TR46)의 평균값을 취하는 방법으로서, 식 7 대신에 식 9를 이용하는 것도 가능하다. 먼저, 식 9(a)와 같이 움직임 벡터(MV46)에 대해서 시간 간격이 움직임 벡터(MV45)와 동일하게 되도록 스케일링을 행하여 움직임 벡터(MV46')를 산출한다. 그리고 움직임 벡터(MV46')와 움직임 벡터(MV45)의 평균을 취함으로써 움직임 벡터(MV_REF)가 결정된다. 이 때 시간 간격(TR_REF)은 시간 간격(TR45)을 그대로 이용하게 된다. 또한, 움직임 벡터(MV46)에 대해서 스케일링을 행하여 움직임 벡터(MV46')로 하는 대신에 움직임 벡터(MV45)에 대해서 스케일링을 행하여 움직임 벡터(MV45')로 하는 경우에도 마찬가지로 취급하는 것이 가능하다.
또한, 도 9에서의 2개의 움직임 벡터(MV43) 및 움직임 벡터(MV44)를 산출할때에, 스케일링을 행하는 대상이 되는 움직임 벡터(MV_REF) 및 시간 간격(TR_REF)으로서, 식 7과 같이 2개의 움직임 벡터의 평균값을 이용하는 대신에, 식 10과 같이 움직임 벡터를 참조하는 픽처(P44)에 대해서 시간 간격이 짧은 쪽의 픽처(P45)를 참조하는 움직임 벡터(MV45) 및 시간 간격(TR45)을 직접 이용하는 것도 가능하다. 마찬가지로, 식 11과 같이 시간 간격이 긴 쪽의 픽처(P46)를 참조하는 움직임 벡터(MV46) 및 시간 간격(TR46)을 움직임 벡터(MV_REF) 및 시간 간격(TR_REF)으로서 직접 이용하는 것도 가능하다. 이 방법에 의해, 움직임 벡터를 참조하는 픽처(P44)에 속하는 각각의 블록은 2개의 움직임 벡터 중의 한 쪽만을 기억해 둠으로써 움직임 보상을 실현할 수 있기 때문에, 복호화 장치에서의 움직임 벡터 기억부의 용량을 작게 억제하는 것이 가능해진다.
또한, 도 9에서의 2개의 움직임 벡터(MV43) 및 움직임 벡터(MV44)를 산출할 때에, 스케일링을 행하는 대상이 되는 움직임 벡터(MV_REF) 및 시간 간격(TR_REF)으로서, 식 7과 같이 2개의 움직임 벡터의 평균값을 이용하는 대신에, 복호화되는 순서가 먼저인 픽처를 참조하는 움직임 벡터를 직접 이용하는 것도 가능하다. 도 10(a)는 도 9와 동일하게 동화상으로서 표시되는 순서에서의 픽처의 배열 방법에서의 참조 관계를 나타낸 것이고, 도 10(b)에서는 입력된 부호열의 순서, 결국 복호화되는 순서의 일례를 나타내고 있다. 또한, 픽처(P43)가 직접 모드에 의해서 부호화를 행하는 픽처를 나타내고, 픽처(P44)가 그 때에 움직임 벡터를 참조하는 픽처를 나타내고 있다. 도 10(b)와 같은 배열 순서를 고려하였을 때, 복호화되는 순서가 먼저인 픽처를 참조하는 움직임 벡터를 직접 이용하기 때문에, 식 11과 같이움직임 벡터터(MV_REF) 및 시간 간격(TR_REF)으로서 움직임 벡터(MV46) 및 시간 간격(TR46)이 직접 적용된다. 마찬가지로, 복호화되는 순서가 뒤인 픽처를 참조하는 움직임 벡터를 직접 이용하는 것도 가능하다. 이 경우에는, 식 10과 같이 움직임 벡터(MV_REF) 및 시간 간격(TR_REF)으로서 움직임 벡터(MV45) 및 시간 간격(TR45)이 직접 적용된다. 이 방법에 의해, 움직임 벡터를 참조하는 픽처(P44)에 속하는 각각의 블록은 2개의 움직임 벡터 중의 한 쪽만을 기억해 둠으로써 움직임 보상을 실현할 수 있기 때문에, 복호화 장치에서의 움직임 벡터 기억부의 용량을 작게 억제하는 것이 가능해진다.
또한, 직접 모드에서 움직임 벡터를 결정하기 위해서 참조한 블록이 표시 시간 순으로 후방에 있는 2장의 픽처를 참조하는 2개의 움직임 벡터를 갖고 있었던 경우, 구하는 2개의 움직임 벡터(MV43) 및 움직임 벡터(MV44)를 「0」으로 하여 움직임 보상을 행하는 것도 가능하다. 이 방법에 의해, 움직임 벡터를 참조하는 픽처(P44)에 속하는 각각의 블록은 움직임 벡터를 기억해 둘 필요가 없기 때문에 복호화 장치에서의 움직임 벡터 기억부의 용량을 작게 억제하는 것이 가능해지고, 또한 움직임 벡터 산출을 위한 처리를 생략하는 것이 가능해진다.
또한, 본 실시 형태에서는, 참조하는 움직임 벡터에 대해서 픽처 간의 시간적 거리를 이용하여 스케일링함으로써, 직접 모드에서 이용하는 움직임 벡터를 계산하는 경우에 대해서 설명하였지만, 이것은 참조하는 움직임 벡터를 정수배하여 계산해도 좋다. 여기에서, 정수배에 사용되는 정수는, 다수 블록 단위 또는 다수 픽처 단위로 부호화 또는 복호화하는 경우에, 변경 가능하게 해도 좋다.
(실시 형태 5)
상기 실시 형태 1로부터 실시 형태 4까지 나타낸 부호화 방법 또는 복호화 방법에 한정되지 않고, 이하에 나타내는 움직임 벡터 계산 방법을 이용하여 부호화 방법 또는 복호화 방법을 실현할 수 있다.
도 12는 직접 모드에서 움직임 벡터를 계산하기 위해서 참조하는 부호화가 완료된 블록 또는 복호화가 완료된 블록이, 표시 시간 순으로 전방에 있는 2장의 픽처를 참조하는 2개의 움직임 벡터를 갖고 있었던 경우의 동작을 나타낸 것이다. 픽처(P23)가 현재 부호화 또는 복호화의 대상으로 하고 있는 픽처이다. 부호화 또는 복호화를 행하는 블록을 블록(MB1)으로 하면, 이 때 필요하게 되는 2개의 움직임 벡터는 부호화가 완료된 또는 복호화가 완료된 후방 참조 픽처(제2 참조 인덱스로 지정되는 제2 참조 픽처)(P24)와 동일 위치에 있는 블록(MB2)이 갖는 움직임 벡터를 이용하여 결정된다. 또한, 도 12에서, 블록(MB1)이 처리 대상 블록이고, 블록(MB1)과 블록(MB2)은 픽처 상에서 서로 동일 위치에 있는 블록이고, 움직임 벡터(MV21)와 움직임 벡터(MV22)는 블록(MB2)을 부호화 또는 복호화할 때에 이용한 움직임 벡터이고, 각각 픽처(P21), 픽처(P22)를 참조하고 있다. 또, 픽처(P21), 픽처(P22), 픽처(P24)는 부호화 완료 픽처 또는 복호화 완료 픽처이다. 또, 시간 간격(TR21)은 픽처(P21)와 픽처(P24) 간의 시간 간격, 시간 간격(TR22)은 픽처(P22)와 픽처(P24) 간의 시간 간격, 시간 간격(TR21')은 픽처(P21)와 픽처(P23) 간의 시간 간격, 시간 간격(TR24')은 픽처(P23)와 픽처(P24) 사이의 시간 간격을 나타낸다.
움직임 벡터 계산 방법으로서는, 도 12에 도시하는 바와 같이 참조 픽처(P24)에서의 블록(MB2)의 움직임 벡터 중 먼저 부호화 또는 복호화된 전방향 움직임 벡터(제1 움직임 벡터)(MV21)만을 이용하고, 블록(MB1)의 움직임 벡터(MV21'), 움직임 벡터(MV24')는 이하의 식에 의해 계산된다.
MV21' = MV21×TR21'/TR21
MV24' = -MV21×TR24'/TR21
그리고 움직임 벡터(MV21'), 움직임 벡터(MV24')를 이용하여 픽처(P21), 픽처(P24)로부터 2방향 예측을 행한다. 또한, 움직임 벡터(MV21)만을 이용하여 블록(MB1)의 움직임 벡터(MV21')와 움직임 벡터(MV24')를 계산하는 대신에, 참조 픽처(P24)에서의 블록(MB2)의 움직임 벡터 중 뒤에 부호화 또는 복호화된 움직임 벡터(제2 움직임 벡터)(MV22)만을 이용하여 블록(MB1)의 움직임 벡터를 계산해도 좋다. 또한, 실시 형태 1 내지 실시 형태 4에서 도시한 바와 같이, 움직임 벡터(MV21)와 움직임 벡터(MV22)의 양자를 이용하여, 블록(MB1)의 움직임 벡터를 결정해도 좋다. 어느 것이나 움직임 벡터(MV21)와 움직임 벡터(MV22)의 어느 한쪽을 선택하는 경우에, 어느 것을 선택할지는, 시간적으로 먼저 부호화 또는 복호화된 블록의 움직임 벡터를 선택하도록 해도 좋고, 부호화 장치, 복호화 장치에서 어느 것을 선택할지 미리 임의로 설정해 두어도 좋다. 또한, 픽처(P21)가 단시간 메모리(Short Term Buffer)에 있어도 장시간 메모리(Long Term Buffer)에 있어도, 어느 쪽이나 움직임 보상하는 것은 가능하다. 단시간 메모리, 장시간 메모리에 대해서는, 후술한다.
도 13은 직접 모드에서 움직임 벡터를 계산하기 위해서 참조하는 부호화가 완료된 블록 또는 복호화가 완료된 블록이, 표시 시간 순으로 후방에 있는 2장의 픽처를 참조하는 2개의 움직임 벡터를 갖고 있었던 경우의 동작을 나타낸 것이다. 픽처(P22)가 현재 부호화 또는 복호화의 대상으로 하고 있는 픽처이다. 부호화 또는 복호화를 행하는 블록을 블록(MB1)으로 하면, 이 때 필요하게 되는 2개의 움직임 벡터는 부호화가 완료된 또는 복호화가 완료된 후방 참조 픽처(제2 참조 픽처)(P23)의 동일 위치에 있는 블록(MB2)이 갖는 움직임 벡터를 이용하여 결정된다. 또한, 도 13에서, 블록(MB1)이 처리 대상 블록이고, 블록(MB1)과 블록(MB2)은 픽처 상에서 서로 동일 위치에 있는 블록이며, 움직임 벡터(MV24)와 움직임 벡터(MV25)는 블록(MB2)을 부호화 또는 복호화할 때에 이용한 움직임 벡터이고, 각각 픽처(P24), 픽처(P25)를 참조하고 있다. 또, 픽처(P21), 픽처(P23), 픽처(P24), 픽처(P25)는 부호화 완료 픽처 또는 복호화 완료 픽처이다. 또, 시간 간격(TR24)은 픽처(P23)와 픽처(P24) 간의 시간 간격, 시간 간격(TR25)은 픽처(P23)와 픽처(P25) 간의 시간 간격, 시간 간격(TR24')은 픽처(P22)와 픽처(P24) 간의 시간 간격, 시간 간격(TR21')은 픽처(P21)와 픽처(P22) 간의 시간 간격을 나타낸다.
움직임 벡터 계산 방법으로서는, 도 13에 나타내는 바와 같이, 참조 픽처(P23)에서의 블록(MB2)의 픽처(P24)로의 움직임 벡터(MV24)만을 이용하여, 블록(MB1)의 움직임 벡터(MV21'), 움직임 벡터(MV24')는 이하의 식에 의해 계산된다.
MV21' = -MV24×TR21'/TR24
MV24' = MV24×TR24'/TR24
그리고 움직임 벡터(MV21'), 움직임 벡터(MV24')를 이용하여 픽처(P21), 픽처(P24)로부터 2방향 예측을 행한다.
또한, 도 14에 도시하는 바와 같이 참조 픽처(P23)에서의 블록(MB2)의 픽처(P25)로의 움직임 벡터(MV25)만을 이용한 경우, 블록(MB1)의 움직임 벡터(MV21'), 움직임 벡터(MV25')는 이하의 식에 의해 계산된다. 또한, 시간 간격(TR24)은 픽처(P23)와 픽처(P24) 간의 시간 간격, 시간 간격(TR25)은 픽처(P23)와 픽처(P25) 간의 시간 간격, 시간 간격(TR25')은 픽처(P22)와 픽처(P25) 간의 시간 간격, 시간 간격(TR21')은 픽처(P21)와 픽처(P22) 간의 시간 간격을 나타낸다.
MV21' = -MV25×TR21'/TR25
MV25' = MV25×TR25'/TR25
그리고 움직임 벡터(MV21'), 움직임 벡터(MV25')를 이용하여 픽처(P21), 픽처(P24)로부터 2방향 예측을 행한다.
도 15는 직접 모드에서 움직임 벡터를 계산하기 위해서 참조하는 부호화가 완료된 블록 또는 복호화가 완료된 블록이, 표시 시간 순으로 전방에 있는 1장의 픽처를 참조하는 2개의 움직임 벡터를 갖고 있었던 경우의 동작을 나타낸 것이다. 픽처(P23)는, 현재 부호화 또는 복호화의 대상으로 하고 있는 픽처이다. 부호화 또는 복호화를 행하는 블록을 블록(MB1)으로 하면, 이 때 필요하게 되는 2개의 움직임 벡터는 부호화가 완료된 또는 복호화가 완료된 후방 참조 픽처(제2 참조 인덱스로 지정되는 제2 참조 픽처)(P24)와 동일 위치에 있는 블록(MB2)이 갖는 움직임 벡터를 이용하여 결정된다. 또한, 도 15에서, 블록(MB1)이 처리 대상 블록이고, 블록(MB1)과 블록(MB2)은 픽처 상에서 서로 동일 위치에 있는 블록이다. 움직임 벡터(MV21A)와 움직임 벡터(MV21B)는 블록(MB2)을 부호화 또는 복호화할 때에 이용한 전방향 움직임 벡터이고, 모두 픽처(P21)를 참조하고 있다. 또, 픽처(P21), 픽처(P20), 픽처(P24)는 부호화 완료 픽처 또는 복호화 완료 픽처이다. 또, 시간 간격(TR21A), 시간 간격(TR21B)은 픽처(P21)와 픽처(P24) 간의 시간 간격, 시간 간격(TR21')은 픽처(P21)와 픽처(P23) 간의 시간 간격, 시간 간격(TR24')은 픽처(P23)와 픽처(P24) 간의 시간 간격을 나타낸다.
움직임 벡터 계산 방법으로서는, 도 15에 도시하는 바와 같이 참조 픽처(P24)에서의 블록(MB2)의 픽처(P21)로의 전방향 움직임 벡터(MV21A)만을 이용하여, 블록(MB1)의 움직임 벡터(MV21A', MV24')는 이하의 식에 의해 계산된다.
MV21A' = MV21A×TR21'/TR21A
MV24' = -MV21A×TR24'/TR21A
그리고 움직임 벡터(MV21A'), 움직임 벡터(MV24')를 이용하여 픽처(P21), 픽처(P24)로부터 2방향 예측을 행한다.
또한, 참조 픽처(P24)에서의 블록(MB2)의 픽처(P21)로의 전방향 움직임 벡터(MV21B)만을 이용하여, 블록(MB1)의 움직임 벡터를 계산해도 좋다. 또, 실시 형태 1 내지 실시 형태 4에서 도시한 바와 같이, 전방향 움직임 벡터(MV21A)와 전방향 움직임 벡터(MV21B)의 양자를 이용하여, 블록(MB1)에 대한 움직임 벡터를 결정해도 좋다. 어느 것이나 전방향 움직임 벡터(MV21A)와 전방향 움직임 벡터(MV21B)의 어느 한쪽을 선택하는 경우에, 어느 것을 선택할지는, 시간적으로 먼저 부호화 또는 복호화되어 있는(부호열 중에 먼저 기술되어 있다) 움직임 벡터를 선택하도록 해도 좋고, 부호화 장치, 복호화 장치로 임의로 설정해도 좋다. 여기에서, 시간적으로 먼저 부호화 또는 복호화되어 있는 움직임 벡터란, 제1 움직임 벡터의 것을 의미한다. 또, 픽처(P21)가 단시간 메모리(Short Term Buffer)에 있거나 장시간 메모리(Long Term Buffer)에 있어도, 어느 쪽이나 움직임 보상하는 것은 가능하다. 단시간 메모리, 장시간 메모리에 대해서는, 후술한다.
또한, 본 실시 형태에서는, 참조하는 움직임 벡터에 대해서 픽처간의 시간적 거리를 이용하여 스케일링함으로써, 직접 모드에서 이용하는 움직임 벡터를 계산하는 경우에 대해서 설명하였지만, 이것은 참조하는 움직임 벡터를 정수배하여 계산해도 좋다. 여기에서 정수배에 사용되는 정수는, 다수 블록 단위 또는 다수 픽처 단위로 부호화 또는 복호화하는 경우에, 변경 가능하게 해도 좋다.
또한, 상기 움직임 벡터(MV21'), 움직임 벡터(MV24'), 움직임 벡터(MV25') 및 움직임 벡터(MV21A')의 계산식에서는, 각 식의 우측 변을 계산한 후, 소정의 움직임 벡터의 정밀도로 사사오입해도 좋다. 움직임 벡터의 정밀도로서는, 1/2화소, 1/3화소, 1/4화소 정밀도 등이 있다. 또 이 움직임 벡터의 정밀도는, 예를 들면, 블록 단위, 픽처 단위, 스퀀스 단위로 결정할 수 있다.
(실시 형태 6)
본 실시 형태 6에서는, 직접 모드에서 대상 움직임 벡터를 결정하기 위해서이용한 참조 픽처가 표시 시간 순으로 전방에 있는 2장의 픽처를 참조하는 2개의 전방향 움직임 벡터를 갖고 있는 경우에, 2개의 전방향 움직임 벡터 중 한 쪽만을 스케일링하여 대상 움직임 벡터를 계산할 수 있는 방법에 대해서 도 16 내지 도 18을 이용하여 설명한다. 또한, 블록(MB1)이 처리 대상 블록이고, 블록(MB1)과 블록(MB2)은 픽처 상에서 서로 동일 위치에 있는 블록이고, 움직임 벡터(MV21)와 움직임 벡터(MV22)는 블록(MB2)을 부호화 또는 복호화할 때에 이용한 전방향 움직임 벡터이고, 각각 픽처(P21), 픽처(P22)를 참조하고 있다. 또, 픽처(P21), 픽처(P22), 픽처(P24)는 부호화 완료 픽처 또는 복호화 완료 픽처이다. 또, 시간 간격(TR21)은 픽처(P21)와 픽처(P24) 간의 시간 간격, 시간 간격(TR22)은 픽처(P22)와 픽처(P24) 간의 시간 간격, 시간 간격(TR21')은 픽처(P21)와 픽처(P23) 간의 시간 간격, 시간 간격(TR22')은 픽처(P22)와 픽처(P23) 간의 시간 간격을 나타낸다.
제1 방법으로서는, 도 16에 도시하는 바와 같이 참조 픽처(P24)에서의 블록(MB2)이 픽처(P21)로의 전방향 움직임 벡터(MV21)와, 픽처(P22)로의 전방향 움직임 벡터(MV22)의 2개의 전방향 움직임 벡터를 가질 때, 대상 픽처(P23)에 표시 시간 순으로 가까운 픽처(P22)로의 움직임 벡터(MV22)만을 이용하여, 블록(MB1)의 움직임 벡터(MV22')는 이하의 식에 의해 계산된다.
MV22' = MV22×TR22'/TR22
그리고 움직임 벡터(MV22')를 이용하여 픽처(P22)로부터 움직임 보상을 행한다.
제2 방법으로서는, 도 17에 도시하는 바와 같이 참조 픽처(P24)에서의 블록(MB2)이 픽처(P21)로의 전방향 움직임 벡터(MV21)와 픽처(P22)로의 전방향 움직임 벡터(MV22)의 2개의 전방향 움직임 벡터를 가질 때, 대상 픽처(P23)에 표시 시간 순으로 먼 픽처(P21)로의 움직임 벡터(MV21)만을 이용하여, 블록(MB1)의 움직임 벡터(MV21')는 이하의 식에 의해 계산된다.
MV21' = MV21×TR21'/TR21
그리고 움직임 벡터(MV21')를 이용하여 픽처(P21)로부터 움직임 보상을 행한다.
이들 제1, 제2 방법에 의해, 움직임 벡터를 참조하는 참조 픽처(P24)에 속하는 블록(MB2)은, 2개의 움직임 벡터 중의 한 쪽만을 기억해 둠으로써 움직임 보상을 실현할 수 있기 때문에, 움직임 벡터 기억부의 용량을 작게 억제하는 것이 가능해진다.
또한, 전방향 움직임 벡터(MV21)를 이용하면서, 실시 형태 1과 마찬가지로 표시 시간 순으로 근방의 픽처인 픽처(P22)로부터 움직임 보상을 행할 수도 있다. 그 때에 이용하는 움직임 벡터(MVN)(도시하지 않음)는 이하의 식에 의해 계산된다.
MVN = MV21×TR22'/TR21
또한, 제3 방법으로서, 도 18에 도시하는 바와 같이 상기에서 구한 움직임 벡터(MV21')와 움직임 벡터(MV22')를 이용하여 각각 픽처(P21)와 픽처(P22)로부터 움직임 보상 블록을 취득하여, 그 평균 화상을 움직임 보상에서의 보간 화상으로 한다.
이 제3 방법에 의해, 계산량은 증가하지만, 움직임 보상의 정밀도는 향상한다.
또한, 상기 움직임 벡터(MVN)와 움직임 벡터(MV22')를 이용하여 픽처(P22)로부터 움직임 보상 블록을 취득하여, 그 평균 화상을 움직임 보상에서의 보간 화상으로 할 수도 있다.
또, 본 실시 형태에서는, 참조하는 움직임 벡터에 대해서 픽처간의 시간적 거리를 이용하여 스케일링함으로써, 직접 모드에서 이용하는 움직임 벡터를 계산하는 경우에 대해서 설명하였지만, 이것은 참조하는 움직임 벡터를 정수배하여 계산해도 좋다. 여기에서, 정수배에 사용되는 정수는, 다수 블록 단위 또는 다수 픽처 단위로 부호화 또는 복호화하는 경우에, 변경 가능하게 해도 좋다.
또한, 상기 움직임 벡터(MV21'), 움직임 벡터(MV22'), 움직임 벡터(MVN)의 계산식에서는, 각 식의 우측 변을 계산한 후, 소정의 움직임 벡터의 정밀도로 사사오입해도 좋다. 움직임 벡터의 정밀도로서는, 1/2화소, 1/3화소, 1/4화소 정밀도 등이 있다. 또 이 움직임 벡터의 정밀도는, 예를 들면, 블록 단위, 픽처 단위, 시퀀스 단위로 결정할 수 있다.
(실시 형태 7)
상기 실시 형태 6에서는 직접 모드에서 부호화 또는 복호화 대상 블록의 움직임 벡터를 결정하기 위해서 이용한 참조 픽처가, 표시 시간 순으로 전방에 있는 2장의 픽처를 참조하는 2개의 전방향 움직임 벡터를 갖고 있는 경우에 대해서 서술하였지만, 표시 시간 순으로 후방에 있는 2장의 픽처를 참조하는 2개의 후방향 움직임 벡터(제2 참조 인덱스로 참조 픽처가 지정되는 제2 움직임 벡터)를 갖고 있는 경우에 대해서도 마찬가지로, 2개의 후방향 움직임 벡터 중 한 쪽만을 스케일링하여 대상 움직임 벡터를 계산할 수 있다. 이하, 도 19 내지 도 22를 이용하여 설명한다. 또한, 블록(MB1)이 처리 대상 블록이고, 블록(MB1)과 블록(MB2)은 픽처 상에서 서로 동일 위치에 있는 블록이며, 움직임 벡터(MV24)와 움직임 벡터(MV25)는, 움직임 벡터(MB2)를 부호화 또는 복호화할 때에 이용한 후방향 움직임 벡터(제2 참조 인덱스로 참조 픽처가 지정되는 제2 움직임 벡터)이다. 또, 픽처(P21), 픽처(P23), 픽처(P24) 및 픽처(P25)는 부호화 완료 픽처 또는 복호화 완료 픽처이다. 또, 시간 간격(TR24)은 픽처(P23)와 픽처(P24) 간의 시간 간격, 시간 간격(TR25)은 픽처(P23)와 픽처(P25) 간의 시간 간격, 시간 간격(TR24')은 픽처(P22)와 픽처(P24) 간의 시간 간격, 시간 간격(TR25')은 픽처(P22)와 픽처(P25) 간의 시간 간격을 나타낸다.
제1 방법으로서는, 도 19에 도시하는 바와 같이 참조 픽처(P23)에서의 블록(MB2)이 픽처(P24)로의 후방향 움직임 벡터(MV24)와 픽처(P25)로의 후방향 움직임 벡터(MV25)의 2개의 후방향 움직임 벡터를 가질 때, 대상 픽처(P22)에 표시 시간 순으로 가까운 픽처(P24)로의 후방향 움직임 벡터(MV24)만을 이용하여, 블록(MB1)의 움직임 벡터(MV24')는 이하의 식에 의해 계산된다.
MV24' = MV24×TR24'/TR24
그리고 움직임 벡터(MV24')를 이용하여 픽처(P24)로부터 움직임 보상을 행한다.
또한, 후방향 움직임 벡터(MV24)를 이용하면서, 실시 형태 1과 마찬가지로 표시 시간 순으로 근방의 픽처인 픽처(P23)로부터 움직임 보상을 행할 수도 있다. 그 때에 이용하는 움직임 벡터(MVN1)(도시하지 않음)는 이하의 식에 의해 계산된다.
MVN1 = MV24×TRN1/TR24
제2 방법으로서는, 도 20에 도시하는 바와 같이 참조 픽처(P23)에서의 블록(MB2)이 픽처(P24)로의 후방향 움직임 벡터(MV24)와 픽처(P25)로의 후방향 움직임 벡터(MV25)의 2개의 후방향 움직임 벡터를 가질 때, 대상 픽처(P23)에 표시 시간 순으로 먼 픽처(P25)로의 후방향 움직임 벡터(MV25)만을 이용하여, 블록(MB1)의 움직임 벡터(MV25')는 이하의 식에 의해 계산된다.
MV25' = MV25×TR25'/TR25
그리고 움직임 벡터(MV25')를 이용하여 픽처(P25)로부터 움직임 보상을 행한다.
이들 제1, 제2 방법에 의해, 움직임 벡터를 참조하는 참조 픽처(P23)에 속하는 블록(MB2)은 2개의 움직임 벡터 중의 한 쪽만을 기억해 둠으로써 움직임 보상을 실현할 수 있기 때문에, 움직임 벡터 기억부의 용량을 작게 억제하는 것이 가능해진다.
또한, 후방향 움직임 벡터(MV25)를 이용하면서, 실시 형태 1과 마찬가지로 표시 시간 순으로 근방의 픽처인 픽처(P23)로부터 움직임 보상을 행할 수도 있다. 그 때에 이용하는 움직임 벡터(MVN2)(도시하지 않음)는 이하의 식에 의해 계산된다.
MVN2 = MV25×TRN1/TR25
또한, 제3 방법으로서, 도 21에 도시하는 바와 같이 상기에서 구한 움직임 벡터(MV24')와 움직임 벡터(MV25')를 이용하여 각각 픽처(P24)와 픽처(P25)로부터 움직임 보상 블록을 취득하여, 그 평균 화상을 움직임 보상에서의 보간 화상으로 한다.
이 제3 방법에 의해, 계산량은 증가하지만, 대상 픽처(P22)의 정밀도는 향상한다.
또한, 상기 움직임 벡터(MVN1)와 움직임 벡터(MVN2)를 이용하여 픽처(P24)로부터 움직임 보상 블록을 취득하여, 그 평균 화상을 움직임 보상에서의 보간 화상으로 할 수도 있다.
또, 도 22에 도시하는 바와 같이 직접 모드에서 대상 움직임 벡터를 결정하기 위해서 이용한 참조 픽처가 표시 시간 순으로 후방에 있는 1장의 픽처를 참조하는 1개의 후방향 움직임 벡터를 갖고 있는 경우에는, 예를 들면 이하의 식에 의해 움직임 벡터(MV24')는 계산된다.
MV24' = MV24×TR24'/TR24
그리고 움직임 벡터(MV24')를 이용하여 픽처(P24)로부터 움직임 보상을 행한다.
또한, 후방향 움직임 벡터(MV25)를 이용하면서, 실시 형태 1과 마찬가지로 표시 시간 순으로 근방의 픽처인 픽처(P23)로부터 움직임 보상을 행할 수도 있다.그 때에 이용하는 움직임 벡터(MVN3)(도시하지 않음)는 이하의 식에 의해 계산된다.
MVN3 = MV24×TRN1/TR24
또한, 본 실시 형태에서는, 도 19 내지 도 22를 이용하여, 표시 시간 순으로 후방에 있는 2장의 픽처를 참조하는 2개의 후방향 움직임 벡터를 갖고 있는 경우 및 표시 시간 순으로 후방에 있는 1장의 픽처를 참조하는 1개의 후방향 움직임 벡터를 갖고 있는 경우에, 그 후방향 움직임 벡터를 스케일링하여 대상 움직임 벡터를 계산하는 경우에 대해서 설명하였지만, 이것은 후방 움직임 벡터를 이용하지 않고, 동일 픽처 내의 주변 블록의 움직임 벡터를 참조하여 대상 움직임 벡터를 계산해도 좋고, 픽처 내 부호화가 행해지고 있는 경우에 동일 픽처내의 주변 블록의 움직임 벡터를 참조하여 대상 움직임 벡터를 계산해도 좋다. 먼저, 제1 계산 방법에 대해서 서술한다. 도 23은, 그 때에 참조하는 움직임 벡터와 대상 블록의 위치 관계를 나타낸 것이다. 블록(MB1)이 대상 블록이고, A, B, C의 위치 관계에 있는 3개의 화소를 포함하는 블록의 움직임 벡터를 참조한다. 단, 화소(C)의 위치가 화면 외이거나, 부호화/복호화가 완료되어 있지 않은 상태이거나 하여 참조 불가가 되는 경우에는, 화소(C)를 포함하는 블록 대신에 화소(D)를 포함하는 블록의 움직임 벡터를 이용하는 것으로 한다. 참조의 대상이 된 A, B, C의 화소를 포함하는 3개의 블록이 갖는 움직임 벡터의 중앙값을 취함으로써, 실제로 직접 모드에서 사용하는 움직임 벡터로 한다. 3개의 블록이 갖는 움직임 벡터의 중앙값을 취함으로써, 3개의 움직임 벡터 중 어느 움직임 벡터를 선택하였는지는 부가 정보를 부호열중에 기술할 필요가 없고, 또한 블록(MB1)의 실제의 움직임에 가까운 움직임을 표현하는 움직임 벡터를 얻을 수 있다. 이 경우, 결정한 움직임 벡터를 이용하여, 전방 참조(제1 참조 픽처로의 참조)만으로 움직임 보상해도 좋고, 그 결정한 움직임 벡터와 평행한 움직임 벡터를 이용하여, 2방향 참조(제1 참조 픽처 및 제2 참조 픽처로의 참조)로 움직임 보상해도 좋다.
다음에, 제2 계산 방법에 대해서 서술한다.
제2 계산 방법에서는 제1 계산 방법과 같이 중앙값을 취하지 않고, 참조의 대상이 된 A, B, C의 화소를 포함하는 3개의 블록이 갖는 움직임 벡터 중에서, 부호화 효율이 가장 높아지는 움직임 벡터를 취함으로써, 실제로 직접 모드에서 사용하는 움직임 벡터로 한다. 이 경우, 결정한 움직임 벡터를 이용하여, 전방 참조(제1 참조 픽처로의 참조)만으로 움직임 보상해도 좋고, 그 결정한 움직임 벡터와 평행한 움직임 벡터를 이용하여, 2방향 참조(제1 참조 픽처와 제2 참조 픽처를 이용한 참조)로 움직임 보상해도 좋다. 부호화 효율이 가장 높은 움직임 벡터를 나타내는 정보는, 예를 들면 도 24(a)에 도시하는 바와 같이, 모드 선택부(107)로부터 출력되는 직접 모드를 나타내는 정보와 함께, 부호열 생성부(103)에 의해서 생성되는 부호열에서의 블록의 헤더 영역에 부가된다. 또한, 도 24(b)에 도시하는 바와 같이 부호화 효율이 가장 높은 벡터를 나타내는 정보는 매크로 블록의 헤더 영역에 부가해도 좋다. 또, 부호화 효율이 가장 높은 움직임 벡터를 나타내는 정보란, 예를 들면, 참조의 대상이 된 화소를 포함하는 블록을 식별하는 번호에서, 블록마다 주어지는 식별 번호이다. 또, 식별 번호로 블록이 식별될 때, 블록마다주어진 식별 번호를 1개만 이용하여, 그 1개의 식별 번호에 대응하는 블록을 부호화하였을 때에 이용한 움직임 벡터 중 한 쪽만을 이용하여 부호화 효율이 가장 높아지는 움직임 벡터를 나타내도록 해도, 움직임 벡터가 다수 있을 때에 다수의 움직임 벡터를 이용하여 부호화 효율이 가장 높아지는 움직임 벡터를 나타내도록 해도 좋다. 또는, 2방향 참조(제1 참조 픽처 및 제2 참조 픽처로의 참조)의 각각의 움직임 벡터마다 블록마다 주어진 식별 번호를 이용하여, 부호화 효율이 가장 높아지는 움직임 벡터를 나타내도록 해도 좋다. 이와 같은 움직임 벡터의 선택 방법을 이용함으로써, 반드시 부호화 효율이 가장 높아지는 움직임 벡터를 취할 수 있다. 단, 어느 움직임 벡터를 선택하였는지를 나타내는 부가 정보를 부호열 중에 기술하지 않으면 안되기 때문에, 그것을 위한 부호량은 더 필요해진다. 또한, 제3 계산 방법에 대해서 서술한다.
제3 계산 방법에서는, 움직임 벡터가 참조하는 참조 픽처의 참조 인덱스의 값이 가장 작아지는 움직임 벡터를 직접 모드에서 사용하는 움직임 벡터로 한다. 참조 인덱스가 최소라는 것은, 일반적으로는 표시 시간 순으로 가까운 픽처를 참조하고 있거나, 또는 부호화 효율이 가장 높아지는 움직임 벡터이다. 따라서, 이와 같은 움직임 벡터의 선택 방법을 이용함으로써, 표시 시간 순으로 가장 가깝거나, 또는 부호화 효율이 가장 높아지는 픽처를 참조하는 움직임 벡터를 이용하여, 직접 모드에서 이용하는 움직임 벡터를 생성하게 되어, 부호화 효율의 향상을 도모할 수 있다.
또한, 3개의 움직임 벡터 중 3개 모두 동일한 참조 픽처를 참조하고 있는 경우에는, 3개의 움직임 벡터의 중앙값을 취하도록 하면 좋다. 또, 3개의 움직임 벡터 중 참조 인덱스의 값이 가장 작은 참조 픽처를 참조하는 움직임 벡터가 2개 있는 경우에는, 예를 들면, 2개의 움직임 벡터 중, 어느 쪽인가 한 쪽을 고정적으로 선택하도록 하면 좋다. 도 23을 이용하여 예를 도시한다고 한다면, 화소(A), 화소(B) 및 화소(C)를 포함하는 3개의 블록이 갖는 움직임 벡터 중, 화소(A) 및 화소(B)를 포함하는 2개의 블록이 참조 인덱스의 값이 가장 작고, 또한 동일한 참조 픽처를 참조하는 경우, 화소(A)를 포함하는 블록이 갖는 움직임 벡터를 취하도록 하면 좋다. 단, 각각 화소(A), 화소(B), 화소(C)를 포함하는 3개의 블록이 갖는 움직임 벡터 중, 화소(A), 화소(C)를 포함하는 2개의 블록이 참조 인덱스의 값이 가장 작고, 또한 동일한 참조 픽처를 참조하는 경우, 블록(BL1)에 위치 관계에서 가까운 화소(A)를 포함하는 블록이 갖는 움직임 벡터를 취하도록 하면 좋다.
또한, 상기 중앙값은, 각 움직임 벡터의 수평 방향 성분과 수직 방향 성분 각각에 대해서 중앙값을 취하도록 해도 좋고, 각 움직임 벡터의 크기(절대값)에 대해서 중앙값을 취하도록 해도 좋다.
또, 움직임 벡터의 중앙값은 도 25에 도시하는 바와 같은 경우, 후방의 참조 픽처에서 블록(BL1)과 동일 위치에 있는 블록과, 화소(A), 화소(B), 화소(C) 각각을 포함하는 블록과, 또한 도 25에 도시하는 화소(D)를 포함하는 블록, 이들 합계 5개의 블록이 갖는 움직임 벡터의 중앙값을 취하도록 해도 좋다. 이와 같이 부호화 대상 화소의 주위에 가깝고, 후방의 참조 픽처에서 블록(BL1)과 동일 위치에 있는 블록을 이용하였을 때에는, 블록수를 홀수로 하기 위해서 화소(D)를 포함하는블록을 이용하면, 움직임 벡터의 중앙값을 산출하는 처리를 간단하게 할 수 있다. 또한, 후방의 참조 픽처에서 블록(BL1)과 동일 위치에 있는 영역에 다수의 블록이 걸쳐져 있는 경우, 이 다수의 블록 중 블록(BL1)과 겹치는 영역이 가장 큰 블록에서의 움직임 벡터를 이용하여 블록(BL1)의 움직임 보상을 해도 좋고, 혹은 블록(BL1)을 후방의 참조 픽처에서의 다수의 블록의 영역에 대응하여 나누고, 나눈 블록마다 블록(BL1)을 움직임 보상하도록 해도 좋다.
또한, 구체적인 예를 들어 설명한다.
도 26이나 도 27에 나타내는 바와 같이, 화소(A), 화소(B), 화소(C)를 포함하는 블록 모두가 부호화 대상 픽처보다 전방의 픽처를 참조하는 움직임 벡터의 경우, 상기 제1 계산 방법으로부터 제3 계산 방법까지, 어느 것을 이용해도 좋다.
동일하게, 도 28이나 도 29에 나타내는 바와 같이, 화소(A), 화소(B), 화소(C)를 포함하는 블록 모두가 부호화 대상 픽처보다 후방의 픽처를 참조하는 움직임 벡터인 경우, 상기 제1 계산 방법으로부터 제3 계산 방법까지, 어느 것을 이용해도 좋다.
다음에, 도 30에 나타내는 경우에 대해서 설명한다. 도 30은, 화소(A), 화소(B), 화소(C) 각각을 포함하는 블록 모두가 부호화 대상 픽처보다 전방과 후방의 픽처를 참조하는 움직임 벡터를 1개씩 갖는 경우를 나타낸다.
상기 제1 계산 방법에 의하면, 블록(BL1)의 움직임 보상에 이용하는 전방의 움직임 벡터는 움직임 벡터(MVAf), 움직임 벡터(MVBf), 움직임 벡터(MVCf)의 중앙값에 의해서 선택되고, 블록(BL1)의 움직임 보상에 이용하는 후방의 움직임 벡터는움직임 벡터(MVAb), 움직임 벡터(MVBb), 움직임 벡터(MVCb)의 중앙값에 의해 선택된다. 또한, 움직임 벡터(MVAf)는 화소(A)를 포함하는 블록의 전방향 움직임 벡터이고, 움직임 벡터(MVAb)는 화소(A)를 포함하는 블록의 후방향 움직임 벡터이고, 움직임 벡터(MVBf)는 화소(B)를 포함하는 블록의 전방향 움직임 벡터이고, 움직임 벡터(MVBb)는 화소(B)를 포함하는 블록의 후방향 움직임 벡터이고, 움직임 벡터(MVCf)는 화소(C)를 포함하는 블록의 전방향 움직임 벡터이고, 움직임 벡터(MVCb)는 화소(C)를 포함하는 블록의 후방향 움직임 벡터이다. 또, 움직임 벡터(MVAf) 등은, 도시하는 바와 같은 픽처를 참조하는 경우에 한정되지 않는다. 이들은 이하의 설명에서도 마찬가지다.
상기 제2 계산 방법에 의하면, 움직임 벡터(MVAf), 움직임 벡터(MVBf), 움직임 벡터(MVCf)의 전방 참조의 움직임 벡터 중에서 부호화 효율이 가장 높아지는 움직임 벡터와, 움직임 벡터(MVAb), 움직임 벡터(MVBb), 움직임 벡터(MVCb)의 후방 참조의 움직임 벡터 중에서 부호화 효율이 가장 높아지는 움직임 벡터를 취함으로써 실제로 직접 모드에서 사용하는 움직임 벡터로 한다. 이 경우, 움직임 벡터(MVAf), 움직임 벡터(MVBf), 움직임 벡터(MVCf)의 전방 참조의 움직임 벡터 중에서 부호화 효율이 가장 높아지는 움직임 벡터를 이용하여, 전방 참조만으로 움직임 보상해도 좋고, 그 결정한 움직임 벡터와 평행한 움직임 벡터를 이용하여, 2방향 참조로 움직임 보상해도 좋다. 또한, 부호화 효율이 가장 높아지도록, 전방 참조와 후방 참조의 움직임 벡터 각각에 대해서 선택하지 않고, 1개의 블록을 선택하여, 그 블록이 갖는 전방 참조와 후방 참조의 움직임 벡터를 이용하여 움직임 보상해도 좋다. 이 때, 부호화 효율이 가장 높아지도록 선택된 전방 참조의 움직임 벡터를 갖는 화소를 갖는 블록과, 부호화 효율이 가장 높아지도록 선택된 후방 참조의 움직임 벡터를 갖는 화소를 갖는 블록을 나타내는 정보를 선택하는 경우에 비해서, 선택을 나타내는 정보가 적기 때문에, 부호화 효율을 향상시킬 수 있다. 또, 이 1개의 블록의 선택은, ① 전방 참조의 움직임 벡터가 참조하는 픽처의 참조 인덱스의 값이 가장 작아지는 움직임 벡터를 갖는 화소를 포함하는 블록으로 한다, ② 각 화소를 갖는 블록의 전방 참조의 움직임 벡터가 참조하는 픽처의 참조 인덱스의 값과, 후방 참조의 움직임 벡터가 참조하는 픽처의 참조 인덱스의 값을 가산하여, 가산한 값이 최소가 되는 블록으로 한다, ③ 전방 참조의 움직임 벡터가 참조하는 픽처의 참조 인덱스의 중앙값을 취하여, 중앙값을 갖는 전방 참조의 움직임 벡터를 갖는 화소를 포함하는 블록으로 하고, 후방 참조의 움직임 벡터는, 이 블록이 갖는 후방 참조의 움직임 벡터로 한다, ④ 후방 참조의 움직임 벡터가 참조하는 픽처의 참조 인덱스의 중앙값을 취하여, 중앙값을 갖는 후방 참조의 움직임 벡터를 갖는 화소를 포함하는 블록으로 하고, 전방 참조의 움직임 벡터는, 이 블록이 갖는 전방 참조의 움직임 벡터로 한다, 중 어느 하나를 채용하면 좋다. 또한, 후방 참조의 움직임 벡터가 모두 동일한 픽처를 참조하고 있는 경우에는, 상기 ①과 ③의 블록의 선택 방법이 적합하다.
상기 제3 계산 방법에서는, 움직임 벡터(MVAf), 움직임 벡터(MVBf), 움직임 벡터(MVCf)의 전방 참조의 움직임 벡터가 참조하는 참조 픽처의 참조 인덱스의 값이 가장 작아지는 움직임 벡터를 직접 모드에서 사용하는 전방 참조(제1 참조)의움직임 벡터로 한다. 또는, 움직임 벡터(MVAb), 움직임 벡터(MVBb), 움직임 벡터(MVCb)의 후방 참조의 움직임 벡터가 참조하는 참조 픽처의 참조 인덱스의 값이 가장 작아지는 움직임 벡터를 직접 모드에서 사용하는 후방 참조(제2 참조)의 움직임 벡터로 한다. 또한, 제3 계산 방법에서는, 참조 픽처의 참조 인덱스의 값이 가장 작아지는 전방 참조의 움직임 벡터를 블록(BL1)의 전방 참조의 움직임 벡터로 하고, 참조 픽처의 참조 인덱스의 값이 가장 작아지는 후방 참조의 움직임 벡터를 블록(BL1)의 후방 참조의 움직임 벡터로 하였지만, 참조 픽처의 참조 인덱스의 값이 가장 작아지는 전방 또는 후방의 어느 한쪽을 이용하여 블록(BL1)의 2개의 움직임 벡터를 도출하고, 도출된 움직임 벡터를 이용하여 블록(BL1)을 움직임 보상해도 좋다.
다음에, 도 31에 나타내는 경우에 대해서 설명한다. 도 31은, 화소(A)가 전방과 후방의 픽처를 참조하는 움직임 벡터를 1개씩 갖고, 화소(B)가 전방의 픽처를 참조하는 움직임 벡터만을 갖고, 화소(C)가 후방의 픽처를 참조하는 움직임 벡터만을 갖는 경우를 나타낸다.
이와 같이 한쪽의 픽처를 참조하는 움직임 벡터만 갖는 화소를 포함하는 블록이 있을 때, 이 블록의 다른 쪽의 픽처를 참조하는 움직임 벡터가 0이라고 하고, 움직임 보상하기 위해서 상기 도 30에서의 계산 방법을 이용하면 좋다. 구체적으로는, 도 30에서의 제1 계산 방법 또는 제3 계산 방법을 이용하여, MVCf=MVBb=0으로서 계산하면 좋다. 즉, 제1 계산 방법에서는, 블록(BL1)의 전방향 움직임 벡터를 계산할 때에는, 화소(C)가 전방의 픽처를 참조하는 움직임 벡터(MVCf)를 MVCf=0으로 하여, 움직임 벡터(MVAf), 움직임 벡터(MVBf) 및 움직임 벡터(MVCf)의 중앙값을 계산한다. 또, 블록(BL1)의 후방향 움직임 벡터를 계산할 때에는, 화소(B)가 후방의 픽처를 참조하는 움직임 벡터(MVBb)를 MVBb=0으로 하여, 움직임 벡터(MVAb), 움직임 벡터(MVBb) 및 움직임 벡터(MVCb)의 중앙값을 계산한다.
제3 계산 방법에서는, 화소(C)가 전방의 픽처를 참조하는 움직임 벡터(MVCf)와 화소(B)가 후방의 픽처를 참조하는 움직임 벡터(MVBb)를 MVCf=MVBb=0으로 하고, 블록(BL1)의 움직임 벡터가 참조하는 참조 픽처의 참조 인덱스의 값이 가장 작아지는 움직임 벡터를 계산한다. 예를 들면, 화소(A)를 포함하는 블록이 제1 참조 인덱스「0」의 픽처를 참조하고, 화소(B)를 포함하는 블록이 제1 참조 인덱스「1」의 픽처를 참조하고 있는 경우, 최소의 제1 참조 인덱스의 값은「0」이다. 따라서, 화소(B)를 포함하는 블록의 전방의 픽처를 참조하는 움직임 벡터(MVBf)만이, 최소의 제1 참조 인덱스를 갖는 픽처를 참조하고 있기 때문에, 움직임 벡터(MVBf)를 블록(BL1)의 전방향 움직임 벡터로 한다. 또, 예를 들면, 화소(A), 화소(C)의 모두가 제2 참조 인덱스가 최소인, 예를 들면, 제2 참조 인덱스가 「0」인 후방 픽처를 참조하고 있는 경우, 화소(B)가 후방의 픽처를 참조하는 움직임 벡터(MVBb)를 MVBb=0으로 하고, 움직임 벡터(MVAb), 움직임 벡터(MVBb) 및 움직임 벡터(MVCb)의 중앙값을 계산한다. 계산의 결과 얻어진 움직임 벡터를 블록(BL1)의 후방향 움직임 벡터로 한다.
다음에, 도 32에 나타내는 경우에 대해서 설명한다. 도 32는, 화소(A)가 전방과 후방의 픽처를 참조하는 움직임 벡터를 1개씩 갖고, 화소(B)가 전방의 픽처를참조하는 움직임 벡터만을 가지며, 화소(C)가 움직임 벡터를 갖지 않고, 화면내 부호화되는 경우를 나타낸다.
이와 같이, 참조 대상이 된 화소(C)를 포함하는 블록이 화면내 부호화되어 있을 때, 이 블록의 전방과 후방의 픽처를 참조하는 움직임 벡터를 모두 「0」이라고 하고, 움직임 보상하기 위해서 상기 도 30에서의 계산 방법을 이용하면 좋다. 구체적으로는, MVCf=MVCb=0으로 하여 계산하면 좋다. 또, 도 30의 경우에는, MVBb=0이다.
마지막으로, 도 33에 나타내는 경우에 대해서 설명한다. 도 33은, 화소(C)가 직접 모드에 의해서 부호화되어 있는 경우에 대해서 나타내고 있다.
이와 같이, 참조 대상이 된 화소에, 직접 모드에 의해서 부호화되어 있는 블록이 있을 때, 직접 모드에 의해서 부호화되어 있는 블록이 부호화될 때에 이용된 움직임 벡터를 이용한 다음에, 상기 도 30에서의 계산 방법을 이용하여 블록(BL1)의 움직임 보상을 하면 좋다.
또한, 움직임 벡터가 전방 참조와 후방 참조의 어느 쪽인지는, 참조되는 픽처와 부호화되는 픽처, 각각의 픽처가 갖는 시간 정보에 의해서 결정된다. 따라서, 전방 참조와 후방 참조를 구별한 다음에, 움직임 벡터를 도출하는 경우에는, 각각의 블록이 갖는 움직임 벡터가 전방 참조와 후방 참조의 어느 쪽인지를, 각각의 픽처가 갖는 시간 정보에 의해서 판단한다.
또한, 상기에서 설명한 계산 방법을 조합한 예에 대해서 설명한다. 도 34는 직접 모드에서 사용하는 움직임 벡터를 결정하는 순서를 나타내는 도면이다. 도34는 참조 인덱스를 이용하여 움직임 벡터를 결정하는 방법의 일례이다. 또한, 도 34에 나타내는 Ridx0, Ridx1은 상기에서 설명한 참조 인덱스이다. 도 34(a)는 제1 참조 인덱스(Ridx0)에 의해서 움직임 벡터를 결정하는 순서를 나타내고 있고, 도 34(b)는 제2 참조 인덱스(Ridx1)에 의해서 움직임 벡터를 결정하는 순서를 나타내고 있다. 먼저, 도 34(a)에 대해서 설명한다.
단계 S3701에서 화소(A)를 포함하는 블록, 화소(B)를 포함하는 블록 및 화소(C)를 포함하는 블록 중, 제1 참조 인덱스(Ridx0)를 이용하여 픽처를 참조하는 블록의 수를 계산한다.
단계 S3701에서 계산된 블록의 수가 「0」이면, 또한 단계 S3702에서 제2 참조 인덱스(Ridx1)를 이용하여 픽처를 참조하는 블록의 수를 계산한다. 단계 S3702에서 계산된 블록의 수가 「0」이면, S3703에서 부호화 대상 블록의 움직임 벡터를「0」으로 하여 부호화 대상 블록을 2방향에서 움직임 보상을 한다. 한편 단계 S3702에서 계산된 블록의 수가「1」이상이면, S3704에서 제2 참조 인덱스(Ridx1)가 존재하는 블록의 수에 의해서 부호화 대상 블록의 움직임 벡터를 결정한다. 예를 들면, 제2 참조 인덱스(Ridx1)가 존재하는 블록의 수에 의해서 결정된 움직임 벡터를 이용하여 부호화 대상 블록의 움직임 보상을 행한다.
단계 S3701에서 계산된 블록의 수가「1」이면, S3705에서 제1 참조 인덱스(Ridx0)가 존재하는 블록의 움직임 벡터를 사용한다.
단계 S3701에서 계산된 블록의 수가「2」이면, S3706에서 제1 참조 인덱스(Ridx0)가 존재하지 않는 블록에 대해서 가령 제1 참조 인덱스(Ridx0)에MV=0의 움직임 벡터가 있는 것으로 하여, 3개의 움직임 벡터의 중앙값에 대응하는 움직임 벡터를 사용한다.
단계 S3701에서 계산된 블록의 수가「3」이면, S3707에서 3개의 움직임 벡터의 중앙값에 대응하는 움직임 벡터를 사용한다. 또한, 단계 S3704에서의 움직임 보상은, 1개의 움직임 벡터를 이용하여 2방향의 움직임 보상을 해도 좋다. 여기에서의 2방향의 움직임 보상은, 1개의 움직임 벡터와 동일 방향의 움직임 벡터와 반대 방향의 움직임 벡터를, 이 1개의 움직임 벡터를 예를 들면 스케일링함으로써 구한 다음에 행해도 좋고, 혹은 1개의 움직임 벡터와 동일 방향의 움직임 벡터와 움직임 벡터가 「0」인 움직임 벡터를 이용하여 행해도 좋다. 다음에, 도 34(b)에 대해서 설명한다.
단계 S3711에서 제2 참조 인덱스(Ridx1)가 존재하는 블록의 수를 계산한다.
단계 S3711에서 계산된 블록의 수가 「0」이면, 또한 단계 S3712에서 제1 참조 인덱스(Ridx0)가 존재하는 블록의 수를 계산한다. 단계 S3712에서 계산된 블록의 수가「0」이면, S3713에서 부호화 대상 블록의 움직임 벡터를「0」으로 하여 부호화 대상 블록을 2방향에서 움직임 보상한다. 한편, 단계 S3712에서 계산된 블록의 수가「1」이상이면, S3714에서 제1 참조 인덱스(Ridx0)가 존재하는 블록의 수에 의해서 부호화 대상 블록의 움직임 벡터를 결정한다. 예를 들면, 제1 참조 인덱스(Ridx0)가 존재하는 블록의 수에 의해서 결정된 움직임 벡터를 이용하여 부호화 대상 블록의 움직임 보상을 행한다.
단계 S3711에서 계산된 블록의 수가「1」이면, S3715에서 제2 참조인덱스(Ridx1)가 존재하는 블록의 움직임 벡터를 사용한다.
단계 S3711에서 계산된 블록의 수가「2」이면, S3716에서 제2 참조 인덱스(Ridx1)가 존재하지 않는 블록에 대해서 가령 제2 참조 인덱스(Ridx1)에 MV=0의 움직임 벡터가 있는 것으로 하여, 3개의 움직임 벡터의 중앙값에 대응하는 움직임 벡터를 사용한다.
단계 S3711에서 계산된 블록의 수가「3」이면, S3717에서 3개의 움직임 벡터의 중앙값에 대응하는 움직임 벡터를 사용한다. 또한, 단계 S3714에서의 움직임 보상은, 1개의 움직임 벡터를 이용하여 2방향의 움직임 보상을 해도 좋다. 여기에서의 2방향의 움직임 보상은, 1개의 움직임 벡터와 동일 방향의 움직임 벡터와 반대 방향의 움직임 벡터를 이 1개의 움직임 벡터를, 예를 들면 스케일링함으로써 구한 다음에 행해도 좋고, 혹은 1개의 움직임 벡터와 동일 방향의 움직임 벡터와 움직임 벡터가「0」인 움직임 벡터를 이용하여 행해도 좋다.
또한, 도 34(a)와 도 34(b) 각각에 대해서 설명하였지만, 양쪽의 처리를 이용해도 좋고, 한쪽의 처리만을 이용해도 좋다. 단, 한쪽의 처리를 이용하는 경우, 예를 들면, 도 34(a)에 나타내는 단계 S3701로부터 시작되는 처리를 행하는 경우에, 또한 단계 S3704의 처리에 이르는 경우에는, 도 34(b)에 나타내는 S3711의 처리 이하를 행하면 좋다. 또, 이와 같이, S3704의 처리에 이르는 경우에는, 단계 S3711 이하의 처리 중 단계 S3712 이하의 처리를 행하지 않기 때문에, 움직임 벡터를 일의적으로 결정할 수 있다. 또, 도 34(a)와 도 34(b)의 양쪽의 처리를 이용하는 경우, 어느 쪽의 처리를 먼저 해도 좋고, 또 함께 행해도 좋다. 또, 부호화 대상 블록의 주위에 있는 블록이 직접 모드에 의해서 부호화되어 있는 블록일 때, 직접 모드에 의해서 부호화되어 있는 블록이 부호화되었을 때에 이용된 움직임 벡터가 참조하고 있었던 픽처의 참조 인덱스를, 직접 모드에 의해서 부호화되어 있는 블록에서 부호화 대상 블록의 주위에 있는 블록이 갖고 있는 것으로 해도 좋다.
이하, 구체적인 블록의 예를 이용하여 움직임 벡터의 결정 방법에 대해서 상세하게 설명한다. 도 35는 부호화 대상 블록(BL1)이 참조하는 블록 각각이 갖는 움직임 벡터의 종류를 나타내는 도면이다. 도 35(a)에서, 화소(A)를 갖는 블록은 화면내 부호화되는 블록이고, 화소(B)를 갖는 블록은 움직임 벡터를 1개 갖고, 이 1개의 움직임 벡터로 움직임 보상되는 블록이며, 화소(C)를 갖는 블록은 움직임 벡터를 2개 갖고 2방향에서 움직임 보상되는 블록이다. 또, 화소(B)를 갖는 블록은 제2 참조 인덱스(Ridx1)에 나타내는 움직임 벡터를 갖고 있다. 화소(A)를 갖는 블록은 화면내 부호화되는 블록이기 때문에, 움직임 벡터를 갖지 않고, 즉 참조 인덱스도 갖지 않는다.
단계 S3701에서 제1 참조 인덱스(Ridx0)가 존재하는 블록의 수를 계산한다. 도 35에 나타내는 바와 같이 제1 참조 인덱스(Ridx0)가 존재하는 블록의 수는 2개이기 때문에, 단계 S3706에서 제1 참조 인덱스(Ridx0)가 존재하지 않는 블록에 대해서 가령 제1 참조 인덱스(Ridx0)에 MV=0의 움직임 벡터가 있는 것으로 하여, 3개의 움직임 벡터의 중앙값에 대응하는 움직임 벡터를 사용한다. 이 움직임 벡터만을 이용하여 부호화 대상 블록을 2방향의 움직임 보상을 해도 좋고, 또는 이하에 나타내는 바와 같이 제2 참조 인덱스(Ridx1)를 이용하고 별도의 움직임 벡터를 이용하여, 2방향의 움직임 보상을 해도 좋다.
단계 S3711에서 제2 참조 인덱스(Ridx1)가 존재하는 블록의 수를 계산한다. 도 35에 나타내는 바와 같이 제2 참조 인덱스(Ridx1)가 존재하는 블록의 수는 1개이기 때문에, 단계 S3715에서 제2 참조 인덱스(Ridx1)가 존재하는 블록의 움직임 벡터를 사용한다.
또한, 상기에서 설명한 계산 방법을 조합한 별도의 예에 대해서 설명한다. 도 36은 화소(A, B, C) 각각을 갖는 블록이 갖는 움직임 벡터가 참조하는 픽처를 나타내는 참조 인덱스의 값에 의해서, 부호화 대상 블록의 움직임 벡터를 결정하는 순서를 나타내는 도면이다. 도 36(a), 도 36(b)는 제1 참조 인덱스(Ridx0)를 기준으로 움직임 벡터를 결정하는 순서를 나타내는 도면이고, 도 36(c), 도 36(d)은 제2 참조 인덱스(Ridx1)를 기준으로 움직임 벡터를 결정하는 순서를 나타내는 도면이다. 또, 도 36(a)가 제1 참조 인덱스(Ridx0)를 기준으로 한 순서를 나타내고 있는 부분을 나타내고, 도 36(c)는 제2 참조 인덱스(Ridx1)를 기준으로 한 순서를 나타내고 있고, 도 36(b)가 제1 참조 인덱스(Ridx0)를 기준으로 한 순서를 나타내고 있는 부분을 나타내고, 도 36(d)는 제2 참조 인덱스(Ridx1)를 기준으로 한 순서를 나타내고 있기 때문에, 이하의 설명에서는 도 36(a)과 도 36(b)만에 대해서 설명한다. 먼저 도 36(a)에 대해서 설명한다.
단계 S3801에서 유효한 제1 참조 인덱스(Ridx0) 중에서 최소의 제1 참조 인덱스(Ridx0)를 1개 선택할 수 있는지 판단한다.
단계 S3801에서 유효한 제1 참조 인덱스(Ridx0) 중에서 최소의 제1 참조 인덱스(Ridx0)를 1개 선택할 수 있는 경우, 단계 S3802에서 선택된 움직임 벡터를 사용한다.
단계 S3801에서 유효한 제1 참조 인덱스(Ridx0) 중에서 최소의 제1 참조 인덱스(Ridx0)가 다수 있는 경우, 단계 S3803에서 우선 순위에 의해서 선택된 블록이 갖는 움직임 벡터를 사용한다. 여기에서, 우선 순위란, 예를 들면 화소(A)를 갖는 블록, 화소(B)를 갖는 블록, 화소(C)를 갖는 블록의 순으로 부호화 대상 블록의 움직임 보상에 사용하는 움직임 벡터를 결정한다.
단계 S3801에서 유효한 제1 참조 인덱스(Ridx0)가 없는 경우, 단계 S3804에서 S3802나 S3803과는 다른 처리를 행한다. 예를 들면, 도 34(b)에서 설명한 단계 S3711 이하의 처리를 하면 좋다. 다음에, 도 36(b)에 대해서 설명한다. 도 36(b)가 도 36(a)와 상이한 점은, 도 36(a)에서의 단계 S3803과 단계 S3804에서의 처리를 도 36(b)에 나타내는 단계 S3813로 한 점이다.
단계 S3811에서 유효한 제1 참조 인덱스(Ridx0) 중에서 최소의 제1 참조 인덱스(Ridx0)를 1개 선택할 수 있는지 판단한다.
단계 S3811에서 유효한 제1 참조 인덱스(Ridx0) 중에서 최소의 제1 참조 인덱스(Ridx0)를 1개 선택할 수 있는 경우, 단계 S3812에서 선택된 움직임 벡터를 사용한다.
단계 S3811에서 유효한 제1 참조 인덱스(Ridx0)가 없는 경우, 단계 S3813에서 S3812와는 다른 처리를 행한다. 예를 들면, 도 34(b)에서 설명한 단계 S3711 이하의 처리를 하면 좋다.
또한, 상기에서 나타낸 유효한 제1 참조 인덱스(Ridx0)란 도 35(b)에서「○」가 기재되어 있는 제1 참조 인덱스(Ridx0)인 것이고, 움직임 벡터를 갖고 있는 것이 나타내어 있는 참조 인덱스인 것이다. 또, 도 35(b) 중, 「×」가 기재되어 있는 부분은, 참조 인덱스가 할당되어 있지 않은 것을 의미한다. 또, 도 36(c)에서의 단계 S3824, 도 36(d)에서의 단계 S3833에서는, 도 34(a)에서 설명한 단계 S3701 이하의 처리를 하면 좋다.
이하, 구체적인 블록의 예를 이용하여 움직임 벡터의 결정 방법에 대해서 도 35를 이용하여 상세하게 설명한다.
단계 S3801에서 유효한 제1 참조 인덱스(Ridx0) 중에서 최소의 제1 참조 인덱스(Ridx0)를 1개 선택할 수 있는지 판단한다.
도 35에 나타내는 경우, 유효한 제1 참조 인덱스(Ridx0)는 2개 있지만, 단계 S3801에서 유효한 제1 참조 인덱스(Ridx0) 중에서 최소의 제1 참조 인덱스(Ridx0)를 1개 선택할 수 있는 경우, 단계 S3802에서 선택된 움직임 벡터를 사용한다.
단계 S3801에서 유효한 제1 참조 인덱스(Ridx0) 중에서 최소의 제1 참조 인덱스(Ridx0)가 다수 있는 경우, 단계 S3803에서 우선 순위에 의해서 선택된 블록이 갖는 움직임 벡터를 사용한다. 여기에서, 우선 순위란, 예를 들면 화소(A)를 갖는 블록, 화소(B)를 갖는 블록, 화소(C)를 갖는 블록의 순으로 부호화 대상 블록의 움직임 보상에 사용하는 움직임 벡터를 결정한다. 화소(B)를 갖는 블록과 화소(C)를 갖는 블록에서 동일한 제1 참조 인덱스(Ridx0)를 갖는 경우, 우선 순위에 의해 화소(B)를 갖는 블록에서의 제1 참조 인덱스(Ridx0)가 채용되고, 이 화소(B)를 갖는블록에서의 제1 참조 인덱스(Ridx0)에 대응한 움직임 벡터를 이용하여 부호화 대상 블록(BL1)의 움직임 보상이 된다. 이 때, 결정된 움직임 벡터만을 이용하여 부호화 대상 블록(BL1)을 2방향에서 움직임 보상해도 좋고, 이하에 나타내는 바와 같이 제2 참조 인덱스(Ridx1)를 이용하고 별도의 움직임 벡터를 이용하여, 2방향의 움직임 보상을 해도 좋다.
단계 S3821에서 유효한 제2 참조 인덱스(Ridx1) 중에서 최소의 제2 참조 인덱스(Ridx1)를 1개 선택할 수 있는지 판단한다.
도 35에 나타내는 경우, 유효한 제2 참조 인덱스(Ridx1)는 1개이기 때문에, 단계 S3822에서 화소(C)를 갖는 블록에서의 제2 참조 인덱스(Ridx1)에 대응한 움직임 벡터를 사용한다.
또한, 상기에서 참조 인덱스를 갖지 않는 블록에 대해서, 움직임 벡터의 크기가「0」인 움직임 벡터를 갖고 있는 것으로 하여, 합계 3개의 움직임 벡터의 중앙값을 취하도록 한 점에 관해서는, 움직임 벡터의 크기가 「0」인 움직임 벡터를 갖고 있는 것으로 하여, 합계 3개의 움직임 벡터의 평균값을 취하도록 해도, 참조 인덱스를 갖는 블록이 갖는 움직임 벡터의 평균값을 취하도록 해도 좋다.
또한, 상기에서 설명한 우선 순위를, 예를 들면 화소(B)를 갖는 블록, 화소(A)를 갖는 블록, 화소(C)를 갖는 블록의 순으로 하여, 부호화 대상 블록의 움직임 보상에 사용하는 움직임 벡터를 결정하도록 해도 좋다.
이와 같이, 참조 인덱스를 이용하여 부호화 대상 블록을 움직임 보상을 할 때에 이용하는 움직임 벡터를 결정함으로써, 움직임 벡터를 일의적으로 결정할 수있다. 또, 상술한 예에 의하면, 부호화 효율의 향상도 도모하는 것이 가능하다. 또, 시각 정보를 이용하여 움직임 벡터가 전방 참조인지 후방 참조인지를 판단할 필요가 없기 때문에, 움직임 벡터를 결정하기 위한 처리를 간략화시킬 수 있다. 또, 블록마다의 예측 모드, 움직임 보상에서 이용되는 움직임 벡터 등을 고려하면 많은 패턴이 존재하지만, 상술한 바와 같이 일련의 흐름에 의해서 처리할 수 있어서 유익하다.
또한, 본 실시 형태에서는, 참조하는 움직임 벡터에 대해서 픽처간의 시간적 거리를 이용하여 스케일링함으로써, 직접 모드에서 이용하는 움직임 벡터를 계산하는 경우에 대해서 설명하였지만, 이것은 참조하는 움직임 벡터를 정수배하여 계산해도 좋다. 여기에서, 정수배에 사용되는 정수는, 다수 블록 단위 또는 다수 픽처 단위로 부호화 또는 복호화하는 경우에, 변경 가능하게 해도 좋다.
또한, 참조 인덱스(Ridx0, Ridx1)를 이용한 움직임 벡터의 계산 방법은, 중앙값을 이용한 계산 방법뿐만 아니라, 다른 계산 방법과 조합해도 좋다. 예를 들면, 전술한 제3 계산 방법에서, 각각 화소(A), 화소(B), 화소(C)를 포함하는 블록 중, 참조 인덱스가 최소가 되는 동일 픽처를 참조하는 움직임 벡터가 다수 있는 경우에, 반드시 그들의 움직임 벡터의 중앙값을 계산할 필요는 없고, 그들의 평균값을 계산하여, 얻어진 움직임 벡터를 블록(BL1)의 직접 모드에서 이용하는 움직임 벡터로 해도 좋다. 혹은, 참조 인덱스가 최소가 되는 다수의 움직임 벡터 중에서, 예를 들면, 부호화 효율이 가장 높아지는 움직임 벡터를 1개 선택하는 것으로 해도 좋다.
또, 블록(BL1)의 전방향 움직임 벡터와 후방향 움직임 벡터를 각각 독립하여 계산해도 좋고, 관련시켜서 계산해도 좋다. 예를 들면, 전방향 움직임 벡터와 후방향 움직임 벡터를 동일 움직임 벡터로부터 계산해도 좋다.
또, 계산의 결과 얻어진 전방향 움직임 벡터와 후방향 움직임 벡터의 어느 한쪽을 블록(BL1)의 움직임 벡터로 해도 좋다.
(실시 형태 8)
본 실시 형태에서는, 참조 픽처의 참조 블록(MB)이 장시간 메모리에 보존되어 있는 참조 픽처를 제1 참조 픽처로서 참조하는 전방향(제1) 움직임 벡터와, 단시간 메모리에 보존되어 있는 참조 픽처를 제2 참조 픽처로서 참조하는 후방향(제2) 움직임 벡터를 갖고 있다.
도 37은 장시간 메모리에 참조 픽처가 1개만 보존되어 있는 경우의 직접 모드에서의 2방향 예측을 나타내는 도면이다.
실시 형태 8이 지금까지의 다수의 실시 형태와 상이한 점은, 참조 픽처의 블록(MB2)의 전방향(제1) 움직임 벡터(MV21)가 장시간 메모리에 보존되어 있는 참조 픽처를 참조하고 있는 점이다.
단시간 메모리는, 일시적으로 참조 픽처를 저장하기 위한 메모리이고, 예를 들면 픽처가 메모리에 보존된 순서(즉 부호화 또는 복호화의 순서)로 픽처가 보존되어 있다. 그리고, 픽처를 단시간 메모리에 새롭게 보존할 때에 메모리 용량이 부족한 경우에는, 가장 오래 메모리에 보존된 픽처로부터 순서대로 삭제한다.
장시간 메모리에서는, 반드시 단시간 메모리와 같이 시각의 순서로 픽처가보존되어 있다고는 한정하지 않는다. 예를 들면, 화상을 보존하는 순서로서는 화상의 시각의 순서를 대응시켜도 좋고, 화상이 보존되어 있는 메모리의 어드레스의 순서를 대응시켜도 좋다. 따라서, 장시간 메모리에 보존되어 있는 픽처를 참조하는 움직임 벡터(M21)를 시간 간격에 기초하여 스케일링할 수는 없다.
장시간 메모리는 단기간 메모리와 같이 일시적으로 참조 픽처를 보존하기 위한 것이 아니라, 계속적으로 참조 픽처를 보존하기 위한 것이다. 따라서, 장시간 메모리에 보존되어 있는 움직임 벡터에 대응하는 시간 간격은, 단시간 메모리에 보존되어 있는 움직임 벡터에 대응하는 시간 간격보다 상당히 크다.
도 37에서, 장시간 메모리와 단시간 메모리의 경계는 도시한 바와 같이, 세로의 점선으로 나타내어 있고, 이것보다 좌측의 픽처에 관한 정보는 장시간 메모리에 보존되고, 이것보다 우측의 픽처에 대한 정보는 단시간 메모리에 보존된다. 여기에서 픽처(P23)의 블록(MB1)이 대상 블록이다. 또, 블록(MB2)은 블록(MB1)과 참조 픽처(P24) 내에서 동일 위치에 있는 참조 블록이다. 참조 픽처(P24)의 블록(MB2)의 움직임 벡터 중 전방향(제1) 움직임 벡터(MV21)는 장시간 메모리에 보존되어 있는 픽처(P21)를 제1 참조 픽처로서 참조하는 제1 움직임 벡터이고, 후방향(제2) 움직임 벡터(MV25)는 단시간 메모리에 보존되어 있는 픽처(P25)를 제2 참조 픽처로서 참조하는 제2 움직임 벡터이다.
전술한 바와 같이, 픽처(P21)와 픽처(P24)의 시간 간격(TR21)은, 장시간 메모리에 보존되어 있는 픽처를 참조하는 움직임 벡터(MV21)에 대응하고, 픽처(P24)와 픽처(P25)의 시간 간격(TR25)은 단시간 메모리에 보존되어 있는 픽처를 참조하는 움직임 벡터(MV25)에 대응하며, 픽처(P21)와 픽처(P24) 시간 간격(TR21)은 픽처(P24)와 픽처(P25)의 시간 간격(TR25)보다 상당히 크거나, 일정하지 않게 되는 경우가 있다.
따라서, 지금까지의 실시 형태와 같이 참조 픽처(P24)의 블록(MB2)의 움직임 벡터를 스케일링하여 대상 픽처(P23)의 블록(MB1)의 움직임 벡터를 구하는 것이 아니라, 이하와 같은 방법으로 대상 픽처(P23)의 블록(MB1)의 움직임 벡터를 계산한다.
MV21 = MV21'
MV24' = 0
상기 식은, 참조 픽처(P24)의 블록(MB2)의 움직임 벡터 중 장시간 메모리에 보존되어 있는 제1 움직임 벡터(MN21)를 그대로 대상 픽처의 제1 움직임 벡터(MV21')로 하는 것을 표시하고 있다.
하기 식은, 단시간 메모리에 보존되어 있는 픽처(P24)로의, 대상 픽처(P23)의 블록(MB1)의 제2 움직임 벡터(MV24')는 제1 움직임 벡터(MV21')보다도 충분히 작기 때문에, 무시할 수 있다는 것을 표시하고 있다. 제2 움직임 벡터(MV24')는 “0”으로서 취급된다.
이상과 같이 하여, 장시간 메모리에 보존되어 있는 참조 픽처를 제1 참조 픽처로서 참조하는 1개의 움직임 벡터와 단시간 메모리에 보존되어 있는 참조 픽처를 제2 참조 픽처로서 참조하는 1개의 움직임 벡터를 참조 블록(MB)이 갖는 경우, 참조 픽처의 블록의 움직임 벡터 중, 장시간 메모리에 보존된 움직임 벡터를 그대로사용하여 대상 픽처의 블록의 움직임 벡터로서 2방향 예측을 한다.
또한, 장시간 메모리에 보존된 참조 픽처는, 제1 참조 픽처 또는 제2 픽처 중 어느 쪽의 픽처이어도 좋고, 장시간 메모리에 보존된 참조 픽처를 참조하는 움직임 벡터(MV21)는 후방향 움직임 벡터이어도 좋다. 또, 제2 참조 픽처가 장시간 메모리에 보존되고, 제1 참조 픽처가 단시간 메모리에 보존되어 있는 경우에는, 제1 참조 픽처를 참조하는 움직임 벡터에 스케일링을 적용하여, 대상 픽처의 움직임 벡터를 계산한다.
이것에 의해, 장시간 메모리의 상당히 큰, 또는 일정하지 않게 되는 시간을 이용하지 않고 2방향 예측의 처리를 행할 수 있다.
또한, 참조하는 움직임 벡터를 그대로 사용하는 것이 아니라, 그 움직임 벡터를 정수배하여 2방향 예측을 해도 좋다.
또, 정수배에 사용되는 정수는, 다수 블록 단위 또는 다수 픽처 단위로 부호화 또는 복호화하는 경우에, 변경 가능하게 해도 좋다.
(실시 형태 9)
본 실시 형태에서는, 참조 픽처의 참조 블록(MB)이 장시간 메모리에 보존되어 있는 참조 픽처를 참조하는 2개의 전방향 움직임 벡터를 갖고 있는 경우의 직접 모드에서의 2방향 예측을 나타낸다.
도 38은, 참조 블록(MB)이 장시간 메모리에 보존된 참조 픽처를 참조하는 2개의 움직임 벡터를 갖는 경우의 직접 모드에서의 2방향 예측을 나타내는 도면이다.
실시 형태 9가 실시 형태 8과 상이한 점은, 참조 픽처의 블록(MB2)의 움직임 벡터(MV21)와 움직임 벡터(MV22) 양쪽이 장시간 메모리에 보존되어 있는 픽처를 참조하는 점이다.
도 38에서, 장시간 메모리와 단시간 메모리의 경계는 도시한 바와 같이, 세로의 점선으로 나타내어 있고, 이것보다 좌측의 픽처에 관한 정보는 장시간 메모리에 보존되고, 이것보다 우측의 픽처에 대한 정보는 단시간 메모리에 보존된다. 참조 픽처(P24)의 블록(MB2)의 움직임 벡터(MV21) 및 움직임 벡터(MV22)는, 2개 모두 장시간 메모리에 보존된 픽처를 참조하고 있다. 참조 픽처(P21)에는 움직임 벡터(MB21)가 대응하고, 참조 픽처(P22)에는 움직임 벡터(MV22)가 대응하고 있다.
장시간 메모리에 보존되어 있는 픽처(P22)를 참조하는 움직임 벡터(MV22)에 대응하여 픽처(P22와 P24)의 시간 간격(TR22)은, 단시간 메모리에 보존되어 있는 픽처(P24)와 픽처(P25)의 시간 간격(TR25)보다 상당히 큰, 또는 일정하지 않게 되는 경우가 있다.
도 38에서, 움직임 벡터(MV22)에 대응하는 픽처(P22), 움직임 벡터(MV21)에 대응하는 픽처(P21)의 순으로 순서가 할당되고, 픽처(P21), 픽처(P22)가 장시간 메모리에 보존되어 있다. 도 38에서는 이하와 같이 대상 픽처의 블록(MB1)의 움직임 벡터를 계산한다.
MV22' = MV22
MV24' = 0
상기 식은, 참조 픽처(P24)의 블록(MB2)의 움직임 벡터 중, 가장 할당된 순서가 작은 픽처(P21)를 참조하는 움직임 벡터(MN22)를 그대로 대상 픽처(P23)의 블록(MB1)의 움직임 벡터(MV22')로 한다는 것을 표시하고 있다.
하기 식은, 단시간 메모리에 보존되어 있는 대상 픽처(P23)의 블록(MB1)의 후방향 움직임 벡터(MV24')는 움직임 벡터(MV21')보다도 충분히 작기 때문에, 무시할 수 있다는 것을 나타내고 있다. 후방향 움직임 벡터(MV24')는 “0”으로서 취급된다.
이상과 같이 하여, 장시간 메모리에 보존된 참조 픽처의 블록의 움직임 벡터 중 가장 할당된 순서가 작은 픽처를 참조하는 움직임 벡터를 그대로 사용하여 대상 픽처의 블록의 움직임 벡터로 함으로써, 장시간 메모리가 상당히 큰, 또는 일정하지 않게 되는 시간을 이용하지 않고 2방향 예측의 처리를 행할 수 있다.
또한, 참조하는 움직임 벡터를 그대로 사용하는 것이 아니라, 그 움직임 벡터를 정수배하여 2방향 예측을 해도 좋다.
또, 정수배에 사용되는 정수는, 다수 블록 단위 또는 다수 픽처 단위로 부호화 또는 복호화하는 경우에, 변경 가능하게 해도 좋다.
또한, 참조 픽처의 블록(MB2)의 움직임 벡터(MV21)와 움직임 벡터(MV22)의 양쪽이 장시간 메모리에 보존되어 있는 픽처를 참조하는 경우, 제1 참조 픽처를 참조하는 움직임 벡터를 선택한다고 해도 좋다. 예를 들면, MV21가 제1 참조 픽처를 참조하는 움직임 벡터이고, MV22가 제2 참조 픽처를 참조하는 움직임 벡터인 경우, 블록(MB1)의 움직임 벡터는 픽처(P21)에 대한 움직임 벡터(MV21)와 픽처(P24)에 대한 움직임 벡터 “0”을 이용하게 된다.
(실시 형태 10)
본 실시 형태에서는, 실시 형태 5 내지 실시 형태 9에 기재된 직접 모드에서의 움직임 벡터 계산 방법에 대해서 설명을 행한다. 이 움직임 벡터 계산 방법은, 화상의 부호화 또는 복호화시의 어느 쪽이든 적용된다. 여기에서는, 부호화 또는 복호화의 대상의 블록을 대상 블록(MB)이라고 한다. 또, 대상 블록(MB)의 참조 픽처 중에서 대상 블록과 동일 위치에 있는 블록을 참조 블록이라고 한다.
도 39는, 본 실시 형태에 따른 움직임 벡터 계산 방법의 처리의 흐름을 나타내는 도면이다.
먼저, 대상 블록(MB)의 후방의 참조 픽처 중의 참조 블록(MB)이 움직임 벡터를 갖는지의 여부가 판정된다(단계 S1). 참조 블록(MB)이 움직임 벡터를 갖고 있지 않으면(단계 S1 ; No), 움직임 벡터가 “0”으로서 2방향 예측되어(단계 S2) 움직임 벡터를 계산하는 처리가 종료한다.
참조 블록(MB)이 움직임 벡터를 갖고 있으면(단계 S1 ; 예), 참조 블록(MB)이 전방향 움직임 벡터를 갖는지의 여부가 판정된다(단계 S3).
참조 블록(MB)이 전방향 움직임 벡터를 갖지 않은 경우(단계 S3 ; 아니오), 참조 블록(MB)은 후방향 움직임 벡터밖에 갖고 있지 않기 때문에, 그 후방향 움직임 벡터의 수가 판정된다(단계 S14). 참조 블록(MB)의 후방향 움직임 벡터의 수가 “2”인 경우, 도 19, 도 20, 도 21 및 도 22에서 기재된 어느 하나의 계산 방법에 따라서 스케일링된 2개의 후방향 움직임 벡터를 이용하여 2방향 예측이 행해진다(단계 S15).
한편, 참조 블록(MB)의 후방향 움직임 벡터의 수가 “1”인 경우, 참조 블록(MB)이 갖는 유일한 후방향 움직임 벡터를 스케일링하여, 스케일링된 후방향 움직임 벡터를 이용하여 움직임 보상이 행해진다(단계 S16). 단계 S15 또는 단계 S16의 2방향 예측이 종료하면, 움직임 벡터의 계산 방법의 처리가 종료한다.
또, 참조 블록(MB)이 전방향 움직임 벡터를 갖는 경우(단계 S3 ; 예), 참조 블록(MB)의 전방향 움직임 벡터의 수가 판정된다(단계 S4).
참조 블록(MB)의 전방향 움직임 벡터의 수가 “1”인 경우, 참조 블록(MB)의 전방향 움직임 벡터에 대응하는 참조 픽처가 장시간 메모리 또는 단시간 메모리의 어느 하나에 보존되어 있는지가 판정된다(단계 S5).
참조 블록(MB)의 전방향 움직임 벡터에 대응하는 참조 픽처가 단시간 메모리에 보존되어 있는 경우, 참조 블록(MB)의 전방향 움직임 벡터를 스케일링하여, 스케일링된 전방향 움직임 벡터를 이용하여 2방향 예측이 행해진다(단계 S6).
참조 블록(MB)의 전방향 움직임 벡터에 대응하는 참조 픽처가 장시간 메모리에 보존되어 있는 경우, 도 37에 나타낸 움직임 벡터 계산 방법에 따라서, 참조 블록(MB)의 전방향 움직임 벡터가 스케일링되지 않고 그대도 이용되며, 후방향 움직임 벡터 0으로서 2방향 예측이 행해진다(단계 S7). 단계 S6 또는 단계 S7의 2방향 예측이 종료하면, 움직임 벡터의 계산 방법의 처리가 종료한다.
참조 블록(MB)의 전방향 움직임 벡터의 수가 “2”인 경우, 참조 블록(MB)의 전방향 움직임 벡터 내, 장시간 메모리에 보존되어 있는 참조 픽처에 대응하는 전방향 움직임 벡터의 수가 판정된다(단계 S8).
장시간 메모리에 보존되어 있는 참조 픽처에 대응하는 전방향 움직임 벡터의 수가 단계 S8에서 “0”인 경우, 도 16에 나타낸 움직임 벡터 계산 방법에 따라서, 대상 블록(MB)이 속하는 대상 픽처에 표시 시간 순으로 가까운 움직임 벡터를 스케일링하여, 스케일링된 움직임 벡터를 이용하여 2방향 예측이 행해진다(단계 S9).
장시간 메모리에 보존되어 있는 참조 픽처에 대응하는 전방향 움직임 벡터의 수가 단계 S8에서 “1”인 경우, 단시간 메모리에 보존된 픽처를 움직임 벡터를 스케일링하여, 스케일링된 움직임 벡터를 이용하여 2방향 예측이 행해진다(단계 S10).
장시간 메모리에 보존되어 있는 참조 픽처에 대응하는 전방향 움직임 벡터의 수가 단계 S8에서 “2”인 경우, 2개의 전방향 움직임 벡터 양쪽에 의해서, 장시간 메모리 내의 동일 픽처가 참조되어 있는지가 판정된다(단계 S11). 2개의 전방향 움직임 벡터 양쪽에 의해서 장시간 메모리 내의 동일 픽처가 참조되어 있는 경우(단계 S11 ; 예), 도 15에 기재한 움직임 벡터 계산 방법에 따라서, 장시간 메모리 내의 2개의 전방향 움직임 벡터에 참조되어 있는 픽처 내에서 먼저 부호화 또는 복호화된 움직임 벡터를 이용하여 2방향 예측이 행해진다(단계 S12).
2개의 전방향 움직임 벡터 양쪽에 의해서 장시간 메모리 내의 동일 픽처가 참조되어 있지 않은 경우(단계 S11 ; 아니오), 도 38에 기재된 움직임 벡터 계산 방법에 따라서, 장시간 메모리에 보존된 픽처에 할당된 순서가 작은 픽처에 대응하는 전방향 움직임 벡터를 이용하여 2방향 예측이 행해진다(단계 S13). 장시간 메모리에서는 실제의 화상의 시각과는 관계없이 참조 픽처가 보존되어 있기 때문에,각 참조 픽처에 할당된 순서에 따라서 2방향 예측에 이용되어야 하는 전방향 움직임 벡터가 선택되게 되어 있다. 또, 장시간 메모리에 보존되는 참조 픽처의 순서는 화상의 시각과 일치하는 경우도 있지만, 간단히 메모리의 어드레스의 순서와 일치시켜도 좋다. 결국, 장시간 메모리에 보존되는 화상의 순서는 반드시 화상의 시각과 일치하지 않아도 좋다. 단계 S12, 13의 2방향 예측이 종료하면, 움직임 벡터의 계산 방법의 처리가 종료한다.
(실시 형태 11)
이하, 본 발명의 실시 형태 11에 대해서 도면을 이용하여 상세히 설명한다.
도 40은, 본 발명의 실시 형태 11에 따른 동화상 부호화 장치(100)의 구성을 나타내는 블록도이다. 동화상 부호화 장치(100)는, 필드 구조로 부호화된 블록과 프레임 구조로 부호화된 블록이 혼재하는 경우에도 직접 모드의 공간적 예측 방법을 적용하여 동화상의 부호화를 행할 수 있는 동화상 부호화 장치로서, 프레임 메모리(101), 차분 연산부(102), 예측 오차 부호화부(103), 부호열 생성부(104), 예측 오차 복호화부(105), 가산 연산부(106), 프레임 메모리(107), 움직임 벡터 검출부(108), 모드 선택부(109), 부호화 제어부(110), 스위치(111), 스위치(112), 스위치(113), 스위치(114), 스위치(115) 및 움직임 벡터 기억부(116)를 구비한다.
프레임 메모리(101)는, 입력 화상을 픽처 단위로 유지하는 화상 메모리이다. 차분 연산부(102)는, 프레임 메모리(101)로부터의 입력 화상과, 움직임 벡터에 기초하여 복호화 화상으로부터 구해진 참조 화상과의 차분인 예측 오차를 구하여 출력한다. 예측 오차 부호화부(103)는, 차분 연산부(102)에서 구해진 예측 오차에주파수 변환을 실시하여, 양자화하여 출력한다. 부호열 생성부(104)는 , 예측 오차 부호화부(103)로부터의 부호화 결과를 가변 길이 부호화한 후, 출력용의 부호화 비트 스트림의 포맷으로 변환하여, 부호화된 예측 오차의 관련 정보를 기술한 헤더 정보 등의 부가 정보를 부여하여 부호열을 생성한다. 예측 오차 복호화부(105)는, 예측 오차 부호화부(103)로부터의 부호화 결과를 가변길이 복호화하여, 역양자화한 후, IDCT 변환 등의 역주파수 변환을 실시하여, 예측 오차로 복호화한다. 가산 연산부(106)는, 복호화 결과인 예측 오차에 상기 참조 화상을 가산하여, 부호화 및 복호화를 거친 화상 데이터로 입력 화상과 동일 1픽처의 화상을 표시한 참조 화상을 출력한다. 프레임 메모리(107)는, 참조 화상을 픽처 단위로 유지하는 화상 메모리이다.
움직임 벡터 검출부(108)는, 부호화 대상 프레임의 부호화 단위마다, 움직임 벡터를 검출한다. 모드 선택부(109)는, 움직임 벡터를 직접 모드로 계산할지 다른 모드로 계산할지를 선택한다. 부호화 제어부(110)는, 프레임 메모리(101)에 입력된 시간 순으로 격납되어 있는 입력 화상의 픽처를, 부호화되는 순서로 교체한다. 또한, 부호화 제어부(110)는, 부호화 대상 프레임의 소정의 크기의 단위마다, 필드 구조로 부호화를 행할지, 프레임 구조로 부호화를 행할지를 판정한다. 여기에서는, 소정의 크기의 단위는 매크로 블록(예를 들면 수평 16화소, 수직 16화소)을 세로 방향으로 2개 연결한 것(이하에서는 매크로 블록 페어라고 부른다)으로 한다. 필드 구조로 부호화하는 것이면 프레임 메모리(101)로부터 인터레이스에 대응하여 1수평 주사선 걸러 화소값을 독출하고, 프레임 단위로 부호화하는 것이면 프레임메모리(101)로부터 순차적으로, 입력 화상의 각 화소값을 독출하여, 독출된 각 화소값이 필드 구조 또는 프레임 구조에 대응한 부호화 대상 매크로 블록 페어를 구성하도록 메모리 상에 배치한다. 움직임 벡터 기억부(116)는, 부호화 완료 매크로 블록의 움직임 벡터와, 그 움직임 벡터가 참조하는 프레임의 참조 인덱스를 유지한다. 참조 인덱스에 대해서는, 부호화 완료 매크로 블록 페어 중의 각 매크로 블록의 각각에 대해서 유지한다.
다음에, 이상과 같이 구성된 동화상 부호화 장치(100)의 동작에 대해서 설명한다. 입력 화상은 시간 순으로 픽처 단위로 프레임 메모리(101)에 입력된다. 도 41(a)는, 동화상 부호화 장치(100)에 시간 순으로 픽처 단위로 입력되는 프레임의 순서를 나타내는 도면이다. 도 41(b)는, 도 41(a)에 나타낸 픽처의 배열을 부호화의 순서로 재배열한 경우의 순서를 나타내는 도면이다. 도 41(a)에서, 세로선은 픽처를 나타내고, 각 픽처의 우측 아래에 나타내는 기호는, 1문자째의 알파벳이 픽처 타입(I, P 또는 B)을 나타내고, 2문자째 이후의 숫자가 시간순의 픽처 번호를 나타내고 있다. 또, 도 42는, 실시 형태 11을 설명하기 위한, 참조 프레임 리스트(300)의 구조를 나타내는 도면이다. 프레임 메모리(101)에 입력된 각 픽처는, 부호화 제어부(110)에 의해서 부호화 순서로 재배열된다. 부호화 순서로의 재배열은, 픽처간 예측 부호화에서의 참조 관계에 기초하여 행해지고, 참조 픽처로서 이용되는 픽처가, 참조 픽처로서 이용하는 픽처보다도 먼저 부호화되도록 재배열된다.
예를 들면, P픽처는, 표시 시간 순으로 전방에 있는 근방의 I 또는 P 픽처 3장 중 1장을 참조 픽처로서 이용하는 것으로 한다. 또, B 픽처는, 표시 시간 순으로 전방에 있는 근방의 I 또는 P 픽처 3장 중 1장과, 표시 시간 순으로 후방에 있는 근방의 I 또는 P 픽처의 1장을 참조 픽처로서 이용하는 것으로 한다. 구체적으로는, 도 41(a)에서는 픽처(B5) 및 픽처(B6)의 후방에 입력되어 있었던 픽처(P7)는, 픽처(B5) 및 픽처(B6)에 의해서 참조되기 때문에, 픽처(B5) 및 픽처(B6)의 앞에 재배열된다. 마찬가지로, 픽처(B8) 및 픽처(B9)의 후방에 입력되어 있었던 픽처(P10)는 픽처(B8) 및 픽처(B9)의 전방에, 픽처(B11) 및 픽처(B12)의 후방에 입력되어 있었던 픽처(P13)는 픽처(B11) 및 픽처(B12)의 전방에 재배열된다. 이것에 의해, 도 41(a)의 픽처를 재배열한 결과는, 도 41(b)와 같이 된다.
프레임 메모리(101)에서 재배열이 행해진 각 픽처는, 매크로 블록을 수직 방향으로 2개 연결한 매크로 블록 페어의 단위로 독출되는 것으로 하고, 각 매크로 블록은 수평 16화소×수직 16화소의 크기인 것으로 한다. 따라서, 매크로 블록 페어는, 수평 16화소×수직 32화소의 크기가 된다. 이하, 픽처(B11)의 부호화 처리에 대해서 설명한다. 또한, 본 실시 형태에서의 참조 인덱스의 관리, 즉 참조 프레임 리스트의 관리는 부호화 제어부(110)에서 행하는 것으로 한다.
픽처(B11)는 B 픽처이기 때문에, 2방향 참조를 이용한 픽처간 예측 부호화를 행한다. 픽처(B11)는 표시 시간 순으로 전방에 있는 픽처(P10, P7, P4)와 표시 시간 순으로 후방에 있는 픽처(P13) 중의 2개의 픽처를 참조 픽처로서 이용하는 것으로 한다. 이들의 4개의 픽처 중, 어느 쪽의 2개의 픽처를 선택할지는, 매크로 블록 단위로 지정할 수 있는 것으로 한다. 또, 여기에서는, 참조 인덱스는 초기 상태의 방법으로 할당하는 것으로 것으로 한다. 즉 픽처(B11)의 부호화시에서의 참조 프레임 리스트(300)는 도 42에 도시하는 바와 같이 된다. 이 경우의 참조 화상은, 제1 참조 픽처는 도 42의 제1 참조 인덱스에 의해 지정하고, 제2 참조 픽처는 도 42의 제2 참조 인덱스에 의해 지정하게 된다.
픽처(B11)의 처리에서는, 부호화 제어부(110)는 스위치(113)가 온, 스위치(114)와 스위치(115)가 오프가 되도록 각 스위치를 제어하는 것으로 한다. 따라서, 프레임 메모리(101)로부터 독출된 픽처(B11)의 매크로 블록 페어는, 움직임 벡터 검출부(108), 모드 선택부(109) 및 차분 연산부(102)에 입력된다. 움직임 벡터 검출부(108)에서는, 프레임 메모리(107)에 축적된 픽처(P10), 픽처(P7), 픽처(P4) 및 픽처(P13)의 복호화 화상 데이터를 참조 픽처로서 이용함으로써, 매크로 블록 페어에 포함되는 각 매크로 블록의 제1 움직임 벡터와 제2 움직임 벡터의 검출을 행한다. 모드 선택부(109)에서는, 움직임 벡터 검출부(108)에서 검출된 움직임 벡터를 이용하여 매크로 블록 페어의 부호화 모드를 결정한다. 여기에서, B픽처의 부호화 모드는, 예를 들면, 픽처내 부호화, 일방향 움직임 벡터를 이용한 픽처간 예측 부호화, 2방향 움직임 벡터를 이용한 픽처간 예측 부호화 및 직접 모드로부터 선택할 수 있는 것으로 한다. 또, 직접 모드 이외의 부호화 모드를 선택하는 경우에는, 매크로 블록 페어를 프레임 구조로 부호화할지, 필드 구조로 부호화할지도 함께 결정한다.
여기에서는, 직접 모드의 공간적 예측 방법을 이용하여 움직임 벡터를 계산하는 방법에 대해서 설명한다. 도 43(a)는, 필드 구조로 부호화되는 매크로 블록페어와 프레임 구조로 부호화되는 매크로 블록 페어가 혼재하는 경우의 직접 모드 공간적 예측 방법을 이용한 움직임 벡터 계산 순서의 일례를 나타내는 플로우 챠트이다. 도 43(b)는, 부호화 대상 매크로 블록 페어가 프레임 구조로 부호화되는 경우에서 본 발명이 적용되는 주변 매크로 블록 페어의 배치의 일례를 나타내는 도면이다. 도 43(c)는, 부호화 대상 매크로 블록 페어가 필드 구조로 부호화되는 경우에서 본 발명이 적용되는 주변 매크로 블록 페어의 배치의 일례를 나타내는 도면이다. 도 43(b) 및 도 43(c)에 사선으로 나타내는 매크로 블록 페어는, 부호화 대상 매크로 블록 페어이다.
부호화 대상 매크로 블록 페어가 직접 모드의 공간적 예측을 이용하여 부호화되는 경우, 상기 부호화 대상 매크로 블록 페어의 주변의 3개의 부호화 완료 매크로 블록 페어가 선택된다. 이 경우, 부호화 대상 매크로 블록 페어는, 필드 구조 또는 프레임 구조의 어느 하나로 부호화되어도 좋다. 따라서, 부호화 제어부(110)는, 먼저, 부호화 대상 매크로 블록 페어를 필드 구조로 부호화할지, 프레임 구조로 부호화할지를 결정한다. 예를 들면, 주변 매크로 블록 페어 중 필드 구조로 부호화된 것이 많은 경우, 부호화 대상 매크로 블록 페어를 필드 구조로 부호화하고, 프레임 구조로 부호화된 것이 많은 경우, 프레임 구조로 부호화한다. 이와 같이, 부호화 대상 매크로 블록 페어를 프레임 구조로 부호화할지, 필드 구조로 부호화할지를, 주변 블록의 정보를 이용하여 결정함으로써, 부호화 대상 매크로 블록 페어를 어느 쪽의 구조로 부호화하였는지를 나타내는 정보를 부호열 중에 기술할 필요가 없어지고, 또한 주위의 매크로 블록 페어로부터 구조를 예측하고 있기때문에, 알맞은 구조를 선택할 수 있다.
다음에, 움직임 벡터 검출부(108)는, 부호화 제어부(110)의 결정에 따라서, 부호화 대상 매크로 블록 페어의 움직임 벡터를 계산한다. 먼저, 움직임 벡터 검출부(108)는, 부호화 제어부(110)가 필드 구조로 부호화하면 결정하였는지, 프레임 구조로 부호화하면 결정하였는지를 조사하여(S301), 프레임 구조로 부호화한다고 결정되어 있는 경우에는, 부호화 대상 매크로 블록 페어의 움직임 벡터를 프레임 구조로 검출하고(S302), 필드 구조로 부호화한다고 결정되어 있는 경우에는, 부호화 대상 매크로 블록 페어의 움직임 벡터를 필드 구조로 검출한다(S303).
도 44는, 프레임 구조로 부호화하는 경우의 매크로 블록 페어의 데이터 구성과 필드 구조로 부호화하는 경우의 매크로 블록 페어의 데이터 구성을 나타내는 도면이다. 동일 도면에서, 흰색 동그라미는 홀수 수평 주사선 상의 화소를 나타내고, 사선으로 해칭한 검은색 동그라미는 짝수 수평 주사선 상의 화소를 나타내고 있다. 입력 화상을 표시하는 각 프레임으로부터 매크로 블록 페어를 절취한 경우, 도 44 중앙에 나타내는 바와 같이, 홀수 수평 주사선 상의 화소와 짝수 수평 주사선 상의 화소는 수직 방향으로 교대로 배치되어 있다. 이와 같은 매크로 블록 페어를 프레임 구조로 부호화하는 경우, 상기 매크로 블록 페어는 2개의 매크로 블록(MB1) 및 매크로 블록(MB2)마다 처리되고, 매크로 블록 페어를 구성하는 2개의 매크로 블록(MB1)과 매크로 블록(MB2)의 각각에 대해서 움직임 벡터가 구해진다. 또, 필드 구조로 부호화하는 경우, 상기 매크로 블록 페어는, 수평 주사선 방향으로 인터레이스한 경우의 탑 필드를 표시하는 매크로 블록(TF)과 저부 필드를 표시하는 매크로 블록(BF)으로 나누어지고, 그 움직임 벡터는, 매크로 블록 페어를 구성하는 2개의 필드에 각각 1개 구해진다.
이와 같은 매크로 블록 페어를 전제로 하여, 도 43(b)에 나타내는 바와 같이, 부호화 대상 매크로 블록 페어를 프레임 구조로 부호화하는 경우에 대해서 설명한다. 도 45는, 도 43에 나타낸 단계 S302에서의, 보다 상세한 처리 순서를 도시하는 플로우 챠트이다. 또한, 동일 도면에서, 매크로 블록 페어를 MBP, 매크로 블록을 MB로 표기한다.
모드 선택부(109)는, 먼저, 부호화 대상 매크로 블록 페어를 구성하는 1개의 매크로 블록(MB1)(상부의 매크로 블록)에 대해서 1개의 움직임 벡터를 직접 모드의 공간적 예측을 이용하여 계산한다. 먼저, 모드 선택부(109)는, 주변 매크로 블록 페어가 참조하는 픽처의 인덱스 중의 최소값을 제1 움직임 벡터와 제2 움직임 벡터의 인덱스의 각각에 대해서 구한다(S501). 단 이 경우, 주변 매크로 블록 페어가 프레임 구조로 부호화되어 있는 경우에는, 부호화 대상 매크로 블록에 인접하는 매크로 블록만을 이용하여 결정한다. 다음에, 주변 매크로 블록 페어가 필드 구조로 부호화되어 있는지의 여부를 조사하여(S502), 필드 구조로 부호화되어 있는 경우에는 또한, 상기 주변 매크로 블록 페어를 구성하는 2개의 매크로 블록에 의해서 참조된 필드 중, 몇 개의 필드가 최소의 인덱스가 부여된 필드인지를 도 42의 참조 프레임 리스트로부터 조사한다(S503).
단계 S503에서 조사한 결과, 2개의 매크로 블록에 의해서 참조된 필드가 모두 최소의 인덱스(즉 동일 인덱스)가 부여된 필드인 경우에는, 2개의 매크로 블록의 움직임 벡터의 평균값을 구하여, 상기 주변 매크로 블록 페어의 움직임 벡터로 한다(S504). 이것은 인터레이스 구조에서 생각한 경우, 프레임 구조의 부호화 대상 매크로 블록에는, 필드 구조의 주변 매크로 블록 페어의 2개의 매크로 블록이 인접하기 때문이다.
단계 S503에서 조사한 결과, 1개의 매크로 블록에 의해서 참조된 필드만이 최소의 인덱스가 부여된 필드인 경우에는, 그 1개의 매크로 블록의 움직임 벡터를 상기 주변 매크로 블록 페어의 움직임 벡터로 한다(S504A). 어느 것이나, 참조된 필드가 최소인 인덱스가 부여되어 있지 않은 필드인 경우에는, 상기 주변 매크로 블록 페어의 움직임 벡터를 「0」으로 한다(S505).
상기에서, 주변 매크로 블록의 움직임 벡터 중, 참조하는 필드가 최소의 인덱스가 부여되어 있는 필드의 움직임 벡터만을 이용함으로써, 보다 부호화 효율이 높은 움직임 벡터를 선택할 수 있다. S505의 처리는, 예측에 알맞은 움직임 벡터가 없다고 판단하고 있는 것을 나타내고 있다.
단계 S502에서 조사한 결과, 해당 주변 매크로 블록 페어가 프레임 구조로 부호화되어 있는 경우에는, 상기 주변 매크로 블록 페어 중, 부호화 대상 매크로 블록에 인접하는 매크로 블록의 움직임 벡터를 상기 주변 매크로 블록 페어의 움직임 벡터로 한다(S506).
모드 선택부(109)는, 상기 단계 S501로부터 단계 S506까지의 처리를, 선택된 3개의 주변 매크로 블록 페어에 대해서 반복한다. 이 결과, 부호화 대상 매크로 블록 페어 내의 1개의 매크로 블록, 예를 들면, 매크로 블록(MB1)에 대해서, 3개의주변 매크로 블록 페어의 움직임 벡터가 각각 1개씩 구해지게 된다.
다음에, 모드 선택부(109)는, 3개의 주변 매크로 블록 페어 중, 인덱스가 최소인 프레임 또는 그 프레임 내의 필드를 참조하고 있는 것이 1개인지의 여부를 조사한다(S507).
이 경우, 모드 선택부(109)는, 3개의 주변 매크로 블록 페어의 참조 인덱스를 참조 프레임 인덱스 또는 참조 필드 인덱스의 어느 하나로 통일하여 비교한다. 도 42에 나타낸 참조 프레임 리스트에는, 프레임마다 참조 인덱스가 부여되어 있을 뿐이지만, 이 참조 프레임 인덱스와, 필드마다 인덱스가 부여되어 있는 참조 필드 인덱스는 일정한 관계에 있기 때문에, 참조 프레임 리스트 또는 참조 필드 리스트의 한쪽으로부터 계산에 의해서 다른쪽의 참조 인덱스로 변환할 수 있다.
도 46은, 참조 필드 인덱스와 참조 프레임 인덱스의 관계를 나타내는 관계 표시도이다.
이 도 46에 나타내는 바와 같이, 참조 필드 리스트에는, 제1 필드(f1) 및 제2 필드(f2)에 의해 나타내는 프레임이 시계열에 따라서 몇가지 존재하고, 각 프레임에는, 부호화 대상 블록을 포함하는 프레임(도 46 중에서 나타내는 프레임)을 기준으로, 0, 1, 2, …라는 참조 프레임 인덱스가 할당되어 있다. 또, 각 프레임의 제1 필드(f1) 및 제2 필드(f2)에는, 부호화 대상 블록을 포함하는 프레임의 제1 필드(f1)를 기준으로(제1 필드가 부호화 대상 필드인 경우), 0, 1, 2, …라는 참조 필드 인덱스가 할당되어 있다. 또한, 이 참조 필드 인덱스는, 부호화 대상 필드에 가까운 프레임의 제1 필드(f1) 및 제2 필드(f2)로부터, 부호화 대상 블록이 제1 필드(f1)이면 제1 필드(f1)를 우선시키고, 부호화 대상 블록이 제2 필드(f2)이면 제2 필드(f2)를 우선시켜서 할당된다.
예를 들면, 프레임 구조로 부호화된 주변 매크로 블록이 참조 프레임 인덱스「1」의 프레임을 참조하고 있고, 필드 구조로 부호화된 주변 블록이 참조 필드 인덱스「2」의 제1 필드(f1)를 참조하고 있을 때에는, 상기 주변 매크로 블록은 모두 동일 픽처를 참조하고 있는 것으로서 취급된다. 즉, 1개의 주변 매크로 블록에 의해서 참조되는 프레임의 참조 프레임 인덱스가, 다른 1개의 주변 매크로 블록의 참조 필드에 할당된 참조 필드 인덱스의 2분의 1의 값과 같다(소수점 이하는 잘라 버림)는 전제 조건을 만족할 때에, 그 주변 매크로 블록은 동일한 픽처를 참조하고 있는 것으로서 취급된다.
예를 들면, 도 46중의 △로 나타내는 제1 필드(f1)에 포함되는 부호화 대상 블록이 참조 필드 인덱스「2」의 제1 필드(f1)를 참조하고 있고, 프레임 구조인 주변 매크로 블록이 참조 프레임 인덱스「1」의 프레임을 참조하고 있을 때에는, 상기 전제 조건을 만족하기 위해서, 상기 주변 블록은 동일한 픽처를 참조하고 있는 것으로서 취급된다. 한편, 어느 주변 매크로 블록이 참조 필드 인덱스「2」의 제1 필드를 참조하고 있고, 다른 주변 매크로 블록이 참조 프레임 인덱스「3」의 프레임을 참조하고 있을 때에는, 상기 전제 조건을 만족하지 않기 때문에, 그 주변 블록은 동일한 픽처를 참조하고 있지 않는 것으로서 취급된다.
상기한 바와 같이, 단계 S507에서 조사한 결과, 1개이면, 인덱스가 최소의 프레임 또는 그 프레임 내의 필드를 참조한 주변 매크로 블록 페어의 움직임 벡터를, 부호화 대상 매크로 블록의 움직임 벡터로 한다(S508). 단계 S507에서 조사한 결과, 1개가 아니면, 또한, 3개의 주변 매크로 블록 페어 중, 인덱스가 최소의 프레임 또는 그 프레임 내의 필드를 참조한 주변 매크로 블록 페어가 2개 이상 있는지의 여부를 조사하여(S509), 2개 이상 있으면, 그 중에서 또한 인덱스가 최소의 프레임 또는 그 프레임 내의 필드를 참조하고 있지 않은 주변 매크로 블록 페어가 있으면 그 움직임 벡터를 「0」으로 한 다음(S510), 주변 매크로 블록 페어의 3개의 움직임 벡터의 중앙값을 부호화 대상 매크로 블록의 움직임 벡터로 한다(S511). 또한, 단계 S509에서 조사한 결과, 2개 미만이면, 인덱스가 최소의 프레임 또는 그 프레임 내의 필드를 참조한 주변 매크로 블록 페어의 수는「0」이기 때문에, 부호화 대상 매크로 블록의 움직임 벡터를「0」으로 한다(S512).
이상의 처리의 결과, 부호화 대상 매크로 블록 페어를 구성하는 1개의 매크로 블록 예를 들면, MB1에 대해서, 1개의 움직임 벡터(MV1)가 계산 결과로서 얻어진다. 모드 선택부(109)는, 상기 처리를, 제2 참조 인덱스를 갖는 움직임 벡터에 대해서도 행하고, 얻어진 2개의 움직임 벡터를 이용하여 2방향 예측에 의해 움직임 보상을 행한다. 단, 주변 매크로 블록 페어 중, 제1 또는 제2 움직임 벡터를 갖는 주변 매크로 블록이 존재하지 않는 경우에는, 그 방향의 움직임 벡터는 이용하지 않고, 1방향만의 움직임 벡터에 의해 움직임 보상을 행한다. 또, 부호화 대상 매크로 블록 페어 내의 또 1개의 매크로 블록, 예를 들면, 매크로 블록(MB2)에 대해서도 동일 처리를 반복한다. 이 결과, 1개의 부호화 대상 매크로 블록 페어에서의 2개의 각 매크로 블록에 대해서, 직접 모드에 의한 움직임 보상을 행하게 된다.
다음에, 도 43(c)와 같이, 부호화 대상 매크로 블록 페어를 필드 구조로 부호화하는 경우에 대해서 설명한다. 도 47은, 도 43에 나타낸 단계 S303에서의, 보다 상세한 처리 순서를 도시하는 플로우 챠트이다. 모드 선택부(109)는, 부호화 대상 매크로 블록 페어를 구성하는 1개의 매크로 블록, 예를 들면, 상기 매크로 블록 페어의 탑 필트에 대응하는 매크로 블록(TF)에 대해서, 1개의 움직임 벡터(MVt)를 직접 모드의 공간적 예측을 이용하여 계산한다. 먼저, 모드 선택부(109)는 주변 매크로 블록 페어가 참조하는 픽처의 인덱스 중 최소값을 구한다(S601). 단, 주변 매크로 블록 페어가 필드 구조로 처리되어 있는 경우에는, 부호화 대상 매크로 블록과 동일 필드(탑 필드 또는 저부 필드)의 매크로 블록에 대해서만 생각한다. 다음에, 주변 매크로 블록 페어가 프레임 구조로 부호화되어 있는지의 여부를 조사하여(S602), 프레임 구조로 부호화되어 있는 경우에는 또한, 상기 주변 매크로 블록 페어 내의 2개의 매크로 블록에 의해서 참조된 프레임이 모두 최소의 인덱스가 부여된 프레임인지의 여부를 참조 프레임 리스트(300)에 의해서 각 프레임에 부여된 인덱스의 값을 기초로 판단한다(S603).
단계 S603에서 조사한 결과, 2개의 매크로 블록에 의해서 참조된 프레임이 모두 최소의 인덱스인 경우에는, 2개의 매크로 블록의 움직임 벡터의 평균값을 구하여, 상기 주변 매크로 블록 페어의 움직임 벡터로 한다(S604). 단계 S603에서 조사한 결과, 한쪽 또는 양쪽 모두, 참조한 프레임이 최소의 인덱스를 갖지 않은 프레임인 경우에는, 또한, 어느 쪽의 매크로 블록에 의해서 참조된 프레임이 최소의 인덱스를 갖고 있는지의 여부를 조사하여(S605), 조사한 결과, 어느 한쪽의 매크로 블록이 참조한 프레임에 최소의 인덱스가 부여되어 있는 경우에는, 그 매크로 블록의 움직임 벡터를 상기 주변 매크로 블록 페어의 움직임 벡터로 하고(S606), 단계 S605에서 조사한 결과, 어느 쪽의 매크로 블록도, 참조한 프레임에 최소의 인덱스가 부여되어 있지 않은 경우에는, 상기 주변 매크로 블록 페어의 움직임 벡터를「0」으로 한다(S607). 상기에서, 주변 매크로 블록의 움직임 벡터 중, 참조하는 프레임이 최소의 인덱스가 부여되어 있는 프레임의 움직임 벡터만을 이용함으로써, 보다 부호화 효율이 높은 움직임 벡터를 선택할 수 있다. S607의 처리는, 예측에 알맞은 움직임 벡터가 없다고 판단하고 있는 것을 나타내고 있다.
또, 단계 S602에서 조사한 결과, 상기 주변 매크로 블록 페어가 필드 구조로 부호화되어 있는 경우에는, 상기 주변 매크로 블록 페어 전체의 움직임 벡터를, 상기 주변 매크로 블록 페어에서, 부호화 대상 매크로 블록 페어 내의 대상 매크로 블록에 대응하는 매크로 블록의 움직임 벡터로 한다(S608). 모드 선택부(109)는, 상기 단계 S601로부터 단계 S608까지의 처리를, 선택된 3개의 주변 매크로 블록 페어에 대해서 반복한다. 이 결과, 부호화 대상 매크로 블록 페어 내의 1개의 매크로 블록, 예를 들면, 매크로 블록(TF)에 대해서, 3개의 주변 매크로 블록 페어의 움직임 벡터가 각각 1개씩 구해지게 된다.
다음에, 움직임 벡터 검출부(108)는, 3개의 주변 매크로 블록 페어 중, 인덱스가 최소의 프레임을 참조하고 있는 것이 1개인지의 여부를 조사하여(S609), 1개이면, 인덱스가 최소의 프레임을 참조한 주변 매크로 블록 페어의 움직임 벡터를 부호화 대상 매크로 블록의 움직임 벡터로 한다(S610). 단계 S609에서 조사한 결과, 1개가 아니면, 또한 3개의 주변 매크로 블록 페어 중, 인덱스가 최소의 프레임을 참조한 주변 매크로 블록 페어가 2개 이상 있는지의 여부를 조사하여(S611), 2개 이상이면, 그 중에서 또한 인덱스가 최소의 프레임을 참조하고 있지 않은 주변 매크로 블록 페어의 움직임 벡터를 「0」으로 한 다음(S612), 주변 매크로 블록 페어의 3개의 움직임 벡터의 중앙값을 부호화 대상 매크로 블록의 움직임 벡터로 한다(S613). 또한, 단계 S611에서 조사한 결과, 2개 미만이면, 인덱스가 최소의 프레임을 참조한 주변 매크로 블록 페어의 수는「0」이기 때문에, 부호화 대상 매크로 블록의 움직임 벡터를「0」으로 한다(S614).
이상의 처리의 결과, 부호화 대상 매크로 블록 페어를 구성하는 1개의 매크로 블록, 예를 들면, 탑 필드에 대응하는 매크로 블록(TF)에 대해서, 1개의 움직임 벡터(MVt)가 계산 결과로서 얻어진다. 모드 선택부(109)는, 상기 처리를 제2 움직임 벡터(제2 참조 인덱스에 대응)에 대해서도 반복한다. 이것에 의해, 매크로 블록(TF)에 대해서 2개의 움직임 벡터가 얻어지고, 이들의 움직임 벡터를 이용하여 2방향 예측에 의한 움직임 보상을 행한다. 단, 주변 매크로 블록 페어 중, 제1 또는 제2 움직임 벡터를 갖는 주변 매크로 블록이 존재하지 않는 경우에는, 그 방향의 움직임 벡터는 이용하지 않고, 1방향만의 움직임 벡터에 의해 움직임 보상을 행한다. 이것은, 주변 매크로 블록 페어가 1방향밖에만 참조하고 있지 않다는 것은, 부호화 대상 매크로 블록에 대해서도 1방향만을 참조하는 쪽이, 부호화 효율이 높아진다고 생각되기 때문이다.
또, 부호화 대상 매크로 블록 페어 내의 또 1개의 매크로 블록, 예를 들면,저부 필드에 대응하는 매크로 블록(BF)에 대해서도 동일 처리를 반복한다. 이 결과, 1개의 부호화 대상 매크로 블록 페어에서의 2개의 각 매크로 블록, 예를 들면, 매크로 블록(TF)과 매크로 블록(BF)에 대해서 직접 모드에 의한 처리를 행하게 된다.
또한, 여기에서는 부호화 대상 매크로 블록 페어의 부호화 구조와 주변 매크로 블록 페어의 부호화 구조가 상이한 경우에는, 주변 매크로 블록 페어 내의 2개의 매크로 블록의 움직임 벡터의 평균값을 구하는 등의 처리를 행하여 계산하였지만, 본 발명은 이것에 한정되지 않고, 예를 들면, 부호화 대상 매크로 블록 페어와 주변 매크로 블록 페어에서 부호화 구조가 동일한 경우에만, 그 주변 매크로 블록 페어의 움직임 벡터를 이용하여, 부호화 대상 매크로 블록 페어와 주변 매크로 블록 페어에서 부호화 구조가 상이한 경우에는, 부호화 구조가 상이한 주변 매크로 블록 페어의 움직임 벡터를 이용하지 않는 것으로 해도 좋다. 보다 구체적으로는, 먼저, ① 부호화 대상 매크로 블록 페어가 프레임 구조로 부호화되는 경우, 프레임 구조로 부호화되어 있는 주변 매크로 블록 페어의 움직임 벡터만을 이용한다. 이 때에, 프레임 구조로 부호화되어 있는 주변 매크로 블록 페어의 움직임 벡터 중, 인덱스가 최소의 프레임을 참조한 것이 없는 경우, 부호화 대상 매크로 블록 페어의 움직임 벡터를 「0」으로 한다. 또, 주변 매크로 블록 페어가 필드 구조로 부호화되어 있는 경우, 그 주변 매크로 블록 페어의 움직임 벡터를 「0」으로 한다. 다음에 ② 부호화 대상 매크로 블록 페어가 필드 구조로 부호화되는 경우, 필드 구조로 부호화되어 있는 주변 매크로 블록 페어의 움직임 벡터만을 이용한다. 이 때에, 필드 구조로 부호화되어 있는 주변 매크로 블록 페어의 움직임 벡터 중, 인덱스가 최소의 프레임을 참조한 것이 없는 경우, 부호화 대상 매크로 블록 페어의 움직임 벡터를「0」으로 한다. 또, 주변 매크로 블록 페어가 프레임 구조로 부호화되어 있는 경우, 그 주변 매크로 블록 페어의 움직임 벡터를 「0」으로 한다. 이와 같이 하여 각 주변 매크로 블록 페어의 움직임 벡터를 계산한 후, ③ 이들의 움직임 벡터 중, 최소의 인덱스를 갖는 프레임 또는 그 필드를 참조하여 얻어진 것이 1개만인 경우에는, 그 움직임 벡터를 직접 모드에서의 부호화 대상 매크로 블록 페어의 움직임 벡터로 하고, 그렇지 않은 경우에는, 3개의 움직임 벡터의 중앙값을 직접 모드에서의 부호화 대상 매크로 블록 페어의 움직임 벡터로 한다.
또, 상기 설명에서는, 부호화 대상 매크로 블록 페어를 필드 구조로 부호화할지 프레임 구조로 부호화할지를 부호화가 완료된 주변 매크로 블록 페어의 부호화 구조의 다수결로 결정하였지만, 본 발명은 이것에 한정되지 않고, 예를 들면, 직접 모드에서는, 반드시 프레임 구조로 부호화하거나, 또는 반드시 필드 구조로 부호화하도록 고정적으로 정해 두어도 좋다. 이 경우, 예를 들면, 부호화 대상이 되는 프레임마다 필드 구조로 부호화할지 또는 프레임 구조로 부호화할지를 전환하는 경우에는, 부호열 전체의 헤더 또는 프레임마다의 프레임 헤더 등에 기술한다고 해도 좋다. 전환의 단위는, 예를 들면, 시퀀스, GOP, 픽처, 슬라이스 등이어도 좋고, 이 경우에는, 각각 부호열 중의 대응하는 헤더 등에 기술해 두면 좋다. 이와 같이 한 경우에도, 부호화 대상 매크로 블록 페어와 주변 매크로 블록 페어에서 부호화 구조가 동일한 경우에만, 그 주변 매크로 블록 페어의 움직임 벡터를 이용하는 방법으로, 직접 모드에서의 부호화 대상 매크로 블록 페어의 움직임 벡터를 계산할 수 있는 것은 말할 필요도 없다. 또한, 패킷 등으로 전송하는 경우에는 헤더부와 데이터부를 분리하여 별도로 전송해도 좋다. 그 경우에는, 헤더부와 데이터부가 1개의 비트 스트림으로 되지 않는다. 그러나, 패킷의 경우에는, 전송하는 순서가 다소 전후하는 경우가 있어도, 대응하는 데이터부에 대응하는 헤더부가 별도의 패킷으로 전송될 뿐이고, 1개의 비트 스트림으로 되어 있지 않아도 동일하다. 이와 같이, 프레임 구조를 이용할지 필드 구조를 이용할지를 고정적으로 결정함으로써, 주변 블록의 정보를 이용하여 구조를 결정하는 처리가 없어져서, 처리의 간략화를 도모할 수 있다.
또한, 직접 모드에서, 부호화 대상 매크로 블록 페어를 프레임 구조와 필드 구조의 양자로 처리하여, 부호화 효율이 높은 구조를 선택하는 방법을 이용해도 좋다. 이 경우, 프레임 구조와 필드 구조의 어느 하나를 선택하였는지는, 부호열 중의 매크로 블록 페어의 헤더부에 기술하면 좋다. 이와 같이 한 경우에도, 부호화 대상 매크로 블록 페어와 주변 매크로 블록 페어에서 부호화 구조가 동일한 경우에만, 그 주변 매크로 블록 페어의 움직임 벡터를 이용하는 방법으로, 직접 모드에서의 부호화 대상 매크로 블록 페어의 움직임 벡터를 계산할 수 있는 것은 말할 필요도 없다. 이와 같은 방법을 이용함으로써, 프레임 구조와 필드 구조의 어느 하나를 선택하였는지를 나타내는 정보가 부호열 중에 필요하게 되지만, 움직임 보상의 잔차 신호를 보다 삭감하는 것이 가능해져서, 부호화 효율의 향상을 도모할 수 있다.
또 상기의 설명에서는, 주변 매크로 블록 페어는 매크로 블록의 크기를 단위로 하여 움직임 보상되어 있는 경우에 대해서 설명하였지만, 이것은 상이한 크기를 단위로 하여 움직임 보상되어 있어도 좋다. 이 경우, 도 48(a), (b)에 나타내는 바와 같이, 부호화 대상 매크로 블록 페어의 각각의 매크로 블록에 대해서, a, b, c에 위치하는 화소를 포함하는 블록의 움직임 벡터를 주변 매크로 블록 페어의 움직임 벡터로 한다. 여기에서 도 48(a)는, 상부의 매크로 블록을 처리하는 경우를 나타내고, 도 48(b)는 하부의 매크로 블록을 처리하는 경우를 나타내고 있다. 여기에서, 부호화 대상 매크로 블록 페어와 주변 매크로 블록 페어의 프레임/필드 구조가 상이한 경우, 도 49(a), (b)에 나타내는 바와 같은 a, b, c의 위치의 화소를 포함하는 블록과 위치(a', b', c')의 화소를 포함하는 블록을 이용하여 처리를 행한다. 여기에서 위치(a', b', c')는, 화소(a, b, c)의 위치에 대응하는 동일 매크로 블록 페어 내의 또 한쪽의 매크로 블록에 포함되는 블록이다. 예를 들면 도 49(a)의 경우, 부호화 대상 매크로 블록 페어와 주변 매크로 블록 페어의 프레임/필드 구조가 상이한 경우, 상부의 부호화 대상 매크로 블록의 좌측의 블록의 움직임 벡터는, BL1과 BL2의 움직임 벡터를 이용하여 결정한다. 또, 도 49(b)의 경우, 부호화 대상 매크로 블록 페어와 주변 매크로 블록 페어의 프레임/필드 구조가 상이한 경우, 상부의 부호화 대상 매크로 블록의 좌측의 블록의 움직임 벡터는, BL3과 BL4의 움직임 벡터를 이용하여 결정한다. 이와 같은 처리 방법을 이용함으로써, 주변 매크로 블록이 매크로 블록의 크기와는 상이한 단위로 움직임 보상되어 있는 경우에도, 프레임·필드의 차이를 고려한 직접 모드의 처리를 행하는 것이 가능해진다.
또, 주변 매크로 블록 페어가 매크로 블록의 크기와는 상이한 크기를 단위로 하여 움직임 보상되어 있는 경우에는, 매크로 블록에 포함되는 블록의 움직임 벡터의 평균값을 구함으로써, 그 매크로 블록의 움직임 벡터로 해도 좋다. 주변 매크로 블록이 매크로 블록의 크기와는 상이한 단위로 움직임 보상되어 있는 경우에도, 프레임·필드의 차이를 고려한 직접 모드의 처리를 행하는 것이 가능해진다.
그런데, 상기한 바와 같이, 움직임 벡터가 검출되고, 검출되어 움직임 벡터에 기초하여 픽처간 예측 부호화가 행해진 결과, 움직임 벡터 검출부(108)에 의해서 검출된 움직임 벡터, 부호화된 예측 오차 화상은, 매크로 블록마다 부호열 중에 격납된다. 단, 직접 모드로 부호화된 매크로 블록의 움직임 벡터에 대해서는, 단지 직접 모드로 부호화된 것이 기술될 뿐이고, 움직임 벡터 및 참조 인덱스는 부호열에 기술되지 않는다. 도 50은, 부호열 생성부(104)에 의해서 생성되는 부호열(700)의 데이터 구성의 일례를 나타내는 도면이다. 동일 도면과 같이, 부호열 생성부(104)에 의해서 생성된 부호열(700)에는, 픽처(Picture)마다 헤더(Header)가 설치되어 있다. 이 헤더(Header)에는, 예를 들면, 참조 프레임 리스트(10)의 변경을 나타내는 항목(RPSL) 및 해당 픽처의 픽처 타입을 나타내는 도시하지 않은 항목 등이 설치되어 있고, 항목(RPSL)에는, 참조 프레임 리스트(10)의 제1 참조 인덱스(12) 및 제2 참조 인덱스(13)의 값의 할당 방법에 초기 설정으로부터 변경이 있었던 경우, 변경 후의 할당 방법이 기술된다.
한편, 부호화된 예측 오차는, 매크로 블록마다 기록된다. 예를 들면, 어느매크로 블록이 직접 모드의 공간적 예측을 이용하여 부호화되어 있는 경우에는, 그 매크로 블록에 대응하는 예측 오차를 기술하는 항목(Block1)에서, 상기 매크로 블록의 움직임 벡터는 기술되지 않고, 상기 매크로 블록의 부호화 모드를 나타내는 항목(PredType)에 부호화 모드가 직접 모드인 것을 나타내는 정보가 기술된다. 또, 해당 매크로 블록 페어가 프레임 구조 또는 필드 구조의 어느 하나로 부호화하는지를 전술한 부호화 효율의 관점에서 선택하는 경우에는, 프레임 구조 또는 필드 구조의 어느 하나가 선택되었는지를 나타내는 정보가 기술된다. 이것에 계속해서, 부호화된 예측 오차가 항목(CodedRes)에 기술된다. 또, 별도의 매크로 블록이 픽처간 예측 부호화 모드로 부호화된 매크로 블록인 경우, 그 매크로 블록에 대응하는 예측 오차를 기술하는 항목(Block2) 중의 부호화 모드를 나타내는 항목(PredType)에, 상기 매크로 블록의 부호화 모드가 픽처간 예측 부호화 모드인 것이 기술된다. 이 경우, 부호화 모드 외에, 또한 상기 매크로 블록의 제1 참조 인덱스(12)가 항목(Ridx0)에 기입되고, 제2 참조 인덱스(13)가 항목(Ridx1)에 기입된다. 블록 중의 참조 인덱스는 가변길이 부호어에 의해 표현되고, 값이 작을수록 짧은 부호길이의 코드가 할당되어 있다. 또, 계속해서, 상기 매크로 블록의 전방 프레임 참조시의 움직임 벡터가 항목(MV0)에 기술되고, 후방 프레임 참조시의 움직임 벡터가 항목(MV1)에 기술된다. 이것에 계속해서, 부호화된 예측 오차가 항목(CodedRes)에 기술된다.
도 51은, 도 50에 나타내는 부호열(700)을 복호화하는 동화상 복호화 장치(800)의 구성을 나타내는 블록도이다. 동화상 복호화 장치(800)는, 직접 모드로 부호화된 매크로 블록을 포함한 예측 오차가 기술되어 있는 부호열(700)을 복호화하는 동화상 복호화 장치로서, 부호열 해석부(701), 예측 오차 복호화부(702), 모드 복호부(703), 움직임 보상 복호부(705), 움직임 벡터 기억부(706), 프레임 메모리(707), 가산 연산부(708), 스위치(709) 및 스위치(710), 움직임 벡터 복호화부(711)를 구비한다. 부호열 해석부(701)는, 입력된 부호열(700)로부터 각종 데이터를 추출한다. 여기에서 말하는 각종 데이터란, 부호화 모드의 정보 및 움직임 벡터에 관한 정보 등이다. 추출된 부호화 모드의 정보는, 모드 복호부(703)에 출력된다. 또, 추출된 움직임 벡터 정보는, 움직임 벡터 복호화부(711)에 출력된다. 또한, 추출된 예측 오차 부호화 데이터는, 예측 오차 복호화부(702)에 대해서 출력된다. 예측 오차 복호화부(702)는, 입력된 예측 오차 부호화 데이터의 복호화를 행하여, 예측 오차 화상을 생성한다. 생성된 예측 오차 화상은 스위치(709)에 대해서 출력된다. 예를 들면, 스위치(709)가 단자(b)에 접속되어 있을 때에는, 예측 오차 화상은 가산기(708)에 대해서 출력된다.
모드 복호부(703)는, 부호열에서 추출된 부호화 모드 정보를 참조하여, 스위치(709)와 스위치(710)의 제어를 행한다. 부호화 모드가 픽처내 부호화인 경우에는, 스위치(709)를 단자(a)에 접속하고, 스위치(710)를 단자(c)에 접속하도록 제어한다.
부호화 모드가 픽처간 부호화인 경우에는, 스위치(709)를 단자(b)에 접속하고, 스위치(710)를 단자(d)에 접속하도록 제어한다. 또한, 모드 복호부(703)에서는, 부호화 모드의 정보를 움직임 보상 복호부(705)와 움직임 벡터 복호화부(711)에 대해서도 출력한다. 움직임 벡터 복호화부(711)는, 부호열 해석부(701)로부터 입력된, 부호화된 움직임 벡터에 대해서 복호화 처리를 행한다. 복호화된 참조 픽처 번호와 움직임 벡터는, 움직임 벡터 기억부(706)에 유지되는 동시에, 움직임 보상 복호부(705)에 대해서 출력된다.
부호화 모드가 직접 모드인 경우에는, 모드 복호부(703)는, 스위치(709)를 단자(b)에 접속하고, 스위치(710)를 단자(d)에 접속하도록 제어한다. 또, 모드 복호부 (703)에서는, 부호화 모드의 정보를 움직임 보상 복호부(705)와 움직임 벡터 복호화부(711)에 대해서도 출력한다. 움직임 벡터 복호화부(711)는, 부호화 모드가 직접 모드인 경우, 움직임 벡터 기억부(706)에 기억되어 있는 주변 매크로 블록 페어의 움직임 벡터와 참조 픽처 번호를 이용하여, 직접 모드로 이용하는 움직임 벡터를 결정한다. 이 움직임 벡터의 결정 방법은, 도 40의 모드 선택부(109)의 동작으로 설명한 내용와 마찬가지기 때문에, 여기에서는 설명은 생략한다.
복호화된 참조 픽처 번호와 움직임 벡터에 기초하여, 움직임 보상 복호부(705)는, 프레임 메모리(707)로부터 매크로 블록마다 움직임 보상 화상을 취득한다. 취득된 움직임 보상 화상은 가산 연산부(708)에 출력된다. 프레임 메모리(707)는, 복호화 화상을 프레임마다 유지하는 메모리이다. 가산 연산부(708)는, 입력된 예측 오차 화상과 움직임 보상 화상을 가산하여, 복호화 화상을 생성한다. 생성된 복호화 화상은, 프레임 메모리(707)에 대해서 출력된다.
이상과 같이, 본 실시 형태에 의하면, 직접 모드의 공간적 예측 방법에서, 부호화 대상 매크로 블록 페어에 대한 부호화 완료 주변 매크로 블록 페어에, 프레임 구조로 부호화된 것과 필드 구조로 부호화된 것이 혼재하는 경우에서도, 용이하게 움직임 벡터를 구할 수 있다.
또한, 상기 실시 형태에서는, 각 픽처는 매크로 블록을 수직 방향으로 2개 연결한 매크로 블록 페어의 단위로, 프레임 구조 또는 필드 구조의 어느 하나를 이용하여 처리되는 경우에 대해서 설명하였지만, 이것은, 다른 단위, 예를 들면 매크로 블록 단위로 프레임 구조 또는 필드 구조를 전환하여 처리해도 좋다.
또, 상기 실시 형태에서는, B 픽처 중의 매크로 블록을 직접 모드로 처리하는 경우에 대해서 설명하였지만, 이것은 P 픽처에서도 동일한 처리를 행할 수 있다. P 픽처의 부호화·복호화시에서는, 각 블록은 1개의 픽처로부터만 움직임 보상을 행하고, 또 참조 프레임 리스트는 1개밖에 없다. 그 때문에, P 픽처에서도 본 실시 형태와 마찬가지의 처리를 행하기 위해서는, 본 실시 형태에서 부호화·복호화 대상 블록의 2개의 움직임 벡터(제1 참조 프레임 리스트와 제2 참조 프레임 리스트)를 구하는 처리를, 1개의 움직임 벡터를 구하는 처리로 하면 좋다.
또, 상기의 실시 형태에서는, 3개의 주변 매크로 블록 페어의 움직임 벡터를 이용하여, 직접 모드로 이용하는 움직임 벡터를 예측 생성하는 경우에 대해서 설명하였지만, 이용하는 주변 매크로 블록 페어의 수는 상이한 값이어도 좋다. 예를 들면, 좌측 옆의 주변 매크로 블록 페어의 움직임 벡터만을 이용하는 경우를 생각할 수 있다.
(실시 형태 12)
또한, 상기 각 실시 형태에서 나타낸 화상 부호화 방법 및 화상 복호화 방법의 구성을 실현하기 위한 프로그램을, 플렉서블 디스크 등의 기억 매체에 기록하도록 함으로써, 상기 각 실시 형태에서 나타낸 처리를 독립한 컴퓨터 시스템에서 간단히 실시하는 것이 가능해진다.
도 52는, 상기 실시 형태 1 내지 실시 형태 11의 화상 부호화 방법 및 화상 복호화 방법을 컴퓨터 시스템에 의해 실현하기 위한 프로그램을 격납하기 위한 기억 매체에 대한 설명도이다.
도 52(b)는, 플렉서블 디스크의 정면에서 본 외관, 단면 구조, 및 플렉서블 디스크를 나타내고, 도 52(a)는, 기록 매체 본체인 플렉서블 디스크의 물리 포맷의 예를 나타내고 있다. 플렉서블 디스크(FD)는 케이스(F) 내에 내장되고, 상기 디스크의 표면에는, 동심원 형상으로 외주로부터는 내주를 향해서 다수의 트랙(Tr)이 형성되고, 각 트랙은 각도 방향으로 16의 섹터(Se)로 분할되어 있다. 따라서, 상기 프로그램을 격납한 플렉서블 디스크에서는, 상기 플렉서블 디스크(FD) 상에 할당된 영역에, 상기 프로그램으로서의 화상 부호화 방법 및 화상 복호화 방법이 기록되어 있다.
또, 도 52(c)는, 플렉서블 디스크(FD)에 상기 프로그램의 기록 재생을 행하기 위한 구성을 도시한다. 상기 프로그램을 플렉서블 디스크(FD)에 기록하는 경우에는, 컴퓨터 시스템(Cs)으로부터 상기 프로그램으로서의 화상 부호화 방법 및 화상 복호화 방법을 플렉서블 드라이브를 통해서 기입한다. 또, 플렉서블 디스크 내의 프로그램에 의해 상기 화상 부호화 방법 및 화상 복호화 방법을 컴퓨터 시스템 내에 구축하는 경우에는, 플렉서블 디스크 드라이브에 의해 프로그램을 플렉서블디스크로부터 독출하여, 컴퓨터 시스템에 전송한다.
또한, 상기 설명에서는, 기록 매체로서 플렉서블 디스크를 이용하여 설명을 행하였지만, 광 디스크를 이용해도 마찬가지로 행할 수 있다. 또, 기록 매체는 이것에 한정되지 않고, CD-ROM, 메모리 카드, ROM 카세트 등, 프로그램을 기록할 수 있는 것이면 마찬가지로 실시할 수 있다.
또한 여기에서, 상기 실시 형태에서 나타낸 화상 부호화 방법이나 화상 복호화 방법의 응용예와 그것을 이용한 시스템을 설명한다.
도 53은, 콘텐츠 배송 서비스를 실현하는 콘텐츠 공급 시스템(ex100)의 전체 구성을 도시하는 블록도이다. 통신 서비스의 제공 영역을 소망의 크기로 분할하고, 각 셀 내에 각각 고정 무선국인 기지국(ex107∼ex110)이 설치되어 있다.
이 콘텐츠 공급 시스템(ex100)은, 예를 들면, 인터넷(ex101)에 인터넷 서비스 프로바이더(ex102) 및 전화망(ex104) 및 기지국(ex107∼ex110)을 통해서, 컴퓨터(ex111), PDA(personal digital assistant)(ex112), 카메라(ex113), 휴대 전화(ex114), 카메라가 부착된 휴대 전화(ex115) 등의 각 기기가 접속된다.
그러나, 콘텐츠 공급 시스템(ex100)은 도 53과 같은 조합에 한정되지 않고, 어느 하나를 조합하여 접속하도록 해도 좋다. 또, 고정 무선국인 기지국(ex107∼ex110)을 통하지 않고, 각 기기가 전화망(ex104)에 직접 접속되어도 좋다.
카메라(ex113)는 디지털 비디오 카메라 등의 동화상 촬영이 가능한 기기이다. 또, 휴대 전화는, PDC(Personal Digital Communications) 방식, CDMA(CodeDivision Multiple Access) 방식, W-CDMA(Wideband-Code Division Multiple Access) 방식, 혹은 GSM(Global System for Mobile Communications) 방식의 휴대 전화기, 또는 PHS(Persona1 Handyphone System) 등이고, 어느 것이라도 상관없다.
또, 스트리밍 서버(ex103)는, 카메라(ex113)로부터 기지국(ex109), 전화망 (ex104)을 통해서 접속되어 있고, 카메라(ex113)를 이용하여 사용자가 송신하는 부호화 처리된 데이터에 기초한 라이브 배송 등이 가능하게 된다. 촬영한 데이터의 부호화 처리는 카메라(ex113)로 행해도, 데이터의 송신 처리를 하는 서버 등으로 행해도 좋다. 또, 카메라(ex116)로 촬영한 동화상 데이터는 컴퓨터(ex111)를 통해서스트리밍 서버(ex103)에 송신되어도 좋다. 카메라(ex116)는 디지털 카메라 등의 정지화상, 동화상이 촬영 가능한 기기이다. 이 경우, 동화상 데이터의 부호화는 카메라(ex116)로 행해도 컴퓨터(ex111)로 행해도 어느 쪽이어도 좋다. 또, 부호화 처리는 컴퓨터(ex111)나 카메라(ex116)가 갖는 LSI(ex117)에서 처리하게 된다. 또한, 화상 부호화·복호화용의 소프트웨어를 컴퓨터(ex111) 등으로 독해 가능한 기록 매체인 어떠한 축적 미디어(CD-ROM, 플렉서블 디스크, 하드 디스크 등)에 장착해도 좋다. 또한, 카메라가 부착된 휴대 전화(ex115)로 동화상 데이터를 송신해도 좋다. 이 때의 동화상 데이터는 휴대 전화(ex115)가 갖는 LSI에서 부호화 처리된 데이터이다.
이 콘텐츠 공급 시스템(ex100)에서는, 사용자가 카메라(ex113), 카메라(ex116) 등으로 촬영하고 있는 콘텐츠(예를 들면, 음악 라이브를 촬영한 영상 등)를 상기 실시 형태와 마찬가지로 부호화 처리하여 스트리밍 서버(ex103)에송신하는 한편, 스트리밍 서버(ex103)는 요구가 있었던 클라이언트에 대해서 상기 콘텐츠 데이터를 스트림 배송한다. 클라이언트로서는, 상기 부호화 처리된 데이터를 복호화하는 것이 가능한, 컴퓨터(ex111), PDA(ex112), 카메라(ex113), 휴대 전화(ex114) 등이 있다. 이와 같이 함으로써 콘텐츠 공급 시스템(ex100)은, 부호화된 데이터를 클라이언트에서 수신하여 재생할 수 있고, 또한 클라이언트에서 실시간으로 수신하여 복호화하여, 재생함으로써, 개인 방송도 실현 가능하게 되는 시스템이다.
이 시스템을 구성하는 각 기기의 부호화, 복호화에는 상기 각 실시 형태에서 나타낸 화상 부호화 장치 혹은 화상 복호화 장치를 이용하도록 하면 좋다.
그 일례로서 휴대 전화에 대해서 설명한다.
도 54는, 상기 실시 형태에서 설명한 화상 부호화 방법과 화상 복호화 방법을 이용한 휴대 전화(ex115)를 나타내는 도면이다. 휴대 전화(ex115)는, 기지국(ex110)과의 사이에서 전파를 송수신하기 위한 안테나(ex201), CCD 카메라 등의 영상, 정지 화상을 찍는 것이 가능한 카메라부(ex203), 카메라부(ex203)에서 촬영한 영상, 안테나(ex201)로 수신한 영상 등이 복호화된 데이터를 표시하는 액정 디스플레이 등의 표시부(ex202), 조작 키(ex204)군으로 구성되는 본체부, 음성 출력을 하기 위한 스피커 등의 음성 출력부(ex208), 음성 입력을 하기 위한 마이크 등의 음성 입력부(ex205), 촬영한 동화상 또는 정지 화상의 데이터, 수신한 메일의 데이터, 동화상의 데이터 또는 정지 화상의 데이터 등, 부호화된 데이터 또는 복호화된 데이터를 보존하기 위한 기록 미디어(ex207), 휴대 전화(ex115)에 기록 미디어(ex207)를 장착 가능하게 하기 위한 슬롯부(ex206)를 갖고 있다. 기록 미디어(ex207)는 SD 카드 등의 플라스틱 케이스 내에 전기적으로 고쳐쓰기나 소거나 가능한 불휘발성 메모리인 EEPROM(Electrically Erasable and Programmable Read Only Memory)의 일종인 플래시 메모리 소자를 격납한 것이다.
또한, 휴대 전화(ex115)에 대해서 도 55를 이용하여 설명한다. 휴대 전화(ex115)는 표시부(ex202) 및 조작 키(ex204)를 구비한 본체부의 각 부를 통괄적으로 제어하도록 이루어진 주 제어부(ex311)에 대해서, 전원 회로부(ex310), 조작 입력 제어부(ex304), 화상 부호화부(ex312), 카메라 인터페이스부(ex303), LCD(Liquid Crystal Display) 제어부(ex302), 화상 복호화부(ex309), 다중 분리부(ex308), 기록 재생부(ex307), 변복조 회로부(ex306) 및 음성 처리부(ex305)가 동기 버스(ex313)를 통해서 서로 접속되어 있다.
전원 회로부(ex310)는, 사용자의 조작에 의해 통화 종료 및 전원 키가 온 상태로 되면, 배터리 팩으로부터 각 부에 대해서 전력을 공급함으로써 카메라가 부착된 디지털 휴대 전화(ex115)를 동작 가능한 상태로 기동한다.
휴대 전화(ex115)는, CPU, ROM 및 RAM 등으로 이루어지는 주 제어부(ex311)의 제어에 기초하여, 음성 통화 모드시에 음성 입력부(ex205)에서 집음한 음성 신호를 음성 처리부(ex305)에 의해서 디지털 음성 데이터로 변환하고, 이것을 변복조 회로부(ex306)에서 스펙트럼 확산 처리하여, 송수신 회로부(ex301)에서 디지털 아날로그 변환 처리 및 주파수 변환 처리를 행한 후에 안테나(ex201)를 통해서 송신한다. 또 휴대 전화기(ex115)는, 음성 통화 모드시에 안테나(ex201)에서 수신한수신 데이터를 증폭하여 주파수 변환 처리 및 아날로그 디지털 변환 처리를 행하여, 변복조 회로부(ex306)에서 스펙트럼 역확산 처리하여, 음성 처리부(ex305)에 의해서 아날로그 음성 데이터로 변환한 후, 이것을 음성 출력부(ex208)를 통해서 출력한다.
또한, 데이터 통신 모드시에 전자 메일을 송신하는 경우, 본체부의 조작 키(ex204)의 조작에 의해서 입력된 전자 메일의 텍스트 데이터는 조작 입력 제어부(ex304)를 통해서 주 제어부(ex311)에 송출된다. 주 제어부(ex311)는, 텍스트 데이터를 변복조 회로부(ex306)에서 스펙트럼 확산 처리하여, 송수신 회로부(ex301)에서 디지털 아날로그 변환 처리 및 주파수 변환 처리를 행한 후에 안테나(ex201)를 통해서 기지국(ex110)으로 송신한다.
데이터 통신 모드시에 화상 데이터를 송신하는 경우, 카메라부(ex203)에서 촬상된 화상 데이터를 카메라 인터페이스부(ex303)를 통해서 화상 부호화부(ex312)에 공급한다. 또, 화상 데이터를 송신하지 않은 경우에는, 카메라부(ex203)에서 촬상한 화상 데이터를 카메라 인터페이스부(ex303) 및 LCD 제어부(ex302)를 통해서 표시부(ex202)에 직접 표시하는 것도 가능하다.
화상 부호화부(ex312)는, 본원 발명에서 설명한 화상 부호화 장치를 구비한 구성으로, 카메라부(ex203)로부터 공급된 화상 데이터를 상기 실시 형태에서 나타낸 화상 부호화 장치에 이용한 부호화 방법에 의해서 압축 부호화함으로써 부호화 화상 데이터로 변환하여, 이것을 다중 분리부(ex308)에 송출한다. 또, 이 때 동시에 휴대 전화기(ex115)는, 카메라부(ex203)에서 촬상 중에 음성 입력부(ex205)에서집음한 음성을 음성 처리부(ex305)를 통해서 디지털의 음성 데이터로서 다중 분리부(ex308)에 송출한다.
다중 분리부(ex308)는, 화상 부호화부(ex312)로부터 공급된 부호화 화상 데이터와 음성 처리부(ex305)로부터 공급된 음성 데이터를 소정의 방식으로 다중화하고, 그 결과 얻어지는 다중화 데이터를 변복조 회로부(ex306)에서 스펙트럼 확산 처리하여, 송수신 회로부(ex301)에서 디지털 아날로그 변환 처리 및 주파수 변환 처리를 행한 후에 안테나(ex201)를 통해서 송신한다.
데이터 통신 모드시에 홈페이지 등에 링크된 동화상 파일의 데이터를 수신하는 경우, 안테나(ex201)를 통해서 기지국(ex110)으로부터 수신한 수신 데이터를 변복조 회로부(ex306)에서 스펙트럼 역확산 처리하여, 그 결과 얻어지는 다중화 데이터를 다중 분리부(ex308)에 송출한다.
또, 안테나(ex201)를 통해서 수신된 다중화 데이터를 복호화하기 위해서는, 다중 분리부(ex308)는, 다중화 데이터를 분리함으로써 화상 데이터의 비트 스트림과 음성 데이터의 비트 스트림으로 나누어, 동기 버스(ex313)를 통해서 해당 부호화 화상 데이터를 화상 복호화부(ex309)에 공급하는 동시에 해당 음성 데이터를 음성 처리부(ex305)에 공급한다.
다음에, 화상 복호화부(ex309)는, 본원 발명에서 설명한 화상 복호화 장치를 구비한 구성으로, 화상 데이터의 비트 스트림을 상기 실시 형태에서 나타낸 부호화 방법에 대응한 복호화 방법으로 복호함으로써 재생 동화상 데이터를 생성하여, 이것을 LCD 제어부(ex302)를 통해서 표시부(ex202)에 공급하고, 이것에 의해, 예를들면 홈페이지에 링크된 동화상 파일에 포함되는 동화상 데이터가 표시된다. 이 때 동시에 음성 처리부(ex305)는 음성 데이터를 아날로그 음성 데이터로 변환한 후, 이것을 음성 출력부(ex208)에 공급하고, 이것에 의해, 예를 들면 홈페이지에 링크된 동화상 파일에 포함되는 음성 데이터가 재생된다.
또한, 상기 시스템의 예에 한정되지 않고, 최근에는 위성, 지상파에 의한 디지털 방송이 화제가 되고 있고, 도 56에 나타내는 바와 같이 디지털 방송용 시스템에도 상기 실시 형태의 적어도 화상 부호화 장치 또는 화상 복호화 장치의 어느 하나를 장착할 수 있다. 구체적으로는, 방송국(ex409)에서는 영상 정보의 비트 스트림이 전파를 통해서 통신 또는 방송 위성(ex410)에 전송된다. 이것을 받은 방송 위성(ex410)은 방송용의 전파를 발신하여, 이 전파를 위성 방송 수신 설비를 갖는 가정의 안테나(ex406)에서 수신하고, 텔레비젼(수신기)(ex401) 또는 셋톱 박스(STB)(ex407) 등의 장치에 의해 비트 스트림을 복호화하여 이것을 재생한다. 또, 기록 매체인 CD나 DVD 등의 축적 미디어(ex402)에 기록한 비트 스트림을 독해하여, 복호화하는 재생 장치(ex403)에도 상기 실시 형태에서 나타낸 화상 복호화 장치를 실장하는 것이 가능하다. 이 경우, 재생된 영상 신호는 모니터(ex404)에 표시된다. 또, 케이블 텔레비젼용의 케이블(ex405) 또는 위성/지상파 방송의 안테나(ex406)에 접속된 셋톱 박스(ex407) 내에 화상 복호화 장치를 실장하고, 이것을 텔레비젼의 모니터(ex408)로 재생하는 구성도 생각할 수 있다. 이 때 셋톱 박스가 아니라, 텔레비젼 내에 화상 복호화 장치를 장착해도 좋다. 또, 안테나(ex411)를 갖는 차(ex412)로 위성(ex410)으로부터 또는 기지국(ex107) 등으로부터 신호를 수신하여, 차(ex412)가 갖는 카 네비게이션(ex413) 등의 표시 장치에 동화상을 재생하는 것도 가능하다.
또한, 화상 신호를 상기 실시 형태에서 나타낸 화상 부호화 장치로 부호화하여, 기록 매체에 기록할 수도 있다. 구체적으로는, DVD 디스크(ex421)에 화상 신호를 기록하는 DVD 리코더나, 하드 디스크에 기록하는 디스크 리코더 등의 리코더(ex420)가 있다. 또한 SD 카드(ex422)에 기록할 수도 있다. 리코더(ex420)가 상기 실시 형태에서 나타낸 화상 복호화 장치를 구비하고 있으면, DVD 디스크(ex421)나 SD 카드(ex422)에 기록한 화상 신호를 재생하여, 모니터(ex408)로 표시할 수 있다.
또, 카 네비게이션(ex413)의 구성은 예를 들면 도 55에 나타내는 구성 중, 카메라부(ex203)와 카메라 인터페이스부(ex303), 화상 부호화부(ex312)를 제외한 구성을 생각할 수 있고, 동일한 것을 컴퓨터(ex111)나 텔레비젼(수신기)(ex401) 등에서도 생각할 수 있다.
또, 상기 휴대 전화(ex114) 등의 단말은, 부호화기·복호화기를 양쪽 갖는 송수신형의 단말 외에, 부호화기만의 송신 단말, 복호화기만의 수신 단말의 3종류의 실장 형식을 생각할 수 있다.
이와 같이, 상기 실시 형태에서 나타낸 동화상 부호화 방법 혹은 동화상 복호화 방법을 상술한 어느 기기·시스템에 이용하는 것은 가능하고, 그렇게 함으로써, 상기 실시 형태에서 설명한 효과를 얻을 수 있다.
또, 본 발명은 이러한 상기 실시 형태에 한정되는 것이 아니라, 본 발명의범위를 일탈하지 않고 다양한 변형 또는 수정이 가능하다.
본 발명에 따른 화상 부호화 장치는, 통신 기능을 구비하는 퍼스널 컴퓨터, PDA, 디지털 방송의 방송국 및 휴대 전화기 등에 구비되는 화상 부호화 장치로서 유용하다.
또, 본 발명에 따른 화상 복호화 장치는, 통신 기능을 구비하는 퍼스널 컴퓨터, PDA, 디지털 방송을 수신하는 STB 및 휴대 전화기 등에 구비되는 화상 복호화 장치로서 유용하다.

Claims (15)

  1. 동화상의 픽처를 구성하는 블록의 움직임 벡터를, 이미 산출된 주변 블록의 움직임 벡터로부터 도출하는 움직임 벡터 계산 방법에 있어서,
    도출의 대상이 되는 블록이 프레임 구조로 부호화 또는 복호화되는 경우에는, 필드 구조로 부호화 또는 복호화되어 있는 주변 블록에 대해서는, 탑 필드의 블록의 움직임 벡터와 저부 필드의 블록의 움직임 벡터 중 일정한 조건을 만족하는 움직임 벡터를 이용하여 상기 도출의 대상이 되는 블록의 움직임 벡터를 도출하고,
    도출의 대상이 되는 블록이 필드 구조로 부호화 또는 복호화되는 경우에는, 프레임 구조로 부호화 또는 복호화되어 있는 주변 블록에 대해서는, 서로 인접하는 2개의 블록의 움직임 벡터 중 일정 조건을 만족하는 움직임 벡터를 이용하여 상기 도출의 대상이 되는 블록의 움직임 벡터를 도출하는 것을 특징으로 하는 움직임 벡터 계산 방법.
  2. 제 1 항에 있어서, 상기 일정한 조건은,
    도출의 대상이 되는 블록이 프레임 구조로 부호화 또는 복호화되는 경우에는, 상기 탑 필드의 블록의 움직임 벡터와 상기 저부 필드의 블록의 움직임 벡터의 각각이 참조하고 있는 픽처가, 참조 가능한 픽처 중, 최소의 참조 인덱스를 갖는 픽처라는 조건이고,
    도출의 대상이 되는 블록이 필드 구조로 부호화 또는 복호화되는 경우에는,상기 서로 인접하는 2개의 블록의 움직임 벡터 각각이 참조하고 있는 픽처가 참조 가능한 픽처 중, 최소의 참조 인덱스를 갖는 픽처라는 조건인 것을 특징으로 하는 움직임 벡터 계산 방법.
  3. 제 2 항에 있어서, 상기 2개의 블록의 움직임 벡터의 양쪽이, 상기 일정한 조건을 만족하는 경우에는, 상기 2개의 블록의 움직임 벡터의 평균값을 이용하여, 상기 도출의 대상이 되는 블록의 움직임 벡터를 도출하는 것을 특징으로 하는 움직임 벡터 계산 방법.
  4. 제 3 항에 있어서, 상기 일정한 조건이 만족되지 않는 경우에는, 상기 주변 블록의 움직임 벡터를「0」으로 하고, 상기 도출의 대상이 되는 블록의 움직임 벡터를 도출하는 것을 특징으로 하는 움직임 벡터 계산 방법.
  5. 제 1 항에 있어서, 상기 일정한 조건은,
    도출의 대상이 되는 블록이 프레임 구조로 부호화 또는 복호화되는 경우에는, 상기 탑 필드의 블록의 움직임 벡터와 상기 저부 필드의 블록의 움직임 벡터의 각각이 참조하고 있는 픽처가, 참조 가능한 픽처 중, 동일 참조 인덱스를 갖는 픽처라는 조건이고,
    도출의 대상이 되는 블록이 필드 구조로 부호화 또는 복호화되는 경우에는, 상기 서로 인접하는 2개의 블록의 움직임 벡터 각각이 참조하고 있는 픽처가, 참조가능한 픽처 중, 동일 참조 인덱스를 갖는 픽처라는 조건인 것을 특징으로 하는 움직임 벡터 계산 방법.
  6. 제 5 항에 있어서, 상기 2개의 블록의 움직임 벡터의 양쪽이, 상기 일정한 조건을 만족하는 경우에는, 상기 2개의 블록의 움직임 벡터의 평균값을 이용하여, 상기 도출의 대상이 되는 블록의 움직임 벡터를 도출하는 것을 특징으로 하는 움직임 벡터 계산 방법.
  7. 제 6 항에 있어서, 상기 일정한 조건이 만족되지 않는 경우에는, 상기 주변 블록의 움직임 벡터를 「0」으로 하고, 상기 도출의 대상이 되는 블록의 움직임 벡터를 도출하는 것을 특징으로 하는 움직임 벡터 계산 방법.
  8. 제 1 항에 있어서, 도출의 대상이 되는 블록이 프레임 구조로 부호화 또는 복호화될지, 혹은 필드 구조로 부호화 또는 복호화될지는, 미리 고정되어 있는 것을 특징으로 하는 움직임 벡터 계산 방법.
  9. 제 8 항에 있어서, 도출의 대상이 되는 블록이 프레임 구조로 부호화 또는 복호화될지, 혹은 필드 구조로 부호화 또는 복호화될지는, 상기 동화상의 픽처의 관련 정보에 의해서 판단하는 것을 특징으로 하는 움직임 벡터 계산 방법.
  10. 동화상의 픽처를 구성하는 블록의 움직임 벡터를 이미 산출된 주변 블록의 움직임 벡터로부터 도출하는 움직임 벡터의 계산 방법을 이용하는 동화상 부호화 방법에 있어서,
    도출의 대상이 되는 블록이 프레임 구조로 부호화되는 경우에는, 필드 구조로 부호화되어 있는 주변 블록에 대해서는, 탑 필드의 블록의 움직임 벡터와 저부 필드의 블록의 움직임 벡터 중 일정한 조건을 만족하는 움직임 벡터를 이용하여 상기 도출의 대상이 되는 블록의 움직임 벡터를 도출하고,
    도출의 대상이 되는 블록이 필드 구조로 부호화되는 경우에는, 프레임 구조로 부호화되어 있는 주변 블록에 대해서는, 서로 인접하는 2개의 블록의 움직임 벡터 중 일정 조건을 만족하는 움직임 벡터를 이용하여 상기 도출의 대상이 되는 블록의 움직임 벡터를 도출하는 것을 특징으로 하는 움직임 벡터의 계산 방법을 이용하는 동화상 부호화 방법.
  11. 제 10 항에 있어서, 상기 동화상 부호화 방법은,
    도출의 대상이 되는 블록이 프레임 구조로 부호화될지, 혹은 필드 구조로 부호화될지를 나타내는 정보를, 부호화 정보에 부가하여 출력하는 단계를 포함하는 것을 특징으로 하는 동화상 부호화 방법.
  12. 동화상의 픽처를 구성하는 블록의 움직임 벡터를 이미 산출된 주변 블록의 움직임 벡터로부터 도출하는 움직임 벡터의 계산 방법을 이용하는 동화상 복호화방법에 있어서,
    도출의 대상이 되는 블록이 프레임 구조로 복호화되는 경우에는, 필드 구조로 복호화되어 있는 주변 블록에 대해서는, 탑 필드의 블록의 움직임 벡터와 저부 필드의 블록의 움직임 벡터 중 일정한 조건을 만족하는 움직임 벡터를 이용하여 상기 도출의 대상이 되는 블록의 움직임 벡터를 도출하고,
    도출의 대상이 되는 블록이 필드 구조로 복호화되는 경우에는, 프레임 구조로 복호화되어 있는 주변 블록에 대해서는, 서로 인접하는 2개의 블록의 움직임 벡터 중 일정 조건을 만족하는 움직임 벡터를 이용하여 상기 도출의 대상이 되는 블록의 움직임 벡터를 도출하는 것을 특징으로 하는 동화상 복호화 방법.
  13. 제 12 항에 있어서, 상기 동화상 복호화 방법은,
    도출의 대상이 되는 블록이 프레임 구조로 부호화되어 있을지, 혹은 필드 구조로 부호화되어 있을지를, 부호화 정보에 부가되어 있는 관련 정보를 참조함으로써 결정하는 단계를 포함하는 것을 특징으로 하는 동화상 복호화 방법.
  14. 동화상의 픽처를 구성하는 블록의 움직임 벡터를 이미 산출된 주변 블록의 움직임 벡터로부터 도출하는 움직임 벡터의 계산 방법을 이용하는 동화상 부호화 장치에 있어서,
    도출의 대상이 되는 블록이 프레임 구조로 부호화되는 경우에는, 필드 구조로 부호화되어 있는 주변 블록에 대해서는, 탑 필드의 블록의 움직임 벡터와 저부필드의 블록의 움직임 벡터 중 일정한 조건을 만족하는 움직임 벡터를 이용하여 상기 도출의 대상이 되는 블록의 움직임 벡터를 도출하고,
    도출의 대상이 되는 블록이 필드 구조로 부호화되는 경우에는, 프레임 구조로 부호화되어 있는 주변 블록에 대해서는, 서로 인접하는 2개의 블록의 움직임 벡터 중 일정 조건을 만족하는 움직임 벡터를 이용하여 상기 도출의 대상이 되는 블록의 움직임 벡터를 도출하는 것을 특징으로 하는 움직임 벡터의 계산 방법을 이용하는 동화상 부호화 장치.
  15. 동화상의 픽처를 구성하는 블록의 움직임 벡터를 이미 산출된 주변 블록의 움직임 벡터로부터 도출하는 움직임 벡터의 계산 방법을 이용하는 동화상 복호화 장치에 있어서,
    도출의 대상이 되는 블록이 프레임 구조로 복호화되는 경우에는, 필드 구조로 복호화되어 있는 주변 블록에 대해서는, 탑 필드의 블록의 움직임 벡터와 저부 필드의 블록의 움직임 벡터 중 일정한 조건을 만족하는 움직임 벡터를 이용하여 상기 도출의 대상이 되는 블록의 움직임 벡터를 도출하고,
    도출의 대상이 되는 블록이 필드 구조로 복호화되는 경우에는, 프레임 구조로 복호화되어 있는 주변 블록에 대해서는, 서로 인접하는 2개의 블록의 움직임 벡터 중 일정 조건을 만족하는 움직임 벡터를 이용하여 상기 도출의 대상이 되는 블록의 움직임 벡터를 도출하는 것을 특징으로 하는 움직임 벡터의 계산 방법을 이용하는 동화상 복호화 장치.
KR10-2003-7014885A 2002-04-19 2003-04-16 움직임 벡터 계산 방법 KR20040099100A (ko)

Applications Claiming Priority (23)

Application Number Priority Date Filing Date Title
JPJP-P-2002-00118598 2002-04-19
JP2002118598 2002-04-19
JPJP-P-2002-00121053 2002-04-23
JP2002121053 2002-04-23
US37864302P 2002-05-09 2002-05-09
US60/378,643 2002-05-09
US37895402P 2002-05-10 2002-05-10
US60/378,954 2002-05-10
JPJP-P-2002-00156266 2002-05-29
JP2002156266 2002-05-29
JP2002177889 2002-06-19
JPJP-P-2002-00177889 2002-06-19
JPJP-P-2002-00193027 2002-07-02
JP2002193027 2002-07-02
JPJP-P-2002-00204713 2002-07-12
JP2002204713 2002-07-12
JPJP-P-2002-00262151 2002-09-06
JP2002262151 2002-09-06
JP2002290542 2002-10-02
JPJP-P-2002-00290542 2002-10-02
JPJP-P-2002-00323096 2002-11-06
JP2002323096 2002-11-06
PCT/JP2003/004809 WO2003090475A1 (fr) 2002-04-19 2003-04-16 Procede pour calculer un vecteur de mouvement

Publications (1)

Publication Number Publication Date
KR20040099100A true KR20040099100A (ko) 2004-11-26

Family

ID=29255790

Family Applications (4)

Application Number Title Priority Date Filing Date
KR10-2003-7014885A KR20040099100A (ko) 2002-04-19 2003-04-16 움직임 벡터 계산 방법
KR1020097013226A KR100931746B1 (ko) 2002-04-19 2003-04-16 움직임 벡터 계산방법
KR1020087006472A KR100931750B1 (ko) 2002-04-19 2003-04-16 움직임 벡터 계산방법
KR1020097025003A KR101011849B1 (ko) 2002-04-19 2003-04-16 움직임 벡터 계산방법

Family Applications After (3)

Application Number Title Priority Date Filing Date
KR1020097013226A KR100931746B1 (ko) 2002-04-19 2003-04-16 움직임 벡터 계산방법
KR1020087006472A KR100931750B1 (ko) 2002-04-19 2003-04-16 움직임 벡터 계산방법
KR1020097025003A KR101011849B1 (ko) 2002-04-19 2003-04-16 움직임 벡터 계산방법

Country Status (12)

Country Link
US (24) US7940845B2 (ko)
EP (3) EP3525466B1 (ko)
KR (4) KR20040099100A (ko)
CN (2) CN1277419C (ko)
AU (2) AU2003235174A1 (ko)
CA (2) CA2451571A1 (ko)
ES (5) ES2745058T3 (ko)
HU (8) HUE053955T2 (ko)
MX (1) MXPA03011334A (ko)
MY (1) MY155930A (ko)
PT (3) PT3525464T (ko)
WO (2) WO2003090475A1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012093898A3 (ko) * 2011-01-07 2012-11-29 엘지전자 주식회사 영상 정보 부호화 방법 및 복호화 방법과 이를 이용한 장치
KR20180014198A (ko) * 2010-11-24 2018-02-07 벨로스 미디어 인터내셔널 리미티드 움직임 벡터 산출 방법, 화상 부호화 방법, 화상 복호 방법, 움직임 벡터 산출 장치 및 화상 부호화 복호 장치
KR101878008B1 (ko) * 2011-03-03 2018-07-13 선 페이턴트 트러스트 동화상 부호화 방법, 동화상 복호 방법, 동화상 부호화 장치, 동화상 복호 장치 및 동화상 부호화 복호 장치

Families Citing this family (152)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7266150B2 (en) 2001-07-11 2007-09-04 Dolby Laboratories, Inc. Interpolation of video compression frames
US8111754B1 (en) 2001-07-11 2012-02-07 Dolby Laboratories Licensing Corporation Interpolation of video compression frames
US20030099294A1 (en) * 2001-11-27 2003-05-29 Limin Wang Picture level adaptive frame/field coding for digital video content
US7003035B2 (en) 2002-01-25 2006-02-21 Microsoft Corporation Video coding methods and apparatuses
PT3525464T (pt) 2002-04-19 2021-04-06 Panasonic Ip Corp America Método e sistema de codificação e descodificação de imagem
US20040001546A1 (en) 2002-06-03 2004-01-01 Alexandros Tourapis Spatiotemporal prediction for bidirectionally predictive (B) pictures and motion vector prediction for multi-picture reference motion compensation
US7088776B2 (en) 2002-07-15 2006-08-08 Apple Computer, Inc. Method and apparatus for variable accuracy inter-picture timing specification for digital video encoding
CN1312927C (zh) * 2002-07-15 2007-04-25 株式会社日立制作所 动态图像编码方法及解码方法
US7154952B2 (en) 2002-07-19 2006-12-26 Microsoft Corporation Timestamp-independent motion vector prediction for predictive (P) and bidirectionally predictive (B) pictures
US6728315B2 (en) 2002-07-24 2004-04-27 Apple Computer, Inc. Method and apparatus for variable accuracy inter-picture timing specification for digital video encoding with reduced requirements for division operations
ES2653437T3 (es) 2002-08-08 2018-02-07 Godo Kaisha Ip Bridge 1 Procedimiento de descodificación de imágenes en movimiento
KR100506864B1 (ko) 2002-10-04 2005-08-05 엘지전자 주식회사 모션벡터 결정방법
ES2496979T3 (es) * 2002-11-01 2014-09-22 Panasonic Intellectual Property Corporation Of America Procedimiento de codificación de imágenes en movimiento y procedimiento de decodificación de imágenes en movimiento
KR100693669B1 (ko) * 2003-03-03 2007-03-09 엘지전자 주식회사 피일드 매크로 블록의 레퍼런스 픽쳐 결정 방법
US20050013498A1 (en) 2003-07-18 2005-01-20 Microsoft Corporation Coding of motion vector information
CN1875637A (zh) * 2003-08-26 2006-12-06 汤姆森特许公司 最小化用于相互编码的参考画面数目的方法和装置
US8064520B2 (en) 2003-09-07 2011-11-22 Microsoft Corporation Advanced bi-directional predictive coding of interlaced video
US7616692B2 (en) * 2003-09-07 2009-11-10 Microsoft Corporation Hybrid motion vector prediction for interlaced forward-predicted fields
US7724827B2 (en) 2003-09-07 2010-05-25 Microsoft Corporation Multi-layer run level encoding and decoding
US7623574B2 (en) * 2003-09-07 2009-11-24 Microsoft Corporation Selecting between dominant and non-dominant motion vector predictor polarities
US7567617B2 (en) * 2003-09-07 2009-07-28 Microsoft Corporation Predicting motion vectors for fields of forward-predicted interlaced video frames
US7400681B2 (en) * 2003-11-28 2008-07-15 Scientific-Atlanta, Inc. Low-complexity motion vector prediction for video codec with two lists of reference pictures
US7379608B2 (en) * 2003-12-04 2008-05-27 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung, E.V. Arithmetic coding for transforming video and picture data units
EP1667464B1 (en) * 2003-12-22 2013-03-06 NEC Corporation Method and apparatus for encoding moving pictures
US7480334B2 (en) * 2003-12-23 2009-01-20 Genesis Microchip Inc. Temporal motion vector filtering
CN1321534C (zh) * 2003-12-31 2007-06-13 中国科学院计算技术研究所 固定参考帧数编码方式下获取图像参考块的方法
CN1225128C (zh) * 2003-12-31 2005-10-26 中国科学院计算技术研究所 直接编码模式下确定参考图像块的方法
US7599435B2 (en) * 2004-01-30 2009-10-06 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Video frame encoding and decoding
US8036271B2 (en) * 2004-02-24 2011-10-11 Lsi Corporation Method and apparatus for determining a second picture for temporal direct-mode block prediction
US7586924B2 (en) 2004-02-27 2009-09-08 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Apparatus and method for coding an information signal into a data stream, converting the data stream and decoding the data stream
US9743078B2 (en) 2004-07-30 2017-08-22 Euclid Discoveries, Llc Standards-compliant model-based video encoding and decoding
TWI268715B (en) 2004-08-16 2006-12-11 Nippon Telegraph & Telephone Picture encoding method, picture decoding method, picture encoding apparatus, and picture decoding apparatus
KR20060043118A (ko) * 2004-10-07 2006-05-15 엘지전자 주식회사 영상 신호의 인코딩 및 디코딩 방법
US7813432B2 (en) * 2004-12-30 2010-10-12 Intel Corporation Offset buffer for intra-prediction of digital video
JP2009514592A (ja) * 2005-11-03 2009-04-09 チェフェル カンパニー リミテッド 調理容器用オーバーフロー防止蓋
JP4616765B2 (ja) * 2005-12-15 2011-01-19 富士通株式会社 動画像符号化装置
KR100904442B1 (ko) 2006-01-09 2009-06-24 엘지전자 주식회사 영상 신호의 레이어 간 예측 방법
KR20070074453A (ko) * 2006-01-09 2007-07-12 엘지전자 주식회사 영상 신호의 인코딩 및 디코딩 방법
EP1806930A1 (en) * 2006-01-10 2007-07-11 Thomson Licensing Method and apparatus for constructing reference picture lists for scalable video
US8306118B1 (en) * 2006-03-01 2012-11-06 Maxim Integrated, Inc. High quality low bitrate video coding by enabling and disabling a non-residual mode
JP4720543B2 (ja) * 2006-03-01 2011-07-13 ソニー株式会社 データ処理装置、データ処理方法およびデータ処理プログラム、記録媒体、ならびに、再生装置、再生方法および再生プログラム
JP4527677B2 (ja) * 2006-03-15 2010-08-18 富士通株式会社 動画像符号化方法、動画像符号化装置、動画像符号化プログラム
US8208553B2 (en) * 2006-05-04 2012-06-26 Altera Corporation Methods and apparatus for quarter-pel refinement in a SIMD array processor
US8559510B2 (en) * 2006-08-10 2013-10-15 Canon Kabushiki Kaisha Image decoding apparatus
US8767830B2 (en) * 2006-09-13 2014-07-01 Vixs Systems, Inc Neighbor management module for use in video encoding and methods for use therewith
AU2014210664A1 (en) * 2006-10-16 2014-08-28 Nokia Technologies Oy System and method for implementing efficient decoded buffer management in multi-view video coding
US7907217B2 (en) * 2006-10-31 2011-03-15 Siemens Medical Solutions Usa, Inc. Systems and methods of subtraction angiography utilizing motion prediction
US20080137726A1 (en) * 2006-12-12 2008-06-12 General Instrument Corporation Method and Apparatus for Real-Time Video Encoding
WO2008075663A1 (ja) * 2006-12-21 2008-06-26 Ajinomoto Co., Inc. 大腸癌の評価方法、ならびに大腸癌評価装置、大腸癌評価方法、大腸癌評価システム、大腸癌評価プログラムおよび記録媒体
JP4427086B2 (ja) * 2006-12-27 2010-03-03 パナソニック株式会社 動画像復号化装置
KR100809354B1 (ko) * 2007-02-02 2008-03-05 삼성전자주식회사 복원된 프레임의 프레임율을 업컨버팅하는 장치 및 방법
KR100906243B1 (ko) * 2007-06-04 2009-07-07 전자부품연구원 Rgb 색 공간 신호의 영상 부호화 방법
US8254455B2 (en) 2007-06-30 2012-08-28 Microsoft Corporation Computing collocated macroblock information for direct mode macroblocks
US8817878B2 (en) * 2007-11-07 2014-08-26 Broadcom Corporation Method and system for motion estimation around a fixed reference vector using a pivot-pixel approach
CN101453656B (zh) * 2007-11-29 2011-06-01 华为技术有限公司 视频编码、解码方法及装置和视频编解码系统
US20090225227A1 (en) * 2008-03-05 2009-09-10 Panasonic Corporation Motion vector detecting device
ES2812473T3 (es) 2008-03-19 2021-03-17 Nokia Technologies Oy Vector de movimiento combinado y predicción de índice de referencia para la codificación de vídeo
US8355443B2 (en) 2008-03-27 2013-01-15 CSR Technology, Inc. Recursive motion for motion detection deinterlacer
WO2010017166A2 (en) 2008-08-04 2010-02-11 Dolby Laboratories Licensing Corporation Overlapped block disparity estimation and compensation architecture
JP5578775B2 (ja) 2008-09-02 2014-08-27 富士通株式会社 符号化装置および復号装置
KR101377527B1 (ko) * 2008-10-14 2014-03-25 에스케이 텔레콤주식회사 복수 개의 참조 픽처의 움직임 벡터 부호화/복호화 방법 및장치와 그를 이용한 영상 부호화/복호화 장치 및 방법
KR101590511B1 (ko) 2009-01-23 2016-02-02 에스케이텔레콤 주식회사 움직임 벡터 부호화/복호화 장치 및 방법과 그를 이용한 영상 부호화/복호화 장치 및 방법
US8189666B2 (en) 2009-02-02 2012-05-29 Microsoft Corporation Local picture identifier and computation of co-located information
EP3567853B8 (en) 2009-03-23 2024-01-03 Ntt Docomo, Inc. Image predictive decoding device and image predictive decoding method
ES2850074T3 (es) * 2009-06-18 2021-08-25 Toshiba Kk Aparato de decodificación de vídeo y procedimiento de decodificación de vídeo
US9628794B2 (en) * 2009-06-18 2017-04-18 Kabushiki Kaisha Toshiba Video encoding apparatus and a video decoding apparatus
US9060176B2 (en) * 2009-10-01 2015-06-16 Ntt Docomo, Inc. Motion vector prediction in video coding
AU2013202014A1 (en) * 2010-01-14 2013-04-18 Samsung Electronics Co., Ltd Method and apparatus for encoding and decoding motion vector
KR101522850B1 (ko) * 2010-01-14 2015-05-26 삼성전자주식회사 움직임 벡터를 부호화, 복호화하는 방법 및 장치
JP5248632B2 (ja) 2010-01-14 2013-07-31 インテル コーポレイション 動き推定のための技術
US20110176611A1 (en) * 2010-01-15 2011-07-21 Yu-Wen Huang Methods for decoder-side motion vector derivation
CN102131091B (zh) * 2010-01-15 2013-01-23 联发科技股份有限公司 解码端运动向量导出方法
WO2011093688A2 (ko) * 2010-02-01 2011-08-04 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
MX2012010863A (es) * 2010-04-01 2012-10-15 Sony Corp Dispositivo y metodo de procesamiento de imagenes.
KR101752418B1 (ko) * 2010-04-09 2017-06-29 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
EP2580912B1 (en) 2010-07-09 2017-01-25 Samsung Electronics Co., Ltd Method for decoding video by using block merging
US9124898B2 (en) * 2010-07-12 2015-09-01 Mediatek Inc. Method and apparatus of temporal motion vector prediction
ES2785606T3 (es) 2010-07-20 2020-10-07 Ntt Docomo Inc Dispositivo de decodificación predictiva de imágenes, método de decodificación predictiva de imágenes
US9602813B2 (en) * 2010-08-18 2017-03-21 Sk Telecom Co., Ltd. Image encoding/decoding device and method, and reference picture indexing device and method
DK3001686T3 (da) * 2010-10-06 2020-03-23 Ntt Docomo Inc Indretning, fremgangsmåde og program til biprædiktiv billedafkodning
RU2010144450A (ru) 2010-10-29 2012-05-10 ЭлЭсАй Корпорейшн (US) Оценка движения для видео транскодера
US10778969B2 (en) 2010-12-17 2020-09-15 Sun Patent Trust Image coding method and image decoding method
ES2934221T3 (es) * 2010-12-22 2023-02-20 Lg Electronics Inc Método de intrapredicción y aparato que utiliza el método
US9049455B2 (en) 2010-12-28 2015-06-02 Panasonic Intellectual Property Corporation Of America Image coding method of coding a current picture with prediction using one or both of a first reference picture list including a first current reference picture for a current block and a second reference picture list including a second current reference picture for the current block
CN106851306B (zh) 2011-01-12 2020-08-04 太阳专利托管公司 动态图像解码方法和动态图像解码装置
TW201246943A (en) * 2011-01-26 2012-11-16 Panasonic Corp Video image encoding method, video image encoding device, video image decoding method, video image decoding device, and video image encoding and decoding device
JP5323273B2 (ja) * 2011-02-10 2013-10-23 パナソニック株式会社 動画像符号化方法、及び動画像符号化装置
WO2012114694A1 (ja) 2011-02-22 2012-08-30 パナソニック株式会社 動画像符号化方法、動画像符号化装置、動画像復号方法、および、動画像復号装置
US10171813B2 (en) 2011-02-24 2019-01-01 Qualcomm Incorporated Hierarchy of motion prediction video blocks
JP5883431B2 (ja) * 2011-02-25 2016-03-15 パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America 画像符号化方法および画像復号化方法
GB2488816A (en) * 2011-03-09 2012-09-12 Canon Kk Mapping motion vectors from a plurality of reference frames to a single reference frame
CN102685479A (zh) * 2011-03-11 2012-09-19 华为技术有限公司 视频编解码处理方法和装置
US9648334B2 (en) 2011-03-21 2017-05-09 Qualcomm Incorporated Bi-predictive merge mode based on uni-predictive neighbors in video coding
PL3136727T3 (pl) 2011-04-12 2018-11-30 Sun Patent Trust Sposób kodowania ruchomych obrazów i urządzenie do kodowania ruchomych obrazów
WO2012160803A1 (ja) 2011-05-24 2012-11-29 パナソニック株式会社 画像符号化方法、画像符号化装置、画像復号方法、画像復号装置、および、画像符号化復号装置
CA2834123C (en) 2011-05-27 2020-02-11 Panasonic Corporation Image coding method, image coding apparatus, image decoding method, image decoding apparatus, and image coding and decoding apparatus
US9485518B2 (en) 2011-05-27 2016-11-01 Sun Patent Trust Decoding method and apparatus with candidate motion vectors
SG194746A1 (en) 2011-05-31 2013-12-30 Kaba Gmbh Image encoding method, image encoding device, image decoding method, image decoding device, and image encoding/decoding device
EP4270953A3 (en) 2011-05-31 2023-11-22 Sun Patent Trust Video decoding method, video decoding device
JP5786478B2 (ja) * 2011-06-15 2015-09-30 富士通株式会社 動画像復号装置、動画像復号方法、及び動画像復号プログラム
USRE47366E1 (en) 2011-06-23 2019-04-23 Sun Patent Trust Image decoding method and apparatus based on a signal type of the control parameter of the current block
MX2013013508A (es) 2011-06-23 2014-02-27 Panasonic Corp Metodo de decodificacion de imagenes, metodo de codificacion de imagenes, aparato de decodificacion de imagenes, aparato de codificacion de imagenes y aparato de codificacion y decodificacion de imagenes.
TWI581615B (zh) 2011-06-24 2017-05-01 Sun Patent Trust A decoding method, a coding method, a decoding device, an encoding device, and a coding / decoding device
EP2725792B1 (en) 2011-06-24 2018-08-22 Sun Patent Trust Image decoding method and image decoding device
AU2012277214B2 (en) 2011-06-27 2016-05-05 Sun Patent Trust Decoding method, coding method, decoding apparatus, coding apparatus, and coding and decoding apparatus
WO2013001765A1 (ja) 2011-06-28 2013-01-03 パナソニック株式会社 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置及び画像符号化復号装置
EP2728875B1 (en) 2011-06-28 2019-01-09 LG Electronics Inc. Method for setting motion vector list
WO2013001767A1 (ja) 2011-06-29 2013-01-03 パナソニック株式会社 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置及び画像符号化復号装置
KR102060619B1 (ko) 2011-06-30 2019-12-30 선 페이턴트 트러스트 화상 복호 방법, 화상 부호화 방법, 화상 복호 장치, 화상 부호화 장치 및 화상 부호화 복호 장치
KR102200578B1 (ko) 2011-06-30 2021-01-11 가부시키가이샤 제이브이씨 켄우드 화상 부호화 장치, 화상 부호화 방법, 화상 부호화 프로그램, 화상 복호 장치, 화상 복호 방법 및 화상 복호 프로그램
KR102365353B1 (ko) * 2011-06-30 2022-02-23 가부시키가이샤 제이브이씨 켄우드 화상 부호화 장치, 화상 부호화 방법, 화상 부호화 프로그램, 화상 복호 장치, 화상 복호 방법 및 화상 복호 프로그램
AU2012277220B2 (en) 2011-06-30 2016-08-11 Sun Patent Trust Image decoding method, image coding method, image decoding apparatus, image coding apparatus, and image coding and decoding apparatus
KR101900986B1 (ko) 2011-06-30 2018-09-20 선 페이턴트 트러스트 화상 복호 방법, 화상 부호화 방법, 화상 복호 장치, 화상 부호화 장치, 및, 화상 부호화 복호 장치
US9232233B2 (en) * 2011-07-01 2016-01-05 Apple Inc. Adaptive configuration of reference frame buffer based on camera and background motion
MX2014000159A (es) 2011-07-02 2014-02-19 Samsung Electronics Co Ltd Metodo y aparato para la codificacion de video, y metodo y aparato para la decodificacion de video acompañada por inter prediccion utilizando imagen co-localizada.
CN106851295B (zh) 2011-07-11 2019-10-18 太阳专利托管公司 编码方法及编码装置
EP2741499A4 (en) 2011-08-03 2014-12-10 Panasonic Ip Corp America VIDEO CODING METHOD, VIDEO CODING METHOD, VIDEO CODING DEVICE, VIDEO ENCODING DEVICE AND VIDEO ENCODING / DECODING DEVICE
CN103858428B (zh) 2011-10-19 2018-07-03 太阳专利托管公司 图像编码方法、图像编码装置、图像解码方法及图像解码装置
KR102365524B1 (ko) 2011-11-02 2022-02-23 타지반 투 엘엘씨 동화상 부호화 방법, 동화상 부호화 장치, 동화상 복호 방법, 동화상 복호 장치, 및, 동화상 부호화 복호 장치
JP5485969B2 (ja) * 2011-11-07 2014-05-07 株式会社Nttドコモ 動画像予測符号化装置、動画像予測符号化方法、動画像予測符号化プログラム、動画像予測復号装置、動画像予測復号方法及び動画像予測復号プログラム
AU2015201551B2 (en) * 2011-11-08 2015-06-18 Samsung Electronics Co., Ltd. Method and device for determining motion vector for video coding or video decoding
RU2566957C2 (ru) 2011-11-08 2015-10-27 Самсунг Электроникс Ко., Лтд. Способ и устройство для определения вектора движения в кодировании или декодировании видео
WO2013099031A1 (ja) * 2011-12-28 2013-07-04 株式会社安川電機 エンジニアリングツール
US20130177084A1 (en) * 2012-01-10 2013-07-11 Qualcomm Incorporated Motion vector scaling in video coding
TWI580259B (zh) * 2012-01-18 2017-04-21 Jvc Kenwood Corp Dynamic image decoding device, dynamic image decoding method, and dynamic image decoding program
PL2805511T3 (pl) 2012-01-20 2019-09-30 Sun Patent Trust Sposoby i urządzenie do kodowania i dekodowania wideo przy użyciu predykcji wektora ruchu w czasie
JPWO2013111596A1 (ja) * 2012-01-26 2015-05-11 パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America 動画像符号化方法および動画像符号化装置
CA2827194C (en) 2012-02-03 2018-01-16 Panasonic Corporation Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding and decoding apparatus
EP2824920A4 (en) 2012-03-06 2016-02-17 Panasonic Ip Corp America VIDEO CODING METHOD, VIDEO CODING METHOD, VIDEO COORDING DEVICE, VIDEO CODING DEVICE AND VIDEO CODING / DECODING DEVICE
US10200709B2 (en) 2012-03-16 2019-02-05 Qualcomm Incorporated High-level syntax extensions for high efficiency video coding
US9247196B1 (en) * 2012-08-30 2016-01-26 Ambarella, Inc. High efficiency video coding for video with interlaced and progressive content using lookahead
CN104704827B (zh) 2012-11-13 2019-04-12 英特尔公司 用于下一代视频的内容自适应变换译码
US9106793B2 (en) 2013-01-03 2015-08-11 Cisco Technology, Inc. Method and apparatus for motion based participant switching in multipoint video conferences
EP3085085A4 (en) * 2014-01-29 2017-11-08 MediaTek Inc. Method and apparatus for adaptive motion vector precision
US10091507B2 (en) 2014-03-10 2018-10-02 Euclid Discoveries, Llc Perceptual optimization for model-based video encoding
US10097851B2 (en) 2014-03-10 2018-10-09 Euclid Discoveries, Llc Perceptual optimization for model-based video encoding
US9621917B2 (en) * 2014-03-10 2017-04-11 Euclid Discoveries, Llc Continuous block tracking for temporal prediction in video encoding
KR101635111B1 (ko) * 2014-05-15 2016-06-30 삼성전자주식회사 움직임 벡터를 부호화, 복호화하는 방법 및 장치
JP2016066922A (ja) * 2014-09-25 2016-04-28 ソニー株式会社 信号処理装置、撮像装置、および、それらにおける信号処理方法。
FR3029055B1 (fr) * 2014-11-24 2017-01-13 Ateme Procede d'encodage d'image et equipement pour la mise en oeuvre du procede
US10148965B2 (en) * 2015-03-04 2018-12-04 Panasonic Intellectual Property Management Co., Ltd. Moving image coding apparatus and moving image coding method
CN106303544B (zh) * 2015-05-26 2019-06-11 华为技术有限公司 一种视频编解码方法、编码器和解码器
US20190014326A1 (en) * 2017-07-06 2019-01-10 Intel Corporation Imu enhanced reference list management and encoding
US10602178B1 (en) * 2017-12-21 2020-03-24 Mozilla Corporation Systems and methods for frame context selection
CN116647695A (zh) 2018-09-06 2023-08-25 Lg电子株式会社 图像解码设备、图像编码设备和数据发送设备
CN111083491A (zh) 2018-10-22 2020-04-28 北京字节跳动网络技术有限公司 细化运动矢量的利用
WO2020098655A1 (en) 2018-11-12 2020-05-22 Beijing Bytedance Network Technology Co., Ltd. Motion vector storage for inter prediction
CN117319644A (zh) 2018-11-20 2023-12-29 北京字节跳动网络技术有限公司 基于部分位置的差计算
WO2020103870A1 (en) * 2018-11-20 2020-05-28 Beijing Bytedance Network Technology Co., Ltd. Inter prediction with refinement in video processing
CN117119181B (zh) * 2019-02-20 2024-03-26 北京达佳互联信息技术有限公司 用于视频编码和视频解码的方法、计算设备和存储介质
JP2022521554A (ja) 2019-03-06 2022-04-08 北京字節跳動網絡技術有限公司 変換された片予測候補の利用
US11601656B2 (en) * 2021-06-16 2023-03-07 Western Digital Technologies, Inc. Video processing in a data storage device

Family Cites Families (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US38563A (en) * 1863-05-19 Improvement jn lighting gas by electricity
US5086439A (en) * 1989-04-18 1992-02-04 Mitsubishi Denki Kabushiki Kaisha Encoding/decoding system utilizing local properties
JPH0420088A (ja) 1990-05-14 1992-01-23 Victor Co Of Japan Ltd フレーム間符号化装置
JP3031638B2 (ja) 1991-01-30 2000-04-10 富士通株式会社 蓄積用動画像符号化方式における補間フレームのベクトル探索方法
JPH05137131A (ja) 1991-11-13 1993-06-01 Sony Corp フレーム間動き予測方法
JPH0662391A (ja) 1992-08-10 1994-03-04 Nippon Telegr & Teleph Corp <Ntt> 動画像予測符号化方法
US5329365A (en) * 1993-07-07 1994-07-12 Rca Thomson Licensing Corporation Method and apparatus for providing compressed non-interlaced scanned video signal
KR0148154B1 (ko) 1994-06-15 1998-09-15 김광호 움직임크기에 따른 동영상데이타의 부호화방법 및 장치
JP3513277B2 (ja) 1995-08-29 2004-03-31 シャープ株式会社 映像符号化装置及び映像復号化装置
US5724446A (en) * 1995-04-18 1998-03-03 Advanced Micro Devices, Inc. Video decoder apparatus using non-reference frame as an additional prediction source and method therefor
US5809173A (en) * 1995-04-18 1998-09-15 Advanced Micro Devices, Inc. Method and apparatus for improved video decompression using previous frame DCT coefficients
EP1274254B1 (en) * 1995-08-29 2011-07-06 Sharp Kabushiki Kaisha Video coding device and video decoding device with a motion compensated interframe prediction
JP2001224036A (ja) * 1995-10-18 2001-08-17 Sharp Corp 動画像符号化装置
JP2872109B2 (ja) * 1996-05-14 1999-03-17 株式会社グラフィックス・コミュニケーション・ラボラトリーズ 動画像符号化方法および装置
JP3344577B2 (ja) 1996-09-09 2002-11-11 ソニー株式会社 画像符号化装置および画像符号化方法、画像復号化装置および画像復号化方法、並びに記録方法
JP3263807B2 (ja) * 1996-09-09 2002-03-11 ソニー株式会社 画像符号化装置および画像符号化方法
JP3019787B2 (ja) 1996-09-20 2000-03-13 日本電気株式会社 動きベクトル検出装置
JPH10126787A (ja) 1996-10-14 1998-05-15 Nec Eng Ltd Pピクチャの予測ベクトルをオフセットベクトルとした双方向予測ベクトル検出回路
US5991447A (en) 1997-03-07 1999-11-23 General Instrument Corporation Prediction and coding of bi-directionally predicted video object planes for interlaced digital video
US6005980A (en) * 1997-03-07 1999-12-21 General Instrument Corporation Motion estimation and compensation of video object planes for interlaced digital video
JP3776735B2 (ja) 1997-04-09 2006-05-17 松下電器産業株式会社 画像予測復号化方法,画像予測復号化装置,画像予測符号化方法,画像予測符号化装置,及びデータ記憶媒体
SG65064A1 (en) * 1997-04-09 1999-05-25 Matsushita Electric Ind Co Ltd Image predictive decoding method image predictive decoding apparatus image predictive coding method image predictive coding apparatus and data storage media
DE69838281T2 (de) 1997-06-25 2008-05-15 Nippon Telegraph And Telephone Corp. Bewegungsprädiktives bildkodierungsverfahren sowie speichermedium zur speicherung des entsprechenden programms
JPH1169356A (ja) * 1997-08-25 1999-03-09 Mitsubishi Electric Corp 動画像符号化方式及び動画像復号方式
US6807231B1 (en) * 1997-09-12 2004-10-19 8×8, Inc. Multi-hypothesis motion-compensated video image predictor
US6249318B1 (en) * 1997-09-12 2001-06-19 8×8, Inc. Video coding/decoding arrangement and method therefor
US6396874B1 (en) * 1997-11-12 2002-05-28 Sony Corporation Decoding method and apparatus and recording method and apparatus for moving picture data
JP3523481B2 (ja) 1998-02-23 2004-04-26 シャープ株式会社 映像符号化装置及び映像復号化装置並びに映像符号化方法及び映像復号化方法
JP3724204B2 (ja) * 1998-03-10 2005-12-07 ソニー株式会社 符号化装置および方法、並びに記録媒体
US6274537B1 (en) * 1998-08-05 2001-08-14 Samsung Electronics Co., Ltd. Use of alkoxy N-hydroxyalkyl alkanamide as resist removing agent, composition for removing resist, method for preparing the same and resist removing method using the same
GB2360662B (en) 1999-05-13 2002-01-09 Nec Corp Picture coding apparatus
JP3329768B2 (ja) 1999-07-05 2002-09-30 日本電信電話株式会社 画像符号化データの再符号化方法およびそのプログラム記録媒体
JP2001045475A (ja) 1999-07-27 2001-02-16 Matsushita Electric Ind Co Ltd 映像信号階層化符号化装置と映像信号階層化復号化装置及びプログラム記録媒体
JP2001086508A (ja) * 1999-09-13 2001-03-30 Victor Co Of Japan Ltd 動画像復号方法及び動画像復号装置
JP3757088B2 (ja) * 1999-10-26 2006-03-22 日本電気株式会社 動画像符号化装置および方法
US7253831B2 (en) * 2000-05-10 2007-08-07 Polycom, Inc. Video coding using multiple buffers
GB2362532B (en) * 2000-05-15 2004-05-05 Nokia Mobile Phones Ltd Video coding
US7027711B2 (en) * 2000-06-26 2006-04-11 Matsushita Electric Industrial Co., Ltd. Editing apparatus for an optical disk, computer-readable storage medium, and computer program
JP4245790B2 (ja) 2000-08-29 2009-04-02 オリンパス株式会社 超音波処置具
US6738980B2 (en) * 2001-11-15 2004-05-18 Industrial Technology Research Institute Methods and systems for video streaming with VCR functionality
CA2468087C (en) * 2001-11-21 2013-06-25 General Instrument Corporation Macroblock level adaptive frame/field coding for digital video content
EP2268041A1 (en) 2001-11-21 2010-12-29 General Instrument Corporation Picture level adaptive frame/field coding for digital video content
US6980596B2 (en) * 2001-11-27 2005-12-27 General Instrument Corporation Macroblock level adaptive frame/field coding for digital video content
US7003035B2 (en) * 2002-01-25 2006-02-21 Microsoft Corporation Video coding methods and apparatuses
JP2004088722A (ja) 2002-03-04 2004-03-18 Matsushita Electric Ind Co Ltd 動画像符号化方法および動画像復号化方法
PT3525464T (pt) * 2002-04-19 2021-04-06 Panasonic Ip Corp America Método e sistema de codificação e descodificação de imagem
KR100506864B1 (ko) 2002-10-04 2005-08-05 엘지전자 주식회사 모션벡터 결정방법

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190018761A (ko) * 2010-11-24 2019-02-25 벨로스 미디어 인터내셔널 리미티드 움직임 벡터 산출 방법, 화상 부호화 방법, 화상 복호 방법, 움직임 벡터 산출 장치 및 화상 부호화 복호 장치
KR20180014198A (ko) * 2010-11-24 2018-02-07 벨로스 미디어 인터내셔널 리미티드 움직임 벡터 산출 방법, 화상 부호화 방법, 화상 복호 방법, 움직임 벡터 산출 장치 및 화상 부호화 복호 장치
US10778996B2 (en) 2010-11-24 2020-09-15 Velos Media, Llc Method and apparatus for decoding a video block
KR20200014948A (ko) * 2010-11-24 2020-02-11 벨로스 미디어 인터내셔널 리미티드 움직임 벡터 산출 방법, 화상 부호화 방법, 화상 복호 방법, 움직임 벡터 산출 장치 및 화상 부호화 복호 장치
US10218997B2 (en) 2010-11-24 2019-02-26 Velos Media, Llc Motion vector calculation method, picture coding method, picture decoding method, motion vector calculation apparatus, and picture coding and decoding apparatus
US9924188B2 (en) 2011-01-07 2018-03-20 Lg Electronics Inc. Method for encoding and decoding image information to determine reference index in skip mode or merge mode and device using same
US10257535B2 (en) 2011-01-07 2019-04-09 Lg Electronics Inc. Method for encoding and decoding image information and device using same
WO2012093898A3 (ko) * 2011-01-07 2012-11-29 엘지전자 주식회사 영상 정보 부호화 방법 및 복호화 방법과 이를 이용한 장치
US10715825B2 (en) 2011-01-07 2020-07-14 Lg Electronic Inc. Method for encoding and decoding image information and device using same
US9918101B2 (en) 2011-01-07 2018-03-13 Lg Electronics Inc. Method for encoding and decoding image information and device using same
US11102502B2 (en) 2011-01-07 2021-08-24 Lg Electronics, Inc Method for encoding and decoding image information and device using same
US11825110B2 (en) 2011-01-07 2023-11-21 Lg Electronics Inc. Method for encoding and decoding image information and device using same
KR101878008B1 (ko) * 2011-03-03 2018-07-13 선 페이턴트 트러스트 동화상 부호화 방법, 동화상 복호 방법, 동화상 부호화 장치, 동화상 복호 장치 및 동화상 부호화 복호 장치

Also Published As

Publication number Publication date
EP1411729A4 (en) 2007-03-07
KR20100005233A (ko) 2010-01-14
EP1411729A1 (en) 2004-04-21
US8958480B2 (en) 2015-02-17
HUE045566T2 (hu) 2020-01-28
US20170048544A1 (en) 2017-02-16
HUE053922T2 (hu) 2021-07-28
US7940845B2 (en) 2011-05-10
US9693074B2 (en) 2017-06-27
AU2003231356B2 (en) 2009-10-01
EP1441537A1 (en) 2004-07-28
US10440386B2 (en) 2019-10-08
US20100202539A1 (en) 2010-08-12
US20190014341A1 (en) 2019-01-10
PT3525465T (pt) 2021-05-10
HUE044739T2 (hu) 2019-11-28
HUE044582T2 (hu) 2019-11-28
US20170324976A1 (en) 2017-11-09
ES2742799T3 (es) 2020-02-17
US20140064376A1 (en) 2014-03-06
US20040136461A1 (en) 2004-07-15
US9723323B2 (en) 2017-08-01
US20160112716A1 (en) 2016-04-21
US9723325B2 (en) 2017-08-01
US20170085907A1 (en) 2017-03-23
US9948947B2 (en) 2018-04-17
US8964848B2 (en) 2015-02-24
US20170048546A1 (en) 2017-02-16
US20080063075A1 (en) 2008-03-13
AU2003235174A1 (en) 2003-11-03
US10404995B2 (en) 2019-09-03
PT3525467T (pt) 2021-04-08
US20170048547A1 (en) 2017-02-16
US20170302955A1 (en) 2017-10-19
US9955181B2 (en) 2018-04-24
US20180376162A1 (en) 2018-12-27
US8929453B2 (en) 2015-01-06
EP3525466A1 (en) 2019-08-14
KR20080031519A (ko) 2008-04-08
US20170302956A1 (en) 2017-10-19
CA2451568A1 (en) 2003-10-30
ES2745058T3 (es) 2020-02-27
US20140064375A1 (en) 2014-03-06
CN1518834A (zh) 2004-08-04
ES2743606T3 (es) 2020-02-20
HUE053955T2 (hu) 2021-08-30
ES2745044T3 (es) 2020-02-27
US20120328024A1 (en) 2012-12-27
US9723324B2 (en) 2017-08-01
US8290049B2 (en) 2012-10-16
EP3525466B1 (en) 2022-02-09
KR101011849B1 (ko) 2011-01-31
CN1290341C (zh) 2006-12-13
HUE044584T2 (hu) 2019-11-28
US20150172701A1 (en) 2015-06-18
HUE044616T2 (hu) 2019-11-28
MXPA03011334A (es) 2004-04-20
KR100931746B1 (ko) 2009-12-14
US8971411B2 (en) 2015-03-03
US9485519B2 (en) 2016-11-01
US20150131736A1 (en) 2015-05-14
US20170048545A1 (en) 2017-02-16
US20190020891A1 (en) 2019-01-17
US9083980B2 (en) 2015-07-14
US9729896B2 (en) 2017-08-08
KR20090086610A (ko) 2009-08-13
EP1411729B1 (en) 2016-03-23
ES2745059T3 (es) 2020-02-27
CN1518833A (zh) 2004-08-04
US20140072047A1 (en) 2014-03-13
US10097855B2 (en) 2018-10-09
PT3525464T (pt) 2021-04-06
CN1277419C (zh) 2006-09-27
CA2451568C (en) 2012-08-21
AU2003231356A1 (en) 2003-11-03
US20160100185A1 (en) 2016-04-07
US20140072046A1 (en) 2014-03-13
US10397602B2 (en) 2019-08-27
US9516338B2 (en) 2016-12-06
MY155930A (en) 2015-12-31
US9948948B2 (en) 2018-04-17
WO2003090475A1 (fr) 2003-10-30
CA2451571A1 (en) 2003-10-30
WO2003090473A1 (fr) 2003-10-30
HUE054106T2 (hu) 2021-08-30
US7733960B2 (en) 2010-06-08
KR100931750B1 (ko) 2009-12-14
US9264730B2 (en) 2016-02-16
US20170302957A1 (en) 2017-10-19
EP1441537A4 (en) 2006-06-07
US8605789B2 (en) 2013-12-10

Similar Documents

Publication Publication Date Title
KR101031423B1 (ko) 움직임 벡터 계산방법
KR100931746B1 (ko) 움직임 벡터 계산방법
KR100967237B1 (ko) 동화상 부호화 방법 및 동화상 복호화 방법
KR100948714B1 (ko) 동화상 부호화 방법 및 동화상 복호화 방법
KR100985366B1 (ko) 움직임 보상 방법, 화상 부호화 방법 및 화상 복호화 방법
KR100946848B1 (ko) 움직임 벡터 부호화 장치와 그 방법 및 기록매체
JP5167232B2 (ja) 動きベクトル符号化方法、装置およびデータ記憶媒体
JP2004208259A (ja) 動きベクトル計算方法
JP2004208258A (ja) 動きベクトル計算方法
JP4672752B2 (ja) 動きベクトル符号化方法
JP3878591B2 (ja) 動画像符号化方法および動画像復号化方法
JP3884472B2 (ja) 動画像符号化方法および動画像復号化方法

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid