KR101075270B1 - 움직임 검출 방법 및 동화상 부호화 방법 - Google Patents
움직임 검출 방법 및 동화상 부호화 방법 Download PDFInfo
- Publication number
- KR101075270B1 KR101075270B1 KR1020050016117A KR20050016117A KR101075270B1 KR 101075270 B1 KR101075270 B1 KR 101075270B1 KR 1020050016117 A KR1020050016117 A KR 1020050016117A KR 20050016117 A KR20050016117 A KR 20050016117A KR 101075270 B1 KR101075270 B1 KR 101075270B1
- Authority
- KR
- South Korea
- Prior art keywords
- reference block
- error
- search center
- block
- serving
- Prior art date
Links
- 230000033001 locomotion Effects 0.000 title claims abstract description 220
- 238000000034 method Methods 0.000 title claims description 40
- 238000001514 detection method Methods 0.000 claims abstract description 104
- 239000013598 vector Substances 0.000 claims abstract description 78
- 238000004364 calculation method Methods 0.000 claims abstract description 62
- 101000836261 Homo sapiens U4/U6.U5 tri-snRNP-associated protein 2 Proteins 0.000 abstract description 6
- 102100027243 U4/U6.U5 tri-snRNP-associated protein 2 Human genes 0.000 abstract description 6
- 238000010586 diagram Methods 0.000 description 25
- 238000012545 processing Methods 0.000 description 24
- 238000006243 chemical reaction Methods 0.000 description 15
- 230000001413 cellular effect Effects 0.000 description 11
- 230000006835 compression Effects 0.000 description 7
- 238000007906 compression Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 6
- 101100478627 Arabidopsis thaliana S-ACP-DES2 gene Proteins 0.000 description 4
- 101100257981 Arabidopsis thaliana S-ACP-DES3 gene Proteins 0.000 description 4
- 101150038966 SAD2 gene Proteins 0.000 description 4
- 101150093202 SAD3 gene Proteins 0.000 description 4
- 101100325615 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) MEC1 gene Proteins 0.000 description 4
- 238000001228 spectrum Methods 0.000 description 4
- 230000009466 transformation Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000013139 quantization Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- A—HUMAN NECESSITIES
- A23—FOODS OR FOODSTUFFS; TREATMENT THEREOF, NOT COVERED BY OTHER CLASSES
- A23L—FOODS, FOODSTUFFS, OR NON-ALCOHOLIC BEVERAGES, NOT COVERED BY SUBCLASSES A21D OR A23B-A23J; THEIR PREPARATION OR TREATMENT, e.g. COOKING, MODIFICATION OF NUTRITIVE QUALITIES, PHYSICAL TREATMENT; PRESERVATION OF FOODS OR FOODSTUFFS, IN GENERAL
- A23L11/00—Pulses, i.e. fruits of leguminous plants, for production of food; Products from legumes; Preparation or treatment thereof
- A23L11/70—Germinated pulse products, e.g. from soy bean sprouts
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/533—Motion estimation using multistep search, e.g. 2D-log search or one-at-a-time search [OTS]
-
- A—HUMAN NECESSITIES
- A47—FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
- A47J—KITCHEN EQUIPMENT; COFFEE MILLS; SPICE MILLS; APPARATUS FOR MAKING BEVERAGES
- A47J27/00—Cooking-vessels
- A47J27/002—Construction of cooking-vessels; Methods or processes of manufacturing specially adapted for cooking-vessels
-
- A—HUMAN NECESSITIES
- A47—FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
- A47J—KITCHEN EQUIPMENT; COFFEE MILLS; SPICE MILLS; APPARATUS FOR MAKING BEVERAGES
- A47J36/00—Parts, details or accessories of cooking-vessels
- A47J36/06—Lids or covers for cooking-vessels
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/414—Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
- H04N21/41422—Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance located in transportation means, e.g. personal vehicle
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/61—Network physical structure; Signal processing
- H04N21/6106—Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
- H04N21/6143—Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via a satellite
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/14—Picture signal circuitry for video frequency region
- H04N5/144—Movement detection
- H04N5/145—Movement estimation
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Food Science & Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Physics & Mathematics (AREA)
- Astronomy & Astrophysics (AREA)
- General Physics & Mathematics (AREA)
- Manufacturing & Machinery (AREA)
- Agronomy & Crop Science (AREA)
- Botany (AREA)
- Health & Medical Sciences (AREA)
- Nutrition Science (AREA)
- Chemical & Material Sciences (AREA)
- Polymers & Plastics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Image Analysis (AREA)
Abstract
움직임 벡터 검출부(106)는, 대상 블록 데이터 tar_img와 9개의 근방의 참조 블록 데이터 ref_img와의 오차 SAD1∼오차 SAD9를 각각 계산하는 오차 계산부(202) 와, 오차 SAD1∼오차 SAD9 중에서 오차가 최소가 되는 오차 최소 블록을 결정하고, 그 위치의 움직임 벡터 mvmin을 출력하는 오차 최소 블록 결정부(203)와, 움직임 검출을 종료할지 여부의 판정을 행하는 종료 판정부(204)와, 오차 최소 블록의 위치에 따라, 탐색 중심이 되는 참조 블록의 이동량이 2 화소 이상이 되도록, 다음 회의 탐색 중심이 되는 참조 블록을 결정하는 탐색 중심 결정부(205)를 구비한다.
Description
도 1은 움직임 검출을 설명하는 개략도,
도 2는 종래의 움직임 검출 방법의 탐색 위치가 되는 참조 블록 및 탐색 중심이 되는 참조 블록의 이동에 대해 나타낸 개념도,
도 3은 본 발명의 실시형태 1에 따른 움직임 검출 방법을 사용한 동화상 부호화 장치의 구성을 나타낸 블록도,
도 4는 본 발명의 실시형태 1에 따른 움직임 검출 방법을 사용한 움직임 벡터 검출부의 구성을 나타낸 블록도,
도 5는 본 발명에 따른 움직임 검출 방법의 탐색 위치가 되는 참조 블록 및 탐색 중심이 되는 참조 블록의 이동에 대해 나타낸 개념도이고, (a) 9개의 참조 블록을 병렬로 계산을 행했을 때 오차 최소 블록이 우측 중앙인 경우, (b) 9개의 참조 블록을 병렬로 계산을 행했을 때 오차 최소 블록이 우측 위인 경우, (c) 25개의 참조 블록을 병렬로 계산을 행했을 때 오차 최소 블록이 우단 중앙인 경우, (d) 25개의 참조 블록을 병렬로 계산을 행했을 때 오차 최소 블록이 우단 위에서 두번째인 경우, (e) 25개의 참조 블록을 병렬로 계산을 행했을 때 오차 최소 블록이 우측 상단인 경우이며,
도 6은 본 발명에 따른 움직임 검출 방법의 탐색 위치가 되는 참조 블록 및 탐색 중심이 되는 참조 블록의 이동에 대해 나타낸 개념도이고, (a) 오차 최소 블록이 우측 중앙이고, 또한 탐색 범위의 경계가 있는 경우, (b) (c) 오차 최소 블록이 우측 위이고, 또한 탐색 범위의 경계가 있는 경우이며,
도 7은 본 발명에 따른 움직임 검출 방법의 움직임 검출을 종료하는 경우에 대해 나타낸 개념도이고, (a) 9개의 참조 블록을 병렬로 계산을 행했을 때 전회의 오차 계산에서의 오차 최소 블록이 우측 중앙인 경우, (b) 9개의 참조 블록을 병렬로 계산을 행했을 때 전회의 오차 계산에서의 오차 최소 블록이 우측 위인 경우, (c) 25개의 참조 블록을 병렬로 계산을 행했을 때 전회의 오차 계산에서의 오차 최소 블록이 우단 중앙인 경우, (d) 25개의 참조 블록을 병렬로 계산을 행했을 때 전회의 오차 계산에서의 오차 최소 블록이 우단 위에서 두번째인 경우, (e) 25개의 참조 블록을 병렬로 계산을 행했을 때 전회의 오차 계산에서의 오차 최소 블록이 우측 상단인 경우이며,
도 8은 (a) 움직임 검출을 행할 때의 동작의 흐름을 나타낸 흐름도, (b)는 이 동작중의 다음 회의 탐색 중심이 되는 참조 블록의 결정 처리의 동작의 흐름을 나타낸 흐름도,
도 9는 탐색 중심 결정부가 유지하는 다음 회의 탐색 중심이 되는 참조 블록을 결정하기 위한 변환표의 일례를 나타낸 도면, (a) 9개의 참조 블록에 대해 대상 블록과의 오차 계산을 행하는 경우, (b) 25개의 참조 블록에 대해 대상 블록과의 오차 계산을 행하는 경우,
도 10은 본 발명의 실시형태 2에 따른 움직임 검출 방법을 사용한 움직임 벡터 검출부의 구성을 나타낸 블록도,
도 11은 카운터를 사용하여 움직임 검출을 행할 때의 동작의 흐름을 나타낸 흐름도,
도 12는 각 실시형태의 움직임 검출 방법 및 동화상 부호화 방법을 컴퓨터 시스템에 의해 실현하기 위한 프로그램을 저장하기 위한 기록 매체에 대한 설명도, (a) 기록 매체 본체인 플렉시블 디스크의 물리 포맷의 예를 나타낸 설명도, (b) 플렉시블 디스크의 정면에서 본 외관, 단면 구조, 및 플렉시블 디스크를 나타낸 설명도, (c) 플렉시블 디스크(FD)에 상기 프로그램의 기록 재생을 행하기 위한 구성을 나타낸 설명도,
도 13은 컨텐츠 공급 시스템의 전체 구성을 나타낸 블록도,
도 14는 휴대전화의 예를 나타낸 개략도,
도 15는 휴대전화의 구성을 나타낸 블록도,
도 16은 디지털 방송용 시스템의 예를 나타낸 도면이다.
본 발명은, 픽처간의 상관을 이용하여 효율적으로 동화상 신호를 압축하는 화상 부호화 방법 등에서 사용되는 움직임 검출 방법에 관한 것이다.
최근 음성, 화상, 그 밖의 화소치를 통합적으로 취급하는 멀티미디어 시대를 맞이하여, 종래부터의 정보 미디어, 즉 신문, 잡지, TV, 라디오, 전화 등의 정보를 사람에게 전달하는 수단이 멀티미디어의 대상으로서 거론되게 되었다. 일반적으로 멀티미디어란, 문자 뿐만 아니라, 도형, 음성, 특히 화상 등을 동시에 관련지어 표시하는 것을 말하는데, 상기 종래의 정보 미디어를 멀티미디어의 대상으로 하기 위해서는, 그 정보를 디지털 형식으로 하여 표시하는 것이 필수 조건이 된다.
그런데, 상기 각 정보 미디어가 갖는 정보량을 디지털 정보량으로서 어림잡아 보면, 문자의 경우 1문자당의 정보량은 1∼2바이트인 것에 비해, 음성의 경우 1초당 64Kbits(전화 품질), 또한 동화상에 대해서는 1초당 100Mbits(현행 TV 수신 품질) 이상의 정보량이 필요해져, 상기 정보 미디어에서 그 방대한 정보를 디지털 형식으로 그대로 취급하는 것은 현실적이지 않다. 예를 들면, TV 전화는, 64Kbit/s∼1.5Mbit/s의 전송 속도를 갖는 서비스 종합 디지털망(ISDN : Integrated Services Digital Network)에 의해 이미 실용화되어 있으나, TV 카메라의 영상을 그대로 ISDN으로 보내는 것은 불가능하다.
그래서 필요해지는 것이 정보의 압축 기술이고, 예를 들면 TV 전화의 경우, ITU-T(국제전기통신연합 전기통신 표준화 부문)에서 권고된 H.261이나 H.263 규격의 동화상 압축 기술이 사용되고 있다. 또, MPEG-1 규격의 정보 압축 기술에 의하면, 통상의 음악용 CD(컴팩트 디스크)에 음성 정보와 함께 화상 정보를 넣는 것도 가능해진다.
여기서, MPEG(Moving Picture Experts Group)란, ISO/IEC(국제표준화기구 국제전기표준회의)에서 표준화된 동화상 신호 압축의 국제 규격이고, MPEG-1은 동화 상 신호를 1.5Mbit/s까지, 즉 TV 신호의 정보를 약 100분의 1로까지 압축하는 규격이다. 또, MPEG-1 규격에서는 대상으로 하는 품질을 전송 속도가 주로 약 1.5Mbit/s로 실현할 수 있을 정도의 중간 정도의 품질로 했으므로, 한층의 고화질화의 요구를 만족시키도록 규격화된 MPEG-2에서는, 동화상 신호를 2∼15Mbit/s로 TV 방송 품질을 실현한다. 또한 현재는, MPEG-1, MPEG-2로 표준화를 진행시켜 온 작업 그룹(ISO/IEC JTC1/SC29/WG11)에 의해, MPEG-1, MPEG-2를 상회하는 압축률을 달성하고, 또한 물체 단위로 부호화·복호화·조작을 가능하게 하고, 멀티미디어 시대에 필요한 새로운 기능을 실현하는 MPEG-4가 규격화되었다. MPEG-4에서는, 당초 저 비트 레이트의 부호 화방법의 표준화를 목표로 하여 진행되어졌으나, 현재는 인터레이스 화상도 포함하는 고 비트 레이트도 포함하는, 보다 범용적인 부호화로 확장되고 있다. 또한 현재는, ISO/IEC와 ITU-T가 공동으로 보다 고압축률의 차세대 화상 부호화 방식으로서, MPEG-4 AVC 및 ITU H.264의 표준화 활동이 진행되고 있다. 2002년 8월의 시점에서, 차세대 화상 부호화 방식은 커미티·드래프트(CD)라 불리는 것이 발행되어 있다.
일반적으로 동화상의 부호화에서는, 시간 방향 및 공간 방향의 장황성을 삭감함으로써 정보량의 압축을 행한다. 그래서 시간적인 장황성의 삭감을 목적으로 하는 화면간 예측 부호화에서는, 전방 또는 후방의 픽처를 참조하여 블록 단위로 움직임의 검출 및 예측 화상의 작성을 행하고, 얻어진 예측 화상과 부호화 대상 픽처와의 차분치에 대해 부호화를 행한다. 여기서, 픽처란 1장의 화면을 표시하는 용어이다.
예측 화상을 작성하지 않고 화면내 예측 부호화를 행하는 것을 I 픽처라 부른다. 또, 1장의 픽처만을 참조하여 화면간 예측 부호화를 행하는 것을 P 픽처라 부른다. 또, 동시에 2장의 픽처를 참조하여 화면간 예측 부호화를 행할 수 있는 것을 B 픽처라 부른다. B 픽처는 표시 시간이 전방 또는 후방으로부터 임의의 조합으로서 2장의 픽처를 참조하는 것이 가능하다.
P 픽처 또는 B 픽처의 부호화에는, 움직임 보상 화면간 예측 부호화가 사용되고 있다. 움직임 보상 화면간 예측 부호화란, 화면간 예측 부호화에 움직임 보상을 적용한 부호화 방식이다. 움직임 보상이란, 단순하게 참조 픽처의 화소치로부터 예측하는 것이 아니라, 픽처 내의 각 부의 움직임량(이하, 이것을 움직임 벡터라고 부른다)을 검출하고, 당해 움직임량을 고려한 예측을 행함으로써 예측 정밀도를 향상시키는 동시에, 데이터량을 줄이는 방식이다. 예를 들면, 부호화 대상 픽처(이후, 대상 픽처라 부른다)의 움직임 벡터를 검출하고, 그 움직임 벡터분만큼 시프트한 예측치와 부호화 대상 픽처와의 예측 잔차를 부호화함으로써 데이터량을 줄이고 있다. 이 방식의 경우에는, 복호화시에 움직임 벡터의 정보가 필요해지므로, 움직임 벡터도 부호화되어 기록 또는 전송된다.
움직임 벡터는 블록 단위로 검출되고 있고, 구체적으로는 부호화 대상 픽처측의 블록을 고정해 두고, 참조 픽처측의 블록을 탐색 범위 내에서 이동시켜, 대상 블록과 가장 비슷한 참조 블록의 위치를 찾아냄으로써, 움직임 벡터가 검출된다. 이 움직임 벡터를 탐색하는 처리를, 움직임 검출이라고 부른다.
도 1은 움직임 검출을 설명하는 개략도이다. 대상 블록을 참조 픽처의 임의 의 위치의 블록과 비교하여, 가장 비슷한 블록의 위치를 검출한다. 비슷한지 여부의 판단으로서는, 대상 블록과 참조 블록의 비교 오차를 사용하는 것이 일반적이며, 특히 절대치 차분합(SAD :Summed Absolute Difference)가 자주 사용된다. 또한, 참조 픽처 전체 중에서 참조 블록을 탐색하면 연산량이 방대해지므로, 참조 픽처 중에서 탐색하는 범위를 압축하여, 그 압축한 범위를 탐색 범위라고 부른다.
움직임 검출은, 동화상 부호화 처리 중에서, 가장 연산량이 많은 처리로서 알려져 있어, 종래 이 움직임 검출의 연산량을 삭감하는 방법이 많이 검토되고 있다. 특히, 휴대단말 등의 연산 처리 능력이 낮은 기기에서는, 연산량이 적은 축차(逐次) 탐색 방법이 자주 사용된다(예를 들면, 일본국 특개 2000-333184호 공보 참조).
도 2는 종래의 움직임 검출 방법의 탐색 위치가 되는 참조 블록 및 탐색 중심이 되는 참조 블록의 이동에 대해 나타낸 개념도이다. 여기서, 둥근 표시는 참조 블록의 좌측 상단 화소의 위치를 나타내고 있고, 각 참조 블록의 위치를 간이적으로 나타내고 있다. 또 숫자는, 이하에 설명하는 예에서의 탐색 중심이 되는 참조 블록의 이동에 따라 SAD의 계산을 행하는 각 참조 블록의 위치를 나타내고 있다.
1) 먼저 탐색 개시 위치 X가 되는 참조 블록 Ba 및 이 참조 블록 Ba로부터상하 좌우로 각각 1 화소 어긋난 위치(이하, 단순히 상하 좌우 위치라 한다)의 참조 블록 Bb, Bc, Bd, Be에 대해 SAD를 계산하여, 예를 들면 참조 블록 Ba∼참조 블록 Be 중에서 우측의 참조 블록 Bc의 SAD가 가장 작으면 탐색 중심을 우측으로 이동한 다. 2) 다음에 이동한 탐색 중심이 되는 참조 블록(여기서는 참조 블록 Bc)의 상하 좌우 위치의 참조 블록에 대해 SAD를 계산하여, 우측의 참조 블록의 SAD가 작으면 탐색 중심을 우측으로 이동한다. 3) 다음에 이동한 탐색 중심이 되는 참조 블록의 상하 좌우 위치의 참조 블록에 대해 SAD를 계산하여, 우측의 참조 블록의 SAD가 작으면 탐색 중심을 우측으로 이동다. 4) 다음에 이동한 탐색 중심이 되는 참조 블록의 상하 좌우 위치의 참조 블록에 대해 SAD를 계산하여, 하측의 참조 블록의 SAD가 작으면 탐색 중심을 하측으로 이동한다. 5) 다음에 이동한 탐색 중심이 되는 참조 블록의 상하 좌우 위치의 참조 블록에 대해 SAD를 계산하여, 하측의 참조 블록의 SAD가 작으면 탐색 중심을 하측으로 이동한다. 6) 다음에 이동한 탐색 중심이 되는 참조 블록의 상하 좌우 위치의 참조 블록에 대해 SAD를 계산하여, 우측의 참조 블록의 SAD가 작으면 탐색 중심을 우측으로 이동한다. 7) 다음에 이동한 탐색 중심이 되는 참조 블록의 상하 좌우 위치의 참조 블록에 대해 SAD를 계산하여, 우측의 참조 블록의 SAD가 작으면 탐색 중심을 우측으로 이동한다. 8) 다음에 이동한 탐색 중심이 되는 참조 블록의 상하 좌우 위치의 참조 블록에 대해 SAD를 계산하여, 하측의 참조 블록의 SAD가 작으면 탐색 중심을 하측으로 이동한다. 9) 다음에 이동한 탐색 중심이 되는 참조 블록의 상하 좌우 위치의 참조 블록에 대해 SAD를 계산하여, 탐색 중심이 되는 참조 블록의 SAD가 작으면 탐색을 종료하고, 탐색 중심이 되는 참조 블록의 위치 Y를 SAD 최소의 위치, 즉 최적의 움직임 벡터로 한다.
그러나 이러한 축차 탐색에서는, 1회의 탐색으로 기껏해야 1화소밖에 탐색 중심이 되는 참조 블록이 이동하지 않기 때문에, 큰 움직임이 있는 픽처로 움직임 검출을 행하기 위해서는 탐색 중심이 되는 참조 블록의 이동을 다수 회 반복하게 되어, 고속의 움직임 검출을 실현할 수 없게 된다.
그래서, 본 발명은 상기의 사정을 감안하여 이루어진 것이며, 움직임 검출을 고속으로 행할 수 있는 움직임 검출 방법 및 움직임 검출 장치 등을 제공하는 것을 목적으로 한다.
상기 목적을 달성하기 위해서, 본 발명에 따른 움직임 검출 방법은, 동화상을 구성하는 픽처의 움직임량을 나타내는 움직임 벡터를 블록 단위로 검출하는 움직임 검출 방법에 있어서, 움직임 검출을 행하는 대상 픽처의 대상 블록과, 참조 픽처중에서의 탐색 중심이 되는 참조 블록 및 탐색 중심이 되는 상기 참조 블록의 근방에 위치하는 참조 블록과의 오차를 각각 계산하는 오차 계산 단계와, 상기 오차 계산 단계에 의해 계산된 상기 오차가 최소가 되는 참조 블록을 결정하는 오차 최소 블록 결정 단계와, 움직임 검출을 종료할지 여부의 판정을 행하는 종료 판정 단계와, 상기 오차 최소 블록 결정 단계에 의해 결정된 상기 오차가 최소가 되는 상기 참조 블록의 위치에 따라, 탐색 중심이 되는 상기 참조 블록의 이동량이 2 화소 이상이 되도록, 다음 회의 탐색 중심이 되는 참조 블록을 결정하고, 다시 상기 오차 계산 단계를 실행시키는 탐색 중심 결정 단계와, 상기 종료 판정 단계에 의해 움직임 검출을 종료한다고 판정된 경우에, 상기 오차 최소 블록 결정 단계에 의해 결정된 상기 참조 블록의 위치를 나타내는 움직임 벡터를, 구해야 할 움직임 벡터로 결정하는 움직임 벡터 검출 단계를 포함하는 것을 특징으로 한다.
여기서, 상기 종료 판정 단계에서는, 상기 오차 최소 블록 결정 단계에 의해 결정된 상기 참조 블록의 주위에 위치하는 모든 참조 블록이, 전회 및 금회의 탐색중심이 되는 참조 블록에 기초하여, 상기 오차 계산 단계에 의해 상기 오차가 계산되어 있는 참조 블록인 경우, 또는, 상기 탐색 중심 결정 단계에 의해 결정된 다음 회의 탐색 중심이 되는 상기 참조 블록이 전회의 탐색 중심이 되는 참조 블록과 동일한 경우에, 움직임 검출을 종료한다고 판정하는 것이 바람직하다.
또, 상기 근방에 위치하는 참조 블록은, 상기 탐색 중심이 되는 참조 블록으로부터 수평 방향에서 좌우 각각으로 i 화소(i : P 이하의 자연수, P : 자연수) 이동한 참조 블록과, 수직 방향에서 상하 각각으로 j 화소(j : Q 이하의 자연수, Q : 자연수) 이동한 참조 블록과, 수평 방향에서 좌우 각각으로 i 화소 및 수직 방향에서 상하 각각으로 j 화소 이동한 참조 블록이고, 상기 오차 계산 단계에서는, 상기 탐색 중심이 되는 참조 블록 및 상기 근방에 위치하는 참조 블록의 합계 (2P+1)×(2Q+1)의 참조 블록에 대한 상기 오차를 병렬로 계산해도 된다.
이에 의해, 탐색 중심이 되는 참조 블록의 이동 회수를 삭감할 수 있기 때문에, 고속의 움직임 검출이 가능해져, 예를 들면 대상 블록이 큰 움직임이어도 소정의 시간 내에 움직임 검출을 행할 수 있다. 또, 탐색 중심이 되는 참조 블록 및 탐색 중심이 되는 상기 참조 블록의 근방에 위치하는 참조 블록에 관해 오차 계산을 행하고 있으므로, 탐색 중심이 되는 참조 블록의 이동량이 2 화소 이상이 되도 록, 다음 회의 탐색 중심이 되는 참조 블록을 결정해도, 오차 계산이 행해지지 않고 건너뛰어지는 참조 블록이 발생하는 경우도 없다.
또한, (2P+1)×(2Q+1)개의 참조 블록에 대해 오차를 병렬로 계산하는 것이 되므로, 종래와 비교하여 1회의 탐색 중심이 되는 참조 블록의 이동에 따른 연산량은 많아진다. 그러나, 축차 탐색에서 필요한 시간은, 화소치를 읽어내기 위한 시간과 오차 계산의 시간이고, 후자는 연산기의 개수를 증가시킴으로써 삭감할 수 있지만, 전자는 삭감할 수 없다. 즉, 화소치를 읽어내기 위한 시간이 축차 탐색의 탐색 중심의 이동에 걸리는 시간의 병목이 되어, 소정의 처리 시간으로 큰 움직임에 추종하기 위해서는 본 발명의 구성이 유익한 것을 알 수 있다.
또한, 본 발명은, 이러한 움직임 검출 방법으로서 실현할 수 있을 뿐만 아니라, 이러한 움직임 검출 방법에 포함되는 단계를 수단으로 하는 움직임 검출 장치로서 실현하거나, 그러한 움직임 검출 방법을 행하는 동화상 부호화 방법으로서 실현하거나, 그들 단계를 컴퓨터에 실행시키는 프로그램으로서 실현하거나 하는 것도 가능하다. 그리고, 그러한 프로그램은, CD-ROM 등의 기록 매체나 인터넷 등의 전송 매체를 통해 배송할 수 있는 것은 말할 필요도 없다.
이상과 같이, 본 발명에 따른 움직임 검출 방법에 의하면, 탐색 중심이 되는 참조 블록의 이동 회수를 삭감할 수 있어, 고속의 움직임 검출이 가능해진다. 따라서, 예를 들면 대상 블록이 큰 움직임이어도 소정의 시간 내에 움직임 검출을 행할 수 있으므로, 그 실용적 가치가 높다.
이하, 본 발명의 각 실시형태에 관해, 각각 도면을 참조하면서 설명한다.
(실시형태 1)
도 3은 본 발명의 실시형태 1에 따른 움직임 검출 방법을 사용한 동화상 부호화 장치의 구성을 나타낸 블록도이다.
동화상 부호화 장치는, 픽처 메모리(101), 예측 잔차 부호화부(102), 부호열 생성부(103), 예측 잔차 복호화부(104), 픽처 메모리(105), 움직임 벡터 검출부(106), 움직임 보상 부호화부(107), 차분 연산부(108), 가산 연산부(109), 및 스위치(110, 111)를 구비한다.
픽처 메모리(101)는, 표시 시간 순으로 픽처 단위로 입력된 동화상을 저장한다.
움직임 보상 부호화부(107)는, 움직임 벡터 검출부(106)에서 검출된 움직임 벡터를 사용하여 블록의 부호화 모드를 결정하고, 이 부호화 모드에 기초하여 예측 화상 데이터(예측 화소치)를 생성한다. 예를 들면, 2장의 참조 픽처를 사용한 픽처간 예측 부호화 모드의 경우에는, 움직임 보상 부호화부(107)는, 움직임 벡터 검출부(106)에서 검출된 움직임 벡터를 사용하여 2장의 참조 픽처로부터 2개의 참조 블록의 화소치를 구해, 예측 화상 데이터를 생성한다.
차분 연산부(108)는, 픽처 메모리(101)로부터 읽어내어진 화상 데이터와, 움직임 보상 부호화부(107)로부터 입력된 예측 화상 데이터와의 차분을 연산하여, 예측 잔차 화상 데이터를 생성한다.
예측 잔차 부호화부(102)는, 입력된 예측 잔차 화상 데이터에 대해 주파수 변환이나 양자화 등의 부호화 처리를 행하여, 부호화 데이터를 생성한다. 부호열 생성부(103)는, 입력된 부호화 데이터에 대해 가변길이 부호화 등을 행하고, 또한 움직임 보상 부호화부(107)로부터 입력된 움직임 벡터의 정보, 및 부호화 모드의 정보 등을 부가함으로써 부호열을 생성한다.
예측 잔차 복호화부(104)는, 입력된 부호화 데이터에 대해 역양자화나 역주파수 변환 등의 복호화 처리를 행하여, 복호화 차분 화상 데이터를 생성한다. 가산 연산부(109)는, 예측 잔차 복호화부(104)로부터 입력된 복호화 차분 화상 데이터와, 움직임 보상 부호화부(107)로부터 입력된 예측 화상 데이터를 가산하여, 복호화 화상 데이터를 생성한다. 픽처 메모리(105)는, 생성된 복호화 화상 데이터를 저장한다.
움직임 벡터 검출부(106)는, 부호화가 끝난 복호화 화상 데이터를 참조 픽처로서 사용하여, 그 픽처 내의 탐색 영역에서, 입력된 대상 블록에 가장 가까운 화상 영역의 위치로의 움직임량을 나타내는 움직임 벡터의 검출을 행한다.
도 4는 움직임 벡터 검출부(106)의 구성을 나타낸 블록도이다.
움직임 벡터 검출부(106)는, 블록 메모리(201), 오차 계산부(202), 오차 최소 블록 결정부(203), 종료 판정부(204), 탐색 중심 결정부(205), 및 스위치(206)를 구비하고 있다.
블록 메모리(201)는, 입력되는 대상 픽처 Vin을 블록 단위로 저장한다.
오차 계산부(202)는, 제1 오차 계산부(202a), 제2 오차 계산부(202b), 제3 오차 계산부(202c), … 제9 오차 계산부(202i)를 갖고 있고, 블록 메모리(201)로부터 입력되는 대상 블록 데이터 tar_img와, 픽처 메모리(105)로부터 입력되는 9개 의 근방의 참조 블록 데이터 ref_imga, 참조 블록 데이터 ref_imgb, 참조 블록 데이터 ref_imgc, … 참조 블록 데이터 ref_imgi와의 오차 SAD1, 오차 SAD2, 오차 SAD3, … 오차 SAD9를 각각 계산한다. 또한, 본 실시형태에서는, 탐색 중심이 되는 참조 블록 및 그 주위에 상하 좌우 비스듬하게 1 화소씩 어긋난 위치에 위치하는 8개의 참조 블록의 합계 9개의 참조 블록을 병렬로 계산을 행하고 있다.
오차 최소 블록 결정부(203)는, 오차 계산부(202)에 의해 계산된 오차 SAD1,오차 SAD2, 오차 SAD3, … 오차 SAD9 중에서 오차가 최소가 되는 참조 블록(이하, 오차 최소 블록이라 한다)을 결정하여, 그 위치의 대상 블록에 대한 움직임량을 나타내는 움직임 벡터 mvmin을 출력한다.
탐색 중심 결정부(205)는, 오차 최소 블록 결정부(203)에 의해 결정된 오차 최소 블록의 위치에 따라, 탐색 중심이 되는 참조 블록의 이동량이 2 화소 이상이 되도록, 다음 회의 탐색 중심이 되는 참조 블록을 결정한다.
도 5는 본 발명에 따른 움직임 검출 방법의 탐색 위치가 되는 참조 블록 및 탐색 중심이 되는 참조 블록의 이동에 대해 나타낸 개념도이고, (a) 오차 최소 블록이 우측 중앙인 경우이고, (b) 오차 최소 블록이 우측 위인 경우이다. 도 6은 마찬가지로 탐색 위치가 되는 참조 블록 및 탐색 중심이 되는 참조 블록의 이동에 대해 나타낸 개념도이고, (a) 오차 최소 블록이 우측 중앙이고, 또한 탐색 범위의 경계가 있는 경우이고, (b) (c) 오차 최소 블록이 우측 위이고, 또한 탐색 범위의 경계가 있는 경우이다. 여기서, 둥근 표시는 도 1과 동일하게 참조 블록의 좌측 상단 화소의 위치를 나타내고 있고, 각 참조 블록의 위치를 간이적으로 나타내고 있다.
예를 들면, 오차 최소 블록이 도 5(a)에 나타낸 바와 같이 우측 중앙인 경우에는, 탐색 중심 결정부(205)는, 탐색 중심이 되는 참조 블록을 우측으로 3 화소 이동한다. 또, 오차 최소 블록이 예를 들면 도 5(b)에 나타낸 바와 같이 우측 상단인 경우에는, 탐색 중심이 되는 참조 블록을 우측으로 2 화소, 상측으로 2 화소 이동한다.
본 실시형태에서는, 탐색 중심 결정부(205)는, 이러한 결정 방법을 예를 들면 도 9(a)에 나타낸 바와 같은 변환표로서 유지하고 있고, 이 변환표를 참조하여 다음 회의 탐색 중심이 되는 참조 블록을 결정한다. 이 변환표는, 도 9(a)에 나타낸 바와 같이 오차 최소 블록의 움직임 벡터 mvmin과 금회의 탐색 중심이 되는 참조 블록의 움직임 벡터 mvcenter와의 차분과, 다음 회의 탐색 중심이 되는 참조 블록의 움직임 벡터 mvcenter(금회의 탐색 중심이 되는 참조 블록의 움직임 벡터 mvcenter + 이 움직임 벡터 mvcenter로부터의 이동량)를 대응시키고 있다. 또한, 이 변환표는, 적어도 상기 차분과 상기 이동량을 대응시키고 있으면 된다.
또한, 탐색 중심 결정부(205)는, 다음 회의 탐색 중심이 되는 참조 블록을 결정할 때, 다음 회의 탐색 중심이 되는 참조 블록이 소정의 탐색 범위 내에 포함되도록 결정한다.
예를 들면, 오차 최소 블록이 도 6(a)에 나타낸 바와 같이 우측 중앙이고, 또한 탐색 범위의 경계가 2화소 우측으로 어긋난 위치에 있는 경우에는, 탐색 중심 결정부(205)는, 탐색 중심이 되는 참조 블록을 우측으로 3 화소 이동한 후, 9개의 참조 블록의 탐색 위치가 모두 탐색 범위에 들어가도록 탐색 중심이 되는 참조 블록을 좌측으로 1 화소 이동한다. 따라서, 최종적으로는 탐색 중심은 우측으로 2화소 이동하게 된다. 또한, 도 6에서의 탐색 범위의 경계 W는, 참조 블록의 좌측 상단의 화소를 도 6에서 나타낸 위치로 한 경우에 그 참조 블록이 탐색 범위를 초과하는지의 여부를 나타낸 것이다.
또, 오차 최소 블록이 예를 들면 도 6(b)에 나타낸 바와 같이 우측 상단이고, 또한 탐색 범위의 경계가 1화소 우측으로 어긋난 위치에 있는 경우에는, 탐색 중심 결정부(205)는, 탐색 중심이 되는 참조 블록을 우측으로 2 화소, 상측으로 2 화소 이동한 후, 9개의 참조 블록의 탐색 위치가 모두 탐색 범위에 들어가도록 탐색 중심이 되는 참조 블록을 좌측으로 1 화소 이동한다. 따라서, 최종적으로는 탐색 중심은 우측으로 1 화소, 상측으로 2 화소 이동하게 된다.
또, 오차 최소 블록이 예를 들면 도 6(c)에 나타낸 바와 같이 우측 상단이고, 또한 현재의 탐색 대상이 되는 참조 블록이 탐색 범위의 경계인 경우에는, 탐색 중심 결정부(205)는, 탐색 중심이 되는 참조 블록을 우측으로 2 화소, 상측으로 2 화소 이동한 후, 9개의 참조 블록의 탐색 위치가 모두 탐색 범위에 들어가도록 탐색 중심이 되는 참조 블록을 좌측으로 2 화소 이동한다. 따라서, 최종적으로는 탐색 중심은 상측으로 2 화소 이동하게 된다.
종료 판정부(204)는, 움직임 검출을 종료할지 여부의 판정을 행하고, 움직임 검출을 종료하는 경우에는 스위치(206)를 ON으로, 움직임 검출을 종료하지 않는 경우에는 스위치(206)를 OFF로 제어한다. 스위치(206)가 ON의 상태인 경우에, 오차 최소 블록 결정부(203)로부터 출력된 움직임 벡터 mvmin이, 움직임 벡터 검출부(106)가 검출한 움직임 벡터 MVout으로서 출력된다.
종료 판정부(204)는, 오차 최소 블록의 주위에 위치하는 모든 참조 블록이, 전회 및 금회의 오차 계산에 있어서 오차가 계산되어 있는 참조 블록이거나, 또는 탐색 중심 결정부(205)에 의해 결정된 다음 회의 탐색 중심이 되는 참조 블록이 전회의 탐색 중심이 되는 참조 블록과 동일한 경우에, 움직임 검출을 종료한다고 판정한다.
도 7은 본 발명에 따른 움직임 검출 방법의 움직임 검출을 종료하는 경우에 대해 나타낸 개념도이고, (a) 전회의 오차 계산에서의 오차 최소 블록이 우측 중앙인 경우이고, (b) 전회의 오차 계산에서의 오차 최소 블록이 우측 위인 경우이다.
종료 판정부(204)는, 예를 들면 도 7(a)에 나타낸 바와 같이 전회의 오차 계산에서의 오차 최소 블록이 우측 중앙인 참조 블록이고, 금회의 오차 계산에서의 오차 최소 블록이 금회의 탐색 중심 또는 좌측 중앙이 되는 참조 블록인 경우에는, 움직임 검출을 종료한다고 판정을 행한다. 또, 예를 들면 도 7(b)에 나타낸 바와 같이 전회의 오차 계산에서의 오차 최소 블록이 우측 상단의 참조 블록이고, 금회의 오차 계산에서의 오차 최소 블록이 금회의 탐색 중심이 되는 참조 블록인 경우에는, 움직임 검출을 종료한다고 판정을 행한다.
다음에, 상기한 바와 같이 구성된 동화상 부호화 장치의 움직임 벡터 검출부(106)의 동작에 관해 설명한다.
도 8(a)는 움직임 검출을 행할 때의 동작의 흐름을 나타낸 흐름도이고, 도 8 (b)는 이 동작중의 다음 회의 탐색 중심이 되는 참조 블록의 결정 처리의 동작의 흐름을 나타낸 흐름도이다.
먼저 최소 오차 SADmin을 ∞로 초기화하고, 탐색 중심이 되는 참조 블록의 초기치 mvPred를 탐색 중심 mvcenter에 대입한다(단계 a1). 다음에, 탐색 중심이 되는 참조 블록 및 그 주위에 위치하는 참조 블록인 N개의 참조 블록에 대해 대상 블록과의 오차 계산을 행한다(단계 a2). 본 실시형태에서는, 상기한 바와 같이 9개의 참조 블록에 대해 대상 블록과의 오차 계산을 행한다. 즉, 오차 계산부(202)는, 블록 메모리(201)로부터 입력되는 대상 블록 데이터 tar_img와, 픽처 메모리(105)로부터 입력되는 탐색 중심이 되는 참조 블록 및 그 주위에 위치하는 참조 블록의 참조 블록 데이터 ref_imga, 참조 블록 데이터 ref_imgb, 참조 블록 데이터 ref_imgc, … 참조 블록 데이터 ref_imgi와의 오차 SAD1, 오차 SAD2, 오차 SAD3, … 오차 SAD9를 각각 계산한다.
다음에, 오차 최소 블록 결정부(203)는, 오차 계산부(202)에 의해 계산된 오차 SAD1, 오차 SAD2, 오차 SAD3, … 오차 SAD9, 및 전회 결정된 최소 오차 SADmin(첫회의 최소 오차 SADmin은 ∞) 중에서 오차가 최소가 되는 오차 최소 블록을 결정하고, 그 오차 SADc를 최소 오차 SADmin으로 하여, 그 위치의 대상 블록에 대한 움직임량을 나타내는 움직임 벡터 mvc를 움직임 벡터 mvmin으로서 출력한다(단계 a3).
다음에, 종료 판정부(204)는, 오차 최소 블록의 주위에 위치하는 모든 참조 블록이, 전회 및 금회의 오차 계산에 있어서 오차가 계산되어 있는 참조 블록인지 여부를 판정한다(단계 a4). 이 판정의 결과, 오차 최소 블록의 주위에 위치하는 모든 참조 블록이, 전회 및 금회의 오차 계산에 있어서 오차가 계산되어 있는 참조 블록인 경우(단계 a4에서 YES)에는, 움직임 검출의 처리를 종료하고, 오차 최소 블록의 움직임 벡터 mvmin을 움직임 벡터 검출부(106)가 검출한 움직임 벡터 MVout으로서 출력한다(단계 a7).
한편, 상기 판정의 결과, 오차 최소 블록의 주위에 위치하는 모든 참조 블록이, 전회 및 금회의 오차 계산에 있어서 오차가 계산되어 있는 참조 블록이 아닌 경우(단계 a4에서 NO)에는, 탐색 중심 결정부(205)는, 다음 회의 탐색 중심이 되는 참조 블록의 결정 처리를 행한다(단계 a5). 다음에, 종료 판정부(204)는, 탐색 중심 결정부(205)에 의해 결정된 다음 회의 탐색 중심이 되는 참조 블록이 전회의 탐색 중심이 되는 참조 블록과 동일한지 여부를 판정한다(단계 a6). 이 판정의 결과, 다음 회의 탐색 중심이 되는 참조 블록이 전회의 탐색 중심이 되는 참조 블록과 동일한 경우(단계 a6에서 YES)에는, 움직임 검출의 처리를 종료하고, 오차 최소 블록의 움직임 벡터 mvmin을 움직임 벡터 검출부(106)가 검출한 움직임 벡터 MVout으로서 출력한다(단계 a7).
한편, 상기 판정의 결과, 다음 회의 탐색 중심이 되는 참조 블록이 전회의 탐색 중심이 되는 참조 블록과 동일하지 않은 경우(단계 a6에서 NO)에는, 오차 계산 및 오차 최소 블록의 결정 처리(단계 a2)부터 종료 판정 처리(단계 a6)를 반복한다.
다음에, 다음 회의 탐색 중심이 되는 참조 블록의 결정 처리(단계 a5)에 대 해, 자세히 설명한다.
탐색 중심 결정부(205)는, 오차 최소 블록 결정부(203)에 의해 결정된 오차 최소 블록의 위치에 따라, 다음 회의 탐색 중심이 되는 참조 블록을 결정한다(단계 b1). 즉, 탐색 중심 결정부(205)는, 현시점의 오차 최소 블록의 움직임 벡터 mvmin과 금회의 탐색 중심이 되는 참조 블록의 움직임 벡터 mvcenter로부터 도 9(a)에 나타낸 것 같은 변환표를 참조하여 다음 회의 탐색 중심이 되는 참조 블록을 결정한다.
다음에, 탐색 중심 결정부(205)는, 결정한 다음 회의 탐색 중심이 되는 참조 블록의 움직임 벡터 mvcenter의 수평 성분이 탐색 범위 내에 들어가도록, 이 움직임 벡터 mvcenter의 수평 성분의 값의 라운딩 처리를 행한다(단계 b2). 다음에, 탐색 중심 결정부(205)는, 결정한 다음 회의 탐색 중심이 되는 참조 블록의 움직임 벡터 mvcenter의 수직 성분이 탐색 범위 내에 들어가도록, 이 움직임 벡터 mvcenter의 수직 성분의 값의 라운딩 처리를 행한다(단계 b3).
이상과 같이, 탐색 중심이 되는 참조 블록 및 그 주위에 상하 좌우 비스듬하게 1 화소씩 어긋난 위치에 위치하는 8개의 참조 블록의 합계 9개의 참조 블록을 병렬로 계산을 행하여 오차 최소 블록을 구하고, 이 오차 최소 블록의 위치에 따라, 탐색 중심이 되는 참조 블록의 이동량이 2 화소 이상이 되도록, 다음 회의 탐색 중심이 되는 참조 블록을 결정하고 있으므로, 탐색 중심이 되는 참조 블록의 이동 회수를 삭감할 수 있어, 고속의 움직임 검출이 가능해진다. 따라서, 예를 들면 대상 블록이 큰 움직임이어도 소정의 시간 내에 움직임 검출을 행할 수 있다.
또한, 본 실시형태에서는, 오차 계산부(202)는, 오차의 계산을 탐색 중심이 되는 참조 블록과 그 주위에 상하 좌우 비스듬하게 1 화소씩 어긋난 위치에 위치하는 8개의 참조 블록을 병렬로 계산을 행하고 있으나, 이것에 한정되는 것은 아니다. 예를 들면, 오차 계산부(202)는 탐색 중심이 되는 참조 블록, 및 그 주위에 상하 좌우 비스듬하게 1 화소 및 2 화소씩 어긋난 위치에 위치하는 24개의 참조 블록의 합계 25개의 참조 블록을 병렬로 계산을 행하는 구성으로 해도 상관없다.
이 경우, 탐색 중심 결정부(205)는, 오차 최소 블록이 예를 들면 도 5(c)에 나타낸 바와 같이 우측 중앙인 경우에는, 탐색 중심이 되는 참조 블록을 우측으로 5 화소 이동한다. 또, 오차가 최소가 되는 참조 블록이 예를 들면 도 5(d)에 나타낸 바와 같이 우측 위에서 두번째의 참조 블록인 경우에는, 탐색 중심이 되는 참조 블록을 우측으로 5 화소, 상측으로 1 화소 이동한다. 또, 오차 최소 블록이 예를 들면 도 5(e)에 나타낸 바와 같이 우측 상단인 경우에는, 탐색 중심이 되는 참조 블록을 우측으로 4 화소, 상측으로 4 화소 이동한다. 즉, 탐색 중심 결정부(205)는, 예를 들면 도 9(b)에 나타낸 바와 같은 변환표를 유지하면 된다.
또, 종료 판정부(204)는, 예를 들면 도 7(c)에 나타낸 바와 같이 전회의 오차 계산에서의 오차 최소 블록이 우측 중앙의 참조 블록이고, 금회의 오차 계산에서의 오차 최소 블록이 금회와 전회의 오차 계산의 대상의 참조 블록의 끝에 위치하지 않는 참조 블록인 경우에는, 움직임 검출을 종료한다고 판정을 행한다. 또, 예를 들면 도 7(d)에 나타낸 바와 같이 전회의 오차 계산에서의 오차 최소 블록이 우측 위에서 두번째인 참조 블록이고, 금회의 오차 계산에서의 오차 최소 블록이 금회와 전회의 오차 계산의 대상의 참조 블록의 끝에 위치하지 않는 참조 블록인 경우에는, 움직임 검출을 종료한다고 판정을 행한다. 또, 예를 들면 도 7(e)에 나타낸 바와 같이 전회의 오차 계산에서의 오차 최소 블록이 우측 상단의 참조 블록이고, 금회의 오차 계산에서의 오차 최소 블록이 금회의 오차 계산의 대상의 참조 블록의 끝에 위치하지 않는 참조 블록인 경우에는, 움직임 검출을 종료한다고 판정을 행한다.
또, 본 실시형태에서는, 오차 계산부(202)가 제1 오차 계산부(202a), 제2 오차 계산부(202b), 제3 오차 계산부(202c), … 제9 오차 계산부(202i)를 갖고, 탐색 중심이 되는 참조 블록과 그 주위에 위치하는 참조 블록에 관한 오차를 병렬로 계산할 수 있는 구성으로 하고 있으나, 이것에 한정되는 것은 아니다. 소프트웨어로서 실장하는 것도 가능하고, 예를 들면 연산기를 복수 구비한 프로세서 등에서는 유효하다.
(실시형태 2)
상기 실시형태 1에서는, 종료 판정부(204)가 움직임 검출 처리의 종료를 판정하고 있으나, 본 실시형태에서는, 종료 판정부(204)의 종료 판정에 더해 카운터를 사용하여 움직임 검출 처리의 종료를 행하는 경우에 관해 설명한다.
도 10은 도 3에 도시한 움직임 벡터 검출부(106)의 구성을 나타낸 블록도이다. 또한, 도 4와 동일한 부분에 대해서는 같은 부호를 붙여, 상세한 설명을 생략한다.
움직임 벡터 검출부(106)는, 실시형태 1의 구성에 더해, 카운터(301)를 구비 하고 있다. 카운터(301)는, 오차 최소 블록 결정부(203)로부터 움직임 벡터 mvmin이 출력된 회수, 즉 탐색 중심이 되는 참조 블록이 갱신된 회수를 계측한다. 그리고, 카운터(301)는, 계측한 회수가 소정의 역치 TH_me_cnt가 된 경우에, 스위치(206)를 ON으로 제어한다. 그 결과, 오차 최소 블록 결정부(203)로부터 출력된 움직임 벡터 mvmin이, 움직임 벡터 검출부(106)가 검출한 움직임 벡터 MVout으로서 출력된다. 또한, 카운터(301)는, 계측한 회수가 소정의 역치 TH_me_cnt 미만인 경우에는, 스위치(206)를 OFF로 제어한다.
도 11은 카운터를 사용하여 움직임 검출을 행할 때의 동작의 흐름을 나타낸 흐름도이다. 또한, 도 8(a)와 동일한 동작에 대해서는 같은 부호를 붙여, 상세한 설명을 생략한다.
도 8(a)에 나타낸 실시형태 1의 동작과의 상위점은, 먼저 최소 오차 SADmin 을 ∞로 초기화하고, 탐색 중심이 되는 참조 블록의 초기치 mvPred를 탐색 중심 mvcenter에 대입하는 동작에 더해, 회수 cnt를 0으로 초기화한다(단계 c1).
또, 다음 회의 탐색 중심이 되는 참조 블록이 전회의 탐색 중심이 되는 참조 블록과 동일한지 여부의 판정 처리(단계 a6)에 있어서, 다음 회의 탐색 중심이 되는 참조 블록이 전회의 탐색 중심이 되는 참조 블록과 동일하지 않은 경우(단계 a6에서 NO)에, 카운터(301)는 회수 cnt를 1개 증가(단계 c2)하고, 회수 cnt가 회수가 소정의 역치 TH_me_cnt가 될 때까지, 오차 계산 및 오차 최소 블록의 결정 처리(단계 a2)부터 종료 판정 처리(단계 a6)를 반복한다.
한편, 회수 cnt가 회수가 소정의 역치 TH_me_cnt가 되면, 오차 계산 및 오차 최소 블록의 결정 처리(단계 a2)부터 종료 판정 처리(단계 a6)를 반복하는 것을 종료하고, 그 시점의 오차 최소 블록의 움직임 벡터 mvmin을 움직임 벡터 검출부(106)가 검출한 움직임 벡터 MVout으로서 출력한다(단계 a7).
이상과 같이, 종료 판정부(204)의 종료 판정에 더해, 카운터(301)에 의해 계측된 회수가 소정의 역치 TH_me_cnt가 된 경우에도, 움직임 검출을 종료하고 있으므로, 예를 들면 소정의 시간 내에 움직임 검출을 종료할 필요가 있는 경우 등에, 소정의 시간 내에 움직임 검출을 종료할 수 있다.
또한, 상기 각 실시형태에서는, 대상 블록과 참조 블록의 비교 오차로서 절대치 차분합(SAD : Summed Absolute Difference)을 사용하고 있으나, 이것에 한정되는 것은 아니다. 예를 들면, 대상 블록과 참조 블록의 비교 오차로서 차분 2승합 등을 사용해도 상관없다.
(실시형태 3)
또한, 상기 각 실시형태에서 나타낸 움직임 검출 방법을 실현하기 위한 프로그램을, 플렉시블 디스크 등의 기억 매체에 기록하도록 함으로써, 상기 각 실시형태에서 나타낸 처리를 독립된 컴퓨터 시스템에서 간단히 실시하는 것이 가능해진다.
도 12는 상기 각 실시형태의 움직임 검출 방법을 플렉시블 디스크 등의 기록 매체에 기록된 프로그램을 사용하여, 컴퓨터 시스템에 의해 실시하는 경우의 설명도이다.
도 12(b)는 플렉시블 디스크의 정면에서 본 외관, 단면 구조, 및 플렉시블 디스크를 나타내고, 도 12(a)는 기록 매체 본체인 플렉시블 디스크의 물리 포맷의 예를 나타내고 있다. 플렉시블 디스크(FD)는 케이스(F) 내에 내장되고, 이 디스크의 표면에는, 동심원상으로 외주로부터는 내주를 향해 복수의 트랙(Tr)이 형성되고, 각 트랙은 각도 방향으로 16의 섹터(Se)로 분할되어 있다. 따라서, 상기 프로그램을 저장한 플렉시블 디스크에서는, 상기 플렉시블 디스크(FD) 상에 할당된 영역에, 상기 프로그램이 기록되어 있다.
또, 도 12(c)는, 플렉시블 디스크(FD)에 상기 프로그램의 기록 재생을 행하기 위한 구성을 나타낸다. 움직임 검출 방법을 실현하는 상기 프로그램을 플렉시블 디스크(FD)에 기록하는 경우는, 컴퓨터 시스템(Cs)으로부터 상기 프로그램을 플렉시블 디스크 드라이브를 통해 기입한다. 또, 플렉시블 디스크 내의 움직임 검출 방법을 실현하는 프로그램에 의해 상기 움직임 검출 방법을 컴퓨터 시스템 내에 구축하는 경우는, 플렉시블 디스크 드라이브에 의해 프로그램을 플렉시블 디스크로부터 읽어내어, 컴퓨터 시스템에 전송한다.
또한, 상기 설명에서는, 기록 매체로서 플렉시블 디스크를 사용하여 설명했으나, 광디스크를 사용해도 동일하게 행할 수 있다. 또, 기록 매체는 이것에 한정되지 않고, IC 카드, ROM 카세트 등, 프로그램을 기록할 수 있는 것이면 동일하게 실시할 수 있다.
(실시형태 4)
또한 여기서, 상기 실시형태에서 나타낸 움직임 검출 방법의 응용예와 그것을 사용한 시스템을 설명한다.
도 13은, 컨텐츠 배송 서비스를 실현하는 컨텐츠 공급 시스템(ex100)의 전체구성을 나타낸 블록도이다. 통신 서비스의 제공 영역을 원하는 크기로 분할하고, 각 셀 내에 각각 고정 무선국인 기지국(ex107∼ex110)이 설치되어 있다.
이 컨텐츠 공급 시스템(ex100)은, 예를 들면 인터넷(ex101)에 인터넷 서비스 프로바이더(ex102) 및 전화망(ex104), 및 기지국(ex107∼ex110)을 통해, 컴퓨터 (ex111), PDA(personal digital assistant)(ex112), 카메라(ex113), 휴대전화(ex114), 카메라 부착 휴대전화(ex115) 등의 각 기기가 접속된다.
그러나, 컨텐츠 공급 시스템(ex100)은 도 13과 같은 조합에 한정되지 않고, 어느 하나를 조합하여 접속하도록 해도 된다. 또, 고정 무선국인 기지국(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)로 행해도 되고, 데이터의 송신 처리를 하는 서버 등으로 행해도 된다. 또, 카메라(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)은, 부호화된 데이터를 클라이언트에서 수신하여 재생할 수 있고, 또한 클라이언트에서 실시간으로 수신하여 복호화하여 재생함으로써, 개인 방송도 실현 가능하게 되는 시스템이다.
이 시스템을 구성하는 부호화중에 사용되는 움직임 검출부에는 상기 각 실시형태에서 나타낸 움직임 검출을 사용하도록 하면 된다.
그 일례로서 휴대전화에 대해 설명한다.
도 14는, 상기 실시형태에서 설명한 움직임 검출 방법을 사용한 휴대전화(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)에 대해 도 15를 사용하여 설명한다. 휴대전화(ex115)는 표시부(ex202) 및 조작 키(ex204)를 구비한 본체부의 각 부를 통괄적으로 제어하도록 이루어진 주제어부(ex311)에 대해, 전원 회로부(ex310), 조작 입력 제어부(ex304), 화상 부호화부(ex312), 카메라 인터페이스부(ex303), LCD(Liquid Crystal 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)에 공급하고, 이에 의해 예를 들면 홈페이지에 링크된 동화상 파일에 포함되는 음성 데이터가 재생된다.
또한, 상기 시스템의 예에 한정되지 않고, 최근은 위성, 지상파에 의한 디지털 방송이 화제가 되고 있고, 도 16에 도시하는 바와 같이 디지털 방송용 시스템에도 상기 실시형태의 적어도 동화상 부호화 장치를 장착할 수 있다. 구체적으로는, 방송국(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)의 구성은 예를 들면 도 15에 도시한 구성 중, 카메라부(ex203)와 카메라 인터페이스부(ex303), 화상 부호화부(ex312)를 제외한 구성을 생각할 수 있고, 동일한 것을 컴퓨터(ex111)나 TV(수신기)(ex401) 등에서도 생각할 수 있다.
또, 상기 휴대전화(ex114) 등의 단말은, 부호화기·복호화기를 모두 갖는 송수신형의 단말 외에, 부호화기만의 송신 단말, 복호화기만의 수신 단말의 3가지의 실장 형식을 생각할 수 있다.
이렇게, 상기 실시형태에서 나타낸 움직임 검출 방법을 상술한 모든 기기·시스템에 사용하는 것은 가능하고, 그렇게 함으로써 상기 실시형태에서 설명한 효과를 얻을 수 있다.
또, 본 발명은 이러한 상기 실시형태에 한정되는 것이 아니라, 본 발명의 범위를 벗어나지 않고 여러가지의 변형 또는 수정이 가능하다.
또, 도 3, 도 4, 및 도 10에 나타낸 블록도의 각 기능 블록은 전형적으로는 집적 회로인 LSI로서 실현된다. 이 LSI는 1칩화되어도 되고, 복수 칩화되어도 된다.(예를 들면 메모리 이외의 기능 블록이 1칩화되어 있어도 된다) 여기서는, LSI로 했으나, 집적도의 차이에 따라, IC, 시스템 LSI, 슈퍼 LSI, 울트라 LSI로 호칭되는 경우도 있다.
또, 집적 회로화의 방법은 LSI에 한정되는 것이 아니며, 전용 회로 또는 범용 프로세서로 실현해도 된다. LSI 제조 후에, 프로그램하는 것이 가능한 FPGA(Field Programmable Gate Array)나, LSI 내부의 회로 셀의 접속이나 설정을 재구성 가능한 리컨피규러블·프로세서를 이용해도 된다.
또한, 반도체 기술의 진보 또는 파생하는 다른 기술에 의해 LSI를 대신하는 집적 회로화의 기술이 등장하면, 당연히 그 기술을 사용하여 기능 블록의 집적화를 행해도 된다. 바이오 기술의 적응 등이 가능성으로서 있을 수 있다.
또, 각 기능 블록 중, 부호화 또는 복호화의 대상이 되는 데이터를 저장하는 수단만 1칩화하지 않고 별도의 구성으로 해도 된다.
이상과 같이, 본 발명에 따른 움직임 검출 방법 및 동화상 부호화 방법은, 예를 들면 휴대전화, DVD 장치, 및 PC 등으로, 동화상의 움직임 검출을 행하거나, 동화상을 구성하는 각 픽처를 부호화하여 부호열을 생성하거나 하기 위한 방법 등으로서 유용하다.
Claims (12)
- 동화상을 구성하는 픽처의 움직임량을 나타내는 움직임 벡터를 블록 단위로 검출하는 움직임 검출 방법에 있어서,움직임 검출을 행하는 대상 픽처의 대상 블록과, 참조 픽처중에서의 탐색 중심이 되는 참조 블록 및 탐색 중심이 되는 상기 참조 블록의 근방에 위치하는 참조 블록과의 오차를 각각 계산하는 오차 계산 단계와,상기 오차 계산 단계에 의해 계산된 상기 오차가 최소가 되는 참조 블록을 결정하는 오차 최소 블록 결정 단계와,움직임 검출을 종료할지 여부의 판정을 행하는 종료 판정 단계와,상기 오차 최소 블록 결정 단계에 의해 결정된 상기 오차가 최소가 되는 상기 참조 블록의 위치에 따라, 탐색 중심이 되는 상기 참조 블록의 이동량이 2 화소 이상이 되도록, 다음 회의 탐색 중심이 되는 참조 블록을 결정하고, 상기 대상 픽처의 상기 대상 블록에 대해 다시 상기 오차 계산 단계를 실행시키는 탐색 중심 결정 단계와,상기 종료 판정 단계에 의해 움직임 검출을 종료한다고 판정된 경우에, 상기 오차 최소 블록 결정 단계에 의해 결정된 상기 참조 블록의 위치를 나타내는 움직임 벡터를, 검출해야 할 움직임 벡터로 결정하는 움직임 벡터 검출 단계를 포함하는 것을 특징으로 하는 움직임 검출 방법.
- 제1항에 있어서, 상기 종료 판정 단계에서는, 상기 오차 최소 블록 결정 단 계에 의해 결정된 상기 참조 블록의 주위에 위치하는 모든 참조 블록이, 전회 및 금회의 탐색 중심이 되는 참조 블록에 기초하여, 상기 오차 계산 단계에 의해 상기 오차가 계산되어 있는 참조 블록인 경우, 또는, 상기 탐색 중심 결정 단계에 의해 결정된 다음 회의 탐색 중심이 되는 상기 참조 블록이 전회의 탐색 중심이 되는 참조 블록과 동일한 경우에, 움직임 검출을 종료한다고 판정하는 것을 특징으로 하는 움직임 검출 방법.
- 제1항 또는 제2항에 있어서, 상기 근방에 위치하는 참조 블록은, 상기 탐색 중심이 되는 참조 블록으로부터 수평 방향에서 좌우 각각으로 i 화소(i : P 이하의 자연수, P : 자연수) 이동한 참조 블록과, 수직 방향에서 상하 각각으로 j 화소(j : Q 이하의 자연수, Q : 자연수) 이동한 참조 블록과, 수평 방향에서 좌우 각각으로 i 화소 및 수직 방향에서 상하 각각으로 j 화소 이동한 참조 블록이며,상기 오차 계산 단계에서는, 상기 탐색 중심이 되는 참조 블록 및 상기 근방에 위치하는 참조 블록의 합계 (2P+1)×(2Q+1)의 참조 블록에 대한 상기 오차를 병렬로 계산하는 것을 특징으로 하는 움직임 검출 방법.
- 제1항 또는 제2항에 있어서, 상기 탐색 중심 결정 단계에서는, 상기 오차 최소 블록 결정 단계에 의해 결정된 상기 오차가 최소가 되는 참조 블록이, 상기 탐색 중심이 되는 참조 블록으로부터 수평 M 화소(M : 정수) 이동한 참조 블록인 경우에는, 상기 탐색 중심이 되는 참조 블록으로부터 수평 2M+1 화소 이동한 참조 블록을 다음 회의 탐색 중심이 되는 참조 블록으로서 결정하는 것을 특징으로 하는 움직임 검출 방법.
- 제1항 또는 제2항에 있어서, 상기 탐색 중심 결정 단계에서는, 상기 오차 최소 블록 결정 단계에 의해 결정된 상기 오차가 최소가 되는 참조 블록이, 상기 탐색 중심이 되는 참조 블록으로부터 수직 N 화소(N : 정수) 이동한 참조 블록인 경우에는, 상기 탐색 중심이 되는 참조 블록으로부터 수직 2N+1 화소 이동한 참조 블록을 다음 회의 탐색 중심이 되는 참조 블록으로서 결정하는 것을 특징으로 하는 움직임 검출 방법.
- 제1항 또는 제2항에 있어서, 상기 탐색 중심 결정 단계에서는, 상기 오차 최소 블록 결정 단계에 의해 결정된 상기 오차가 최소가 되는 참조 블록이, 상기 탐색 중심이 되는 참조 블록으로부터 수평 M 화소 및 수직 N 화소(M, N : 정수) 이동한 참조 블록인 경우에는, 상기 탐색 중심이 되는 참조 블록으로부터 수평 2M 화소 및 수직 2N 화소 이동한 참조 블록을 다음 회의 탐색 중심이 되는 참조 블록으로서 결정하는 것을 특징으로 하는 움직임 검출 방법.
- 제1항 또는 제2항에 있어서, 상기 탐색 중심 결정 단계에서는, 다음 회의 탐색 중심이 되는 상기 참조 블록 및 다음 회의 탐색 중심이 되는 상기 참조 블록의 근방에 위치하는 참조 블록이, 소정의 탐색 범위 내에 포함되도록 다음 회의 탐색 중심이 되는 참조 블록을 결정하는 것을 특징으로 하는 움직임 검출 방법.
- 제1항 또는 제2항에 있어서, 상기 움직임 검출 방법은,상기 오차 계산 단계에서의 상기 오차의 계산 회수를 계수하는 카운트 단계를 더 구비하고,상기 종료 판정 단계에서는, 상기 카운트 단계에 의해 계수된 상기 계산 회수가 소정의 회수를 초과한 경우에, 움직임 검출을 종료한다고 판정하는 것을 특징으로 하는 움직임 검출 방법.
- 동화상을 구성하는 픽처를 블록 단위로 부호화하는 동화상 부호화 방법에 있어서,제1항 또는 제2항에 기재된 움직임 검출 방법에 의해 움직임 벡터를 검출하는 움직임 벡터 검출 단계와,상기 움직임 벡터 검출 단계에 의해 검출된 상기 움직임 벡터에 기초하여, 상기 동화상을 부호화하는 부호화 단계를 포함하는 것을 특징으로 하는 동화상 부호화 방법.
- 동화상을 구성하는 픽처의 움직임량을 나타내는 움직임 벡터를 블록 단위로 검출하는 움직임 검출 장치에 있어서,움직임 검출을 행하는 대상 픽처의 대상 블록과, 참조 픽처중에서의 탐색 중심이 되는 참조 블록 및 탐색 중심이 되는 상기 참조 블록의 근방에 위치하는 참조 블록과의 오차를 각각 계산하는 오차 계산 수단과,상기 오차 계산 수단에 의해 계산된 상기 오차가 최소가 되는 참조 블록을 결정하는 오차 최소 블록 결정 수단과,움직임 검출을 종료할지 여부의 판정을 행하는 종료 판정 수단과,상기 오차 최소 블록 결정 수단에 의해 결정된 상기 오차가 최소가 되는 상기 참조 블록의 위치에 따라, 탐색 중심이 되는 상기 참조 블록의 이동량이 2 화소 이상이 되도록, 다음 회의 탐색 중심이 되는 참조 블록을 결정하고, 다시 상기 오차 계산 수단에 상기 오차의 계산을 실행시키는 탐색 중심 결정 수단과,상기 종료 판정 수단에 의해 움직임 검출을 종료한다고 판정된 경우에, 상기 오차 최소 블록 결정 수단에 의해 결정된 상기 참조 블록의 위치를 나타내는 움직임 벡터를, 검출해야 할 움직임 벡터로 결정하는 움직임 벡터 검출 수단을 구비하는 것을 특징으로 하는 움직임 검출 장치.
- 동화상을 구성하는 픽처의 움직임량을 나타내는 움직임 벡터를 블록 단위로 검출하기 위한 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체에 있어서,제1항 또는 제2항에 기재된 움직임 검출 방법에 포함되는 단계를 컴퓨터에 실행시키는 것을 특징으로 하는 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체.
- 동화상을 구성하는 픽처의 움직임량을 나타내는 움직임 벡터를 블록 단위로 검출하는 집적 회로에 있어서,움직임 검출을 행하는 대상 픽처의 대상 블록과, 참조 픽처중에서의 탐색 중심이 되는 참조 블록 및 탐색 중심이 되는 상기 참조 블록의 근방에 위치하는 참조 블록과의 오차를 각각 계산하는 오차 계산 수단과,상기 오차 계산 수단에 의해 계산된 상기 오차가 최소가 되는 참조 블록을 결정하는 오차 최소 블록 결정 수단과,움직임 검출을 종료할지 여부의 판정을 행하는 종료 판정 수단과,상기 오차 최소 블록 결정 수단에 의해 결정된 상기 오차가 최소가 되는 상기 참조 블록의 위치에 따라, 탐색 중심이 되는 상기 참조 블록의 이동량이 2 화소 이상이 되도록, 다음 회의 탐색 중심이 되는 참조 블록을 결정하고, 다시 상기 오차 계산 수단에 상기 오차의 계산을 실행시키는 탐색 중심 결정 수단과,상기 종료 판정 수단에 의해 움직임 검출을 종료한다고 판정된 경우에, 상기 오차 최소 블록 결정 수단에 의해 결정된 상기 참조 블록의 위치를 나타내는 움직임 벡터를, 검출해야 할 움직임 벡터로 결정하는 움직임 벡터 검출 수단을 구비하는 것을 특징으로 하는 집적 회로.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004053588 | 2004-02-27 | ||
JPJP-P-2004-00053588 | 2004-02-27 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20060043185A KR20060043185A (ko) | 2006-05-15 |
KR101075270B1 true KR101075270B1 (ko) | 2011-10-19 |
Family
ID=34879709
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020050016117A KR101075270B1 (ko) | 2004-02-27 | 2005-02-25 | 움직임 검출 방법 및 동화상 부호화 방법 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7894526B2 (ko) |
KR (1) | KR101075270B1 (ko) |
CN (1) | CN1662067B (ko) |
Families Citing this family (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI239474B (en) * | 2004-07-28 | 2005-09-11 | Novatek Microelectronics Corp | Circuit for counting sum of absolute difference |
TWI295540B (en) * | 2005-06-15 | 2008-04-01 | Novatek Microelectronics Corp | Motion estimation circuit and operating method thereof |
TWI296091B (en) * | 2005-11-15 | 2008-04-21 | Novatek Microelectronics Corp | Motion estimation circuit and motion estimation processing element |
FR2894422A1 (fr) * | 2005-12-01 | 2007-06-08 | Thomson Licensing Sas | Procede de prediction de donnees mouvement et de texture |
FR2894424A1 (fr) * | 2005-12-05 | 2007-06-08 | Thomson Licensing Sas | Procede de prediction de donnees mouvement et de texture |
FR2894423A1 (fr) * | 2005-12-05 | 2007-06-08 | Thomson Licensing Sas | Procede de prediction de donnees mouvement et de texture |
US20070217515A1 (en) * | 2006-03-15 | 2007-09-20 | Yu-Jen Wang | Method for determining a search pattern for motion estimation |
JP4531006B2 (ja) * | 2006-03-31 | 2010-08-25 | 富士通株式会社 | 動きベクトル検出装置 |
JP4757080B2 (ja) * | 2006-04-03 | 2011-08-24 | パナソニック株式会社 | 動き検出装置、動き検出方法、動き検出集積回路および画像符号化装置 |
US20080165278A1 (en) * | 2007-01-04 | 2008-07-10 | Sony Corporation | Human visual system based motion detection/estimation for video deinterlacing |
US8553758B2 (en) * | 2007-03-02 | 2013-10-08 | Sony Corporation | Motion parameter engine for true motion |
US20080212687A1 (en) * | 2007-03-02 | 2008-09-04 | Sony Corporation And Sony Electronics Inc. | High accurate subspace extension of phase correlation for global motion estimation |
KR100891768B1 (ko) * | 2007-05-02 | 2009-04-07 | 삼성전자주식회사 | 모션 벡터 탐색 방법 |
JP4985201B2 (ja) * | 2007-08-07 | 2012-07-25 | ソニー株式会社 | 電子機器、動きベクトル検出方法及びプログラム |
US7843462B2 (en) * | 2007-09-07 | 2010-11-30 | Seiko Epson Corporation | System and method for displaying a digital video sequence modified to compensate for perceived blur |
WO2009073415A2 (en) | 2007-11-30 | 2009-06-11 | Dolby Laboratories Licensing Corporation | Temporal image prediction |
KR100948164B1 (ko) * | 2008-01-03 | 2010-03-16 | 서울시립대학교 산학협력단 | 중앙집중적 탐색 패턴을 이용한 움직임 예측 방법 및움직임 예측기 |
US8170107B2 (en) * | 2008-03-06 | 2012-05-01 | Lsi Corporation | Flexible reduced bandwidth compressed video decoder |
US8094714B2 (en) * | 2008-07-16 | 2012-01-10 | Sony Corporation | Speculative start point selection for motion estimation iterative search |
US8144766B2 (en) * | 2008-07-16 | 2012-03-27 | Sony Corporation | Simple next search position selection for motion estimation iterative search |
JP2012504925A (ja) | 2008-10-06 | 2012-02-23 | エルジー エレクトロニクス インコーポレイティド | ビデオ信号の処理方法及び装置 |
US8179474B2 (en) * | 2009-09-02 | 2012-05-15 | Sony Corporation | Fast iterative motion estimation method on gradually changing images |
US20110148928A1 (en) * | 2009-12-17 | 2011-06-23 | General Electric Company | System and method to correct motion in gated-pet images using non-rigid registration |
US8976856B2 (en) * | 2010-09-30 | 2015-03-10 | Apple Inc. | Optimized deblocking filters |
JP2012142864A (ja) * | 2011-01-05 | 2012-07-26 | Sony Corp | 画像処理装置及び画像処理方法 |
CN106878742B (zh) | 2011-01-12 | 2020-01-07 | 太阳专利托管公司 | 动态图像编解码装置 |
US10404998B2 (en) * | 2011-02-22 | 2019-09-03 | Sun Patent Trust | Moving picture coding method, moving picture coding apparatus, moving picture decoding method, and moving picture decoding apparatus |
KR101878008B1 (ko) | 2011-03-03 | 2018-07-13 | 선 페이턴트 트러스트 | 동화상 부호화 방법, 동화상 복호 방법, 동화상 부호화 장치, 동화상 복호 장치 및 동화상 부호화 복호 장치 |
US10554967B2 (en) * | 2014-03-21 | 2020-02-04 | Futurewei Technologies, Inc. | Illumination compensation (IC) refinement based on positional pairings among pixels |
GB2527315B (en) * | 2014-06-17 | 2017-03-15 | Imagination Tech Ltd | Error detection in motion estimation |
CN112738529B (zh) * | 2020-12-23 | 2023-07-07 | 北京百度网讯科技有限公司 | 帧间预测方法、装置、设备、存储介质以及程序产品 |
CN115529459B (zh) * | 2022-10-10 | 2024-02-02 | 格兰菲智能科技有限公司 | 中心点搜索方法、装置、计算机设备、存储介质 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0896300B1 (en) * | 1997-08-07 | 2002-01-30 | Matsushita Electric Industrial Co., Ltd. | Device and method for motion vector detection |
JPH11355780A (ja) | 1998-06-12 | 1999-12-24 | Sharp Corp | 動き検出装置 |
TW444507B (en) * | 1998-10-22 | 2001-07-01 | Sony Corp | Detecting method and device for motion vector |
JP3947316B2 (ja) | 1998-12-21 | 2007-07-18 | 株式会社日立製作所 | 動きベクトル検出装置及びこれを用いた動画像符号化装置 |
JP4223169B2 (ja) | 1999-03-17 | 2009-02-12 | パナソニック株式会社 | 動きベクトル検出方法,動きベクトル検出装置,及びデータ記録媒体 |
US6438254B1 (en) | 1999-03-17 | 2002-08-20 | Matsushita Electric Industrial Co., Ltd. | Motion vector detection method, motion vector detection apparatus, and data storage media |
US7327787B1 (en) * | 2000-11-20 | 2008-02-05 | Intel Corporation | Method and apparatus for motion estimation |
DE60141961D1 (de) * | 2001-09-10 | 2010-06-10 | Texas Instruments Inc | Verfahren und Vorrichtung zur Bewegungsvektorenabschätzung |
US7940844B2 (en) * | 2002-06-18 | 2011-05-10 | Qualcomm Incorporated | Video encoding and decoding techniques |
-
2005
- 2005-02-23 US US11/063,871 patent/US7894526B2/en not_active Expired - Fee Related
- 2005-02-25 KR KR1020050016117A patent/KR101075270B1/ko not_active IP Right Cessation
- 2005-02-28 CN CN2005100529139A patent/CN1662067B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
KR20060043185A (ko) | 2006-05-15 |
CN1662067B (zh) | 2010-05-12 |
US20050190844A1 (en) | 2005-09-01 |
US7894526B2 (en) | 2011-02-22 |
CN1662067A (zh) | 2005-08-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101075270B1 (ko) | 움직임 검출 방법 및 동화상 부호화 방법 | |
KR100947692B1 (ko) | 움직임 벡터 부호화 방법 및 움직임 벡터 복호화 방법 | |
KR100985366B1 (ko) | 움직임 보상 방법, 화상 부호화 방법 및 화상 복호화 방법 | |
KR100967237B1 (ko) | 동화상 부호화 방법 및 동화상 복호화 방법 | |
JP4114859B2 (ja) | 動きベクトル符号化方法および動きベクトル復号化方法 | |
KR100948714B1 (ko) | 동화상 부호화 방법 및 동화상 복호화 방법 | |
KR101082233B1 (ko) | 화상 부호화 방법, 화상 복호화 방법, 화상 부호화 장치,화상 복호화 장치 및 그 프로그램 | |
KR100944851B1 (ko) | 동화상 부호화 방법 및 동화상 복호화 방법 | |
KR100747958B1 (ko) | 화상 부호화 방법 및 화상 복호화 방법 | |
JP5085757B2 (ja) | 画像復号化方法、画像復号化装置、プログラムおよび記録媒体 | |
JP4519676B2 (ja) | 動き検出方法および動画像符号化方法 | |
KR20050018730A (ko) | 필터링 강도의 결정 방법, 동화상 부호화 방법 및 동화상복호화 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20140923 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20150917 Year of fee payment: 5 |
|
LAPS | Lapse due to unpaid annual fee |