KR100946845B1 - 움직임 벡터 부호화 장치와 그 방법, 움직임 벡터 복호화 장치와 그 방법, 동화상 부호화 장치, 프로그램, 및 기억 매체 - Google Patents

움직임 벡터 부호화 장치와 그 방법, 움직임 벡터 복호화 장치와 그 방법, 동화상 부호화 장치, 프로그램, 및 기억 매체 Download PDF

Info

Publication number
KR100946845B1
KR100946845B1 KR1020097022828A KR20097022828A KR100946845B1 KR 100946845 B1 KR100946845 B1 KR 100946845B1 KR 1020097022828 A KR1020097022828 A KR 1020097022828A KR 20097022828 A KR20097022828 A KR 20097022828A KR 100946845 B1 KR100946845 B1 KR 100946845B1
Authority
KR
South Korea
Prior art keywords
motion vector
block
picture
encoding
encoded
Prior art date
Application number
KR1020097022828A
Other languages
English (en)
Other versions
KR20090130305A (ko
Inventor
사토시 곤도
신야 가도노
마코토 하가이
기요후미 아베
Original Assignee
파나소닉 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=27348065&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=KR100946845(B1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by 파나소닉 주식회사 filed Critical 파나소닉 주식회사
Publication of KR20090130305A publication Critical patent/KR20090130305A/ko
Application granted granted Critical
Publication of KR100946845B1 publication Critical patent/KR100946845B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/02Detecting, measuring or recording pulse, heart rate, blood pressure or blood flow; Combined pulse/heart-rate/blood pressure determination; Evaluating a cardiovascular condition not otherwise provided for, e.g. using combinations of techniques provided for in this group with electrocardiography or electroauscultation; Heart catheters for measuring blood pressure
    • A61B5/021Measuring pressure in heart or blood vessels
    • A61B5/022Measuring pressure in heart or blood vessels by applying pressure to close blood vessels, e.g. against the skin; Ophthalmodynamometers
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/02Detecting, measuring or recording pulse, heart rate, blood pressure or blood flow; Combined pulse/heart-rate/blood pressure determination; Evaluating a cardiovascular condition not otherwise provided for, e.g. using combinations of techniques provided for in this group with electrocardiography or electroauscultation; Heart catheters for measuring blood pressure
    • A61B5/026Measuring blood flow
    • A61B5/0261Measuring blood flow using optical means, e.g. infrared light
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/72Signal processing specially adapted for physiological signals or for diagnostic purposes
    • A61B5/7203Signal processing specially adapted for physiological signals or for diagnostic purposes for noise prevention, reduction or removal
    • A61B5/7207Signal processing specially adapted for physiological signals or for diagnostic purposes for noise prevention, reduction or removal of noise induced by motion artifacts
    • 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/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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/521Processing of motion vectors for estimating the reliability of the determined motion vectors or motion vector field, e.g. for smoothing the motion vector field or for correcting motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/533Motion estimation using multistep search, e.g. 2D-log search or one-at-a-time search [OTS]
    • 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/537Motion estimation other than block-based
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/56Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/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/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • 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/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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/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/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

Abstract

움직임 벡터 부호화부(117)에서는, 부호화 대상 블록의 주변에 있는 주변 블록을 특정하는 주변 블록 특정 단계(S100)와, 상기 주변 블록이 다른 블록의 움직임 벡터를 사용하여 부호화되어 있는지 여부를 판별하는 판별 단계(단계 S102, S104)와, 상기 다른 블록의 움직임 벡터로부터 구해진 움직임 벡터를 상기 주변 블록의 움직임 벡터로서 사용하여, 상기 부호화 대상 블록의 움직임 벡터의 예측값을 도출하는 예측 단계(S106, S108)와, 상기 부호화 대상 블록의 움직임 벡터를, 상기 예측값을 사용하여 부호화하는 부호화 단계(S110)를 포함한다.

Description

움직임 벡터 부호화 장치와 그 방법, 움직임 벡터 복호화 장치와 그 방법, 동화상 부호화 장치, 프로그램, 및 기억 매체{MOTION VECTOR ENCODING METHOD AND MOTION VECTOR DECODING METHOD}
본 발명은, 픽처 간 예측 부호화를 사용하는 움직임 벡터 부호화 방법 및 움직임 벡터 복호화 방법에 관한 것이다.
최근, 음성, 화상, 그 밖의 데이터를 통합적으로 취급하는 멀티미디어 시대를 맞이하여, 종래부터의 정보 미디어, 즉 신문, 잡지, TV, 라디오, 전화 등의 정보를 사람에게 전달하는 수단이 멀티미디어의 대상이 되어 왔다. 일반적으로, 멀티미디어란, 문자 뿐만 아니라, 도형, 음성, 특히 화상 등을 동시에 관련지어 표시하는 것을 말하지만, 상기 종래의 정보 미디어를 멀티미디어의 대상으로 하기 위해서는, 그 정보를 디지털 형식으로 하여 표시하는 것이 필수 조건이 된다.
그런데, 상기 각 정보 미디어가 갖는 정보량을 디지털 정보량으로서 추정하여 보면, 문자의 경우 1문자당의 정보량은 1 ∼ 2바이트인 것에 비해, 음성의 경우 1초당 64Kbits(전화 품질), 또한 동화상에 대해서는 1초당 100Mbits(현행 TV 수신 품질) 이상의 정보량이 필요해져, 상기 정보 미디어로 그 방대한 정보를 디지털 형 식으로 그대로 취급하는 것은 현실적이지 않다. 예를 들면, TV 전화는, 64Kbit/s ∼ 1.5Mbits/s의 전송 속도를 갖는 서비스 종합 디지털망(ISDN : Integrated Services Digital Network)에 의해 이미 실용화되어 있지만, TV·카메라의 영상을 그대로 ISDN으로 보내는 것은 불가능하다.
그래서, 필요해지는 것이 정보의 압축 기술이고, 예를 들면, TV 전화의 경우, ITU-T(국제전기통신연합 전기통신 표준화 부문)에서 국제 표준화된 H.261이나 H. 263 규격의 동화상 압축 기술이 사용되고 있다(예를 들면, Information technology - Coding of audio-visual objects - Part2 : video(ISO/IEC 14496-2), pp.146-148, 1999. 12. 1 참조. ). 또, MPEG-1 규격의 정보 압축 기술에 의하면, 통상의 음악용 CD(컴팩트 디스크)에 음성 정보와 함께 화상 정보를 넣는 것도 가능해진다.
여기서, MPEG(Moving Picture Experts Group)란, 동화상 신호 압축의 국제 규격이며, MPEG-1은, 동화상 신호를 1.5Mbps까지, 즉 TV 신호의 정보를 약 100분의 1로까지 압축하는 규격이다. 또, MPEG-1 규격을 대상으로 하는 전송 속도가 주로 약 1.5Mbps로 제한되어 있으므로, 한층 더 고화질화의 요구를 만족시키도록 규격화된 MPEG-2에서는, 동화상 신호가 2 ∼ 15Mbps로 압축된다. 또한 현 상황에서는, MPEG-1, MPEG-2와 표준화를 진행해 온 작업 그룹(ISO/1 ECJTC1/SC29/WG11)에 의해, MPEG-1, MPEG-2를 상회하는 압축률을 달성하고, 또한 물체 단위로 부호화·복호화·조작을 가능하게 하여, 멀티미디어 시대에 필요한 새로운 기능을 실현하는 MPEG-4가 규격화되었다. MPEG-4에서는, 당초, 저 비트 레이트의 부호화 방법의 표준화 를 목표로 하여 진행되었으나, 현재는 인터레이스 화상도 포함하는 고 비트 레이트도 포함하는, 보다 범용적인 부호화로 확장되고 있다.
상기의 동화상 부호화에 있어서는, 일반적으로 동화상이 갖는 공간 방향 및 시간 방향의 용장성을 이용하여 정보량의 압축을 행다. 여기서, 시간 방향의 용장성을 이용하는 방법으로서, 픽처 간 예측 부호화가 사용된다. 픽처 간 예측 부호화에서는, 한 픽처를 부호화할 때, 시간적으로 전방 또는 후방에 있는 픽처를 참조 픽처로 한다. 그리고, 그 참조 픽처로부터의 움직임량(움직임 벡터)을 검출하여, 움직임 보상을 행한 픽처와 부호화 대상 픽처와의 차분값에 대해 공간 방향의 용장도를 제거함으로써 정보량의 압축을 행한다.
MPEG-1, MPEG-2, MPEG-4, H. 263, H. 26L 등의 동화상 부호화 방식에서는, 픽처 간 예측 부호화를 행하지 않는, 즉 픽처 내 부호화를 행하는 픽처를 I픽처라고 부른다. 여기서 픽처란, 프레임 및 필드의 양자를 포함하는 1개의 부호화의 단위를 의미한다. 또, 1개의 픽처를 참조하여 픽처 간 예측 부호화하는 픽처를 P픽처라고 부르고, 처리가 끝난 2개의 픽처를 참조하여 픽처 간 예측 부호화하는 픽처를 B픽처라고 부른다.
도 1은 상기의 동화상 부호화 방식에서의 각 픽처의 예측 관계를 나타낸 관계 표시도이다.
이 도 1에서, 세로선은 1장의 픽처를 나타내고 있고, 각 픽처의 우측 아래에 픽처 타입(I, P, B)을 나타내고 있다. 또 도 1중의 화살표는, 화살표의 종단에 있는 픽처가, 화살표의 시단에 있는 픽처를 참조 픽처로서 사용하여 픽처 간 예측 부 호화하는 것을 나타내고 있다. 예를 들면, 선두로부터 2번째장의 B픽처는, 선두의 I픽처와 선두로부터 4번째장의 P픽처를 참조 픽처로서 사용함으로써 부호화된다.
MPEG-4나 H. 26L 등의 동화상 부호화 방식에서는, B픽처의 부호화에서, 다이렉트 모드라는 부호화 모드를 선택할 수 있다.
다이렉트 모드에서의 픽처 간 예측 부호화 방법을 도 2를 사용하여 설명한다.
도 2는 다이렉트 모드에서의 픽처 간 예측 부호화 방법을 설명하기 위한 설명도이다.
지금, 픽처 (B3)의 블록 (C)를 다이렉트 모드로 부호화한다고 가정한다. 이 경우, 픽처 (B3)의 직전에 부호화된 참조 픽처(이 경우에는 후방 참조 픽처인 픽처 (P4))중의, 블록 (C)와 같은 위치에 있는 블록 (X)의 움직임 벡터 (MVp)를 이용한다. 움직임 벡터 (MVp)는, 블록 (X)가 부호화되었을 때 사용된 움직임 벡터이고, 픽처 (P1)을 참조하고 있다. 블록 (C)에 대해서는, 움직임 벡터 (MVp)와 평행한 움직임 벡터를 사용하여, 참조 픽처인 픽처 (P1)과 픽처 (P4)로부터 쌍방향 예측이 행해진다. 이 경우의 블록 (C)를 부호화할 때 사용되는 움직임 벡터는, 픽처 (P1)에 대해서는 움직임 벡터 (MVFc), 픽처 (P4)에 대해서는 움직임 벡터 (MVBc)가 된다.
또, MPEG-4나 H. 26L 등의 동화상 부호화 방식에서는, 움직임 벡터의 부호화시에, 주변 블록의 움직임 벡터로부터의 예측값과 부호화 대상 블록의 움직임 벡터와의 차분값을 부호화한다. 이하, 단순히「예측값」이라고 부르는 경우는, 움직임 벡터의 예측값인 것을 나타낸다. 대부분의 경우에는, 근방의 블록의 움직임 벡터는 같은 방향 및 크기를 갖기 때문에, 주변 블록의 움직임 벡터로부터의 예측값과의 차분값을 부호화함으로써, 움직임 벡터의 부호량의 삭감을 도모할 수 있다.
여기서, MPEG-4에서의 움직임 벡터의 부호화 방법에 대해, 도 3을 사용하여 설명한다.
도 3은, MPEG-4에서의 부호화 대상 블록 (A)의 움직임 벡터 (MV)의 부호화 방법을 설명하기 위한 설명도이다.
이 도 3 중의 (a) ∼ (d)에서, 굵은 테두리로 나타낸 블록은 16×16 화소의 매크로 블록을 나타내고 있고, 그 중에 8×8 화소의 블록이 4개 존재한다. 여기서는, 8×8 화소의 블록을 단위로 하여, 움직임 벡터가 구해지고 있는 것으로 한다.
도 3의 (a)에 도시하는 바와 같이, 매크로 블록 내의 좌측 위에 위치하는 부호화 대상 블록 (A)에 대해서는, 그 좌측에 있는 주변 블록 (B)의 움직임 벡터 (MVb), 상측에 있는 주변 블록 (C)의 움직임 벡터 (MVc), 및 우측 위에 있는 주변 블록 (D)의 움직임 벡터 (MVd)로부터 구해진 예측값과, 부호화 대상 블록 (A)의 움직임 벡터 (MV)와의 차분값이 부호화된다.
이것과 마찬가지로, 도 3의 (b)에 도시하는 바와 같이, 매크로 블록 내의 우측 위에 위치하는 부호화 대상 블록 (A)에 대해서는, 그 좌측에 있는 주변 블록 (B)의 움직임 벡터 (MVb), 상측에 있는 주변 블록 (C)의 움직임 벡터 (MVc), 및 우상측에 있는 주변 블록 (D)의 움직임 벡터 (MVd)로부터 구해진 예측값과, 부호화 대상 블록 (A)의 움직임 벡터 (MV)와의 차분값이 부호화된다.
또, 도 3의 (c)에 도시하는 바와 같이, 매크로 블록 내의 좌측 아래에 위치하는 부호화 대상 블록 (A)에 대해서는, 그 좌측에 있는 주변 블록 (B)의 움직임 벡터 (MVb), 상측에 있는 주변 블록 (C)의 움직임 벡터 (MVc), 및 우측 위에 있는 주변 블록 (D)의 움직임 벡터 (MVd)로부터 구해진 예측값과, 부호화 대상 블록 (A)의 움직임 벡터 (MV)와의 차분값이 부호화된다.
그리고, 도 3의 (d)에 나타낸 바와 같이, 매크로 블록 내의 우측 아래에 위치하는 부호화 대상 블록 (A)에 대해서는, 그 좌측에 있는 주변 블록 (B)의 움직임 벡터 (MVb), 좌측 위에 있는 주변 블록 (C)의 움직임 벡터 (MVc), 및 상측에 있는 주변 블록 (D)의 움직임 벡터 (MVd)로부터 구해진 예측값과, 부호화 대상 블록 (A)의 움직임 벡터 (MV)와의 차분값이 부호화된다. 여기서 예측값은, 3개의 움직임 벡터 (MVb, MVc, MVd)의 수평 성분, 수직 성분마다 중앙값(미디언)을 취해 구해진다.
다음으로, 현재 규격 책정중인 H. 26L에서의 움직임 벡터의 부호화 방법에 대해, 도 4를 사용하여 설명한다.
도 4는, H. 26L에서의 부호화 대상 블록 (A)의 움직임 벡터 (MV)의 부호화 방법을 설명하기 위한 설명도이다.
부호화 대상 블록 (A)는, 4×4 화소, 8×8 화소 또는 16×16 화소의 블록이며, 이 부호화 대상 블록 (A)의 움직임 벡터를 부호화할 때는, 그 부호화 대상 블록 (A)의 좌측에 위치하는 화소 (b)를 포함하는 주변 블록 (B)의 움직임 벡터와, 부호화 대상 블록 (A)의 상측에 위치하는 화소 (c)를 포함하는 주변 블록 (C)의 움 직임 벡터와, 부호화대상 블록 (A)의 우측 위에 위치하는 화소 (d)를 포함하는 주변 블록 (D)의 움직임 벡터가 사용된다. 또한, 주변 블록 (B, C, D)의 사이즈는, 도 4의 점선으로 나타내는 사이즈에 한정되지 않는다.
도 5는, 이러한 주변 블록 (B, C, D)의 움직임 벡터를 사용하여 부호화 대상 블록 (A)의 움직임 벡터 (MV)가 부호화되는 순서를 도시한 흐름도이다.
먼저, 주변 블록 (B, C, D) 중 부호화 대상 블록 (A)와 같은 픽처를 참조하고 있는 주변 블록을 특정하여(단계 S502), 그 특정된 주변 블록의 수를 판별한다(단계 S504).
그리고, 단계 S504에서 판별된 주변 블록의 수가 1개이면, 같은 픽처를 참조하고 있는 그 1개의 주변 블록의 움직임 벡터를, 부호화 대상 블록 (A)의 움직임 벡터 (MV)의 예측값으로 한다(단계 S506).
또, 단계 S504에서 판별된 주변 블록의 수가 1개 이외이면,
주변 블록 (B, C, D) 중 부호화 대상 블록 (A)와 다른 픽처를 참조하고 있는 주변 블록의 움직임 벡터를 0으로 한다(단계 S507). 그리고, 주변 블록 (B, C, D)의 움직임 벡터의 중앙값을, 부호화 대상 블록 (A)의 움직임 벡터 (MV)의 예측값으로 한다(단계 S508).
이렇게 단계 S506 또는 단계 S508에서 도출된 예측값을 사용하여, 그 예측값과 부호화 대상 블록 (A)의 움직임 벡터 (MV)와의 차분값을 구하여, 그 차분값을 부호화한다(단계 S510).
이상과 같이, MPEG-4 및 H. 26L의 움직임 벡터 부호화 방법에서는, 부호화대 상 블록의 움직임 벡터를 부호화할 때는, 주변 블록의 움직임 벡터를 이용한다.
그러나, 주변 블록에 대해, 움직임 벡터가 부호화되어 있지 않은 경우가 있다. 예를 들면, 그 주변 블록이 픽처 내 부호화로 처리되어 있는 경우나, B픽처에 있어서 다이렉트 모드로서 처리되어 있는 경우나, P픽처에서 스킵 모드로서 처리되어 있는 경우이다. 이러한 경우에는, 그 주변 블록은, 픽처 내 부호화되어 있는 경우를 제외하고, 다른 블록의 움직임 벡터를 사용하여 부호화되어 있고, 그 밖의 경우에는, 주변 블록은 움직임 검출 결과에 기초하는 자신의 움직임 벡터를 사용하여 부호화되어 있다.
그래서 상기 종래의 움직임 벡터 부호화 방법은, 3개의 주변 블록에 상술한 바와 같은 움직임 검출 결과에 기초하는 움직임 벡터를 갖지 않고, 다른 블록의 움직임 벡터를 사용하여 부호화된 주변 블록이 1개 존재하는 경우에는, 그 주변 블록의 움직임 벡터를 0으로 하여 처리하고, 2개 존재하는 경우에는, 나머지 1개의 주변 블록의 움직임 벡터를 예측값으로서 사용하고, 3개 존재하는 경우에는, 예측값은 0으로 하여 움직임 벡터 부호화의 처리를 행한다.
그러나, 다이렉트 모드나 스킵 모드에서는, 움직임 벡터 정보는 부호화되어 있지 않지만, 실제로는 검출 결과에 기초하는 자신의 움직임 벡터를 사용한 경우와 동등한 움직임 보상 처리가 행해지고 있다. 따라서, 상기 종래의 방법에서는, 주변 블록이 다이렉트 모드나 스킵 모드로 부호화되어 있는 경우에, 그들 주변 블록의 움직임 벡터를 예측값의 후보로서 사용하지 않기 때문에, 움직임 벡터의 부호화시에, 움직임 벡터의 예측값의 예측 능력이 낮아져, 그에 따라 부호화 효율이 저하 한다고 하는 문제점이 있다.
본 발명은 상기 문제점을 해결하는 것으로, 움직임 벡터의 예측값의 예측 능력을 높임으로써 부호화 효율을 향상시킨 움직임 벡터 부호화 방법 및 움직임 벡터복호화 방법을 제공하는 것을 목적으로 한다.
상기 목적을 달성하기 위해, 본 발명에 따른 움직임 벡터 부호화 방법은, 동화상의 픽쳐를 구성하는 블록의 부호화 움직임 벡터를 복호화하는 움직임 벡터 복호화 방법에 있어서, 복호화의 대상이 되는 상기 블록의 주변에서 이미 복호화가 끝난 주변 블록을 특정하는 주변 블록 특정 단계; 상기 주변 블록의 움직임 벡터를 이용하여, 복호화의 대상이 되는 상기 블록의 예측 움직임 벡터를 도출하는 예측 움직임 벡터 도출 단계; 상기 예측 움직임 벡터를 이용하여, 복호화의 대상이 되는 상기 블록의 움직임 벡터를 복호화하는 움직임 벡터 복호화 단계를 포함하는 것을 특징으로 한다.
이에 의해, 부호화 대상 블록의 움직임 벡터를, 주변 블록의 움직임 벡터로부터 도출된 예측값을 사용하여 부호화할 때, 그 주변 블록이 다른 블록의 움직임 벡터를 사용하여 부호화되어 있는 경우, 그 주변 블록의 움직임 벡터를 0으로 하지 않고, 상기 다른 블록의 움직임 벡터로부터 구해진 움직임 벡터로 하기 때문에, 상기 예측값의 예측 능력을 높일 수 있어, 그 결과 움직임 벡터의 부호화 효율을 향상시킬 수 있다.
또, 본 발명에 따른 움직임 벡터 복호화 방법은, 동화상의 픽쳐를 구성하는 블록의 부호화 움직임 벡터를 복호화하는 움직임 벡터 복호화 장치에 있어서, 복호화의 대상이 되는 상기 블록의 주변에서 이미 복호화가 끝난 주변 블록을 특정하는 주변 블록 특정 수단; 상기 주변 블록의 움직임 벡터를 이용하여, 복호화의 대상이 되는 상기 블록의 예측 움직임 벡터를 도출하는 예측 움직임 벡터 도출 수단; 상기 예측 움직임 벡터를 이용하여, 복호화의 대상이 되는 상기 블록의 움직임 벡터를 복호화하는 움직임 벡터 복호화 수단을 포함하고, 여기서, 상기 주변 블록이 다른 블록의 움직임 벡터를 이용하여 복호화되고 있는 경우에는, 상기 다른 블록의 움직임 벡터를 이용하여 구해진 움직임 벡터이며 상기 주변 블록을 복호화할 때에 사용되는 움직임 벡터를, 상기 예측 움직임 벡터 도출 수단에서 상기 주변 블록의 움직임 벡터로서 이용하는 것을 특징으로 한다.
이에 의해, 본 발명에 따른 움직임 벡터 부호화 방법에 의해 부호화된 움직임 벡터를 바르게 복호화할 수 있어, 그 실용적 가치가 높다.
또한, 본 발명은, 상기 움직임 벡터 부호화 방법을 사용하는 동화상 부호화 장치 및 프로그램 및 그 프로그램을 격납하는 기억 매체나, 상기 움직임 벡터 복호화 방법을 사용하는 동화상 복호화 장치 및 프로그램 및 그 프로그램을 격납하는 기억 매체로서도 실현할 수 있다.
본 발명에 따른 움직임 벡터 부호화 방법 및 움직임 벡터 복호화 방법은, 동화상을 부호화하는 동화상 부호화 장치 및 부호화된 동화상을 복호화하는 동화상 복호화 장치나, 이들 장치를 구비한 시스템, 예를 들면 디지털 저작물 등의 컨텐츠를 공급하는 컨텐츠 공급 시스템이나 디지털 방송용 시스템에 사용하기에 적합하다.
(실시형태 1)
이하, 본 발명의 제1 실시형태에서의 동화상 부호화 장치에 대해 도면을 참조하면서 설명한다.
도 6은, 본 발명의 제1 실시형태에서의 동화상 부호화 장치(100)의 블록도이다.
이 동화상 부호화 장치(100)는, 움직임 벡터의 예측값의 예측 능력을 높임으로써 부호화 효율을 향상시킨 것으로서, 프레임 메모리(101), 차분 연산부(102), 예측오차 부호화부(103), 부호열 생성부(104), 예측 오차 복호화부(105), 가산 연산부(106), 프레임 메모리(107), 움직임 벡터 검출부(108), 모드 선택부(109), 부호화 제어부(110), 스위치(111 ∼ 115), 움직임 벡터 기억부(116), 및 움직임 벡터 부호화부(117)를 구비한다.
프레임 메모리(101)는, 입력 화상을 픽처 단위로 유지하는 화상 메모리이고, 픽처 단위로 시간순으로 취득된 입력 화상을 부호화 순으로 재배열하여 출력한다. 그 재배열은 부호화 제어부(110)에 의해 제어된다.
도 7의 (a)는, 프레임 메모리(101)에 입력되는 픽처의 형태를 도시한다.
이 도 7의 (a)에서, 세로선은 픽처를 나타내고, 각 픽처의 우측 아래에 나타 낸 기호 중, 1번째 문자의 알파벳이 픽처 타입(I, P 또는 B)을 나타내고, 2번째 문자 이후의 숫자가 시간순의 픽처 번호를 나타내고 있다. 프레임 메모리(101)에 입력된 각 픽처는, 부호화순으로 재배열된다. 부호화순으로의 재배열은, 픽처 간 예측 부호화에 있어서의 참조 관계에 기초하여 행해지고, 참조 픽처로서 사용되는 픽처가, 그 픽처를 참조 픽처로서 사용하는 픽처보다도 먼저 부호화되도록 재배열된다. 예를 들면, 픽처 (P7 ∼ P13)의 각 픽처의 참조 관계는, 도 7의 (a)에 도시한 화살표처럼 된다. 도 7의 (a)에서, 화살표의 시작점은 참조되는 픽처를 나타내고, 화살표의 종점은 참조하는 픽처를 나타내고 있다. 이 경우, 도 7의 (a)의 픽처를 재배열한 결과는 도 7의 (b)에 도시하는 바와 같이 된다.
도 7의 (b)는, (a)와 같이 입력된 픽처가 재배열된 형태를 도시한다. 이렇게 프레임 메모리(101)에서 재배열이 행해진 각 픽처는, 매크로 블록의 단위로 읽어 내어진다. 여기서는, 매크로 블록은 수평 16 × 수직 16 화소의 크기이다.
차분 연산부(102)는, 프레임 메모리(101)로부터, 스위치(111)를 통해 매크로 블록 단위로 화상 데이터를 취득하는 동시에, 모드 선택부(109)로부터 움직임 보상화상을 취득한다. 그리고 차분 연산부(102)는, 매크로 블록 단위의 화상 데이터와 움직임 보상 화상과의 차분을 연산하여, 예측 오차 화상을 생성하여 출력한다.
예측 오차 부호화부(103)는, 스위치(112)를 통해, 프레임 메모리(101)로부터 취득한 화상 데이터, 또는 차분 연산부(102)에서 구해진 예측 오차 화상에 이산 코사인 변환 등의 주파수 변환이나 양자화 등의 부호화 처리를 실시함으로써, 부호화 데이터를 작성한다. 예를 들면, 주파수 변환이나 양자화의 처리는, 수평 8 × 수 직 8화소의 단위로 행해진다. 그리고 예측 오차 부호화부(103)는, 부호화 데이터를 부호열 생성부(104)와 예측 오차 복호화부(105)에 출력한다.
부호열 생성부(104)는, 예측 오차 부호화부(103)로부터의 부호화 데이터에 대해 가변길이 부호화를 실시하여, 출력용의 부호화 비트 스트림의 포맷으로 변환하고, 또한 움직임 벡터 부호화부(117)로부터 입력된 움직임 벡터의 정보, 모드 선택부(109)로부터 입력된 부호화 모드의 정보, 그 밖의 헤더 정보 등을 부가함으로써 부호열을 생성한다.
예측 오차 복호화부(105)는, 예측 오차 부호화부(103)로부터의 부호화 데이터를, 역양자화한 후, 역이산 코사인 변환 등의 역주파수 변환을 실시하여, 예측 오차 화상으로 복호화한다.
가산 연산부(106)는, 복호화 결과인 예측 오차 화상에 상기 움직임 보상 화상을 가산하여, 부호화 및 복호화를 거친 화상 데이터로서 1픽처의 화상을 나타내는 복호화 화상을 출력한다.
프레임 메모리(107)는, 가산 연산부(106)로부터 출력된 복호화 화상 중, 다른 픽처의 부호화시에 참조 픽처로서 사용되는 픽처를 픽처 단위로 유지하는 화상 메모리이다.
움직임 벡터 검출부(108)는, 프레임 메모리(107)에 축적된 복호화 화상을 참조 픽처로서 사용하여, 부호화 대상의 매크로 블록 내의 각 블록에 대해, 움직임 벡터의 검출을 행한다. 검출된 움직임 벡터는, 모드 선택부(109)에 대해 출력된다.
모드 선택부(109)는, 움직임 벡터 검출부(108)에서 검출된 움직임 벡터를 사용하여, 매크로 블록의 부호화 모드를 결정한다. 여기서 부호화 모드란, 매크로 블록을 어떤 방법으로 부호화하는지를 나타내는 것이다. 예를 들면, 모드 선택부(109)는, 부호화 대상 픽처가 P픽처인 경우에는, 픽처 내 부호화, 움직임 벡터를 사용한 픽처 간 예측 부호화, 및 스킵 모드(다른 블록의 움직임 벡터로부터 구한 움직임 벡터를 사용하여 예측 부호화를 행함으로써, 움직임 벡터를 부호화하지 않고, 또한 예측 오차 부호화의 결과, 계수값이 전부 0이 되어, 계수값을 부호화하지 않는 픽처 간 예측 부호화) 중에서, 어느 하나를 부호화 모드로서 결정한다. 또, 일반적으로는 소정의 비트량으로 부호화 오차가 최소가 되는 부호화 모드가 결정된다.
그리고 모드 선택부(109)는, 결정된 부호화 모드를 부호열 생성부(104)에 대해, 그 부호화 모드에서 사용하는 움직임 벡터를 움직임 벡터 부호화부(117)에 대해 출력한다. 또한, 모드 선택부(109)는, 결정된 부호화 모드가 움직임 벡터를 를 사용한 픽처 간 예측 부호화일 때는, 그 픽처 간 예측 부호화에서 사용되는 움직임 벡터와 부호화 모드를 움직임 벡터 기억부(116)에 기억시킨다.
또, 모드 선택부(109)는, 결정된 부호화 모드와, 움직임 벡터 검출부(108)에서 검출된 움직임 벡터에 기초하여 움직임 보상을 행하여 움직임 보상 화상을 작성하고, 그 움직임 보상 화상을 차분 연산부(102)와 가산 연산부(106)에 출력한다. 단, 픽처 내 부호화가 선택된 경우에는, 움직임 보상 화상은 출력되지 않는다. 또한, 모드 선택부(109)에서 픽처 내 부호화가 선택된 경우에는, 모드 선택부(109) 는, 스위치(111)가 단자(a)에 접속하고, 스위치(112)가 단자(c)에 접속하도록 양 스위치(111, 112)를 제어하고, 픽처 간 예측 부호화가 선택된 경우에는, 스위치(111)가 단자(b)에 접속하고, 스위치(112)가 단자(d)에 접속하도록 양 스위치(111, 112)를 제어한다. 또, 상술한 움직임 보상은 블록 단위(여기서는 8×8 화소의 크기로 한다)로 행해진다.
부호화 제어부(110)는, 입력된 픽처를 어느 타입의 픽처(I, P 또는 B 픽처)로 부호화하는지를 결정하여, 그 픽처 타입에 의해, 스위치(113, 114, 115)를 제어한다. 여기서, 픽처 타입의 결정에는, 예를 들면 주기적으로 픽처 타입을 할당하는 방법이 일반적으로 사용된다.
움직임 벡터 기억부(116)는, 픽처 간 예측 부호화에서 사용되는 움직임 벡터와 부호화 모드를 모드 선택부(109)로부터 취득하여 이것을 기억해 둔다.
움직임 벡터 부호화부(117)는, 모드 선택부(109)에서 움직임 벡터를 사용한 픽처 간 예측 부호화가 선택되었을 때는, 도 3이나 도 4를 참조하여 설명한 방법에 의해, 부호화 대상 블록의 움직임 벡터의 부호화를 행한다. 즉, 움직임 벡터 부호화부(117)는, 부호화 대상 블록의 주변에 있는 3개의 주변 블록을 특정하고, 이들 주변 블록의 움직임 벡터로부터 예측값을 결정하여, 그 예측값과 부호화의 대상이 되는 현재의 블록의 움직임 벡터와의 차분값을 부호화한다.
또, 본 실시형태에서의 움직임 벡터 부호화부(117)는, 부호화 대상 블록의 움직임 벡터를 부호화할 때, 주변 블록이 스킵 모드나 다이렉트 모드 등, 다른 블록의 움직임 벡터를 사용하여 부호화되어 있는 경우에는, 그 주변 블록의 움직임 벡터를 종래예와 같이 0으로 하지 않고, 그 주변 블록의 부호화시에 상기 다른 블록의 움직임 벡터로부터 구해진 움직임 벡터를, 그 주변 블록의 움직임 벡터로서 취급한다.
도 8은 본 실시형태에서의 움직임 벡터 부호화부(117)의 일반적인 동작을 도시한 흐름도이다.
먼저, 움직임 벡터 부호화부(117)는, 부호화 대상 블록의 주변에 있는 이미 부호화가 끝난 3개의 주변 블록을 특정한다(단계 S100).
그리고 움직임 벡터 부호화부(117)는, 그 특정된 주변 블록의 각각이, 다른 블록의 움직임 벡터를 사용하여 부호화된 주변 블록(Ba)인지, 다른 블록의 움직임 벡터를 사용하지 않고 부호화된 주변 블록(Bb)인지를 판별한다(단계 S102).
그 결과, 움직임 벡터 부호화부(117)는, 특정된 3개의 주변 블록 중에 주변 블록(Ba)이 포함되어 있는지 여부를 판별한다(단계 S104).
단계 S104에서 주변 블록(Ba)이 포함되어 있다고 판별되었을 때는(단계 S 104의 Y), 움직임 벡터 부호화부(117)는, 주변 블록(Ba)을 부호화하기 위해 다른 블록의 움직임 벡터로부터 구해진 움직임 벡터를 그 주변 블록(Ba)의 움직임 벡터로서 취급하여, 상술한 바와 같이 3개의 주변 블록의 움직임 벡터로부터 예측값을 도출한다(단계 S106).
한편, 단계 S104에서 주변 블록(Ba)이 포함되어 있지 않다고 판별되었을 때는(단계 S104의 N), 움직임 벡터 부호화부(117)는, 3개의 주변 블록(Bb)의 각각의 움직임 검출 및 모드 선택 결과에 기초하는 움직임 벡터로부터 예측값을 도출한다 (단계 S108).
그리고 움직임 벡터 부호화부(117)는, 부호화 대상 블록의 움직임 벡터와, 단계 S106, S108에서 도출된 예측값과의 차분을 부호화한다(단계 S110). 또, 움직임 벡터 부호화부(117)는, 이렇게 부호화된 움직임 벡터를 부호열 생성부(104)에 대해 출력한다.
여기서, 상술한 바와 같은 동화상 부호화 장치(100)의 부호화 처리에 대해, 구체적으로 도 7에 도시한 픽처 (P13) 및 픽처 (B11)의 부호화를 예로 들어 설명한다.
<픽처 (P13)의 부호화 처리>
픽처 (P13)은 P 픽처이기 때문에, 동화상 부호화 장치(100)는, 픽처 (P13)에 대해서 부호화 처리할 때는, 다른 1개의 픽처를 참조 픽처로서 사용하는 픽처 간 예측 부호화를 행한다. 이 경우의 참조 픽처는 픽처 (P10)이 된다. 이 픽처 (P10)에 대해서는, 이미 부호화가 종료되어 있고, 그 픽처 (P10)의 복호화 화상이 프레임 메모리(107)에 축적되어 있다.
부호화 제어부(110)는, P 픽처의 부호화에서는, 스위치(113, 114, 115)가 ON이 되도록 각 스위치를 제어한다. 따라서, 프레임 메모리(101)로부터 읽어 내어진 픽처 (P13)의 매크로 블록은, 움직임 벡터 검출부(108), 모드 선택부(109), 및 차분 연산부(102)에 취득된다.
움직임 벡터 검출부(108)는, 프레임 메모리(107)에 축적된 픽처 (P10)의 복호화 화상을 참조 픽처로서 사용하여, 매크로 블록 내의 각 블록에 대해, 움직임 벡터의 검출을 행하여, 검출된 움직임 벡터를 모드 선택부(109)에 대해 출력한다.
모드 선택부(109)는, 움직임 벡터 검출부(108)에서 검출된 움직임 벡터를 사용하여, 픽처 (P13)의 매크로 블록의 부호화 모드를 결정한다. 즉, 픽처 (P13)은 P 픽처이기 때문에, 모드 선택부(109)는, 상술한 바와 같이, 픽처 내 부호화, 움직임 벡터를 사용한 픽처 간 예측 부호화, 및 스킵 모드(다른 블록의 움직임 벡터로부터 구한 움직임 벡터를 사용하여 움직임 보상을 행함으로써, 움직임 벡터를 부호화하지 않고, 또한 예측 오차 부호화의 결과, 모든 계수값이 0이 되어 계수값을 부호화하지 않는 픽처 간 예측 부호화) 중에서 부호화 모드를 결정한다.
그리고 본 실시형태에서의 움직임 벡터 부호화부(117)는, 상술한 바와 같이 모드 선택부(109)에서 움직임 벡터를 사용한 픽처 간 예측 부호화가 선택되었을 때는, 도 3을 참조하여 설명한 방법에 의해 픽처 (P13)의 부호화 대상 블록의 움직임 벡터를 부호화하지만, 그 부호화 대상 블록의 주변에 있는 주변 블록이 스킵 모드로 부호화되어 있는 경우에는, 그 주변 블록의 움직임 벡터를 0으로는 하지 않고, 그 주변 블록을 부호화하기 위해 다른 블록으로부터 구해진 움직임 벡터를, 그 주변 블록의 움직임 벡터로서 취급한다.
이러한 주변 블록이 스킵 모드로 부호화되어 있는 경우에서의 부호화 대상 블록의 움직임 벡터의 부호화 방법을 설명한다.
도 9는 주변 블록 (C)가 스킵 모드로 부호화되는 형태를 설명하기 위한 설명도이다.
이 도 9에 도시하는 바와 같이, 픽처 (P13)의 주변 블록 (C)가 스킵 모드로 부호화될 때는, 그 주변 블록 (C)의 둘레에 위치하는, 블록 (E)의 움직임 벡터 (MVe)와, 블록 (F)의 움직임 벡터 (MVf)와, 블록 (G)의 움직임 벡터 (MVg)의 중앙값이 구해지고, 그 중앙값을 나타내는 움직임 벡터 (MVcm)을 사용하여 주변 블록 (C)가 부호화되어 있다. 여기서, 움직임 벡터의 중앙값은, 예를 들면 수평 성분과, 수직 성분의 각각에 대해 중앙값을 구함으로써 얻어진다.
움직임 벡터 부호화부(117)는, 도 9에 나타낸 부호화 대상 블록 (A)의 움직임 벡터를 부호화할 때는, 부호화 대상 블록 (A)의 주변에 있는 3개의 주변 블록 (B, C, D)를 특정하고(블록 (B, C, D)의 위치 관계는, 도 3, 도 4를 참조), 주변 블록 (B, C, D)의 각각이, 다른 블록의 움직임 벡터를 사용하여 부호화된 블록인지 여부를 판별한다. 그 결과, 움직임 벡터 부호화부(117)는, 주변 블록 (C)만이 스킵 모드로 부호화, 즉 다른 블록을 사용하여 부호화되었다고 판별하면, 상술한 바와 같이 주변 블록 (C)를 부호화하기 위해 다른 블록인 블록 (E, F, G)의 움직임 벡터로부터 구해진 중앙값(움직임 벡터 (MVcm)을 주변 블록 (C)의 움직임 벡터로서 취급하고, 그 움직임 벡터 (MVcm)과 주변 블록 (B, D)의 각각의 움직임 벡터와의 중앙값을 구하여, 이 중앙값을 부호화 대상 블록 (A)의 움직임 벡터의 예측값으로 한다. 그리고, 움직임 벡터 부호화부(117)는, 그 예측값과 부호화 대상 블록 (A)의 움직임 벡터와의 차분값을 부호화한다.
또, 움직임 벡터 기억부(116)는, 부호화된 블록의 부호화 모드를 기억하고 있어, 이 움직임 벡터 기억부(116)가 기억하는 부호화 모드에 기초하여, 움직임 벡터 부호화부(117)는, 주변 블록 (B, C, D)의 각각이 다른 블록의 움직임 벡터를 사 용하여 부호화된 블록인지 여부를 판별한다. 또한, 움직임 벡터 기억부(116)는, 다른 블록의 움직임 벡터를 사용하지 않고, 참조 픽처로부터 검출된 자신의 움직임 벡터를 사용하여 부호화된 블록에 대해서는, 그 블록의 움직임 벡터를 기억하고 있다. 즉, 움직임 벡터 기억부(116)는, 블록 (E, F, G)의 각각의 움직임 벡터 (MVe, MVf, MVg)를 기억하고 있어, 움직임 벡터 부호화부(117)는, 부호화 대상 블록 (A)의 움직임 벡터를 부호화할 때는, 움직임 벡터 기억부(116)가 기억하는 이들 움직임 벡터를 사용하여 주변 블록 (C)에 대해 상술한 움직임 벡터 (MVcm)를 구한다. 또한, 움직임 벡터 기억부(116)가, 다른 블록의 움직임 벡터를 사용하여 부호화된 블록에 대해서, 그 블록을 부호화하기 위해 중앙값을 취해 구해진 움직임 벡터를 미리 기억해 두어도 된다. 이 경우, 움직임 벡터 기억부(116)는, 움직임 벡터 (MVcm)을 미리 기억하고 있기 때문에, 움직임 벡터 부호화부(117)는 부호화 대상 블록 (A)의 움직임 벡터를 부호화할 때, 주변 블록 (C)에 대해 움직임 벡터 (MVcm)을 구할 필요가 없고, 움직임 벡터 기억부(116)가 미리 기억하는 움직임 벡터 (MVcm)을 그대로 주변 블록 (C)의 움직임 벡터로서 사용할 수 있다.
한편, 픽처 (P13)의 부호화 대상의 매크로 블록과 움직임 보상 화상과의 차분을 나타내는 예측 오차 화상이, 예측 오차 부호화부(103) 및 부호열 생성부(104)에서 부호화되어 부호화 데이터로서 생성되어 있고, 상술한 바와 같이 부호화된 움직임 벡터의 정보는, 부호열 생성부(104)에서 그 부호화 데이터에 부가된다. 단, 스킵 모드로 부호화된 매크로 블록에 대해서는, 매크로 블록과 움직임 보상 화상과의 차분이 0이고, 움직임 벡터의 정보도 부호화 데이터에 부가되지 않는다.
이후, 같은 처리에 의해, 픽처 (P13)의 나머지 매크로 블록에 대해, 부호화 처리가 행해진다. 그리고, 픽처 (P13)의 모든 매크로 블록에 대해 처리가 끝나면, 다음에 픽처 (B11)의 부호화 처리가 행해진다.
<픽처 (B11)의 부호화 처리>
픽처 (B11)은 B 픽처이기 때문에, 동화상 부호화 장치(100)는, 픽처 (B11)에 대해 부호화 처리할 때는, 다른 2개의 픽처를 참조 픽처로서 사용하는 픽처 간 예측 부호화를 행한다. 이 경우의 참조 픽처는, 도 7에 나타낸 바와 같이, 픽처 (B11)의 전방에 있는 픽처 (P10)과, 픽처 (B11)의 후방에 있는 픽처 (P13)이다. 이들 픽처 (P10, P13)에 대해서는, 이미 부호화가 종료되어 있으며, 그 픽처 (P10, P13)의 복호화 화상이 프레임 메모리(107)에 축적되어 있다.
부호화 제어부(110)는, B 픽처의 부호화에 있어서는, 스위치(113)가 ON, 스위치(114, 115)가 OFF가 되도록 각 스위치를 제어한다. 따라서, 프레임 메모리(101)로부터 읽어 내어진 픽처 (B11)의 매크로 블록은, 움직임 벡터 검출부(108), 모드 선택부(109), 및 차분 연산부(102)에 취득된다.
움직임 벡터 검출부(108)는, 프레임 메모리(107)에 축적된 픽처 (P10)의 복호화 화상을 전방 참조 픽처로서 사용하고, 픽처 (P13)의 복호화 화상을 후방 참조 픽처로서 사용함으로써, 매크로 블록 내의 각 블록에 대해, 전방 움직임 벡터와 후방 움직임 벡터의 검출을 행하여, 검출된 전방 움직임 벡터 및 후방 움직임 벡터를 모드 선택부(109)에 대해 출력한다.
모드 선택부(109)는, 움직임 벡터 검출부(108)에서 검출한 전방 움직임 벡터 및 후방 움직임 벡터를 사용하여, 픽처 (B11)의 매크로 블록의 부호화 모드를 결정한다. 즉, 픽처 (B11)은 B 픽처이기 때문에, 모드 선택부(109)는, 예를 들면 픽처 내 부호화, 전방 움직임 벡터를 사용한 픽처 간 예측 부호화, 후방 움직임 벡터를 사용한 픽처 간 예측 부호화, 쌍방향 움직임 벡터를 사용한 픽처 간 예측 부호화, 및 다이렉트 모드(다른 블록의 움직임 벡터로부터 구한 움직임 벡터를 사용하여 움직임 보상을 행하여, 움직임 벡터를 부호화하지 않는 픽처 간 예측 부호화) 중에서 부호화 모드를 결정한다.
그리고 본 실시형태에서의 움직임 벡터 부호화부(117)는, 상술한 바와 같이 모드 선택부(109)에서 움직임 벡터를 사용한 픽처 간 예측 부호화가 선택되었을 때는, 도 3을 참조하여 설명한 방법에 의해 픽처 (B13)의 부호화 대상 블록의 움직임 벡터를 부호화한다.
구체적으로, 모드 선택부(109)에서 쌍방향 움직임 벡터를 사용한 픽처 간 예측 부호화가 선택되었을 때는, 움직임 벡터 부호화부(117)는, 이하와 같이 하여 부호화 대상 블록의 움직임 벡터를 부호화한다.
도 10은 쌍방향 움직임 벡터를 사용한 픽처 간 예측 부호화를 설명하기 위한 설명도이다.
움직임 벡터 부호화부(117)는, 부호화 대상 블록 (A)의 움직임 벡터를 부호화할 때는, 전방 움직임 벡터 (MVf)와 후방 움직임 벡터 (MVb)에 대해 부호화를 행한다.
즉, 움직임 벡터 부호화부(117)는, 주변 블록 (B, C, D)의 각각의 전방 움직 임 벡터 (MVf1, MVF2, MVF3)의 중앙값을, 전방 움직임 벡터 (MVf)의 예측값으로 하여, 전방 움직임 벡터 (MVf)와 그 예측값과의 차분값을 부호화한다. 그리고, 움직임 벡터 부호화부(117)는, 주변 블록 (B, C, D)의 각각의 후방 움직임 벡터 (MVb1, MVB2, MVB3)의 중앙값을, 후방 움직임 벡터 (MVb)의 예측값로 하여, 후방 움직임 벡터 (MVb)와 그 예측값과의 차분값을 부호화한다. 여기서 움직임 벡터의 중앙값은, 예를 들면 수평 성분, 수직 성분의 각 성분마다 중앙값을 취해 구해진다.
여기서 본 실시형태에서의 움직임 벡터 부호화부(117)는, B 픽처의 부호화 대상 블록의 움직임 벡터를 부호화할 때, 그 주변 블록이 다이렉트 모드로 부호화되어 있는 경우, 그 주변 블록의 움직임 벡터를 0으로는 하지 않고, 그 주변 블록을 부호화하기 위해 다른 블록으로부터 구해진 움직임 벡터를, 그 주변 블록의 움직임 벡터로 한다. 또, 다이렉트 모드에는, 시간적인 다이렉트 모드와 공간적인 다이렉트 모드의 2종류가 있다.
먼저, 주변 블록이 시간적인 다이렉트 모드로 부호화되어 있는 경우에서의 부호화 대상 블록의 움직임 벡터의 부호화 방법에 대해 설명한다.
도 11은, 주변 블록 (C)가 시간적인 다이렉트 모드로 부호화되는 형태를 설명하기 위한 설명도이다.
이 도 11에 도시하는 바와 같이, 픽처 (B11)의 주변 블록 (C)가 다이렉트 모드로 부호화될 때는, 직전에 부호화된 후방 참조 픽처인 픽처 (P13) 중의, 주변 블록 (C)와 같은 위치에 있는 블록 (X)의 움직임 벡터 (MVp)를 이용한다. 움직임 벡 터 (MVp)는, 블록 (X)가 부호화되었을 때 사용된 움직임 벡터이고, 움직임 벡터 기억부(116)에 기억되어 있다. 이 움직임 벡터 (MVp)는, 픽처 (P10)를 참조하고 있다. 주변 블록 (C)의 부호화에 대해서는, 움직임 벡터 (MVp)와 평행한 움직임 벡터를 사용하여, 참조 픽처인 픽처 (P10)과 픽처 (P13)으로부터 쌍방향 예측이 행해진다. 이 경우의 주변 블록 (C)를 부호화할 때 사용되는 움직임 벡터는, 픽처 (P10)에 대해서는 움직임 벡터 (MVfc), 픽처 (P13)에 대해서는 움직임 벡터 (MVbc)가 된다.
여기서, 전방향 움직임 벡터인 움직임 벡터 (MVfc)의 크기를 mvf, 후방향 움직임 벡터인 움직임 벡터 (MVbc)의 크기를 mvb, 움직임 벡터 (MVp)의 크기를 mvp, 부호화 대상의 픽처(픽처 (B11))의 후방 참조 픽처(픽처 (P13))와, 그 후방 참조 픽처의 블록이 참조하고 있는 픽처(픽처 (P10))와의 시간적 거리를 TRD, 부호화 대상의 픽처(픽처 (B11))와 후방 참조 픽처의 블록이 참조하고 있는 픽처(픽처 (P10))와의 시간적 거리를 TRB로 하면, mvf, mvb는 각각 이하에 나타낸 (식 1) 및 (식 2)로 구해진다.
mvf = mvp×TRB/TRD … (식 1)
mvb = (TRB-TRD)×xmvp/TRD … (식 2)
여기서, mvf, mvb는 움직임 벡터의 수평 성분, 수직 성분의 각각을 표현하고 있는 것으로 한다. 또, 움직임 벡터 (MVp)의 방향을 양의 값으로 나타내고, 움직임 벡터 (MVp)와 반대 방향을 음의 값으로 나타내는 것으로 한다.
주변 블록 (C)는 이렇게 구해진 움직임 벡터 (MVfc, MVBc)를 사용하여 부호 화되어 있다.
움직임 벡터 부호화부(117)는, 도 10에 나타낸 부호화 대상 블록 (A)의 움직임 벡터 (MVf, MVB)를 부호화할 때는, 부호화 대상 블록 (A)의 주변에 있는 3개의 주변 블록 (B, C, D)를 특정하여, 주변 블록 (B, C, D)의 각각이, 다른 블록의 움직임 벡터를 사용하여 부호화된 블록인지 여부를 판별한다. 그 결과, 움직임 벡터 부호화부(117)는, 주변 블록 (C)만이 시간적인 다이렉트 모드로 부호화, 즉 다른 블록의 움직임 벡터를 사용하여 부호화되어 있다고 판별하면, 도 11에 도시하는 바와 같이 주변 블록 (C)를 부호화하기 위해 다른 블록인 블록 (X)의 움직임 벡터 (MVp)로부터 구해진 움직임 벡터 (MVfc, MVBc)를 주변 블록 (C)의 움직임 벡터로서 취급하고, 이들 움직임 벡터 (MVfc, MVBc)와 주변 블록 (B, D)의 각각의 움직임 벡터와의 중앙값을 구함으로써, 부호화 대상 블록 (A)의 움직임 벡터의 예측값을 도출한다. 또한, 이러한 예측값의 도출은 전방향과 후방향으로 나누어 행해진다. 그리고, 움직임 벡터 부호화부(117)는, 그 예측값과 부호화 대상 블록 (A)의 움직임 벡터 (MVf, MVB)와의 차분값을 부호화한다.
또, 움직임 벡터 기억부(116)는, 부호화된 블록의 부호화 모드를 기억하고 있어, 이 움직임 벡터 기억부(116)가 기억하는 부호화 모드에 기초하여, 움직임 벡터부호화부(117)는, 주변 블록 (B, C, D)의 각각이 다른 블록의 움직임 벡터를 사용하여 부호화된 블록인지 여부를 판별한다. 또한, 움직임 벡터 기억부(116)는, 다른 블록의 움직임 벡터를 사용하지 않고, 참조 픽처로부터 검출된 자신의 움직임 벡터를 사용하여 부호화된 블록에 대해서는, 그 블록의 움직임 벡터를 기억하고 있 다. 즉, 움직임 벡터 부호화부(117)는, 부호화 대상 블록 (A)의 움직임 벡터를 부호화할 때는, 주변 블록 (B, D)에 대해서는, 움직임 벡터 기억부(116)가 기억하는 움직임 벡터를 그대로 사용하지만, 주변 블록 (C)에 대해서는, 움직임 벡터 기억부(116)에 기억되어 있는 블록 (X)의 움직임 벡터 (MVp)를 읽어 내어 움직임 벡터 (MVfc, MVBc)를 구한다. 또한, 움직임 벡터 기억부(116)가, 다른 블록의 움직임 벡터를 사용하여 부호화된 블록에 대해, 그 블록을 부호화하기 위해 다른 블록의 움직임 벡터로부터 구해진 움직임 벡터를 미리 기억해 두어도 된다. 이 경우, 움직임 벡터 기억부(116)는, 움직임 벡터 (MVfc, MVBc)를 미리 기억하고 있기 때문에, 움직임 벡터 부호화부(117)는 부호화 대상 블록 (A)의 움직임 벡터를 부호화할 때, 주변 블록 (C)에 대해, 블록 (X)의 움직임 벡터 (MVp)를 읽어 내어 (식 1) 및 (식 2)를 사용하여 움직임 벡터 (MVfc, MVBc)를 구할 필요가 없고, 움직임 벡터 기억부(116)가 기억하는 움직임 벡터 (MVfc, MVBc)를 그대로 주변 블록 (C)의 움직임 벡터로서 사용할 수 있다.
다음으로, 주변 블록이 공간적인 다이렉트 모드로 부호화되어 있는 경우에서의 부호화 대상 블록의 움직임 벡터의 부호화 방법에 대해 설명한다.
도 12는, 주변 블록이 공간적인 다이렉트 모드로 부호화되는 형태를 설명하기 위한 설명도이다.
이 도 12에 도시하는 바와 같이, 픽처 (B11)의 주변 블록 (C)가 공간적인 다이렉트 모드로 부호화될 때는, 주변 블록 (C)의 주변에 있는 블록 (E)의 움직임 벡터 (MVfe, MVBe)와, 블록 (F)의 움직임 벡터 (MVff, MVBf)와, 블록 (G)의 움직임 벡터 (MVfg, MVBg)로부터 각각 전후 방향으로 나누어 중앙값을 취해 구해지는 움직임 벡터 (MVfc, MVBc)를 사용하여 부호화된다.
움직임 벡터 부호화부(117)는, 도 10에 도시한 부호화 대상 블록 (A)의 움직임 벡터 (MVf, MVB)를 부호화할 때는, 부호화 대상 블록 (A)의 주변에 있는 3개의 주변 블록 (B, C, D)를 특정하여, 주변 블록 (B, C, D)의 각각이, 다른 블록의 움직임 벡터를 사용하여 부호화된 블록인지 여부를 판별한다. 그 결과, 움직임 벡터 부호화부(117)는, 주변 블록 (C)만이 공간적인 다이렉트 모드로 부호화, 즉 다른 블록의 움직임 벡터를 사용하여 부호화되어 있다고 판별하면, 도 12에 도시하는 바와 같이 주변 블록 (C)를 부호화하기 위해 다른 블록인 블록 (E, F, C)의 움직임 벡터로부터 구해진 움직임 벡터 (MVfc, MVBc)를 주변 블록 (C)의 움직임 벡터로서 취급하고, 이들의 움직임 벡터와 주변 블록 (B, D)의 각각의 움직임 벡터와의 중앙값을 구함으로써, 부호화 대상 블록 (A)의 움직임 벡터의 예측값을 도출한다. 그리고, 움직임 벡터 부호화부(117)는, 그 예측값과 부호화 대상 블록 (A)의 움직임 벡터 (MVf, MVB)와의 차분값을 부호화한다.
또, 움직임 벡터 기억부(116)는, 다른 블록의 움직임 벡터를 사용하지 않고, 참조 픽처로부터 검출된 자신의 움직임 벡터를 사용하여 부호화된 블록에 대해서는, 그 블록의 움직임 벡터를 기억하고 있기 때문에, 블록 (E, F, G)의 각각에 대해 전후 방향의 2개의 움직임 벡터를 기억하고 있고, 움직임 벡터 부호화부(117)는, 부호화 대상 블록 (A)의 움직임 벡터를 부호화할 때는, 움직임 벡터 기억부(116)가 기억하는 이들 움직임 벡터를 사용하여 주변 블록 (C)에 대해 움직임 벡 터 (MVfc, MVBc)를 구한다. 또한, 움직임 벡터 기억부(116)가, 다른 블록의 움직임 벡터를 사용하여 부호화된 블록에 대해, 그 블록을 부호화하기 위해 중앙값을 취해 구해진 전후방향의 2개의 움직임 벡터를 미리 기억해 두어도 된다. 이 경우, 움직임 벡터 기억부(116)는, 움직임 벡터 (MVfc, MVBc)를 미리 기억하고 있기 때문에, 움직임 벡터 부호화부(117)는, 부호화 대상 블록 (A)의 움직임 벡터를 부호화할 때, 주변 블록 (C) 에 대해 움직임 벡터 (MVfc, MVBc)를 구할 필요가 없고, 움직임 벡터 기억부(116)가 기억하는 움직임 벡터 (MVfc, MVBc)를 그대로 주변 블록 (C)의 움직임 벡터로서 사용할 수 있다.
이렇게, 상술한 시간적인 다이렉트 모드로 주변 블록 (C)가 부호화되어 있을 때는, 부호화 대상 픽처의 후방 참조 픽처(상술한 예에서는, 픽처 (P13))의 움직임 벡터를 움직임 벡터 기억부(116)에 기억시켜 둘 필요가 있었지만, 공간적인 다이렉트 모드로 주변 블록 (C)가 부호화되어 있을 때는, 그 기억을 생략할 수 있다.
여기서, 동화상 부호화 장치(100)는, 부호화 대상 블록의 움직임 벡터를 부호화할 때, 그 주변에 있는 주변 블록이 상술한 바와 같은 픽처 간 예측 부호화가 아니라, 픽처 내 부호화로 처리되어 있는 경우에는, 예외적인 처리를 행한다.
예를 들면, 3개의 주변 블록 중에 픽처 내 부호화로 부호화된 블록이 1개 존재하는 경우에는, 동화상 부호화 장치(100)의 움직임 벡터 부호화부(117)는, 그 블록의 움직임 벡터를 0으로 하여 처리를 행한다. 또, 픽처 내 부호화로 부호화된 주변 블록이 2개 존재하는 경우에는, 움직임 벡터 부호화부(117)는 나머지 1개의 주변 블록의 움직임 벡터를, 부호화 대상 블록의 움직임 벡터의 예측값으로서 사용 한다. 또, 3개의 주변 블록 모두가 픽처 내 부호화로 부호화되어 있는 경우에는, 움직임 벡터 부호화부(117)는, 부호화 대상 블록의 움직임 벡터의 예측값을 0으로 하여 그 움직임 벡터의 부호화 처리를 행한다.
한편, 픽처 (B11)의 부호화 대상의 매크로 블록과 움직임 보상 화상과의 차분을 나타내는 예측 오차 화상이, 예측 오차 부호화부(103) 및 부호열 생성부(104)에서 부호화되어 부호화 데이터로서 생성되어 있고, 상술한 바와 같이 부호화된 움직임 벡터의 정보는, 부호열 생성부(104)에서 그 부호화 데이터에 부가된다. 단, 다이렉트 모드로 부호화된 매크로 블록에 대해서는, 움직임 벡터의 정보는 부호화 데이터에 부가되지 않는다.
이후, 동일한 처리에 의해, 픽처 (B11)의 나머지 매크로 블록에 대해, 부호화 처리가 행해진다. 그리고, 픽처 (B11)의 모든 매크로 블록에 대해서 처리가 끝나면, 다음으로 픽처 (B12)의 부호화 처리가 행해진다.
이상과 같이, 본 발명의 움직임 벡터 부호화 방법은, 각 블록의 움직임 벡터를 부호화할 때는, 이미 부호화가 끝난 주변 블록의 움직임 벡터로부터 예측값을 도출하여, 그 예측값과 부호화 대상 블록의 움직임 벡터를 사용하여 그 움직임 벡터의 부호화를 행한다. 그리고, 주변 블록이 스킵 모드나 다이렉트 모드와 같이, 다른 블록의 움직임 벡터로부터 구해진 움직임 벡터를 사용하여 부호화되어 있는 경우에는, 그 주변 블록의 부호화시에 상기 다른 블록의 움직임 벡터로부터 구해진 움직임 벡터를, 그 주변 블록의 움직임 벡터로서 사용하여 예측값을 도출한다.
이에 의해, 부호화 대상 블록의 움직임 벡터를, 주변 블록의 움직임 벡터로 부터 도출된 예측값을 사용하여 부호화할 때, 그 주변 블록이 다른 블록의 움직임 벡터를 사용하여 부호화되어 있는 경우, 그 주변 블록의 움직임 벡터를, 종래예와 같이 0으로 하지 않고, 상기 다른 블록의 움직임 벡터로부터 구해진 움직임 벡터로 하기 때문에, 상기 예측값의 예측 능력을 높일 수 있어, 그 결과 움직임 벡터의 부호화 효율을 향상시킬 수 있다.
또한, 본 실시형태에서는, 매크로 블록은 수평 16 × 수직 16 화소의 단위로, 움직임 보상은 수평 8 × 수직 8 화소의 블록 단위로, 블록 예측 오차 화상의 부호화는 수평 8 × 수직 8 화소의 단위로 처리하는 경우에 대해 설명했으나, 이들 단위는 다른 화소수이어도 된다.
또, 본 실시형태에서는, 부호화가 끝난 3개의 주변 블록의 움직임 벡터로부터 구해진 중앙값을 움직임 벡터 부호화시의 예측값으로서 사용하는 경우에 대해서 설명했으나, 이 주변 블록 수는 3개 이외의 다른 수이어도 되고, 예측값의 결정 방법은 다른 방법이어도 된다. 예를 들면, 좌측 옆의 블록의 움직임 벡터를 예측값으로서 사용하는 방법이어도 되고, 중앙값이 아니라 평균값을 사용하는 방법 등이어도 된다.
또, 본 실시형태에서는, 도 3, 도 4를 사용하여, 움직임 벡터의 부호화에서의 주변 블록의 위치를 설명했으나, 이것은 다른 위치여도 된다.
또, 본 실시형태에서는, 다른 블록의 움직임 벡터를 이용하여 부호화 대상의 블록을 부호화하는 방법으로서, 스킵 모드나 시간적 및 공간적인 다이렉트 모드를 예로 들어 설명했으나, 다른 방법이어도 된다.
또, 본 실시형태에서는, 부호화 대상 블록의 움직임 벡터와, 주변 블록의 움직임 벡터로부터 얻어진 예측값과의 차분을 취함으로써 움직임 벡터의 부호화를 행하는 경우에 대해 설명했으나, 이것은 차분 이외의 방법에 의해 움직임 벡터의 부호화를 행해도 된다.
또, 본 실시형태에서는, 공간적인 다이렉트 모드로 주변 블록이 부호화되어 있는 경우, 그 주변 블록의 주변에 있는 부호화가 끝난 3개의 블록의 움직임 벡터의 중앙값을 구하여, 그 중앙값을 주변 블록의 움직임 벡터로서 취급하는 경우에 대해 설명했으나, 그 블록 수는 3개 이외의 다른 수이어도 되고, 움직임 벡터의 결정 방법은 다른 방법이어도 된다. 예를 들면, 좌측 옆의 블록의 움직임 벡터를 주변 블록의 움직임 벡터로서 사용하는 방법이어도 되고, 중앙값이 아니라 평균값을 사용하는 방법 등이어도 된다.
또, 본 실시형태에서는, 공간적인 다이렉트 모드로 B 픽처의 블록을 부호화할 때, 그 블록에 대해 전후 방향의 2개의 움직임 벡터를 구했지만, 전방향 또는 후방향의 일 방향의 2개의 움직임 벡터를 구해도 된다. 이 경우, B 픽처는, 그 픽처에 대해 전방 또는 후방의 일 방향에 있는 2장의 픽처를 참조하고 있다.
또, 본 실시형태에서는, P 픽처의 부호화에서는, 미리 정해진 1개의 픽처를 참조하고(예를 들면 픽처 (P13)의 부호화에서는 픽처 (P10)을 참조), B 픽처의 부호화에서는, 미리 정해진 2개의 픽처를 참조하여(예를 들면 픽처 B 11의 부호화에서는 픽처 (P10과 P13)을 참조), 부호화하는 경우에 대해서 설명했으나, 이들은 다수의 픽처로부터 매크로 블록이나 블록마다 참조하는 픽처를 선택하여 부호화해도 된다. 이러한 경우에, 움직임 벡터의 예측값을 생성하기 위해서는, 도 13에 도시한 바와 같이 하면 된다.
도 13은, 블록마다 참조 픽처가 선택되는 경우에서, 움직임 벡터 부호화부(117)가 부호화 대상 블록의 움직임 벡터의 예측값을 도출하여 그 움직임 벡터를 부호화하는 동작을 도시한 흐름도이다.
먼저, 움직임 벡터 부호화부(117)는, 부호화 대상 블록의 주변에 있는 이미 부호화가 끝난 3개의 주변 블록을 특정한다(단계 S300).
그리고 움직임 벡터 부호화부(117)는, 그 특정된 주변 블록의 각각이, 다른 블록의 움직임 벡터를 사용하여 부호화된 주변 블록(Ba)인지, 다른 블록의 움직임 벡터를 사용하지 않고 부호화된 주변 블록(Bb)인지를 판별한다(단계 S302).
여기서 움직임 벡터 부호화부(117)는, 주변 블록 (Ba)에 대해서는, 그 부호화에서 사용한 움직임 벡터와, 그 주변 블록 (Ba)가 어느 참조 픽처를 참조하고 있는지를 나타내는 정보를 취득하여, 그 부호화에서 사용한 움직임 벡터를 주변 블록 (Ba)의 움직임 벡터로서 취급하고, 주변 블록 (Bb)에 대해서는, 그 주변 블록 (Bb)의 움직임 벡터와, 그 주변 블록 (B)b가 어느 참조 픽처를 참조하고 있는지를 나타내는 정보를 취득한다(단계 S304).
다음으로 움직임 벡터 부호화부(117)는, 단계 S304에서 취득한 정보에 기초하여, 3개의 주변 블록 중 부호화 대상 블록과 같은 픽처를 참조하고 있는 주변 블록을 특정하여(단계 S306), 그 특정된 주변 블록의 수를 판별한다(단계 S308).
그리고, 움직임 벡터 부호화부(117)는, 단계 S308에서 판별된 주변 블록의 수가 1개이면, 같은 픽처를 참조하고 있는 그 1개의 주변 블록의 움직임 벡터를, 부호화 대상 블록의 움직임 벡터 (MV)의 예측값으로 한다(단계 S310).
또, 단계 S308에서 판별된 주변 블록의 수가 1개 이외이면, 움직임 벡터 부호화부(117)는, 3개의 주변 블록 중 부호화 대상 블록과 다른 픽처를 참조하고 있는 주변 블록의 움직임 벡터를 0으로 하고(단계 S312), 3개의 주변 블록의 움직임 벡터의 중앙값을, 부호화 대상 블록의 움직임 벡터 (MV)의 예측값으로 한다(단계 S314).
움직임 벡터 부호화부(117)는, 이렇게 단계 S310 또는 단계 S314에서 도출된 예측값을 사용하여, 그 예측값과 부호화 대상 블록의 움직임 벡터 (MV)와의 차분값을 구하여, 그 차분값을 부호화한다(단계 S316).
또, 본 실시형태와 같이, 움직임 벡터의 부호화를 공간적으로 인접하는 블록의 움직임 벡터를 예측값으로서 사용하여 행하는 경우, 움직임 벡터의 부호화를 위해 움직임 벡터 기억부(116)에 유지해 두는 움직임 벡터의 양은, 움직임 벡터 기억부(116)에 스킵 모드나 다이렉트 모드로 실제로 움직임 보상에 사용한 움직임 벡터를 유지해 두는 경우에는, 1매크로 블록 라인(높이가 1매크로 블록이고 가로폭이 화면의 가로폭과 같은 영역)분의 블록의 움직임 벡터를 유지해 두면 된다. 이것은, 움직임 벡터 기억부(116)에 스킵 모드나 다이렉트 모드로 실제로 움직임 보상에 이용한 움직임 벡터를 유지해 두는 경우에, 본 실시형태에 있어서 도 3이나 도 4를 사용하여 설명했던 주변 블록을 사용하는 경우, 움직임 벡터의 부호화시에 주변 블록으로서 참조되는 블록은, 현재의 매크로 블록을 기점으로 하여, 과거 1매크 로 블록 슬라이스분이기 때문이다.
(실시형태 2)
이하, 본 발명의 제2 실시형태에서의 동화상 복호화 장치(700)에 대해 도면을 참조하면서 설명한다.
도 14는 본 발명의 제2 실시형태에서의 동화상 복호화 장치(700)의 블록도이다.
이 도 14에 도시한 동화상 복호화 장치(700)는, 실시형태 1의 동화상 부호화장치(100)에 의해 부호화된 동화상을 복호화하는 것으로, 부호열 해석부(701), 예측 오차 복호화부(702), 모드 복호부(703), 움직임 보상 복호부(705), 움직임 벡터 기억부(706), 프레임 메모리(707), 가산 연산부(708), 스위치(709, 710) 및 움직임 벡터 복호화부(711)를 구비하고 있다.
부호열 해석부(701)는, 입력된 부호열로부터 각종 데이터를 추출한다. 여기서 말하는 각종 데이터란, 부호화 모드의 정보 및 움직임 벡터에 관한 정보 등이다. 추출된 부호화 모드의 정보는, 모드 복호부(703)에 출력된다. 또, 추출된 움직임 벡터의 정보는, 움직임 벡터 복호화부(711)에 출력된다. 또한, 추출된 예측 오차 부호화 데이터는, 예측 오차 복호화부(702)에 대해 출력된다.
예측 오차 복호화부(702)는, 입력된 예측 오차 부호화 데이터의 복호화를 행하여, 예측 오차 화상을 생성한다. 생성된 예측 오차 화상은 스위치(709)에 대해 출력된다. 그리고, 스위치(709)가 단자(b)에 접속되어 있을 때는, 예측 오차 화상은 가산 연산부(708)에 대해 출력된다.
모드 복호부(703)는, 부호열로부터 추출된 부호화 모드의 정보를 참조하여, 스위치(709)와 스위치(710)의 제어를 행한다. 부호화 모드가 픽처 내 부호화인 경우에는, 스위치(709)를 단자(a)에 접속하는 동시에, 스위치(710)를 단자(c)에 접속하도록 제어하고, 부호화 모드가 픽처 간 부호화인 경우에는, 스위치(709)를 단자(b)에 접속하는 동시에, 스위치(710)를 단자(d)에 접속하도록 제어한다. 또한, 모드 복호부(703)는, 부호화 모드의 정보를 움직임 벡터 복호화부(711)에 대해 출력한다.
움직임 벡터 복호화부(711)는, 부호열 해석부(701)로부터 출력된 움직임 벡터의 정보에 대해, 복호화 처리를 행한다.
즉, 움직임 벡터 복호화부(711)는, 부호화 모드 정보가 움직임 벡터를 사용한 픽처 간 예측 부호화를 나타내는 경우에는, 도 3, 도 4를 사용하여 설명한 것과 마찬가지로 복호화 대상의 블록에 대해, 이미 복호화된 주변 블록의 움직임 벡터를 사용하여 예측값을 도출한다. 예를 들면 도 3에 도시하는 바와 같이, 움직임 벡터 복호화부 (711)는, 복호화 대상 블록 (A)에 대해, 주변 블록 (B)의 움직임 벡터 (MVb), 주변 블록 (C)의 움직임 벡터 (MVc), 및 주변 블록 (D)의 움직임 벡터 (MVd)로부터 예측값을 도출한다. 여기서 예측값은, 3개의 복호화가 끝난 움직임 벡터 (MVb, MVc, MVd)의 수평 성분, 수직 성분마다 구한 중앙값(미디언)을 취해 구해진다. 그리고, 움직임 벡터 복호화부(711)는, 부호열 해석부(701)로부터 출력된 움직임 벡터의 정보인 차분값에, 그 예측값을 더해, 복호화 대상 블록 (A)의 움직임 벡터 (MV)를 결정한다. 또, 움직임 벡터 복호화부(711)는, 부호화 모드 정보가 예를 들면 상술한 스킵 모드나 시간적 또는 공간적인 다이렉트 모드 중 어느 하나인 경우에는, 이미 복호화된 주변 블록의 움직임 벡터만을 사용하여 움직임 벡터를 결정한다.
도 15는 본 실시형태에서의 움직임 벡터 복호화부(711)의 일반적인 동작을 나타낸 흐름도이다.
먼저, 움직임 벡터 부호화부(711)는, 복호화 대상 블록의 주변에 있는 이미 복호화가 끝난 3개의 주변 블록을 특정한다(단계 S200).
그리고 움직임 벡터 복호화부(711)는, 그 특정된 주변 블록의 각각이, 다른 움직임 벡터를 사용하여 부호화되어 있었던 주변 블록(Ba)인지, 다른 움직임 벡터를 사용하지 않고 부호화되어 있었던 주변 블록(Bb)인지를 판별한다(단계 S202).
그 결과, 움직임 벡터 복호화부(711)는, 특정된 3개의 주변 블록 중에 주변 블록 (Ba)가 포함되고 있는지 여부를 판별한다(단계 S204).
단계 S204에서 주변 블록 (Ba)가 포함되고 있다고 판별되었을 때는(단계 S 204의 Y), 움직임 벡터 복호화부(711)는, 주변 블록 (Ba)를 복호화하기 위해서 다른 블록의 움직임 벡터로부터 구해진 움직임 벡터를 그 주변 블록 (Bb)의 움직임 벡터로서 취급하여, 상술한 바와 같이 3개의 주변 블록의 움직임 벡터로부터 예측값을 도출한다(단계 S206).
한편, 단계 S206에서 주변 블록 (Ba)가 포함되어 있지 않다고 판별되었을 때는(단계 S204의 N), 움직임 벡터 복호화부(711)는, 3개의 주변 블록 (Bb)의 각각의 검출 결과에 기초하는 움직임 벡터로부터 예측값을 도출한다(단계 S208).
그리고 움직임 벡터 복호화부(711)는, 부호열 해석부(701)로부터 출력된 움직임 벡터의 정보인 차분값에, 단계 S206, S208에서 도출된 예측값을 가산함으로써, 복호화 대상 블록의 부호화된 움직임 벡터를 복호화한다(단계 S210). 또, 움직임 벡터 복호화부(711)는, 이렇게 복호화된 움직임 벡터를 움직임 보상 복호부(705)에 대해 출력한다.
움직임 벡터 기억부(706)는, 움직임 벡터 복호화부(711)에서 복호화된 움직임 벡터와 모드 복호부(703)에서 얻어진 부호화 모드를 기억해 둔다.
움직임 보상 복호부(705)는, 움직임 벡터 복호화부(711)에서 복호화된 움직임 벡터에 기초하여, 프레임 메모리(707)로부터 매크로 블록마다 움직임 보상 화상을 취득한다. 그리고 움직임 보상 복호부(705)는, 그 움직임 보상 화상을 가산 연산부(708)에 출력한다.
가산 연산부(708)는, 입력된 예측 오차 화상과 움직임 보상 화상을 가산하여, 복호화 화상을 생성하여, 그 생성된 복호화 화상을 프레임 메모리(707)에 대해 출력한다.
또, 프레임 메모리(707)는, 가산 연산부(708)에 의해 생성된 복호화 화상을 프레임마다 유지한다.
이러한 동화상 복호화 장치(700)의 동작에 대해, 먼저 일반적인 개략 동작부터 설명한다.
도 16은 동화상 복호화 장치(700)의 입출력 관계를 설명하기 위한 설명도이다.
동화상 복호화 장치(700)는, 이 도 16의 (a)에 나타낸 바와 같이, 실시형태 1의 동화상 부호화 장치(100)로부터 출력된 부호열을 그 출력순으로 취득하여, 그 부호열 중에 포함되는 픽처를 차례로 복호화한다. 그리고 동화상 복호화 장치(700)는, 도 16 중의 (b)에 도시하는 바와 같이, 복호화된 픽처를 표시순으로 재배열하여 출력한다.
여기서, 상술한 동화상 복호화 장치(700)의 복호화 처리에 대해, 구체적으로 도 16에 나타낸 픽처 (P13) 및 픽처 (B11)의 복호화를 예로 들어 설명한다.
<픽처 (P13)의 복호화 처리>
먼저, 동화상 복호화 장치(700)의 부호열 해석부(701)는, 픽처 (P13)의 부호열을 취득하고, 그 부호열로부터 모드 선택 정보 및 움직임 벡터 정보 및 예측 오차 부호화 데이터를 추출한다.
모드 복호부(703)는, 픽처 (P13)의 부호열로부터 추출된 모드 선택 정보를 참조하여, 스위치(709와 710)의 제어를 행한다.
이하, 모드 선택 정보가 픽처 간 예측 부호화를 나타내는 경우에 대해 설명한다.
움직임 벡터 복호화부(711)는, 모드 복호부(703)로부터의 픽처 간 예측 부호화를 나타내는 모드 선택 정보에 기초하여, 픽처 (P13)의 부호열로부터 추출된 움직임 벡터의 정보에 대해, 블록마다 상술한 복호화 처리를 행한다.
여기서, 움직임 벡터 복호화부(711)는, 픽처 (P13)의 복호화 대상 블록의 움직임 벡터를 복호화할 때, 그 복호화 대상 블록의 주변에 있는 이미 복호화가 끝난 3개의 주변 블록을 특정하여, 이들 주변 블록이 다른 블록의 움직임 벡터를 사용하여 부호화되어 있었는지 여부를 판별한 결과, 어느 한 주변 블록이 다른 움직임 벡터를 사용하여 부호화되어 있었던 블록, 즉 스킵 모드로 부호화되어 있었던 블록인 경우에는, 실시형태 1의 움직임 벡터 부호화부(117)와 마찬가지로, 그 주변 블록을 복호화하기 위해 다른 블록의 움직임 벡터로부터 구해진 움직임 벡터를 그 주변 블록의 움직임 벡터로서 취급한다. 즉, 움직임 벡터 복호화부(711)는, 그 주변 블록의 주변에 있는 이미 복호화된 3개의 블록의 움직임 벡터로부터 중앙값을 구하여, 이것을 그 주변 블록의 움직임 벡터로서 취급한다.
또, 움직임 벡터 기억부(706)는, 모드 복호부(703)로부터의 모드 선택 정보를 기억하고 있어, 이 움직임 벡터 기억부(706)가 기억하는 모드 선택 정보에 기초하여, 움직임 벡터 복호화부(711)는, 주변 블록의 각각이 다른 블록의 움직임 벡터를 사용하여 부호화되어 있었던 블록인지 여부를 판별한다. 또한, 움직임 벡터 기억부(706)는, 주변 블록의 복호화에 사용되는 다른 블록의 움직임 벡터를 기억하고 있다. 즉, 움직임 벡터 기억부(706)는, 스킵 모드로 부호화되어 있었던 주변 블록의 주변에 있는 3개의 블록의 각각의 움직임 벡터를 기억하고 있고, 움직임 벡터 복호화부(711)는, 복호화 대상 블록의 움직임 벡터를 복호화할 때는, 그 주변 블록에 대해, 움직임 벡터 기억부(706)가 기억하는 상기 3개의 블록의 움직임 벡터로부터 중앙값을 구한다. 또한, 움직임 벡터 기억부(706)가, 다른 블록의 움직임 벡터를 사용하여 부호화되어 있었던 블록에 대해, 그 블록을 복호화하기 위해 중앙값을 취해 구해진 움직임 벡터를 미리 기억해 두어도 된다. 이 경우, 움직임 벡터 복호 화부(711)는, 복호화대상 블록의 움직임 벡터를 복호화할 때, 스킵 모드로 부호화되어 있었던 주변 블록에 대해 움직임 벡터를 구할 필요가 없고, 움직임 벡터 기억부(706)가 기억하는 움직임 벡터를 그대로 그 주변 블록의 움직임 벡터로서 사용할 수 있다.
한편, 픽처 (P13)의 복호화 대상의 매크로 블록에 대한 예측 오차 부호화 데이터가 예측 오차 복호화부(702)에서 복호화되어 예측 오차 화상으로서 생성되어 있고, 스위치(709, 710)가 가산 연산부(708)에 접속되어 있기 때문에, 움직임 벡터 복호화부(711)에서 복호화된 움직임 벡터에 기초하여 생성된 움직임 보상 화상은, 그 예측 오차 화상에 가산되어, 프레임 메모리(707)에 대해 출력된다.
또, 움직임 벡터 복호화부(711)는, P 픽처에 대해 움직임 벡터의 복호화를 행할 때는, 뒤의 픽처나 블록의 복호화를 위해, 그 움직임 벡터와 모드 복호부(703)로부터 얻어진 부호화 모드를 움직임 벡터 기억부(706)에 기억시키고 있다.
이후, 같은 처리에 의해, 픽처 (P13)의 나머지 매크로 블록이 차례로 복호화된다. 그리고, 픽처 (P13)의 매크로 블록이 전부 복호화되면, 픽처 (B11)의 복호화가 행해진다.
<픽처 (B11)의 복호화 처리>
먼저, 동화상 복호화 장치(700)의 부호열 해석부(701)는, 픽처 (B11)의 부호열을 취득하고, 그 부호열로부터 모드 선택 정보 및 움직임 벡터 정보 및 예측 오차 부호화 데이터를 추출한다.
모드 복호부(703)는, 픽처 (B11)의 부호열로부터 추출된 모드 선택 정보를 참조하여, 스위치(709와 710)의 제어를 행한다.
이하, 모드 선택 정보가 픽처 간 예측 부호화를 나타내는 경우에 대해 설명한다.
움직임 벡터 복호화부(711)는, 모드 복호부(703)로부터의 픽처 간 예측 부호화를 나타내는 모드 선택 정보에 기초하여, 픽처 (B11)의 부호열로부터 추출된 움직임 벡터의 정보에 대해, 블록마다 상술한 바와 같은 복호화 처리를 행한다.
여기서, 움직임 벡터 복호화부(711)는, 픽처 (B11)의 복호화 대상 블록의 움직임 벡터를 복호화할 때, 그 복호화 대상 블록의 주변에 있는 이미 복호화가 끝난 3개의 주변 블록을 특정하여, 이들 주변 블록이 다른 블록의 움직임 벡터를 사용하여 부호화되어 있었는지 여부를 판별한 결과, 어느 한 주변 블록이 다른 블록의 움직임 벡터를 사용하여 부호화되어 있었던 블록, 즉 시간적이나 공간적인 다이렉트 모드로 부호화되어 있었던 블록인 경우에는, 실시형태 1의 움직임 벡터 부호화부(117)와 마찬가지로 주변 블록을 복호화하기 위해 다른 블록의 움직임 벡터를 사용하여 구해진 움직임 벡터를 그 주변 블록의 움직임 벡터로서 취급한다.
구체적으로, 움직임 벡터 복호화부(711)는, 주변 블록이 시간적인 다이렉트 모드로 부호화되어 있었던 경우, 움직임 벡터 기억부(706)로부터, 직전에 복호화된 참조 픽처(픽처 (P13)) 중의, 다이렉트 모드로 부호화된 주변 블록과 같은 위치에 있는 블록의 움직임 벡터를 읽어 낸다. 예를 들면 도 11에 도시하는 바와 같이, 주변 블록 (C)가 시간적인 다이렉트 모드로 부호화되어 있었다고 하면, 움직임 벡터 복호화부 (711)는, 움직임 벡터 기억부(706)로부터 픽처 (P13)의 블록 (X)의 복 호화 후의 움직임 벡터를 읽어 낸다. 그리고, (식 1) 및 (식 2)를 사용하여, 주변 블록 (C)를 부호화하기 위해 사용하는 전방 움직임 벡터 (MVfc) 및 후방 움직임 벡터 (MVbc)를 구해, 이 움직임 벡터 (MVfc, MVBc)를 주변 블록 (C)의 움직임 벡터로서 사용한다.
또, 상술한 경우에서는, 움직임 벡터 복호화부(711)는, 픽처 (P13) 중의, 다이렉트 모드로 부호화되어 있었던 주변 블록 (C)와 같은 위치에 있는 블록 (X)의 움직임 벡터 (MVp)를 움직임 벡터 기억부(706)로부터 읽어 냈으나, 움직임 벡터 기억부(706)가, 다른 블록의 움직임 벡터를 사용하여 부호화되어 있었던 블록에 대해, 그 블록을 복호화 하기 위해 다른 블록의 움직임 벡터로부터 구해진 움직임 벡터를 미리 기억해 두어도 된다. 이 경우, 움직임 벡터 기억부(706)는, 움직임 벡터 (MVfc, MVBc)를 미리 기억하고 있기 때문에, 움직임 벡터 복호화부(711)는, 부호화 대상 블록 (A)의 움직임 벡터를 부호화할 때, 주변 블록 (C)에 대해, 블록 (X)의 움직임 벡터 (MVp)를 읽어 내어 (식 1) 및 (식 2)를 사용하여 움직임 벡터 (MVfc, MVBc)를 구할 필요가 없고, 움직임 벡터 기억부(706)가 기억하는 움직임 벡터 (MVfc, MVBc)를 그대로 주변 블록 (C)의 움직임 벡터로서 사용할 수 있다.
한편, 주변 블록이 공간적인 다이렉트 모드로 부호화되어 있었던 경우, 움직임 벡터 복호화부(711)는, 그 주변 블록의 주변에 있는 다른 블록의 움직임 벡터를 사용하여 구해진 움직임 벡터를, 그 주변 블록의 움직임 벡터로서 취급한다. 예를 들면, 도 12에 도시한 것 같은 상황에서는, 움직임 벡터 복호화부(711)는, 공간적인 다이렉트 모드로 부호화되어 있었던 주변 블록 (C)에 대해, 그 주변에 있는 이 미 복호화 된 3개의 블록 (E, F, G)의 움직임 벡터로부터 중앙값을 구하여, 이 중앙값이 나타내는 전방 움직임 벡터 (MVfc)와 후방 움직임 벡터 (MVbc)를 그 주변 블록 (C)의 움직임 벡터로서 취급한다.
또, 움직임 벡터 기억부(706)는, 다른 블록의 움직임 벡터를 사용하지 않고 부호화되어 있었던 블록에 대해서는, 그 블록의 복호화에 사용한 움직임 벡터를 기억하고 있기 때문에, 도 12에 도시한 것 같은 상황에서는, 공간적인 다이렉트 모드로 부호화되어 있었던 주변 블록 (C)의 주변에 있는 3개의 블록 (E, F, G)의 각각의 움직임 벡터를 기억하고 있어, 움직임 벡터 복호화부(711)는, 복호화 대상의 블록 (A)의 움직임 벡터를 복호화할 때는, 그 주변 블록 (C)에 대해, 움직임 벡터 기억부(706)가 기억하는 상기 3개의 블록 (E, F, G)의 움직임 벡터로부터 움직임 벡터 (MVfc, MVBc)를 구한다. 또한, 움직임 벡터 기억부(706)가, 다른 블록의 움직임 벡터를 사용하여 부호화되어 있었던 블록에 대해, 그 블록을 복호화하기 위해 중앙값을 취해 구해진 움직임 벡터를 미리 기억해 두어도 된다. 이 경우에는, 도 12에 도시한 것과 같은 상황에 있어서, 움직임 벡터 기억부(706)는, 움직임 벡터 (MVfc, MVBc)를 미리 기억하고 있고, 움직임 벡터 복호화부(711)는, 복호화 대상의 블록 (A)의 움직임 벡터를 복호화할 때, 공간적인 다이렉트 모드로 부호화되어 있었던 주변 블록 (C)에 대해 움직임 벡터를 구할 필요가 없고, 움직임 벡터 기억부(706)가 기억하는 움직임 벡터 (MVfc, MVBc)를 그대로 그 주변 블록 (C)의 움직임 벡터로서 사용할 수 있다.
여기서, 동화상 복호화 장치(700)는, 복호화 대상 블록의 움직임 벡터를 복 호화할 때, 그 주변에 있는 이미 복호화가 끝난 주변 블록이 상술한 픽처 간 예측 부호화가 아니라, 픽처 내 부호화로 처리되어 있었던 경우에는, 예외적인 처리를 행한다.
예를 들면, 3개의 주변 블록 중에 픽처 내 부호화로 부호화되어 있었던 주변 블록이 1개 존재하는 경우에는, 동화상 복호화 장치(700)의 움직임 벡터 복호화부(711)는, 그 주변 블록의 움직임 벡터를 0으로 하여 처리를 행한다. 또, 픽처 내 부호화로 부호화된 주변 블록이 2개 존재하는 경우에는, 움직임 벡터 복호화부(711)는 나머지 1개의 주변 블록의 움직임 벡터를, 복호화 대상 블록의 움직임 벡터의 예측값으로서 사용한다. 또한, 3개의 주변 블록 모두가 픽처 내 부호화로 부호화되어 있었던 경우에는, 움직임 벡터 복호화부(711)는, 복호화 대상 블록의 움직임 벡터의 예측값을 0으로 하여 그 움직임 벡터의 복호화 처리를 행한다.
한편, 픽처 (B11)의 복호화 대상인 매크로 블록에 대한 예측 오차 부호화 데이터가 예측 오차 복호화부(702)에서 복호화되어 예측 오차 화상으로서 생성되어 있으며, 스위치(709, 710)가 가산 연산부(708)에 접속되어 있기 때문에, 움직임 벡터 복호화부(711)에서 복호화된 움직임 벡터에 기초하여 생성된 움직임 보상 화상은, 그 예측 오차 화상에 가산되어, 프레임 메모리(707)에 대해 출력된다.
이후, 같은 처리에 의해, 픽처 (B11)의 나머지 매크로 블록이 차례로 복호화 된다. 그리고, 픽처 (B11)의 매크로 블록이 전부 복호화되면, 픽처 (B12)의 복호화가 행해진다.
이상과 같이, 본 발명의 움직임 벡터 복호화 방법은, 각 블록의 움직임 벡터 를 복호화할 때는, 이미 복호화가 끝난 주변 블록의 움직임 벡터로부터 예측값을 도출하여, 그 예측값과 차분값을 사용함으로써 움직임 벡터의 복호화를 행한다. 그리고, 주변 블록이 스킵 모드나 다이렉트 모드와 같이, 다른 블록의 움직임 벡터를 사용하여 부호화되어 있었던 경우에는, 그 주변 블록의 복호화를 위해 다른 블록의 움직임 벡터로부터 구해진 움직임 벡터를, 그 주변 블록의 움직임 벡터로서 사용하여 예측값을 도출한다.
이에 의해, 실시형태 1과 같은 방법으로 부호화가 행해진 움직임 벡터를 바르게 복호화 할 수 있다.
또한, 본 실시형태에서는, 복호화가 끝난 3개의 주변 블록의 움직임 벡터로부터 구해진 중앙값을 움직임 벡터 복호시의 예측값으로서 사용하는 경우에 대해 설명했으나, 이 주변 블록 수는 3개 이외의 다른 수이어도 되고, 예측값의 결정 방법은 다른 방법이어도 된다. 예를 들면, 좌측 옆의 블록의 움직임 벡터를 예측값으로서 사용하는 방법이어도 되고, 중앙값이 아니라 평균값을 사용하는 방법 등이어도 된다.
또, 본 실시형태에서는, 도 3, 도 4를 사용하여, 움직임 벡터의 복호화에서의 주변 블록의 위치를 설명했으나, 이것은 다른 위치여도 된다.
또, 본 실시형태에서는, 다른 블록의 움직임 벡터를 이용하여 블록을 부호화하는 방법으로서, 스킵 모드나 시간 방법 및 공간적인 다이렉트 모드를 예로 들어 설명했으나, 이것은 다른 방법이어도 된다.
또, 본 실시형태에서는, 주변 블록의 움직임 벡터로부터 얻어진 예측값과, 부호열에 의해 나타내어지는 차분값과의 가산을 행함으로써 움직임 벡터의 복호화를 행하는 경우에 대해 설명했으나, 이것은 가산 이외의 방법에 의해 움직임 벡터의 복호화를 행해도 된다.
또, 본 실시형태에서는, 공간적인 다이렉트 모드로 주변 블록이 부호화되어 있었던 경우에서, 그 주변 블록의 주변에 있는 복호화가 끝난 3개의 블록의 움직임 벡터의 중앙값을 구하여, 그 중앙값을 주변 블록의 움직임 벡터로서 취급하는 경우에 대해 설명했으나, 그 블록수는 3개 이외의 다른 수이어도 되고, 움직임 벡터의 결정 방법은 다른 방법이어도 된다. 예를 들면, 좌측 옆의 블록의 움직임 벡터를 주변 블록의 움직임 벡터로서 사용하는 방법이어도 되고, 중앙값이 아니라 평균값을 사용하는 방법 등이어도 된다.
또, 본 실시형태에서는, 공간적인 다이렉트 모드로 부호화되어 있었던 주변 블록이 있는 경우, 그 주변 블록에 대해 전후 방향의 2개의 움직임 벡터를 구했으나, 전방향 또는 후방향의 일 방향의 2개의 움직임 벡터를 구해도 된다. 이 경우, 복호화 대상의 B 픽처는, 그 픽처에 대해 전방 또는 후방의 일 방향에 있는 2장의 픽처를 참조하고 있다.
또, 본 실시형태에서는, P 픽처의 복호화에서는, 미리 정해진 1개의 픽처를 참조하고(예를 들면 픽처 (P13)의 복호화에 있어서는 픽처 (P10)을 참조), B 픽처의 복호화에서는, 미리 정해진 2개의 픽처를 참조하여(예를 들면 픽처 B 11의 복호화에서는 픽처 (P10과 P13)을 참조), 복호화하는 경우에 대해 설명했으나, 이들은, 다수의 픽처로부터 매크로 블록이나 블록마다 참조하는 픽처를 선택하여 복호화해 도 된다. 이러한 경우에, 움직임 벡터의 예측값을 생성하기 위해서는, 도 17에 도시한 바와 같이 하면 된다.
도 17은 블록마다 참조 픽처가 선택되는 경우에서, 움직임 벡터 복호화부(711)가 복호화 대상 블록의 움직임 벡터의 예측값을 도출하여, 그 예측값을 사용하여 복호화하는 동작을 도시한 흐름도이다.
먼저, 움직임 벡터 복호화부(711)는, 복호화 대상 블록의 주변에 있는 이미 복호화가 끝난 3개의 주변 블록을 특정한다(단계 S400).
그리고 움직임 벡터 복호화부(711)는, 그 특정된 주변 블록의 각각이, 다른 블록의 움직임 벡터를 사용하여 부호화되어 있었던 주변 블록(Ba)인지, 다른 블록의 움직임 벡터를 사용하지 않고 부호화되어 있었던 주변 블록(Bb)인지를 판별한다(단계 S402).
여기서 움직임 벡터 복호화부(711)는, 주변 블록 (Ba)에 대해서는, 그 복호화에서 사용한 움직임 벡터와, 그 주변 블록 (Ba)가 어느 참조 픽처를 참조하고 있는지를 나타내는 정보를 취득하여, 그 복호화에서 사용한 움직임 벡터를 주변 블록 (Ba)의 움직임 벡터로서 취급하고, 주변 블록 (Bb)에 대해서는, 그 주변 블록 (Bb)의 움직임 벡터와, 그 주변 블록 (Bb)가 어느 참조 픽처를 참조하고 있는지를 나타내는 정보를 취득한다(단계 S404).
다음으로 움직임 벡터 복호화부(711)는, 단계 S404에서 취득한 정보에 기초하여, 3개의 주변 블록 중 복호화 대상 블록과 같은 픽처를 참조하고 있는 주변 블록을 특정하고(단계 S406), 그 특정된 주변 블록의 수를 판별한다(단계 S408).
그리고, 움직임 벡터 복호화부(711)는, 단계 S408에서 판별된 주변 블록의 수가 1개이면, 같은 픽처를 참조하고 있는 그 1개의 주변 블록의 움직임 벡터를, 복호화 대상 블록의 움직임 벡터의 예측값으로 한다(단계 S410).
또, 단계 S408에서 판별된 주변 블록의 수가 1개 이외이면, 움직임 벡터 복호화부(711)는, 3개의 주변 블록 중 복호화 대상 블록과 다른 픽처를 참조하고 있는 주변 블록의 움직임 벡터를 0으로 하고(단계 S412), 3개의 주변 블록의 움직임 벡터의 중앙값을, 복호화 대상 블록의 움직임 벡터의 예측값으로 한다(단계 S414).
이렇게 단계 S410 또는 단계 S414에서 도출된 예측값을 사용하여, 그 예측값에 차분값을 가산하여 이것을 복호화 대상 블록의 움직임 벡터로 복호화한다(단계 S416).
또, 본 실시형태와 같이, 움직임 벡터의 복호화를 공간적으로 인접하는 블록의 움직임 벡터를 예측값으로서 사용하여 행하는 경우, 움직임 벡터의 복호화를 위해 움직임 벡터 기억부(706)에 유지해 두는 움직임 벡터의 양은, 움직임 벡터 기억부(706)에 스킵 모드나 다이렉트 모드로 실제로 움직임 보상에 사용한 움직임 벡터를 유지해 두는 경우에는, 1매크로 블록 라인(높이가 1 매크로 블록이고 가로폭이 화면의 가로폭과 같은 영역)분의 블록의 움직임 벡터를 유지해 두면 된다. 이것은, 움직임 벡터 기억부(706)에 스킵 모드나 다이렉트 모드로 실제로 움직임 보상에 이용한 움직임 벡터를 유지해 두는 경우에, 본 실시형태에서 도 3이나 도 4를 사용하여 설명했던 것 같은 주변 블록을 사용하는 경우, 움직임 벡터의 복호화시에 주변 블록으로서 참조되는 블록은, 현재의 매크로 블록을 기점으로 하여, 과거 1매 크로 블록 슬라이스분이기 때문이다.
(실시형태 3)
또한, 상기 각 실시형태에서 나타낸 움직임 벡터 부호화 방법 또는 움직임 벡터 복호화 방법을 실현하기 위한 프로그램을, 플렉서블 디스크 등의 기억 매체에 기록하도록 함으로써, 상기 각 실시형태에서 나타낸 처리를, 독립된 컴퓨터 시스템에서 간단히 실시하는 것이 가능해진다.
도 18은 실시형태 1 및 실시형태 2의 동화상 부호화 장치(100) 및 동화상 복호화 장치(200)가 실행하는 움직임 벡터 부호화 방법 및 움직임 벡터 복호화 방법을 컴퓨터 시스템에 의해 실현하기 위한 프로그램을 격납하는 기억 매체에 대한 설명도이다.
도 18 중의 (b)는, 플렉서블 디스크(FD)의 정면에서 본 외관, 단면 구조, 및 디스크 본체(FD1)를 도시하고, 도 18 중의 (a)는, 기록 매체의 본체인 디스크 본체 (FD1)의 물리 포맷의 예를 도시하고 있다.
디스크 본체(FD1)는 케이스(F) 내에 내장되고, 디스크 본체(FD1)의 표면에는, 동심원 형상으로 외주로부터는 내주를 향해 다수의 트랙(Tr)이 형성되고, 각 트랙은 각도 방향으로 16의 섹터(Se)로 분할되어 있다. 따라서, 상기 프로그램을 격납한 플렉서블 디스크(FD)에서는, 상기 디스크 본체(FD1) 상에 할당된 영역에, 상기 프로그램으로서의 움직임 벡터 부호화 방법이나 움직임 벡터 복호화 방법이 기록되어 있다.
또, 도 18 중의 (c)는, 플렉서블 디스크(FD)에 상기 프로그램의 기록 재생을 행하기 위한 구성을 도시한다.
상기 프로그램을 플렉서블 디스크(FD)에 기록하는 경우는, 컴퓨터 시스템(Cs)이 상기 프로그램으로서의 움직임 벡터 부호화 방법 또는 움직임 벡터 복호화 방법을 플렉서블 디스크 드라이브(FDD)를 통해 기입한다. 또, 플렉서블 디스크(FD) 내의 프로그램에 의해 상기 움직임 벡터 부호화 방법 또는 움직임 벡터 복호화 방법을 컴퓨터 시스템(Cs) 중에 구축하는 경우는, 플렉서블 디스크 드라이브(FDD)에 의해 프로그램이 플렉서블 디스크(FD)로부터 읽어 내어져, 컴퓨터 시스템(Cs)에 전송된다.
또한, 상기 설명에서는, 기록 매체로서 플렉서블 디스크(FD)를 사용하여 설명을 했으나, 광디스크를 사용해도 동일하게 행할 수 있다. 또, 기록 매체는 이것에 한정되지 않고, IC 카드, ROM 카세트 등, 프로그램을 기록할 수 있는 것이면 마찬가지로 실시할 수 있다.
(실시형태 4)
또한 여기서, 상기 실시형태에서 나타낸 움직임 벡터 부호화 방법이나 움직임 벡터 복호화 방법의 응용예와 그것을 사용한 시스템을 설명한다.
도 19는, 컨텐츠 배송 서비스를 실현하는 컨텐츠 공급 시스템(ex100)의 전체구성을 도시한 블록도이다. 통신 서비스의 제공 영역을 원하는 크기로 분할하여, 각 셀 내에 각각 고정 무선국인 기지국(ex107∼ex110)이 설치되어 있다.
이 컨텐츠 공급 시스템(ex100)은, 예를 들면 인터넷(ex101)에 인터넷 서비스 프로바이더(ex102) 및 전화망(ex104), 및 기지국(ex107∼ex110)을 통해, 컴퓨터 (ex111), PDA(personal digital assistant)(ex112), 카메라(ex113), 휴대전화(ex114), 카메라 부착 휴대전화(ex115) 등의 각 기기가 접속된다.
그러나, 컨텐츠 공급 시스템(ex100)은 도 19와 같은 조합에 한정되지 않고, 어느 하나를 조합하여 접속하도록 해도 된다. 또, 고정 무선국인 기지국(ex107∼ex110)을 통하지 않고, 각 기기가 전화망(ex104)에 직접 접속되어도 된다.
카메라(ex113)는 디지털 비디오 카메라 등의 동화상 촬영이 가능한 기기이다. 또, 휴대전화는, PDC(Personal Digital Communications) 방식, CDMA(Code Division Multiple Access) 방식, W-CDMA(Wideband-Code Division Multiple Access) 방식, 또는 GSM(Global System for Mobile Communications) 방식의 휴대전화기, 또는 PHS(Personal Handyphone System) 등이며, 어느 것이어도 상관없다.
또, 스트리밍 서버(ex103)는, 카메라(ex113)로부터 기지국(ex109), 전화망 (ex104)을 통해 접속되어 있고, 카메라(ex113)를 사용하여 사용자가 송신하는 부호화 처리된 데이터에 기초한 라이프 배송 등이 가능하게 된다. 촬영한 데이터의 부호화처리는 카메라(ex113)로 행해도 되고, 데이터의 송신처리를 하는 서버 등으로 행해도 된다. 또, 카메라(116)로 촬영한 동화상 데이터는 컴퓨터(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)은, 부호화된 데이터를 클라이언트에서 수신하여 재생할 수 있고, 또한 클라이언트에서 실시간으로 수신하여 복호화하여 재생함으로써, 개인 방송도 실현 가능하게 되는 시스템이다.
이 시스템을 구성하는 각 기기의 부호화, 복호화에는 상기 각 실시형태에서 나타낸 동화상 부호화 장치 또는 동화상 복호화 장치를 사용하도록 하면 된다.
그 일례로서 휴대전화에 대해 설명한다.
도 20은 상기 실시형태에서 설명한 움직임 벡터 부호화 방법과 움직임 벡터복호화 방법을 사용한 휴대전화(ex115)를 도시한 도면이다. 휴대전화(ex115)는, 기지국(ex110) 간에 전파를 송수신하기 위한 안테나(ex201), CCD 카메라 등의 영상, 정지화상을 찍는 것이 가능한 카메라부(ex203), 카메라부(ex203)로 촬영한 영 상, 안테나(ex201)로 수신한 영상 등이 복호화된 데이터를 표시하는 액정 디스플레이 등의 표시부(ex202), 조작 키(ex204)군으로 구성되는 본체부, 음성 출력을 하기위한 스피커 등의 음성 출력부(ex208), 음성 입력을 하기 위한 마이크 등의 음성 입력부(ex205), 촬영한 동화상 또는 정지화상의 데이터, 수신한 메일의 데이터, 동화상의 데이터 또는 정지화상의 데이터 등, 부호화된 데이터 또는 복호화된 데이터를 저장하기 위한 기록 미디어(ex207), 휴대전화(ex115)에 기록 미디어(ex207)를 장착 가능하게 하기 위한 슬롯부(ex206)를 갖고 있다. 기록 미디어(ex207)는 SD 카드 등의 플라스틱 케이스 내에 전기적으로 개서나 소거가 가능한 불휘발성 메모리인 EEPROM(Electrically Erasab1e and Programmable Read Only Memory)의 일종인 플래쉬 메모리 소자를 격납한 것이다.
또한, 휴대전화(ex115)에 대해 도 21을 사용하여 설명한다. 휴대전화(ex115)는 표시부(ex202) 및 조작 키(ex204)를 구비한 본체부의 각 부를 통괄적으로 제어하 도록 이루어진 주 제어부(ex311)에 대해, 전원 회로부(ex310), 조작 입력 제어부(ex304), 화상 부호화부(ex312), 카메라 인터페이스부(ex303), LCD(Liquid CrystaI Display) 제어부(ex302), 화상 복호화부(ex309), 다중 분리부(ex308), 기록 재생부(ex307), 변복조 회로부(ex306) 및 음성 처리부(ex305)가 동기 버스(ex313)를 통하여 서로 접속되어 있다.
전원 회로부(ex310)는, 사용자의 조작에 의해 끝냄 및 전원 키가 ON 상태로 되면, 배터리 팩으로부터 각 부에 대해 전력을 공급함으로써 카메라 부착 디지털 휴대전화(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)에 공급하고, 이에 의해 예를 들면 홈페이지에 링크된 동화상 파일에 포함되는 음성 데이터가 재생된다.
또한, 상기 시스템의 예에 한정되지 않고, 최근에는 위성, 지상파에 의한 디지털 방송이 화제가 되고 있고, 도 22에 도시하는 바와 같이 디지털 방송용 시스템에도 상기 실시형태의 적어도 화상 부호화 장치 또는 화상 복호화 장치 중 어느 하나를 설치할 수 있다. 구체적으로는, 방송국(ex409)에서는 영상 정보의 부호화 비트 스트림이 전파를 통해 통신 또는 방송 위성(ex410)에 전송된다. 이것을 받은 방송 위성(ex410)은, 방송용의 전파를 발신하고, 이 전파를 위성 방송 수신 설비를 갖는 가정의 안테나(ex406)로 수신하여, TV(수신기)(ex401) 또는 셋탑 박스(STB)(ex407) 등의 장치에 의해 부호화 비트 스트림을 복호화하여 이것을 재생한다. 또, 기록 매체인 CD나 DVD 등의 축적 미디어(ex402)에 기록한 부호화 비트 스트림을 읽어내어, 복호화하는 재생 장치(ex403)에도 상기 실시형태에서 나타낸 화상 복호화 장치를 실장하는 것이 가능하다. 이 경우, 재생된 영상 신호는 모니 터(ex404)에 표시된다. 또, 케이블 TV용의 케이블(ex405) 또는 위성/지상파 방송의 안테나(ex406)에 접속된 셋탑 박스(ex407) 내에 화상 복호화 장치를 실장하여, 이것을 TV의 모니터 (ex408)로 재생하는 구성도 생각할 수 있다. 이 때 셋탑 박스가 아니라, TV 내에 화상 복호화 장치를 설치해도 된다. 또, 안테나(ex411)를 갖는 차(ex412)에서 위성(ex410)으로부터 또는 기지국(ex107) 등으로부터 신호를 수신하여, 차(ex412)가 갖는 카 네비게이션(ex413) 등의 표시 장치에 동화상을 재생하는 것도 가능하다.
또한, 화상 신호를 상기 실시형태에서 나타낸 화상 부호화 장치에서 부호화하여, 기록 매체에 기록할 수도 있다. 구체예로서는, DVD 디스크(ex421)에 화상 신호를 기록하는 DVD 레코더나, 하드 디스크에 기록하는 디스크 레코더 등의 레코더 (ex420)가 있다. 또한 SD 카드(ex422)에 기록할 수도 있다. 레코더(ex420)가 상기실시형태에서 나타낸 화상 복호화 장치를 구비하고 있으면, DVD 디스크(ex421)나 SD 카드(ex422)에 기록한 화상 신호를 재생하여, 모니터(ex408)에 표시할 수 있다.
또한, 카 네비게이션(ex413)의 구성은 예를 들면 도 21에 도시하는 구성 중, 카메라부(ex203)와 카메라 인터페이스부(ex303), 화상 부호화부(ex312)를 제외한 구성을 생각할 수 있고, 같은 것을 컴퓨터(ex111)나 TV(수신기)(ex401) 등에서도 생각할 수 있다.
또, 상기 휴대전화(ex114) 등의 단말은, 부호화기·복호화기를 모두 갖는 송수신형의 단말 외에, 부호화기만을 갖는 송신 단말, 복호화기만을 갖는 수신 단말 의 3종류의 실장 형식을 생각할 수 있다.
이렇게, 상기 실시형태에서 나타낸 움직임 벡터 부호화 방법 또는 움직임 벡터 복호화 방법을 상술한 모든 기기·시스템에 사용하는 것은 가능하며, 그렇게 함으로써 상기 실시형태에서 설명한 효과를 얻을 수 있다.
도 1은 동화상 부호화 방식에서의 각 픽처의 예측 관계를 도시한 관계 표시도,
도 2는 다이렉트 모드에서의 프레임 간 예측 방법을 설명하기 위한 설명도,
도 3은 MPEG-4에서의 부호화 대상 블록의 움직임 벡터의 부호화 방법을 설명하기 위한 설명도,
도 4는 H. 26L에서의 부호화 대상 블록의 움직임 벡터의 부호화 방법을 설명하기 위한 설명도,
도 5는 상동의 부호화 순서를 도시한 흐름도,
도 6은 본 발명의 제1 실시형태에서의 동화상 부호화 장치의 구성을 도시한 블록도,
도 7은 상동의 프레임 메모리에서의 픽처의 입출력 관계를 도시한 픽처 표시도,
도 8은 상동의 움직임 벡터 부호화부의 동작을 도시한 흐름도,
도 9는 상동의 주변 블록이 스킵 모드로 부호화되는 형태를 설명하기 위한 설명도,
도 10은 상동의 쌍방향 움직임 벡터에 의한 픽처 간 예측 부호화를 설명하기위한 설명도,
도 11은 상동의 주변 블록이 시간적인 다이렉트 모드로 부호화되어 있는 형태를 설명하기 위한 설명도,
도 12는 상동의 주변 블록이 공간적인 다이렉트 모드로 부호화되어 있는 형태를 설명하기 위한 설명도,
도 13은 상동의 움직임 벡터 부호화부의 다른 동작을 도시한 흐름도,
도 14는 본 발명의 제2 실시형태에서의 동화상 복호화 장치의 구성을 도시한 블록도,
도 15는 상동의 움직임 벡터 복호화부의 동작을 도시한 흐름도,
도 16은 상동의 동화상 복호화 장치의 입출력 관계를 설명하기 위한 설명도,
도 17은 상동의 움직임 벡터 복호화부의 다른 동작을 도시한 흐름도,
도 18은 본 발명의 제3 실시형태에서의 기록 매체에 대한 설명도,
도 19는 본 발명의 제4 실시형태에서의 컨텐츠 공급 시스템의 전체 구성을 도시한 블록도,
도 20은 상동의 휴대전화의 정면도,
도 21은 상동의 휴대전화의 블록도,
도 22는 상동의 디지털 방송용 시스템의 전체 구성을 도시한 블록도이다.

Claims (2)

  1. 동화상의 픽쳐를 부호화하는 화상 부호화 방법으로서,
    부호화의 대상이 되는 픽쳐를 구성하는 블록으로서, 부호화의 대상이 되는 상기 블록의 주변에 있는 이미 부호화가 끝난 주변 블록을 특정하는 주변 블록 특정 단계와,
    부호화의 대상이 되는 상기 블록의 움직임 벡터를 검출하는 움직임 벡터 검출 단계와,
    상기 주변 블록의 움직임 벡터를 이용하여, 부호화의 대상이 되는 상기 블록의 예측 움직임 벡터를 도출하는 예측 움직임 벡터 도출 단계와,
    상기 예측 움직임 벡터 도출 단계에서 도출된 상기 예측 움직임 벡터와, 부호화의 대상이 되는 상기 블록의 상기 움직임 벡터의 차분치를 부호화하는 움직임 벡터 부호화 단계와,
    부호화의 대상이 되는 상기 블록의 상기 움직임 벡터와, 그 움직임 벡터에 대응하는 참조 픽쳐를 이용하여 상기 블록의 움직임 보상 화상을 생성하는 움직임 보상 화상 생성 단계와,
    상기 움직임 보상 화상 생성 단계에서 생성된 상기 움직임 보상 화상과, 상기 블록의 블록 화상의 차분치인 차분 화상을 부호화하는 차분 화상 부호화 단계를 포함하고,
    여기서, 상기 주변 블록이 다른 블록의 움직임 벡터를 이용하여 부호화되어 있는 경우에는, 상기 주변 블록의 부호화에 사용된, 상기 다른 블록의 움직임 벡터를 이용하여 구해진 움직임 벡터를, 상기 예측 움직임 벡터 도출 단계에서, 상기 주변 블록의 움직임 벡터로서 이용하는 것을 특징으로 하는 화상 부호화 방법.
  2. 동화상의 픽쳐를 부호화하는 화상 부호화 장치로서,
    부호화의 대상이 되는 픽쳐를 구성하는 블록으로서, 부호화의 대상이 되는 상기 블록의 주변에 있는 이미 부호화가 끝난 주변 블록을 특정하는 주변 블록 특정 수단과,
    부호화의 대상이 되는 상기 블록의 움직임 벡터를 검출하는 움직임 벡터 검출 수단과,
    상기 주변 블록의 움직임 벡터를 이용하여, 부호화의 대상이 되는 상기 블록의 예측 움직임 벡터를 도출하는 예측 움직임 벡터 도출 수단과,
    상기 예측 움직임 벡터 도출 수단에서 도출된 상기 예측 움직임 벡터와, 부호화의 대상이 되는 상기 블록의 상기 움직임 벡터의 차분치를 부호화하는 움직임 벡터 부호화 수단과,
    부호화의 대상이 되는 상기 블록의 상기 움직임 벡터와, 그 움직임 벡터에 대응하는 참조 픽쳐를 이용하여 상기 블록의 움직임 보상 화상을 생성하는 움직임 보상 화상 생성 수단과,
    상기 움직임 보상 화상 생성 수단에서 생성된 상기 움직임 보상 화상과, 상기 블록의 블록 화상의 차분치인 차분 화상을 부호화하는 차분 화상 부호화 수단을 포함하고,
    여기서, 상기 주변 블록이 다른 블록의 움직임 벡터를 이용하여 부호화되어 있는 경우에는, 상기 주변 블록의 부호화에 사용된, 상기 다른 블록의 움직임 벡터를 이용하여 구해진 움직임 벡터를, 상기 예측 움직임 벡터 도출 수단에서, 상기 주변 블록의 움직임 벡터로서 이용하는 것을 특징으로 하는 화상 부호화 장치.
KR1020097022828A 2002-01-09 2003-01-08 움직임 벡터 부호화 장치와 그 방법, 움직임 벡터 복호화 장치와 그 방법, 동화상 부호화 장치, 프로그램, 및 기억 매체 KR100946845B1 (ko)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
JP2002001983 2002-01-09
JPJP-P-2002-001983 2002-01-09
JP2002204714 2002-07-12
JPJP-P-2002-204714 2002-07-12
JPJP-P-2002-346062 2002-11-28
JP2002346062A JP4114859B2 (ja) 2002-01-09 2002-11-28 動きベクトル符号化方法および動きベクトル復号化方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020077026287A Division KR100946846B1 (ko) 2002-01-09 2003-01-08 움직임 벡터 부호화 장치와 그 방법, 움직임 벡터 복호화장치와 그 방법, 동화상 부호화 장치, 프로그램, 및 기억매체

Publications (2)

Publication Number Publication Date
KR20090130305A KR20090130305A (ko) 2009-12-22
KR100946845B1 true KR100946845B1 (ko) 2010-03-09

Family

ID=27348065

Family Applications (4)

Application Number Title Priority Date Filing Date
KR1020077026287A KR100946846B1 (ko) 2002-01-09 2003-01-08 움직임 벡터 부호화 장치와 그 방법, 움직임 벡터 복호화장치와 그 방법, 동화상 부호화 장치, 프로그램, 및 기억매체
KR1020097022830A KR100946848B1 (ko) 2002-01-09 2003-01-08 움직임 벡터 부호화 장치와 그 방법 및 기록매체
KR1020037011000A KR100923379B1 (ko) 2002-01-09 2003-01-08 움직임 벡터 부호화 장치와 그 방법 및 기록매체
KR1020097022828A KR100946845B1 (ko) 2002-01-09 2003-01-08 움직임 벡터 부호화 장치와 그 방법, 움직임 벡터 복호화 장치와 그 방법, 동화상 부호화 장치, 프로그램, 및 기억 매체

Family Applications Before (3)

Application Number Title Priority Date Filing Date
KR1020077026287A KR100946846B1 (ko) 2002-01-09 2003-01-08 움직임 벡터 부호화 장치와 그 방법, 움직임 벡터 복호화장치와 그 방법, 동화상 부호화 장치, 프로그램, 및 기억매체
KR1020097022830A KR100946848B1 (ko) 2002-01-09 2003-01-08 움직임 벡터 부호화 장치와 그 방법 및 기록매체
KR1020037011000A KR100923379B1 (ko) 2002-01-09 2003-01-08 움직임 벡터 부호화 장치와 그 방법 및 기록매체

Country Status (18)

Country Link
US (22) US7362807B2 (ko)
EP (12) EP2249576B1 (ko)
JP (1) JP4114859B2 (ko)
KR (4) KR100946846B1 (ko)
CN (1) CN1295934C (ko)
AT (1) ATE493846T1 (ko)
AU (1) AU2003201906B2 (ko)
BR (2) BR0302580A (ko)
CA (3) CA2762054C (ko)
CY (5) CY1114230T1 (ko)
DE (1) DE60335516D1 (ko)
DK (12) DK2249573T3 (ko)
ES (11) ES2392513T3 (ko)
HU (2) HUE032083T2 (ko)
MX (1) MXPA03007629A (ko)
PT (11) PT2249573E (ko)
SI (5) SI2249573T1 (ko)
WO (1) WO2003061297A1 (ko)

Families Citing this family (91)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6765964B1 (en) 2000-12-06 2004-07-20 Realnetworks, Inc. System and method for intracoding video data
KR100424762B1 (ko) * 2001-09-06 2004-03-30 삼성전자주식회사 영상 데이터 제공 시스템 및 방법
US7003035B2 (en) 2002-01-25 2006-02-21 Microsoft Corporation Video coding methods and apparatuses
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
KR100906473B1 (ko) * 2002-07-18 2009-07-08 삼성전자주식회사 개선된 움직임 벡터 부호화 및 복호화 방법과 그 장치
US7154952B2 (en) * 2002-07-19 2006-12-26 Microsoft Corporation Timestamp-independent motion vector prediction for predictive (P) and bidirectionally predictive (B) pictures
NO318318B1 (no) * 2003-06-27 2005-02-28 Tandberg Telecom As Fremgangsmate for forbedret koding av video
US7609763B2 (en) * 2003-07-18 2009-10-27 Microsoft Corporation Advanced bi-directional predictive coding of video frames
US8064520B2 (en) * 2003-09-07 2011-11-22 Microsoft Corporation Advanced bi-directional predictive coding of interlaced video
FR2860678A1 (fr) * 2003-10-01 2005-04-08 Thomson Licensing Sa Procede de codage differentiel
US7480334B2 (en) * 2003-12-23 2009-01-20 Genesis Microchip Inc. Temporal motion vector filtering
JP3879741B2 (ja) * 2004-02-25 2007-02-14 ソニー株式会社 画像情報符号化装置および画像情報符号化方法
AR049966A1 (es) 2004-07-07 2006-09-20 Dow Global Technologies Inc Procedimiento de multiples etapas para producir composiciones de polimero de etilenos
US20060012719A1 (en) * 2004-07-12 2006-01-19 Nokia Corporation System and method for motion prediction in scalable video coding
KR100584603B1 (ko) * 2004-08-03 2006-05-30 학교법인 대양학원 다시점 영상의 다이렉트 모드 움직임 예측 방법 및 장치
KR101104828B1 (ko) * 2004-12-09 2012-01-16 삼성전자주식회사 움직임 벡터 연산 장치 및 그 방법
US7728909B2 (en) * 2005-06-13 2010-06-01 Seiko Epson Corporation Method and system for estimating motion and compensating for perceived motion blur in digital video
JP2007028393A (ja) * 2005-07-20 2007-02-01 Matsushita Electric Ind Co Ltd 双方向予測符号化ピクチャの直接モードブロックの動きベクトルを求める方法
JP4879558B2 (ja) * 2005-11-02 2012-02-22 パナソニック株式会社 動きベクトル検出装置
US8315308B2 (en) * 2006-01-11 2012-11-20 Qualcomm Incorporated Video coding with fine granularity spatial scalability
US7644666B2 (en) 2006-02-09 2010-01-12 Rehrig Pacific Company Pallet
US20070274396A1 (en) * 2006-05-26 2007-11-29 Ximin Zhang Complexity adaptive skip mode estimation for video encoding
US8275039B2 (en) * 2006-11-07 2012-09-25 Samsung Electronics Co., Ltd. Method of and apparatus for video encoding and decoding based on motion estimation
KR101383540B1 (ko) 2007-01-03 2014-04-09 삼성전자주식회사 복수의 움직임 벡터 프리딕터들을 사용하여 움직임 벡터를추정하는 방법, 장치, 인코더, 디코더 및 복호화 방법
KR100968204B1 (ko) * 2007-01-11 2010-07-06 전자부품연구원 다시점 비디오 코덱에서의 영상 예측 방법 및 이를 위한프로그램을 기록한 컴퓨터로 판독 가능한 기록매체
CN101222604B (zh) * 2007-04-04 2010-06-09 晨星半导体股份有限公司 运算移动估计值与估算图像的移动向量的方法
US20080247466A1 (en) * 2007-04-09 2008-10-09 Jian Wang Method and system for skip mode detection
EP2140684B1 (en) * 2007-04-12 2018-08-15 Thomson Licensing DTV Method and apparatus for context dependent merging for skip-direct modes for video encoding and decoding
US8526499B2 (en) * 2007-06-15 2013-09-03 Sungkyunkwan University Foundation For Corporate Collaboration Bi-prediction coding method and apparatus, bi-prediction decoding method and apparatus, and recording medium
WO2008153262A1 (en) 2007-06-15 2008-12-18 Sungkyunkwan University Foundation For Corporate Collaboration Bi-prediction coding method and apparatus, bi-prediction decoding method and apparatus, and recording midium
US8254455B2 (en) * 2007-06-30 2012-08-28 Microsoft Corporation Computing collocated macroblock information for direct mode macroblocks
CN100583649C (zh) * 2007-07-23 2010-01-20 华为技术有限公司 矢量编/解码方法、装置及流媒体播放器
JP2009055519A (ja) 2007-08-29 2009-03-12 Sony Corp 符号化処理装置、符号化処理方法、復号処理装置、及び、復号処理方法
WO2009120984A1 (en) 2008-03-28 2009-10-01 Kopin Corporation Handheld wireless display device having high-resolution display suitable for use as a mobile internet device
KR101560182B1 (ko) 2008-01-07 2015-10-15 삼성전자주식회사 다시점 비디오 부호화 방법과 그 장치 및 다시점 비디오 복호화 방법과 그 장치
KR101524465B1 (ko) 2008-01-10 2015-06-02 삼성전자주식회사 색차 보상을 이용한 다시점 비디오 부호화 방법과 그 장치 및 다시점 비디오 복호화 방법과 그 장치
JP5194833B2 (ja) * 2008-01-23 2013-05-08 ソニー株式会社 符号化装置および方法、記録媒体、並びにプログラム
WO2009095962A1 (ja) 2008-01-29 2009-08-06 Panasonic Corporation 画像符号化装置、画像符号化方法、画像符号化集積回路および画像符号化プログラム
US8165211B2 (en) * 2008-05-30 2012-04-24 Hong Kong Applied Science and Technology Research Institute Company Limited Method and apparatus of de-interlacing video
US8189666B2 (en) 2009-02-02 2012-05-29 Microsoft Corporation Local picture identifier and computation of co-located information
TWI405469B (zh) * 2009-02-20 2013-08-11 Sony Corp Image processing apparatus and method
JP5083248B2 (ja) * 2009-03-05 2012-11-28 富士通セミコンダクター株式会社 画像データ復号演算装置
WO2010131903A2 (en) 2009-05-12 2010-11-18 Lg Electronics Inc. Method and apparatus for processing a video signal
LT3809703T (lt) * 2009-06-18 2023-12-11 Kabushiki Kaisha Toshiba Vaizdo kodavimas
US9628794B2 (en) 2009-06-18 2017-04-18 Kabushiki Kaisha Toshiba Video encoding apparatus and a video decoding apparatus
US8462852B2 (en) * 2009-10-20 2013-06-11 Intel Corporation Methods and apparatus for adaptively choosing a search range for motion estimation
US9654792B2 (en) 2009-07-03 2017-05-16 Intel Corporation Methods and systems for motion vector derivation at a video decoder
US20110002387A1 (en) * 2009-07-03 2011-01-06 Yi-Jen Chiu Techniques for motion estimation
US8917769B2 (en) 2009-07-03 2014-12-23 Intel Corporation Methods and systems to estimate motion based on reconstructed reference frames at a video decoder
KR101768207B1 (ko) 2010-01-19 2017-08-16 삼성전자주식회사 축소된 예측 움직임 벡터의 후보들에 기초해 움직임 벡터를 부호화, 복호화하는 방법 및 장치
CN104967857B (zh) 2010-01-19 2019-08-23 三星电子株式会社 对图像进行编码/解码的方法和设备
AU2015201666C1 (en) * 2010-01-19 2017-04-27 Samsung Electronics Co., Ltd. Method and apparatus for encoding and decoding motion vector based on reduced motion vector predictor candidates
CN103385002A (zh) * 2010-02-17 2013-11-06 韩国电子通信研究院 用于对超高清图像进行编码的装置及其方法、以及解码装置及其方法
US8354548B2 (en) * 2010-02-19 2013-01-15 Bristol-Myers Squibb Company Glycine chroman-6-sulfonamides for use as inhibitors of diacylglycerol lipase
RU2012140740A (ru) * 2010-04-01 2014-05-10 Сони Корпорейшн Устройство и способ обработки изображения
KR102344855B1 (ko) * 2010-05-26 2021-12-28 엘지전자 주식회사 비디오 신호의 처리 방법 및 장치
US9300970B2 (en) 2010-07-09 2016-03-29 Samsung Electronics Co., Ltd. Methods and apparatuses for encoding and decoding motion vector
KR101456499B1 (ko) * 2010-07-09 2014-11-03 삼성전자주식회사 움직임 벡터의 부호화 방법 및 장치, 그 복호화 방법 및 장치
US10013976B2 (en) 2010-09-20 2018-07-03 Kopin Corporation Context sensitive overlays in voice controlled headset computer displays
KR101842852B1 (ko) * 2010-09-24 2018-03-27 선 페이턴트 트러스트 화상 부호화 방법, 화상 복호화 방법, 화상 부호화 장치, 및 화상 복호화 장치
CA3033984C (en) * 2010-09-30 2022-03-08 Mitsubishi Electric Corporation Moving image encoding device, moving image decoding device, moving image coding method, and moving image decoding method
JP5195875B2 (ja) * 2010-11-10 2013-05-15 ソニー株式会社 復号装置及び方法、記録媒体、並びにプログラム
US8711940B2 (en) * 2010-11-29 2014-04-29 Mediatek Inc. Method and apparatus of motion vector prediction with extended motion vector predictor
KR101588601B1 (ko) 2010-12-13 2016-01-29 한국전자통신연구원 참조 유닛 결정 방법 및 장치
US8891831B2 (en) * 2010-12-14 2014-11-18 The United States Of America, As Represented By The Secretary Of The Navy Method and apparatus for conservative motion estimation from multi-image sequences
US9547911B2 (en) 2010-12-14 2017-01-17 The United States Of America, As Represented By The Secretary Of The Navy Velocity estimation from imagery using symmetric displaced frame difference equation
JP5721851B2 (ja) 2010-12-21 2015-05-20 インテル・コーポレーション Dmvd処理のシステムおよび方法の改善
KR101377528B1 (ko) 2011-01-15 2014-03-27 에스케이텔레콤 주식회사 움직임 벡터 부호화/복호화 방법 및 장치
WO2012096551A2 (ko) * 2011-01-15 2012-07-19 에스케이텔레콤 주식회사 움직임 벡터 부호화/복호화 방법 및 장치
AU2012208842B2 (en) * 2011-01-19 2014-08-07 Hfi Innovation Inc. Method and apparatus for parsing error robustness of temporal Motion Vector Prediction
US9749657B2 (en) 2011-01-21 2017-08-29 Sharp Kabushiki Kaisha Buffer compression for motion vector competition
MX2013008691A (es) * 2011-02-10 2013-08-21 Panasonic Corp Metodo de codificacion de imagenes en movimiento, aparato de codificacion de imagenes en movimiento, metodo de decodificacion de imagenes en movimiento, aparato de decodificacion de imagenes en movimiento y aparato de codificacion y decodificacion de imagenes en movimiento.
US9648334B2 (en) 2011-03-21 2017-05-09 Qualcomm Incorporated Bi-predictive merge mode based on uni-predictive neighbors in video coding
CN107979759B (zh) 2011-03-21 2021-04-30 Lg 电子株式会社 选择运动矢量预测值的方法和使用其的设备
WO2012140904A1 (ja) * 2011-04-15 2012-10-18 パナソニック株式会社 画像圧縮装置、画像圧縮方法、集積回路、プログラムおよび映像表示装置
WO2012147344A1 (ja) 2011-04-27 2012-11-01 株式会社Jvcケンウッド 動画像復号装置、動画像復号方法、及び動画像復号プログラム
TWI526056B (zh) 2011-04-27 2016-03-11 Jvc Kenwood Corp A moving picture coding apparatus, a motion picture coding method, a motion picture coding program, a transmission apparatus, a transmission method, a transmission program, a video decoding apparatus, a video decoding method, a video decoding program, a reception device, a reception method, Receiving program
US10627860B2 (en) 2011-05-10 2020-04-21 Kopin Corporation Headset computer that uses motion and voice commands to control information display and remote devices
KR101539312B1 (ko) 2011-05-27 2015-07-24 미디어텍 인크. 비디오 프로세싱에 대한 라인 버퍼 감소를 위한 방법 및 장치
KR20130030181A (ko) 2011-09-16 2013-03-26 한국전자통신연구원 움직임 벡터 예측기를 이용한 움직임 벡터 부호화/복호화 방법 및 장치
US8929954B2 (en) 2012-04-25 2015-01-06 Kopin Corporation Headset computer (HSC) as auxiliary display with ASR and HT input
CN102946535B (zh) * 2012-10-09 2015-05-13 华为技术有限公司 预测块的视差矢量预测值获取的方法和装置
KR101676788B1 (ko) * 2014-10-17 2016-11-16 삼성전자주식회사 멀티코어 시스템 기반 비디오 병렬 복호화 방법 및 그 장치
WO2016154930A1 (en) * 2015-03-31 2016-10-06 Realnetworks, Inc. Motion vector selection and prediction in video coding systems and methods
CN105163123B (zh) * 2015-09-06 2018-02-13 福州瑞芯微电子股份有限公司 一种hevc帧间预测子块mv信息的存取方法和装置
US10652569B2 (en) 2015-12-22 2020-05-12 Realnetworks, Inc. Motion vector selection and prediction in video coding systems and methods
JP6356762B2 (ja) * 2016-10-31 2018-07-11 株式会社東芝 動画像符号化装置及び方法
US20180184107A1 (en) * 2016-12-28 2018-06-28 Novatek Microelectronics Corp. Motion estimation method and motion estimation apparatus
CN111869214A (zh) * 2018-03-19 2020-10-30 高通股份有限公司 对高级时间运动矢量预测的改进
US10469869B1 (en) * 2018-06-01 2019-11-05 Tencent America LLC Method and apparatus for video coding
EP3648059B1 (en) * 2018-10-29 2021-02-24 Axis AB Video processing device and method for determining motion metadata for an encoded video

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000299864A (ja) 1999-04-12 2000-10-24 Canon Inc 動画像処理方法
JP2001224036A (ja) 1995-10-18 2001-08-17 Sharp Corp 動画像符号化装置

Family Cites Families (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2002017A (en) * 1931-03-21 1935-05-21 Bendix Brake Co Brake
FR2644779A1 (fr) * 1989-03-22 1990-09-28 Centre Nat Rech Scient Composition ceramique a constante dielectrique elevee
DE69217150T2 (de) * 1991-09-30 1997-07-17 Philips Electronics Nv Bewegungsvektorschätzung, Bewegungsbildkodierung- und -speicherung
ATE204691T1 (de) 1993-03-24 2001-09-15 Sony Corp Verfahren und vorrichtung zur kodierung/dekodierung von bewegungsvektoren, und verfahren und vorrichtung zur kodierung/dekodierung von bildsignalen
JPH0730896A (ja) * 1993-06-25 1995-01-31 Matsushita Electric Ind Co Ltd 動きベクトル符号化及び復号化方法
FR2725577B1 (fr) 1994-10-10 1996-11-29 Thomson Consumer Electronics Procede de codage ou de decodage de vecteurs mouvement et dispositif de codage ou de decodage mettant en oeuvre ledit procede
EP2129133A3 (en) 1995-08-29 2012-02-15 Sharp Kabushiki Kaisha Video coding device and video decoding device with a motion compensated interframe prediction
KR0181069B1 (ko) * 1995-11-08 1999-05-01 배순훈 움직임 추정장치
JP3263807B2 (ja) * 1996-09-09 2002-03-11 ソニー株式会社 画像符号化装置および画像符号化方法
JP3344577B2 (ja) 1996-09-09 2002-11-11 ソニー株式会社 画像符号化装置および画像符号化方法、画像復号化装置および画像復号化方法、並びに記録方法
US6005980A (en) * 1997-03-07 1999-12-21 General Instrument Corporation Motion estimation and compensation of video object planes for interlaced digital video
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
TW429636B (en) * 1998-02-18 2001-04-11 Murata Manufacturing Co Piezoelectric ceramic composition
TW563265B (en) * 1998-02-18 2003-11-21 Murata Manufacturing Co Piezoelectric ceramic composition
EP0940774A3 (en) * 1998-03-05 2000-07-05 Matsushita Electric Industrial Co., Ltd. Motion vector coding and decoding apparatus and method
JPH11317961A (ja) 1998-03-05 1999-11-16 Matsushita Electric Ind Co Ltd 画像符号化装置及び画像復号化装置,画像符号化方法及び画像復号化方法,並びにデ―タ記憶媒体
JP2000099864A (ja) 1998-09-21 2000-04-07 Yoshitaka Kurita 介護者支援装置
US6983018B1 (en) * 1998-11-30 2006-01-03 Microsoft Corporation Efficient motion vector coding for video compression
JP2000299684A (ja) * 1999-04-12 2000-10-24 Telecommunication Advancement Organization Of Japan データ通信システム
CN1147159C (zh) * 1999-04-27 2004-04-21 三星电子株式会社 实时运动图像编码的高速运动估计方法及其装置
US7885340B2 (en) * 1999-04-27 2011-02-08 Realnetworks, Inc. System and method for generating multiple synchronized encoded representations of media data
EP1056293A1 (en) * 1999-05-25 2000-11-29 Deutsche Thomson-Brandt Gmbh Method and apparatus for block motion estimation
EP1142343A1 (en) 1999-10-29 2001-10-10 Koninklijke Philips Electronics N.V. Video encoding method
US6671319B1 (en) * 1999-12-28 2003-12-30 Sony Corporation Methods and apparatus for motion estimation using neighboring macroblocks
KR100680452B1 (ko) * 2000-02-22 2007-02-08 주식회사 팬택앤큐리텔 움직임 벡터 메모리의 갱신방법 및 장치
KR100708091B1 (ko) * 2000-06-13 2007-04-16 삼성전자주식회사 양방향 움직임 벡터를 이용한 프레임 레이트 변환 장치 및그 방법
US8005145B2 (en) * 2000-08-11 2011-08-23 Nokia Corporation Method and apparatus for transferring video frame in telecommunication system
US6842483B1 (en) * 2000-09-11 2005-01-11 The Hong Kong University Of Science And Technology Device, method and digital video encoder for block-matching motion estimation
US7327787B1 (en) * 2000-11-20 2008-02-05 Intel Corporation Method and apparatus for motion estimation
US6940903B2 (en) 2001-03-05 2005-09-06 Intervideo, Inc. Systems and methods for performing bit rate allocation for a video data stream
KR100378795B1 (ko) * 2001-04-02 2003-04-03 엘지전자 주식회사 동영상에서 b픽쳐의 신축적인 다이렉트 모드 코딩 방법
US8111754B1 (en) * 2001-07-11 2012-02-07 Dolby Laboratories Licensing Corporation Interpolation of video compression frames
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
JP4130783B2 (ja) * 2002-04-23 2008-08-06 松下電器産業株式会社 動きベクトル符号化方法および動きベクトル復号化方法
KR100491530B1 (ko) * 2002-05-03 2005-05-27 엘지전자 주식회사 모션 벡터 결정 방법
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
KR100774296B1 (ko) * 2002-07-16 2007-11-08 삼성전자주식회사 움직임 벡터 부호화 방법, 복호화 방법 및 그 장치
US7020200B2 (en) * 2002-08-13 2006-03-28 Lsi Logic Corporation System and method for direct motion vector prediction in bi-predictive video frames and fields
US7227901B2 (en) * 2002-11-21 2007-06-05 Ub Video Inc. Low-complexity deblocking filter
US6646578B1 (en) * 2002-11-22 2003-11-11 Ub Video Inc. Context adaptive variable length decoding system and method
US8085846B2 (en) * 2004-08-24 2011-12-27 Thomson Licensing Method and apparatus for decoding hybrid intra-inter coded blocks
CN102439978A (zh) * 2010-03-12 2012-05-02 联发科技(新加坡)私人有限公司 运动预测方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001224036A (ja) 1995-10-18 2001-08-17 Sharp Corp 動画像符号化装置
JP2000299864A (ja) 1999-04-12 2000-10-24 Canon Inc 動画像処理方法

Also Published As

Publication number Publication date
EP2273795B1 (en) 2016-08-10
EP1439713B1 (en) 2010-12-29
US20130329803A1 (en) 2013-12-12
CY1114230T1 (el) 2016-08-31
US20150063458A1 (en) 2015-03-05
EP2249576A3 (en) 2011-02-23
US20180007383A1 (en) 2018-01-04
DK2273794T3 (da) 2012-10-01
EP2249578B1 (en) 2013-03-20
PT2273795T (pt) 2016-10-05
US20080069227A1 (en) 2008-03-20
EP2273795A3 (en) 2011-02-23
US20150055714A1 (en) 2015-02-26
EP2249576B1 (en) 2013-10-16
ES2408013T9 (es) 2013-12-03
CA2762023C (en) 2014-09-30
PT2249578E (pt) 2013-05-06
US8885719B2 (en) 2014-11-11
EP2293581B1 (en) 2016-08-10
US8290048B2 (en) 2012-10-16
WO2003061297A1 (en) 2003-07-24
US9407927B2 (en) 2016-08-02
KR100923379B1 (ko) 2009-10-27
PT2249576E (pt) 2013-12-09
EP2249570A2 (en) 2010-11-10
EP2273793B1 (en) 2012-09-26
ATE493846T1 (de) 2011-01-15
EP2273794B1 (en) 2012-08-22
ES2408245T3 (es) 2013-06-19
BRPI0302580B1 (pt) 2018-02-27
US10362328B2 (en) 2019-07-23
US20100118969A1 (en) 2010-05-13
PT2249570E (pt) 2013-05-03
DK2249577T3 (da) 2013-04-15
EP2249573A2 (en) 2010-11-10
EP2249576A2 (en) 2010-11-10
ES2408214T3 (es) 2013-06-19
CY1114049T1 (el) 2016-07-27
KR20080002952A (ko) 2008-01-04
EP2273793A3 (en) 2011-02-23
MXPA03007629A (es) 2003-12-04
KR20040068854A (ko) 2004-08-02
HUE031077T2 (en) 2017-06-28
US9451278B2 (en) 2016-09-20
US8908769B2 (en) 2014-12-09
ES2441223T3 (es) 2014-02-03
CY1118320T1 (el) 2017-06-28
DK2249576T3 (da) 2013-11-25
SI2249576T1 (sl) 2013-12-31
PT2293581T (pt) 2016-11-14
KR20090130306A (ko) 2009-12-22
SI2293581T1 (sl) 2016-12-30
ES2388814T3 (es) 2012-10-18
ES2408241T3 (es) 2013-06-19
EP2273794A3 (en) 2011-02-23
CA2762023A1 (en) 2003-07-24
US20080069230A1 (en) 2008-03-20
PT2249575E (pt) 2013-12-09
DK2249570T3 (da) 2013-04-15
CA2762054C (en) 2014-08-26
PT2273793E (pt) 2012-11-02
ES2410533T3 (es) 2013-07-02
US9124897B2 (en) 2015-09-01
JP4114859B2 (ja) 2008-07-09
CA2438295A1 (en) 2003-07-24
EP2249578A3 (en) 2011-02-23
EP1439713A4 (en) 2006-04-12
KR100946846B1 (ko) 2010-03-09
EP2273795A2 (en) 2011-01-12
EP2273793A2 (en) 2011-01-12
US20130329805A1 (en) 2013-12-12
US20160360228A1 (en) 2016-12-08
ES2600520T3 (es) 2017-02-09
EP2249573A3 (en) 2011-02-23
EP2249574A3 (en) 2011-02-23
EP2249577B1 (en) 2013-03-20
US20040086047A1 (en) 2004-05-06
US20080069229A1 (en) 2008-03-20
US20150055713A1 (en) 2015-02-26
EP2273794A2 (en) 2011-01-12
EP2293581A1 (en) 2011-03-09
EP2249575A3 (en) 2011-02-23
KR20090130305A (ko) 2009-12-22
US20130322541A1 (en) 2013-12-05
ES2600786T3 (es) 2017-02-10
US8290046B2 (en) 2012-10-16
AU2003201906B2 (en) 2007-09-13
US9161050B2 (en) 2015-10-13
US9124896B2 (en) 2015-09-01
DK2249574T3 (da) 2013-04-15
CN1496654A (zh) 2004-05-12
HUE032083T2 (en) 2017-09-28
CY1114052T1 (el) 2016-07-27
US20150373363A1 (en) 2015-12-24
EP2249577A3 (en) 2011-02-23
EP2249573B1 (en) 2013-03-20
DK2273795T3 (en) 2016-10-03
US20130329801A1 (en) 2013-12-12
ES2408013T3 (es) 2013-06-17
PT1439713E (pt) 2011-02-25
PT2249573E (pt) 2013-05-03
CY1114867T1 (el) 2016-12-14
SI2249578T1 (sl) 2013-04-30
US8885720B2 (en) 2014-11-11
US10313700B2 (en) 2019-06-04
DK2249578T3 (da) 2013-04-15
EP2249575A2 (en) 2010-11-10
US8401080B2 (en) 2013-03-19
EP2249570B1 (en) 2013-03-20
ES2392513T9 (es) 2013-02-18
US20160360227A1 (en) 2016-12-08
PT2249574E (pt) 2013-05-03
CN1295934C (zh) 2007-01-17
ES2392513T3 (es) 2012-12-11
US20150373364A1 (en) 2015-12-24
DK2293581T3 (en) 2016-12-05
AU2003201906A1 (en) 2003-07-30
US8902987B2 (en) 2014-12-02
US20130329802A1 (en) 2013-12-12
DK2249575T3 (da) 2013-11-25
ES2441222T3 (es) 2014-02-03
EP2249577A2 (en) 2010-11-10
CA2762054A1 (en) 2003-07-24
USRE46924E1 (en) 2018-06-26
EP2249574A2 (en) 2010-11-10
US20080069228A1 (en) 2008-03-20
USRE48035E1 (en) 2020-06-02
DE60335516D1 (de) 2011-02-10
EP2249575B1 (en) 2013-10-16
US8885718B2 (en) 2014-11-11
EP2249578A2 (en) 2010-11-10
US8885717B2 (en) 2014-11-11
CA2438295C (en) 2012-09-25
EP2249574B1 (en) 2013-03-20
KR100946848B1 (ko) 2010-03-09
DK2249573T3 (da) 2013-04-15
US20130329804A1 (en) 2013-12-12
SI2249573T1 (sl) 2013-04-30
PT2249577E (pt) 2013-05-03
US8290047B2 (en) 2012-10-16
US7362807B2 (en) 2008-04-22
JP2004096705A (ja) 2004-03-25
SI2249570T1 (sl) 2013-04-30
EP1439713A1 (en) 2004-07-21
DK2273793T3 (da) 2012-10-15
BR0302580A (pt) 2004-02-25
EP2249570A3 (en) 2011-02-23
DK1439713T3 (da) 2011-03-07

Similar Documents

Publication Publication Date Title
KR100946845B1 (ko) 움직임 벡터 부호화 장치와 그 방법, 움직임 벡터 복호화 장치와 그 방법, 동화상 부호화 장치, 프로그램, 및 기억 매체
KR100985366B1 (ko) 움직임 보상 방법, 화상 부호화 방법 및 화상 복호화 방법
KR100923380B1 (ko) 동화상 부호화 방법 및 동화상 복호화 방법
KR100976672B1 (ko) 동화상 부호화 방법 및 동화상 복호화 방법
JP5085671B2 (ja) 復号化システムおよび復号化装置

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130219

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140220

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150224

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160219

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20170221

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20180220

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20190219

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20200206

Year of fee payment: 11