KR101809187B1 - 화상 예측 복호 장치 및 화상 예측 복호 방법 - Google Patents
화상 예측 복호 장치 및 화상 예측 복호 방법 Download PDFInfo
- Publication number
- KR101809187B1 KR101809187B1 KR1020177023414A KR20177023414A KR101809187B1 KR 101809187 B1 KR101809187 B1 KR 101809187B1 KR 1020177023414 A KR1020177023414 A KR 1020177023414A KR 20177023414 A KR20177023414 A KR 20177023414A KR 101809187 B1 KR101809187 B1 KR 101809187B1
- Authority
- KR
- South Korea
- Prior art keywords
- prediction
- information
- block
- signal
- target
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 219
- 239000013598 vector Substances 0.000 claims description 337
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 claims description 16
- 230000008569 process Effects 0.000 description 89
- 238000013139 quantization Methods 0.000 description 50
- 238000012545 processing Methods 0.000 description 49
- 238000010586 diagram Methods 0.000 description 46
- 230000006870 function Effects 0.000 description 23
- 230000009466 transformation Effects 0.000 description 10
- 238000005192 partition Methods 0.000 description 8
- 238000006243 chemical reaction Methods 0.000 description 7
- 230000014509 gene expression Effects 0.000 description 7
- 238000001514 detection method Methods 0.000 description 5
- 238000006073 displacement reaction Methods 0.000 description 5
- 230000002457 bidirectional effect Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 239000013256 coordination polymer Substances 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000010187 selection method Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000001131 transforming effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- OYFJQPXVCSSHAI-QFPUQLAESA-N enalapril maleate Chemical compound OC(=O)\C=C/C(O)=O.C([C@@H](C(=O)OCC)N[C@@H](C)C(=O)N1[C@@H](CCC1)C(O)=O)CC1=CC=CC=C1 OYFJQPXVCSSHAI-QFPUQLAESA-N 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
- H04N19/52—Processing of motion vectors by encoding by predictive encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/109—Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
- H04N19/139—Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
일실시형태에 있어서, 화상 내의 부호화 대상 영역은 복수 개의 예측 영역으로 분할된다. 대상 영역에 인접하는 인접 영역의 예측 정보와 상기 대상 영역 내의 부호화가 끝난 예측 영역의 수와 상기 대상 영역의 부호화가 끝난 예측 정보에 따라 다음의 예측 영역인 대상 예측 영역의 예측 신호의 생성에 사용하는 움직임 정보의 후보가 상기 대상 예측 영역에 인접하는 영역의 부호화가 끝난 움직임 정보로부터 선출된다. 선출된 움직임 정보의 후보의 수에 따라 선출된 움직임 정보의 후보를 사용한 대상 예측 영역의 예측 신호의 생성을 지시하는 병합 블록 정보 및 예측 정보 추정 수단에 의해 검출된 움직임 정보, 또는 상기 병합 블록 정보와 상기 움직임 정보의 어느 한쪽이 부호화되고, 대상 예측 영역의 예측 신호의 생성에 사용하는 움직임 정보가 예측 정보 보존 수단에 보존된다.
Description
본 발명의 일 측면은 화상 예측 부호화 장치, 화상 예측 부호화 방법, 및 화상 예측 부호화 프로그램에 관한 것이다. 또한, 본 발명의 다른 일 측면은 화상 예측 복호 장치, 화상 예측 복호 방법 및 화상 예측 복호 프로그램에 관한 것이다. 특히, 이들 측면은 주위 블록의 동작 정보를 사용하여 대상 블록의 예측 신호를 생성하는 화상 예측 부호화 장치, 화상 예측 부호화 방법, 화상 예측 부호화 프로그램, 화상 예측 복호 장치, 화상 예측 복호 방법 및 화상 예측 복호 프로그램에 관한 것이다. 또한, 본 발명의 또 다른 일 측면은 동작 벡터에 의한 동작 보상에 의해 예측 신호를 생성하는 동화상 부호화 장치, 동화상 부호화 방법, 동화상 부호화 프로그램, 동화상 복호 장치, 동화상 복호 방법, 및 동화상 복호 프로그램에 관한 것이다.
정지 화상이나 동화상 데이터의 전송이나 축적을 효율적으로 행하기 위하여 압축 부호화 기술이 사용된다. 동화상의 경우에는 MPEG-1~4 또는 ITU(International Telecommunication Union) H.261~H.264의 방식이 널리 사용되고 있다.
이들 부호화 방식에서, 부호화의 대상이 되는 화상을 복수 개의 블록으로 분할한 다음, 부호화 처리 또는 복호 처리를 한다. 화면 내의 예측 부호화에서, 대상 블록과 같은 화면 내에 있는 인접하는 재생된 화상 신호(압축된 화상 데이터가 복원된 것)를 사용하여 예측 신호를 생성한 다음, 그 예측 신호를 대상 블록의 신호로부터 감산에 의해 얻어지는 차분 신호를 부호화한다. 화면 사이의 예측 부호화에서, 대상 블록과 상이한 화면 내에 있는 인접하는 재생된 화상 신호를 참조하고, 동작의 보정을 행하고, 예측 신호를 생성하고, 그 예측 신호를 대상 블록의 신호로부터 감산에 의해 얻어지는 차분 신호를 부호화한다.
예를 들면, H.264의 화면 내 예측 부호화에서, 부호화의 대상으로 되는 블록에 인접하는 재생된 화소값을 소정의 방향으로 외부 삽입하여 예측 신호를 생성하는 방법을 채용하고 있다. 도 22는 ITUH.264에 사용되는 화면 내 예측 방법을 설명하기 위한 계략도이다. 도 22A에서, 대상 블록(802)은 부호화의 대상이 되는 블록이며, 그 대상 블록(802)의 경계에 인접하는 화소 PA~PM으로 이루어지는 화소군(801)은 인접 영역이며, 과거에 처리되어 이미 재생된 화상 신호이다.
도 22(A)와 같은 경우, 대상 블록(802)의 바로 위에 있는 인접 화소인 화소 군(801)을 아래로 내려 예측 신호를 생성한다. 또한, 도 22(B)와 같은 경우, 대상 블록(804)의 좌측에 있는 재생된 화소(PI~PL)를 우측으로 늘여 예측 신호를 생성한다. 예측 신호를 생성하는 구체적인 방법은 예를 들면, 특허 문헌 1에 기재되어 있다. 이와 같이, 도 22(A)~ 22(I)와 같은 방법으로 생성된 9개의 예측 신호의 각각과 대상 블록의 화소 신호와의 차이를 취하고, 차이 값이 가장 작은 것을 최적인 예측 신호로 한다. 이상과 같이, 화소를 추정하여 예측 신호를 생성할 수 있다. 이상의 내용 하기 특허 문헌 1에 기재되어 있다.
통상적인 화면 간의 예측 부호화에서, 부호화의 대상이 되는 블록에 대하여, 그 화소 신호에 유사한 신호를 이미 재생된 화면에서 검색하는 방법으로 예측 신호를 생성한다. 그리고, 대상 블록과 검색한 신호가 구성하는 영역 사이의 공간 변위량인 동작 벡터와 대상 블록의 화소 신호와 예측 신호와의 잔차신호를 부호화한다. 이와 같이 블록마다 동작 벡터를 탐색하는 방법은 블록 매칭이라고 한다.
도 21은 블록 매칭 처리를 설명하기 위한 계략도이다. 이하, 부호화 대상의 화면(701) 상의 대상 블록(702)을 예로 예측 신호의 생성 스텝을 설명한다. 화면(703)은 이미 재생이 끝난 상태이며, 영역(704)은 대상 블록(702)과 공간으로 동일한 위치의 영역이다. 블록 매칭은 영역(704)을 둘러싸는 검색 범위(705)를 설정하고, 이 탐색 범위의 화소 신호로부터 대상 블록(702)의 화소 신호와의 절대값 오차값이 최소로 되는 영역(706)을 검출한다. 이 영역(706)의 신호가 예측 신호로 되어, 영역(704)으로부터 영역(706)의 변위량이 움직임 벡터(707)로 검출된다. 또한, 참조 화면(703)을 복수 개 준비하고, 대상 블록마다 블록 매칭을 실시하는 참조 화면을 선택하고, 참조 화면 선택 정보를 검출하는 방법도 사용되는 경우가 있다. H.264에서는 화상의 국소적인 특징의 변화에 대응하므로, 움직임 벡터를 부호화하는 블록 사이즈가 상이한 복수 개의 예측 타입을 준비하고 있다. H.264의 예측 타입에 대하여는, 예를 들면, 특허 문헌 2에 기재되어 있다.
동화상 데이터의 압축 부호화에서는 각 화면(프레임, 필드)의 부호화 순서는 임의로 된다. 그러므로, 재생이 끝난 화면을 참조하여 예측 신호를 생성하는 화면간 예측에도 부호화 순서에 대해 3종류의 방법이 있다. 제1 방법은 재생순서로 이전의 재생이 끝난 화면을 참조하여 예측 신호를 생성하는 전방향 예측이며, 제2 방법은 재생순서로 이후의 재생이 끝난 화면을 참조하여 예측 신호를 생성하는 후방향 예측이며, 제3 방법은 전방향 예측과 후방향 예측을 함께 행하고 2개의 예측 신호를 평균화하는 양방향 예측이다. 화면간 예측의 종류에 대하여는, 예를 들면, 특허 문헌 3에 기재되어 있다.
차세대 부호화 영상 부호화 방식으로서 표준화가 시작된 HEVC(High efficiency video coding)에서는 예측 블록의 분할 타입으로서 도 20(B)와 도 20(C)에 나타난 직사각형 2분할, 도 20(D)에 나타난 정방 4분할에 더하여, 도 20(E) 내지 20(F)에 나타낸 바와 같이 비대칭 분할의 도입도 검토된다. 또한, HEVC에서는 이와 같이 분할된 예측 블록의 예측 신호를 생성할 때, 예측 대상이 되는 대상 예측 블록에 인접하는 블록의 움직임 정보(움직임 벡터나 참조 화면 정보 및 전방향/후방향/양방향을 식별하는 화면간 예측 모드)를 이용하는 방법이 검토된다. 이 예측 방법은 블록 병합(merging)으로 불리며 움직임 정보를 양호한 효율로 부호화가 가능하게 하는 특징이 있다. 도 2(A)는 부호화 블록(400)을 세로 분할하여 생성하고 예측 블록 T1에 블록 병합할 때의 인접 블록을 개략적으로 설명하는 도면이다. 예측 블록 T1의 예측 신호는 (1)인접 블록 A의 움직임 정보, (2)인접 블록 B의 움직임 정보 또는, (3)블록 매칭에 의해 검출한 움직임 정보 중 어느 하나를 사용하여 생성된다. 예를 들면, 부호화기가 인접 블록 A의 움직임 정보를 선택한 경우, 부호화기는 첫 번째로, 인접 블록의 움직임 정보를 이용하는 것을 나타내는 병합 식별 정보(merge_flag)를 "merge_flag=1"로 하고, 상기 병합 식별 정보(merge_flag)를 복호기에 보낸다. 두 번째로, 부호화기는 인접 블록 A와 인접 블록 B로부터 인접 블록 A를 이용하는 것을 나타내는 병합 블록 선택 정보(merge_flag_left)를 "merge_flag_left=1"로 하고 상기 병합 블록 선택 정보(merge_flag_left)를 복호기에 보낸다. 복호기는 이 두 개의 정보를 수신함으로써 대상 예측 블록의 예측 신호를 인접 블록 A의 움직임 정보를 사용하여 생성해야 할 것을 식별할 수 있다. 마찬가지로, 복호기는 "merge_flag=1", "merge_flag_left=0"(인접 블록 B를 선택)을 수신했을 때는 대상 예측 블록의 예측 신호를 인접 블록 B의 움직임 정보를 사용하여 생성하고, "merge_flag=0"을 수신했을 때는 부호화기로부터 움직임 정보를 수신하여 복원해야할 대상 예측 블록의 움직임 정보를 식별할 수 있다. 여기서 나타낸 블록 병합에 대하여는 비특허 문헌 1에 기재되어 있다.
또한, MPEG-1, 2나 MPEG-4 등의 규격에서의 프레임간 예측에서는 각각의 픽쳐는 서로 겹치지 않는 직사각형의 블록세트에 분할되고 블록의 각각에 움직임 벡터를 관련지을 수 있다. 움직임 벡터는 블록마다 움직임 탐색에 의해 얻어지는 것이며, 현재의 블록의 화상 신호를 예측하기 위해 사용하는 제2 블록으로부터의 현재의 블록의 수평 변위 및 수직 변위를 나타내고 있다.
하기 특허 문헌 4에는, 블록 내에 경사 방향으로 움직임의 경계가 존재하는 경우에, 보다 정밀도 높은 움직임 보상 예측을 행하기 위한 방법이 기재되어 있다. 이 방법은 블록을 또한 비직사각형의 소구획으로 구획하고, 상기 소구획마다 움직임 보상 예측을 행한다.
또한, 하기 특허 문헌 5에는 블록을 또한 작은 직사각형의 소구획으로 구획하고, 상기 소구획마다 움직임 보상 예측을 행하는 방법이 기재되어 있다. 이 방법은 처리 대상의 소구획의 움직임 벡터를 부호화할 때, 처리 대상의 소구획에 접하는 블록이며 상기 소구획보다 처리순서상 이전의 블록 움직임 벡터로부터 예측 움직임 벡터를 생성하고, 처리 대상의 소구획의 움직임 벡터와 예측 움직임 벡터의 차분, 즉 차분 움직임 벡터만을 부호화한다. 이 방법은 처리 대상의 소구획이 처리순서상 이전의 블록에 접하고 있지 않은 경우에는, 상기 처리 대상의 소구획을 포함하는 블록 내의 처리순서상 이전의 다른 소구획의 움직임 벡터로부터 상기 처리 대상의 소구획의 예측 움직임 벡터를 생성한다.
[비특허 문헌 1] Test Model under Consideration, Joint Collaborative Team on Video Coding(JCT-VCo)f ITU-T SG16WP3and ISO/IEC JTC1/SC29/WG11, (1s)t Meeting: Dresden, DE, 15-23A)pril, (2010), Document: JCTVC-A205
상기의 비특허 문헌 1에서는 부호화 대상의 대상 부호화 블록을 분할한 복수 개의 예측 블록의 블록 병합(merging)에서 이용하는 움직임 정보 후보의 선출을 예측 블록과 그 주위의 상황에 관계없이 같은 방법으로 실시한다. 그러므로, 예를 들면, 도 2B에 나타난 바와 같이, 예측 블록 T2의 예측 신호를 생성할 때의 움직임 정보의 후보에 같은 부호화 블록에 포함되는 예측 블록 T1의 움직임 정보가 포함된다. 이 예측 블록 T1과 예측 블록 T2로 이루어지는 예측 블록 분할 타입은 2개의 블록의 예측 신호가 상이한 움직임 정보로 생성되는 것을 상정하여 준비된다. 따라서, 예측 블록 T2의 움직임 정보의 후보에 예측 블록 T1의 움직임 정보가 포함되는 것은 바람직하지 않다. 즉, 부호화가 비효율적으로 이루어지는 경우가 있다.
그래서, 본 발명은 여러 측면에 있어서, 대상 예측 블록의 예측 신호의 생성에 사용하는 움직임 정보의 후보를 대상 부호화 블록이나 주위의 부호화 블록의 부호화가 끝나거나 또는 복호가 끝난 예측 정보(움직임 정보나 예측 블록 분할 타입)에 따라 선출함으로써, 비효율적인 부호의 발생을 억제하는 화상 예측 부호화 장치, 화상 예측 부호화 방법, 화상 예측 부호화 프로그램, 화상 예측 복호 장치, 화상 예측 복호 방법 및 화상 예측 복호 프로그램을 제공하는 것을 목적으로 한다. 즉, 이들 측면에 있어서, 본 발명은 부호화 효율이 향상되는 것이 가능한 화상 예측 부호화 장치, 화상 예측 부호화 방법, 화상 예측 부호화 프로그램, 화상 예측 복호 장치, 화상 예측 복호 방법 및 화상 예측 복호 프로그램을 제공하는 것을 목적으로 한다.
또한, 특허 문헌 4 또는 특허 문헌 5에 기재되어 있는 바와 같이, 처리 대상의 블록을 단락짓는 것으로 얻어지는 소구획마다 움직임 보상 예측을 행하는 방법이 있다. 이와 같은 움직임 보상 예측에 대해, 처리 대상의 소구획으로부터 처리순서상 이전의 블록의 움직임 벡터에 따라 소구획용의 예측 움직임 벡터를 생성하고, 상기 소구획의 움직임 벡터와 상기 예측 움직임 벡터의 사이의 차분 움직임 벡터만을 부호화하는 것이 부호량의 관점에서 보다 바람직하다.
도 23은 움직임 보상 예측을 설명하기 위한 도면이다. 도 23에 나타난 바와 같이, 처리 대상의 블록 P에는 상기 블록 P로부터 처리순서상 이전 1 이상의 블록 CP에 접하는 소구획 SP1와 블록 CP에 접하지 않는 소구획 SP2가 존재한다. 이와 같은 소구획 SP2의 움직임 벡터 V2는 특허 문헌 4에 기재되어 있는 방법에서는 예측 움직임 벡터를 이용하지 않고 그대로 부호화된다. 이 방법은, 예측 움직임 벡터를 제로 벡터로 하는 방법과 같다.
한편, 특허 문헌 5에 기재된 방법에서는 블록(P) 내의 다른 소구획으로서 소구획 SP2로부터 처리순서상 이전의 소구획 SP1의 움직임 벡터 V1에서 소구획 SP2의 예측 움직임 벡터가 생성된다. 그러나, 소구획 SP1의 움직임 벡터와 소구획 SP2의 움직임 벡터는 본래 서로 상이한 것으로 고려된다. 따라서, 특허 문헌 5에 기재되어 있는 방법에서는, 소구획 SP2의 움직임 벡터를 양호한 효율로 부호화할 수 없는 경우가 있다.
그래서, 본 발명은 다른 측면에 있어서도, 부호화 효율을 향상되는 것이 가능한 동화상 부호화 장치, 동화상 부호화 방법, 및 동화상 부호화 프로그램, 또, 상기 동화상 부호화에 대응하는 동화상 복호 장치, 동화상 복호 방법, 및 동화상 복호 프로그램을 제공하는 것을 목적으로 한다.
본 발명의 제1 측면은 화상 예측 부호화에 관한 것이다.
본 발명의 제1 측면에 관한 화상 예측 부호화 장치는 입력 화상을 복수 개의 영역으로 분할하는 영역 분할 수단과, 상기 영역 분할 수단에 의해 분할된 부호화 대상으로 하는 대상 영역을 복수 개의 예측 영역에 소분할하고, 상기 대상 영역에 적절한 예측 영역의 수와 영역 형상을 나타낸 예측 블록 분할 타입을 결정하고, 상기 복수 개의 예측 영역과의 관계가 높은 신호를 기 재생 신호로부터 취득하기 위한 움직임 정보를 각각 예측하고, 상기 예측 블록 분할 타입과 상기 움직임 정보를 포함하는 예측 정보를 구하는 예측 정보 추정 수단과, 상기 대상 영역에 부수되는 예측 정보를 부호화하는 예측 정보 부호화 수단과, 상기 대상 영역에 부수되는 예측 정보에 따라 상기 대상 영역의 예측 신호를 생성하는 예측 신호 생성 수단과, 상기 대상 영역의 예측 신호와 상기 대상 영역의 화소 신호에 따른 잔차신호를 생성하는 잔차신호 생성 수단과, 상기 잔차신호 생성 수단에 의해 생성된 잔차신호를 부호화하는 잔차신호 부호화 수단과, 상기 잔차신호의 부호화 데이터를 복호함으로써 재생 잔차신호를 생성하는 잔차신호 복원 수단과, 상기 예측 신호와 상기 재생 잔차신호를 가산함으로써 상기 대상 영역의 복원 화소 신호를 생성하고, 상기 복원 화소 신호를 상기 기 재생 신호로서 보존하는 기록 수단을 구비한다. 상기 예측 정보 부호화 수단은 부호화가 끝난 예측 정보를 보존하는 예측 정보 보존 수단을 구비하고, 상기 대상 영역의 예측 블록 분할 타입을 부호화하고, 상기 예측 블록 분할 타입을 상기 예측 정보 보존 수단에 보존하고, 상기 대상 영역에 인접하는 인접 영역의 예측 정보와 상기 대상 영역 내의 부호화가 끝난 예측 영역의 수와 상기 대상 영역의 부호화가 끝난 예측 정보에 따라 다음의 예측 영역인 대상 예측 영역의 예측 신호의 생성에 사용하는 움직임 정보의 후보를 상기 대상 예측 영역에 인접하는 영역의 부호화가 끝난 움직임 정보로부터 선출하고, 상기 선출한 움직임 정보의 후보의 수에 따라 선출한 움직임 정보의 후보를 사용한 상기 대상 예측 영역의 예측 신호의 생성을 지시하는 병합 블록 정보 및 상기 예측 정보 추정 수단에 의해 검출한 움직임 정보, 또는 상기 병합 블록 정보와 상기 움직임 정보 중의 어느 한쪽을 부호화하고, 상기 대상 예측 영역의 예측 신호의 생성에 사용하는 움직임 정보를 상기 예측 정보 보존 수단에 보존한다.
본 발명의 제1 측면에 관한 화상 예측 부호화 방법은 입력 화상을 복수 개의 영역으로 분할하는 영역 분할 스텝과, 상기 영역 분할 스텝에 의해 분할된 부호화 대상으로 하는 대상 영역을 복수 개의 예측 영역에 소분할하고, 상기 대상 영역에 적절한 예측 영역의 수와 영역 형상을 나타낸 예측 블록 분할 타입을 결정하고, 상기 복수 개의 예측 영역과의 관계가 높은 신호를 기 재생 신호로부터 취득하기 위한 움직임 정보를 각각 예측하고, 상기 예측 블록 분할 타입과 상기 움직임 정보를 포함하는 예측 정보를 구하는 예측 정보 추정 스텝과, 상기 대상 영역에 부수되는 예측 정보를 부호화하는 예측 정보 부호화 스텝과, 상기 대상 영역에 부수되는 예측 정보에 따라 상기 대상 영역의 예측 신호를 생성하는 예측 신호 생성 스텝과, 상기 대상 영역의 예측 신호와 상기 대상 영역의 화소 신호에 따른 잔차신호를 생성하는 잔차신호 생성 스텝과, 상기 잔차신호 생성 스텝에 의해 생성된 잔차신호를 부호화하는 잔차신호 부호화 스텝과, 상기 잔차신호의 부호화 데이터를 복호함으로써 재생 잔차신호를 생성하는 잔차신호 복원 스텝과, 상기 예측 신호와 상기 재생 잔차신호를 가산함으로써 상기 대상 영역의 복원 화소 신호를 생성하고, 상기 복원 화소 신호를 상기 기 재생 신호로서 보존하는 기록 스텝을 포함한다. 예측 정보 부호화 스텝에서는 상기 대상 영역의 예측 블록 분할 타입을 부호화하고, 상기 예측 블록 분할 타입을 부호화가 끝난 예측 정보를 보존하는 예측 정보 보존 수단에 보존하고, 상기 대상 영역에 인접하는 인접 영역의 예측 정보와 상기 대상 영역 내의 부호화가 끝난 예측 영역의 수와 상기 대상 영역의 부호화가 끝난 예측 정보에 따라 다음의 예측 영역인 대상 예측 영역의 예측 신호의 생성에 사용하는 움직임 정보의 후보를 상기 대상 예측 영역에 인접하는 영역의 부호화가 끝난 움직임 정보로부터 선출하고, 상기 선출한 움직임 정보의 후보의 수에 따라 선출한 움직임 정보의 후보를 사용한 상기 대상 예측 영역의 예측 신호의 생성을 지시하는 병합 블록 정보 및 상기 예측 정보 추정 스텝에 의해 검출한 움직임 정보, 또는 상기 병합 블록 정보와 상기 움직임 정보의 어느 한쪽을 부호화하고, 상기 대상 예측 영역의 예측 신호의 생성에 사용하는 움직임 정보를 상기 예측 정보 보존 수단에 보존한다.
또한, 본 발명의 제1 측면에 관한 화상 예측 부호화 프로그램은 컴퓨터를 전술한 화상 예측 부호화 장치의 각 수단으로서 기능하게 한다.
본 발명의 제1 측면에 의하면, 대상 예측 블록의 예측 신호의 생성에 사용하는 움직임 정보의 후보가 대상 부호화 블록이나 주위의 부호화 블록의 부호화가 끝난 예측 정보(움직임 정보나 예측 블록 분할 타입)에 따라 선출되므로, 비효율적인 부호의 발생이 억제된다.
일실시 형태에 있어서, 상기 대상 영역 내의 부호화가 끝난 예측 영역의 수와 상기 대상 영역의 예측 블록 분할 타입과 상기 대상 영역에 인접하는 인접 영역의 예측 블록 분할 타입에 따라 다음의 예측 영역인 대상 예측 영역의 움직임 정보의 후보가 대상 예측 영역에 인접하는 영역의 부호화가 끝난 움직임 정보로부터 선출될 수 있다.
일실시 형태에 있어서, 상기 대상 영역 내의 부호화가 끝난 예측 영역의 수와 상기 대상 영역의 예측 블록 분할 타입에 따라 다음의 예측 영역인 대상 예측 영역의 움직임 정보의 후보가 상기 대상 예측 영역에 인접하는 영역의 부호화가 끝난 움직임 정보로부터 선출되어 상기 대상 영역이 2개의 예측 영역으로 분할되어 상기 대상 예측 영역이 상기 대상 영역 내에서 2번째로 부호화되는 예측 영역인 때, 상기 대상 예측 영역에 인접하고 상기 대상 영역에 포함되지 않은 영역의 움직임 정보가 상기 대상 예측 영역의 예측 신호의 생성에 사용하는 움직임 정보의 후보로서 선출될 수 있다.
또한, 일실시형태에 있어서, 상기 대상 영역 내의 부호화가 끝난 예측 영역의 수와 상기 대상 영역의 예측 블록 분할 타입과 상기 대상 영역 내의 부호화가 끝난 움직임 정보와 상기 대상 영역에 인접하는 인접 영역의 움직임 정보에 따라 다음의 예측 영역인 대상 예측 영역의 예측 신호의 생성에 사용하는 움직임 정보의 후보가 상기 대상 예측 영역에 인접하는 영역의 부호화가 끝난 움직임 정보로부터 선출되어 상기 대상 영역이 2개의 예측 영역으로 분할되어 있고, 상기 대상 예측 영역이 상기 대상 영역 내에서 2번째로 부호화되는 예측 영역이며, 상기 대상 영역의 1번째로 부호화된 예측 영역의 움직임 정보가 상기 대상 예측 영역에 인접하고 상기 대상 영역에 포함되지 않은 영역의 움직임 정보와 동일할 때, 상기 대상 예측 영역에 인접하는 영역의 움직임 정보를 상기 대상 예측 영역의 예측 신호의 생성에 이용하지 않는다고 판단하여 움직임 정보가 부호화될 수 있다.
본 발명의 제2 측면은 화상 예측 복호에 관한 것이다.
본 발명의 제2 측면에 관한 화상 예측 복호 장치는 복수 개의 영역으로 분할하여 부호화된 화상의 압축 데이터 중에서 복호 대상이 되는 대상 영역의 신호 예측에 사용하는 예측 방법을 지시하는 예측 정보의 부호화 데이터와, 상기 대상 영역의 예측 신호의 부호화 데이터와, 잔차신호의 부호화 데이터를 추출하는 데이터 해석 수단과, 상기 예측 정보의 부호화 데이터를 복호하여 상기 대상 영역의 소분할 영역인 복수 개의 예측 영역의 수와 영역 형상을 나타낸 예측 블록 분할 타입과 각 예측 영역의 예측 신호를 기 재생 신호로부터 취득하기 위한 움직임 정보를 복원하는 예측 정보 복호 수단과, 상기 대상 영역에 부수되는 예측 정보에 따라 상기 대상 영역의 예측 신호를 생성하는 예측 신호 생성 수단과, 상기 잔차신호의 부호화 데이터로부터 상기 대상 영역의 재생 잔차신호를 복원하는 잔차신호 복원 수단과, 상기 예측 신호와 상기 재생 잔차신호를 가산함으로써 상기 대상 영역의 화소 신호를 복원하여, 상기 화소 신호를 상기 기 재생 신호로서 보존하는 기록 수단을 구비한다. 예측 정보 복호 수단은 복호가 끝난 예측 정보를 보존하는 예측 정보 보존 수단을 구비하고, 상기 대상 영역의 예측 블록 분할 타입을 복호하여 상기 예측 정보 보존 수단에 보존하고, 상기 대상 영역에 인접하는 인접 영역의 예측 정보와 상기 대상 영역 내의 복호가 끝난 예측 영역의 수와 상기 대상 영역의 복호가 끝난 예측 정보에 따라 다음의 예측 영역인 대상 예측 영역의 예측 신호의 생성에 사용하는 움직임 정보의 후보를 상기 대상 예측 영역에 인접하는 영역의 복호가 끝난 움직임 정보로부터 선출하고, 상기 선출한 움직임 정보의 후보의 수에 따라 선출한 움직임 정보의 후보를 사용한 상기 대상 예측 영역의 예측 신호의 생성을 지시하는 병합 블록 정보 및 움직임 정보, 또는 상기 병합 블록 정보와 상기 움직임 정보의 어느 한쪽을 복호하고, 상기 대상 예측 영역의 예측 신호의 생성에 사용하는 움직임 정보를 상기 예측 정보 보존 수단에 보존한다.
본 발명의 제2 측면에 관한 화상 예측 복호 방법은 복수 개의 영역으로 분할하여 부호화된 화상의 압축 데이터 중에서 복호 대상으로 되는 대상 영역의 신호의 예측에 사용하는 예측 방법을 지시하는 예측 정보의 부호화 데이터와, 상기 대상 영역의 예측 신호의 부호화 데이터와, 잔차신호의 부호화 데이터를 추출하는 데이터 해석 스텝과, 상기 예측 정보의 부호화 데이터를 복호하여 상기 대상 영역의 소분할 영역인 복수 개의 예측 영역의 수와 영역 형상을 나타낸 예측 블록 분할 타입과 각 예측 영역의 예측 신호를 기 재생 신호로부터 취득하기 위한 움직임 정보를 복원하는 예측 정보 복호 스텝과, 상기 대상 영역에 부수되는 예측 정보에 따라 상기 대상 영역의 예측 신호를 생성하는 예측 신호 생성 스텝과, 상기 잔차신호의 부호화 데이터로부터 상기 대상 영역의 재생 잔차신호를 복원하는 잔차신호 복원 스텝과, 상기 예측 신호와 상기 재생 잔차신호를 가산함으로써 상기 대상 영역의 화소 신호를 복원하여, 상기 화소 신호를 상기 기 재생 신호로서 보존하는 기록 스텝을 포함한다. 예측 정보 복호 스텝에서는 상기 대상 영역의 예측 블록 분할 타입을 복호하여 상기 예측 블록 분할 타입을 복호가 끝난 예측 정보를 보존하는 예측 정보 보존 수단에 보존하고, 상기 대상 영역에 인접하는 인접 영역의 예측 정보와 상기 대상 영역 내의 복호가 끝난 예측 영역의 수와 상기 대상 영역의 복호가 끝난 예측 정보에 따라 다음의 예측 영역인 대상 예측 영역의 예측 신호의 생성에 사용하는 움직임 정보의 후보를 상기 대상 예측 영역에 인접하는 영역의 복호가 끝난 움직임 정보로부터 선출하고, 상기 선출한 움직임 정보의 후보의 수에 따라 선출한 움직임 정보의 후보를 사용한 상기 대상 예측 영역의 예측 신호의 생성을 지시하는 병합 블록 정보 및 움직임 정보, 또는 상기 병합 블록 정보와 상기 움직임 정보의 어느 한쪽을 복호하고, 상기 대상 예측 영역의 예측 신호의 생성에 사용하는 움직임 정보를 상기 예측 정보 보존 수단에 보존한다.
또한, 본 발명의 제2 측면에 관한 화상 예측 복호 프로그램은 컴퓨터를 전술한 화상 예측 복호 장치의 각 수단으로서 기능하게 한다.
본 발명의 제2 측면에 의하면, 전술한 화상 예측 부호화에 의해 생성되는 압축 데이터로부터 화상을 복호할 수 있다.
일실시 형태에 있어서, 상기 대상 영역 내의 복호가 끝난 예측 영역의 수와 상기 대상 영역의 예측 블록 분할 타입과 상기 대상 영역에 인접하는 인접 영역의 예측 블록 분할 타입에 따라 다음의 예측 영역인 대상 예측 영역의 움직임 정보의 후보가 상기 대상 예측 영역에 인접하는 영역의 복호가 끝난 움직임 정보로부터 선출될 수 있다.
일실시 형태에 있어서, 상기 대상 영역 내의 복호가 끝난 예측 영역의 수와 상기 대상 영역의 예측 블록 분할 타입에 따라 다음의 예측 영역인 대상 예측 영역의 예측 신호의 생성에 사용하는 움직임 정보의 후보가 상기 대상 예측 영역에 인접하는 영역의 복호가 끝난 움직임 정보로부터 선출되어 상기 대상 영역이 2개의 예측 영역으로 분할되어 있고 상기 대상 예측 영역이 상기 대상 영역 내에서 2번째에 복호되는 예측 영역인 때, 상기 대상 예측 영역에 인접하고 상기 대상 영역에 포함되지 않은 영역의 움직임 정보가 대상 예측 영역의 움직임 정보의 후보로서 선출될 수 있다.
또한, 일실시 형태에 있어서, 상기 대상 영역 내의 복호가 끝난 예측 영역의 수와 상기 대상 영역의 예측 블록 분할 타입과 상기 대상 영역 내의 복호가 끝난 움직임 영역과 상기 대상 영역에 인접하는 인접 영역의 움직임 정보에 따라 다음의 예측 영역인 대상 예측 영역의 예측 신호의 생성에 사용하는 움직임 정보의 후보가 상기 대상 예측 영역에 인접하는 영역의 복호가 끝난 움직임 정보로부터 선출되어 상기 대상 영역이 2개의 예측 영역으로 분할되어 있고 상기 대상 예측 영역이 상기 대상 영역 내에서 2번째에 복호되는 예측 영역이며, 상기 대상 영역의 1번째에 복호된 예측 영역의 움직임 정보가 상기 대상 예측 영역에 인접하고 상기 대상 영역에 포함되지 않은 영역의 움직임 정보와 동일할 때, 상기 대상 예측 영역에 인접하는 영역의 움직임 정보를 상기 대상 예측 영역의 예측 신호의 생성에 이용하지 않는다고 판단하여 움직임 정보가 복호될 수 있다.
또, 본 발명의 제3 측면은 동화상 부호화에 관한 것이다.
제3 측면에 관한 동화상 부호화 장치는 분할 수단, 소구획 생성 수단, 움직임검출 수단, 예측 신호 생성 수단, 움직임 예측 수단, 차분 움직임 벡터 생성 수단, 잔차신호 생성 수단, 가산 수단, 기억 수단, 및 부호화 수단을 구비한다. 분할 수단은 동화상 중의 입력 화상을 복수 개의 구획으로 분할한다. 소구획 생성 수단은 분할 수단에 의해 생성된 처리 대상의 구획을 복수 개의 소구획으로 구획하고 상기 소구획의 형상을 특정하는 형상 정보를 생성한다. 움직임 검출 수단은 처리 대상의 구획의 움직임 벡터를 검출한다. 예측 신호 생성 수단은 움직임 검출 수단에 의해 검출된 움직임 벡터를 사용하여 처리 대상의 구획의 예측 신호를 기 재생의 화상 신호로부터 생성한다. 움직임 예측 수단은 소구획 생성 수단에 의해 생성된 형상 정보와 처리 대상의 구획으로부터 처리순서상 이전의 구획 또는 소구획으로 처리된 부분 영역의 움직임 벡터에 따라 처리 대상의 구획의 예측 움직임 벡터를 생성한다. 차분 움직임 벡터 생성 수단은 처리 대상 구획의 예측 신호의 생성에 사용한 움직임 벡터와 예측 움직임 벡터와의 차분에 따라 차분 움직임 벡터를 생성한다. 잔차신호 생성 수단은 예측 신호와 처리 대상의 구획의 화소 신호와의 차분에 따른 잔차신호를 생성한다. 가산 수단은 잔차신호와 예측 신호를 가산하여 재생 화상 신호를 생성한다. 기억 수단은 재생 화상 신호를 기 재생의 화상 신호로서 기억한다. 부호화 수단은 잔차신호 생성 수단에 의해 생성된 잔차신호와 차분 벡터 생성 수단에 의해 생성된 차분 움직임 벡터와 소구획 생성 수단에 의해 생성된 형상 정보를 부호화하여 압축 데이터를 생성한다. 움직임 예측 수단은 처리 대상의 구획 내의 처리 대상 소구획이 상기 처리 대상의 소구획에서 처리순서상 이전의 구획에 접하지 않는 경우에, 상기 처리 대상의 소구획과 상기 처리 대상 구획 내의 다른 소구획 사이의 경계의 연장선에 대하여 한쪽 측의 영역과 다른 쪽 측의 영역 중 처리 대상의 소구획이 포함되는 영역에 속하는 처리된 부분 영역의 움직임 벡터에 따라 상기 처리 대상의 소구획의 예측 움직임 벡터를 생성한다.
제3 측면에 관한 동화상 부호화 방법은 (a)동화상으로부터의 입력 화상을 복수 개의 구획으로 분할하는 분할 스텝과, (b)분할 스텝에서 생성된 처리 대상의 구획을 복수 개의 소구획으로 구획하고 상기 소구획의 형상을 특정하는 형상 정보를 생성하는 소구획 생성 스텝과, (c)처리 대상 구획의 움직임 벡터를 검출하는 움직임 검출 스텝과, (d)움직임 검출 스텝에 있어서 검출된 움직임 벡터를 사용하여 처리 대상의 구획의 예측 신호를 기 재생의 화상 신호로부터 생성하는 예측 신호 생성 스텝과, (e)소구획 생성 스텝에서 생성된 형상 정보와 처리 대상의 구획으로부터 처리순서상 이전의 구획 또는 소구획으로 처리된 부분 영역의 움직임 벡터에 따라 처리 대상의 구획의 예측 움직임 벡터를 생성하는 움직임 예측 스텝과, (f)처리 대상의 구획의 예측 신호의 생성에 사용한 움직임 벡터와 예측 움직임 벡터와의 차분에 따라 차분 움직임 벡터를 생성하는 차분 움직임 벡터 생성 스텝과, (g)예측 신호와 처리 대상의 구획의 화소 신호와의 차분에 따른 잔차신호를 생성하는 잔차신호 생성 스텝과, (h)잔차신호와 예측 신호를 가산하여 재생 화상 신호를 생성하는 가산 스텝과, (i)재생 화상 신호를 기 재생의 화상 신호로서 기억하는 기억 스텝과, (j)잔차신호 생성 스텝에서 생성된 잔차신호와 차분 움직임 벡터 생성 스텝에서 생성된 차분 움직임 벡터와 소구획 생성 스텝에서 생성된 형상 정보를 부호화하여 압축 데이터를 생성하는 부호화 스텝을 포함한다. 움직임 예측 스텝에 있어서, 처리 대상의 구획 내의 처리 대상 소구획이 상기 처리 대상의 소구획으로부터 처리순서로 이전의 구획에 접하지 않는 경우에, 처리 대상의 소구획과 처리 대상 구획 내의 다른 소구획 사이의 경계의 연장선에 대하여 한쪽의 영역과 다른 쪽의 영역 중 처리 대상의 소구획이 포함되는 영역에 속하는 처리된 부분 영역의 움직임 벡터에 따라 처리 대상의 소구획의 예측 움직임 벡터가 생성된다.
또한, 제3 측면에 관한 동화상 부호화 프로그램은 컴퓨터를 전술한 동화상 부호화 장치의 각 수단으로서 기능하게 한다.
전술한 경계의 연장선에 의해 구획되는 2개의 영역 중, 처리순서상 이전의 구획에 접하고 있지 않은 소구획을 포함하는 영역은 상기 소구획의 움직임에 유사한 움직임을 가지고 있을 가능성이 크다. 따라서, 제3 측면에 의하면, 예측 움직임 벡터의 정밀도가 향상되고 차분 움직임 벡터의 값이 작아져 적은 부호량으로 움직임 벡터가 부호화된다. 그러므로, 부호화 효율이 향상된다.
본 발명의 제4 측면은 동화상 복호에 관한 것이다.
제4 측면에 관한 동화상 복호 장치는 복호 수단, 움직임 예측 수단, 벡터 가산 수단, 예측 신호 생성 수단, 가산 수단, 및 기억 수단을 구비한다. 복호 수단은 압축 데이터를 복호하여 화상 내의 처리 대상의 구획의 재생 잔차신호와 처리 대상의 구획의 차분 움직임 벡터와 처리 대상 구획 내의 복수 개의 소구획의 형상을 특정하는 형상 정보를 생성한다. 움직임 예측 수단은 형상 정보와 처리 대상의 구획으로부터 처리순서로 이전의 구획 또는 소구획으로 처리된 부분 영역의 움직임 벡터에 따라 처리 대상의 구획의 예측 움직임 벡터를 생성한다. 벡터 가산 수단은 움직임 예측 수단에 의해 생성된 예측 움직임 벡터와 복호 수단에 의해 생성된 차분 움직임 벡터를 가산하여 처리 대상의 구획의 움직임 벡터를 생성한다. 예측 신호 생성 수단은 처리 대상의 구획의 움직임 벡터에 따라 처리 대상의 구획의 예측 신호를 기 재생의 화상 신호로부터 생성한다. 가산 수단은 예측 신호와 복호 수단에 의해 생성된 재생 잔차신호를 가산하여 재생 화상 신호를 생성한다. 기억 수단은 재생 화상 신호를 기 재생의 화상 신호로서 기억한다. 움직임 예측 수단은 처리 대상의 구획 내의 처리 대상 소구획이 상기 처리 대상의 소구획으로부터 처리순서로 이전의 구획에 접하지 않는 경우에, 처리 대상의 소구획과 처리 대상의 구획 내의 다른 소구획 사이의 경계의 연장선에 대하여 한쪽 측의 영역과 다른 쪽 측의 영역 중 처리 대상의 소구획이 포함되는 영역에 속한다고 처리된 부분 영역의 움직임 벡터에 따라 처리 대상의 소구획의 예측 움직임 벡터를 생성한다.
제4 측면에 관한 동화상 복호 방법은 압축 데이터를 복호하여 동화상을 생성하는 방법으로서, (a)압축 데이터를 복호하여 화상 내의 처리 대상의 구획의 재생 잔차신호와 처리 대상의 구획의 차분 움직임 벡터와 처리 대상의 구획 내의 복수 개의 소구획의 형상을 특정하는 형상 정보를 생성하는 복호 스텝과, (b)형상 정보와 처리 대상 구획으로부터 처리순서로 전의 구획 또는 소구획으로 처리된 부분 영역의 움직임 벡터에 따라 처리 대상의 구획의 예측 움직임 벡터를 생성하는 움직임 예측 스텝과, (c)움직임 예측 스텝에서 생성된 예측 움직임 벡터와 복호 스텝에서 생성된 차분 움직임 벡터를 가산하여 처리 대상의 구획의 움직임 벡터를 생성하는 벡터 가산 스텝과, (d)처리 대상 구획의 움직임 벡터에 따라 처리 대상 구획의 예측 신호를 기 재생의 화상 신호로부터 생성하는 예측 신호 생성 스텝과, (e)예측 신호와 복호 스텝에서 생성된 재생 잔차신호를 가산하여 재생 화상 신호를 생성하는 가산 스텝과, (f)재생 화상 신호를 기 재생의 화상 신호로서 기억하는 기억 스텝을 포함한다. 움직임 예측 스텝에 있어서, 처리 대상 구획 내의 처리 대상 소구획이 상기 처리 대상의 소구획으로부터 처리순서로 전의 구획에 접하지 않는 경우에, 처리 대상 소구획과 처리 대상 구획 내의 다른 소구획 사이의 경계의 연장선에 대하여 한쪽 측의 영역과 다른 쪽 측의 영역 중 처리 대상의 소구획이 포함되는 영역에 속한다고 처리된 부분 영역의 움직임 벡터에 따라 처리 대상 소구획의 예측 움직임 벡터가 생성된다.
제4 측면에 관한 동화상 복호 프로그램은 컴퓨터를 전술한 동화상 복호 장치의 각 수단으로서 기능하게 한다.
제4 측면에 의하면, 처리순서로 전의 구획에 접하고 있지 않은 소구획을 포함하는 영역의 복호가 끝난 움직임 벡터로부터 상기 소구획의 예측 움직임 벡터가 생성된다. 이 예측 움직임 벡터는 상기 소구획의 움직임 벡터와 유사할 가능성이 높다. 따라서, 전술한 실시형태에 의하면, 예측 움직임 벡터의 정밀도가 향상되고 차분 움직임 벡터의 값이 작아져 적은 비트량의 압축 데이터로부터의 복호가 가능해진다. 그러므로, 양호한 효율의 복호가 실현된다.
본 발명의 몇몇 측면에 관한 화상 예측 부호화 장치, 화상 예측 부호화 방법, 화상 예측 부호화 프로그램, 화상 예측 복호 장치, 화상 예측 복호 방법 및 화상 예측 복호 프로그램에 의하면, 대상 예측 블록의 예측 신호 생성에 이용하는 움직임 정보의 후보를 주위의 부호화가 끝난 또는 복호가 끝난 정보에 따라 선출 가능하므로, 보다 양호한 효율로 움직임 정보의 부호화가 가능한 효과가 있다.
또한, 본 발명의 다른 몇몇 측면에 의하면, 부호화 효율이 향상되는 것이 가능한 동화상 부호화 장치, 동화상 부호화 방법, 및 동화상 부호화 프로그램이 제공된다. 또한, 이들 동화상 부호화에 대응하는 동화상 복호 장치, 동화상 복호 방법, 및 동화상 복호 프로그램이 제공된다.
도 1은 일실시예에 관한 화상 예측 부호화 장치를 나타낸 블록도이다.
도 2는 종래의 블록 병합(merging)에서의 움직임 정보의 후보를 설명하기 위한 모식도이다.
도 3은 일실시예에 관한 블록 병합에서의 움직임 정보의 후보를 설명하기 위한 모식도이다.
도 4는 도 1에 나타난 예측 정보 부호화기의 처리를 설명하는 흐름도이다.
도 5는 도 1에 나타난 화상 예측 부호화 장치의 화상 예측 부호화 방법의 스텝을 나타내는 흐름도이다.
도 6은 일실시예에 관한 화상 예측 복호 장치를 나타낸 블록도이다.
도 7은 도 6에 나타난 예측 정보 복호기의 처리를 설명하는 흐름도이다.
도 8은 도 6에 나타난 화상 예측 복호 장치의 화상 예측 복호 방법의 스텝을 나타내는 흐름도이다.
도 9는 대상 예측 블록에 인접하는 복수 개의 인접 블록의 움직임 정보를 대상 예측 블록의 움직임 정보로서 이용하는 처리를 설명하기 위한 제1 모식도이다.
도 10은 대상 예측 블록에 인접하는 복수 개의 인접 블록의 움직임 정보를 대상 예측 블록의 움직임 정보로서 이용하는 처리를 설명하기 위한 제2 모식도이다.
도 11은 대상 예측 블록에 인접하는 복수 개의 인접 블록의 움직임 정보를 대상 예측 블록의 움직임 정보로서 이용하는 처리를 설명하는 흐름도이다.
도 12는 대상 예측 블록에 인접하는 복수 개의 인접 블록의 움직임 정보를 대상 예측 블록의 움직임 정보로서 이용하는 처리를 설명하기 위한 제3 모식도이다.
도 13은 대상 예측 블록에 인접하는 복수 개의 인접 블록의 움직임 정보를 대상 예측 블록의 움직임 정보로서 이용하는 처리를 설명하는 흐름도의 제2 예이다.
도 14는 일실시예에 관한 블록 병합에서의 움직임 정보의 후보를 설명하기 위한 모식도의 제2 예이다.
도 15는 일실시예에 관한 블록 병합에서의 움직임 정보의 후보를 설명하기 위한 모식도의 제3 예이다.
도 16은 일실시예에 관한 화상 예측 부호화 방법을 실행할 수 있는 프로그램을 나타낸 블록도이다.
도 17은 일실시예에 관한 화상 예측 복호 방법을 실행할 수 있는 프로그램을 나타낸 블록도이다.
도 18은 기록 매체에 기록된 프로그램을 실행하기 위한 컴퓨터의 하드웨어 구성을 나타낸 도면이다.
도 19는 기록 매체에 기억된 프로그램을 실행하기 위한 컴퓨터의 사시도이다.
도 20은 부호화 블록의 예측 블록 분할 타입을 설명하기 위한 모식도이다.
도 21은 화면간 예측에서의 움직임 추정 처리(A)와 템포 레이트 매칭 처리(B)에 관한 모식도이다.
도 22는 종래의 화면 내 예측 방법을 설명하기 위한 모식도이다.
도 23은 움직임 보상 예측을 설명하기 위한 도면이다.
도 24는 일실시예에 관한 동화상 부호화 장치의 구성을 개략적으로 나타낸 도면이다.
도 25는 소구획의 생성을 설명하기 위한 도면이다.
도 26은 일실시예에 움직임 예측기의 구성을 나타낸 도면이다.
도 27은 일실시예에 관한 동화상 부호화 방법의 흐름도이다.
도 28은 일실시예에 관한 움직임 예측기의 처리를 나타낸 흐름도이다.
도 29는 대상 블록의 소구획과 주위의 부분 영역의 일례를 나타낸 도면이다.
도 30은 대상 블록의 소구획과 주위의 부분 영역의 다른 일례를 나타낸 도면이다.
도 31은 대상 블록의 소구획과 주위의 부분 영역의 또 다른 예를 나타낸 도면이다.
도 32는 대상 블록의 소구획과 주위의 부분 영역의 또 다른 예를 나타낸 도면이다.
도 33은 대상 블록의 소구획과 주위의 부분 영역의 또 다른 예를 나타낸 도면이다.
도 34는 일실시예에 관한 동화상 복호 장치의 구성을 개략적으로 나타낸 도면이다.
도 35는 일실시예에 관한 움직임 예측기의 구성을 나타낸 도면이다.
도 36은 일실시예에 관한 동화상 복호 방법의 흐름도이다.
도 37은 일실시예에 관한 움직임 예측기의 처리를 나타낸 흐름도이다.
도 38은 일실시예에 관한 동화상 부호화 프로그램의 구성을 나타낸 도면이다.
도 39는 일실시예에 관한 동화상 복호 프로그램의 구성을 나타낸 도면이다.
도 2는 종래의 블록 병합(merging)에서의 움직임 정보의 후보를 설명하기 위한 모식도이다.
도 3은 일실시예에 관한 블록 병합에서의 움직임 정보의 후보를 설명하기 위한 모식도이다.
도 4는 도 1에 나타난 예측 정보 부호화기의 처리를 설명하는 흐름도이다.
도 5는 도 1에 나타난 화상 예측 부호화 장치의 화상 예측 부호화 방법의 스텝을 나타내는 흐름도이다.
도 6은 일실시예에 관한 화상 예측 복호 장치를 나타낸 블록도이다.
도 7은 도 6에 나타난 예측 정보 복호기의 처리를 설명하는 흐름도이다.
도 8은 도 6에 나타난 화상 예측 복호 장치의 화상 예측 복호 방법의 스텝을 나타내는 흐름도이다.
도 9는 대상 예측 블록에 인접하는 복수 개의 인접 블록의 움직임 정보를 대상 예측 블록의 움직임 정보로서 이용하는 처리를 설명하기 위한 제1 모식도이다.
도 10은 대상 예측 블록에 인접하는 복수 개의 인접 블록의 움직임 정보를 대상 예측 블록의 움직임 정보로서 이용하는 처리를 설명하기 위한 제2 모식도이다.
도 11은 대상 예측 블록에 인접하는 복수 개의 인접 블록의 움직임 정보를 대상 예측 블록의 움직임 정보로서 이용하는 처리를 설명하는 흐름도이다.
도 12는 대상 예측 블록에 인접하는 복수 개의 인접 블록의 움직임 정보를 대상 예측 블록의 움직임 정보로서 이용하는 처리를 설명하기 위한 제3 모식도이다.
도 13은 대상 예측 블록에 인접하는 복수 개의 인접 블록의 움직임 정보를 대상 예측 블록의 움직임 정보로서 이용하는 처리를 설명하는 흐름도의 제2 예이다.
도 14는 일실시예에 관한 블록 병합에서의 움직임 정보의 후보를 설명하기 위한 모식도의 제2 예이다.
도 15는 일실시예에 관한 블록 병합에서의 움직임 정보의 후보를 설명하기 위한 모식도의 제3 예이다.
도 16은 일실시예에 관한 화상 예측 부호화 방법을 실행할 수 있는 프로그램을 나타낸 블록도이다.
도 17은 일실시예에 관한 화상 예측 복호 방법을 실행할 수 있는 프로그램을 나타낸 블록도이다.
도 18은 기록 매체에 기록된 프로그램을 실행하기 위한 컴퓨터의 하드웨어 구성을 나타낸 도면이다.
도 19는 기록 매체에 기억된 프로그램을 실행하기 위한 컴퓨터의 사시도이다.
도 20은 부호화 블록의 예측 블록 분할 타입을 설명하기 위한 모식도이다.
도 21은 화면간 예측에서의 움직임 추정 처리(A)와 템포 레이트 매칭 처리(B)에 관한 모식도이다.
도 22는 종래의 화면 내 예측 방법을 설명하기 위한 모식도이다.
도 23은 움직임 보상 예측을 설명하기 위한 도면이다.
도 24는 일실시예에 관한 동화상 부호화 장치의 구성을 개략적으로 나타낸 도면이다.
도 25는 소구획의 생성을 설명하기 위한 도면이다.
도 26은 일실시예에 움직임 예측기의 구성을 나타낸 도면이다.
도 27은 일실시예에 관한 동화상 부호화 방법의 흐름도이다.
도 28은 일실시예에 관한 움직임 예측기의 처리를 나타낸 흐름도이다.
도 29는 대상 블록의 소구획과 주위의 부분 영역의 일례를 나타낸 도면이다.
도 30은 대상 블록의 소구획과 주위의 부분 영역의 다른 일례를 나타낸 도면이다.
도 31은 대상 블록의 소구획과 주위의 부분 영역의 또 다른 예를 나타낸 도면이다.
도 32는 대상 블록의 소구획과 주위의 부분 영역의 또 다른 예를 나타낸 도면이다.
도 33은 대상 블록의 소구획과 주위의 부분 영역의 또 다른 예를 나타낸 도면이다.
도 34는 일실시예에 관한 동화상 복호 장치의 구성을 개략적으로 나타낸 도면이다.
도 35는 일실시예에 관한 움직임 예측기의 구성을 나타낸 도면이다.
도 36은 일실시예에 관한 동화상 복호 방법의 흐름도이다.
도 37은 일실시예에 관한 움직임 예측기의 처리를 나타낸 흐름도이다.
도 38은 일실시예에 관한 동화상 부호화 프로그램의 구성을 나타낸 도면이다.
도 39는 일실시예에 관한 동화상 복호 프로그램의 구성을 나타낸 도면이다.
이하, 첨부 도면을 참조하면서 각종 실시형태에 대하여 상세하게 설명한다. 그리고, 도면의 설명에 있어서 동일 또는 동등한 요소에는 동일한 부호를 부여하고 중복되는 설명을 생략한다.
도 1은 일실시예에 관한 화상 예측 부호화 장치(100)를 나타낸 블록도이다. 이 화상 예측 부호화 장치(100)는 입력 단자(101), 블록 분할기(102), 예측 신호 생성기(103), 프레임 메모리(104), 감산기(105), 변환기(106), 양자 화기(107), 역양자화기(108), 역변환기(109), 가산기(110), 양자화 변환계수 부호화기(111), 출력 단자(112), 예측 블록 분할 타입 선택기(113), 움직임 정보 추정기(114), 예측 정보용 메모리(115), 예측 정보 부호화기(116)를 구비한다.
변환기(106), 양자 화기(107) 및 양자화 변환계수 부호화기(111)는 잔차신호 부호화 수단으로서 기능하고, 역양자화기 및 역변환기는 잔차신호 복원 수단으로서 기능한다. 또한, 예측 블록 분할 타입 선택기(113)와 움직임 정보 추정기(114)는 예측 정보 추정 수단으로서 기능하고, 예측 정보용 메모리(115)와 예측 정보 부호화기(116)는 예측 정보 부호화 수단으로서 기능한다.
입력 단자(101)는 복수 개의 화상으로 이루어지는 동화상의 신호를 입력하는 단자이다.
블록 분할기(102)는 입력 단자(101)로부터 입력된 신호에 의해 표현되는 부호화 처리 대상이 되는 화상을 복수 개의 영역(부호화 블록)으로 분할한다. 본 실시형태에서는 부호화 대상의 화상을 16x16의 화소로 이루어지는 블록에 분할하지만, 그 이외의 크기 또는 형상의 블록으로 분할해도 된다. 또한, 화면 내에 사이즈가 상이한 블록이 혼재해도 된다.
예측 블록 분할 타입 선택기(113)는 부호화 처리 대상이 되는 대상 영역(대상 부호화 블록)을 예측 처리가 행해지는 예측 영역으로 분할한다. 예를 들면, 부호화 블록마다 도 20A~20H 중 하나를 선택하여 상기 부호화 블록을 소분할한다. 분할된 영역을 예측 영역(예측 블록)이라고 부르고 도 20(A)~20(H)의 각 분할하는 방법을 예측 블록 분할 타입이라고 한다. 예측 블록 분할 타입의 선택 방법은 한정되는 것은 아니다. 예를 들면, 라인(L102)을 경유하여 입력된 대상 부호화 블록의 신호에 대하여 각 소분할을 실시하고, 후술하는 예측 처리나 부호화 처리를 실제로 실시하여 부호화 블록의 원 신호와 재생 신호 사이의 부호화 오차 신호 전력과 부호화 블록의 부호화에 필요한 부호량으로부터 산출되는 속도왜곡 값이 최소로 되는 분할 타입을 선택하는 방법 등이 이용될 수 있다. 대상 부호화 블록의 예측 블록 분할 타입은 라인 L113a와 라인 L113b와 라인 L113c를 경유하여 각각 예측 정보용 메모리(115)와 움직임 정보 추정기(114)와 예측 신호 생성기(103)에 출력된다.
움직임 정보 추정기(114)는 대상 부호화 블록 내의 각 예측 블록의 예측 신호를 생성하기 위해 필요한 움직임 정보를 검출한다. 예측 신호의 생성 방법(예측 방법)은 한정되는 것은 아니며 배경 기술에서 설명한 바와 같은 화면 간 예측이나 화면 내 예측(화면 내 예측에 대하여는 도시하지 않음)이 적용될 수 있다. 여기서는, 도 21에 나타낸 블록 매칭에 의해 움직임 정보를 검출하는 것을 고려한다. 예측 대상의 대상 예측 블록의 원 신호는 라인 L102a를 경유하여 입력된 부호화 블록의 원 신호와 라인 L113b을 경유해 입력된 대상 부호화 블록의 예측 블록 분할 타입으로부터 생성될 수 있다. 이 대상 예측 블록의 원 신호에 대한 절대값 오차가 최소가 되는 예측 신호를 라인 L104를 경유하여 취득되는 화상 신호로부터 검출한다. 이 경우, 움직임 정보에는 움직임 벡터, 화면 간 예측 모드(전방향/후방향/양방향), 참조 화면 번호 등이 포함된다. 검출된 움직임 정보는 라인 L114를 경유하여 각각 예측 정보용 메모리(115)와 예측 정보 부호화기(116)에 출력된다.
예측 정보용 메모리(115)는 입력된 움직임 정보와 예측 블록 분할 타입을 보존한다.
예측 정보 부호화기(116)는 각 예측 블록의 블록 병합(merging)에 사용하는 움직임 정보의 후보를 선출하는 동시에, 대상 부호화 블록의 예측 정보를 엔트로피 부호화하고 부호화 데이터를 라인(L116)을 경유하여 출력 단자(112)에 출력한다. 엔트로피 부호화 방법으로 한정되지 않지만 산술 부호화나 가변길이 부호화 등이 적용될 수 있다. 그리고, 예측 정보에는 대상 부호화 블록의 예측 블록 분할 타입과 예측 블록의 움직임 정보에 더하여, 예측 블록에 인접하는 블록의 움직임 정보를 사용하여 블록 병합을 실시하기 위한 블록 병합 정보가 포함된다. 예측 정보 부호화기(116)의 처리에 대하여는 후술한다.
예측 신호 생성기(103)는 라인(L114)을 경유하여 입력된 대상 부호화 블록 내의 각 예측 블록의 움직임 정보와 라인(L113c)을 경유하여 입력된 예측 블록 분할 타입에 따라 프레임 메모리(104)로부터 기 재생 신호를 취득하고 대상 부호화 블록 내의 각 예측 블록의 예측 신호를 생성한다.
예측 신호 생성기(103)에 의해 생성된 예측 신호는 라인(L103)을 경유하여 감산기(105)와 가산기(110)에 출력된다.
감산기(105)는 블록 분할기(102)에 의해 분할되어 라인(L102b)을 경유하여 입력된 대상 부호화 블록의 화소 신호로부터 라인(L103)을 경유하여 입력되는 대상 부호화 블록에 대한 예측 신호를 감산하여 잔차신호를 생성한다. 감산기(105)는 감산하여 얻은 잔차신호를 라인(L105)을 경유하여 변환기(106)로 출력한다.
변환기(106)는 입력된 잔차신호를 이산 코사인 변환하는 부분이다. 또한, 양자화기(107)는 변환기(106)에 의해 이산 코사인 변환된 변환계수를 양자화하는 부분이다. 양자화 변환계수 부호화기(111)는 양자 화기(107)에 의해 양자화된 변환계수를 엔트로피 부호화한다. 부호화 데이터는 라인(L111)을 경유하여 출력 단자(112)에 출력된다. 엔트로피 부호화 방법은 한정되지 않지만, 산술 부호화나 가변길이 부호화 등이 적용될 수 있다.
출력 단자(112)는 예측 정보 부호화기(116) 및 양자화 변환계수 부호화기(111)로부터 입력된 정보를 모아서 외부에 출력한다.
역양자화기(108)는 양자화된 변환계수를 역양자화한다. 역변환기(109)는 역이산 코사인 변환에 의해 잔차신호를 복원한다. 가산기(110)는 복원된 잔차신호와 라인(L103)을 경유하여 입력되는 예측 신호를 가산하고, 대상 부호화 블록의 신호를 재생하고, 재생된 신호를 프레임 메모리(104)에 저장한다. 본 실시형태에서는 변환기(106)로 역변환기(109)를 사용하고 있지만, 이들 변환기를 대신하는 다른 변환 처리를 사용해도 된다. 또한, 변환기(106) 및 역변환기(109)는 필수는 아니다. 이와 같이, 후속의 대상 부호화 블록의 예측 신호 생성에 사용하므로, 부호화된 대상 부호화 블록의 재생 신호는 역처리에 의해 복원되고 프레임 메모리(104)에 기억된다.
다음, 예측 정보 부호화기(116)의 처리에 대하여 설명한다. 예측 정보 부호화기(116)는 먼저, 각 예측 블록의 블록 병합에 사용하는 움직임 정보의 후보(대상 예측 영역의 예측 신호 생성에 사용하는 움직임 정보의 후보)를 대상 예측 블록에 인접하는 블록의 움직임 정보로부터 선출한다. 블록 병합이란 대상 예측 블록의 예측 신호를 인접 블록의 움직임 정보를 사용하여 생성하는 것을 나타낸다. 다음에, 예측 정보 부호화기(116)는 움직임 정보 추정기(114)에 의해 검출한 움직임 정보와 선출된 움직임 정보의 후보를 비교하고, 블록 병합 실시 여부를 판단한다. 그리고, 예측 정보 부호화기(116)는 블록 병합에 사용하는 움직임 정보의 후보의 수와 블록 병합 실시 여부에 따라 블록 병합 정보와 움직임 정보 중 어느 하나 또는 양쪽을 예측 블록 분할 타입과 함께 엔트로피 부호화한다. 블록 병합 정보는 인접 블록의 움직임 정보를 이용하여 대상 예측 블록의 예측 신호를 생성하는지 아닌지, 즉 블록 병합의 실시 여부를 지시하는 병합 식별 정보(merge_flag)와 대상 예측 블록에 인접하는 2개의 블록의 움직임 정보 중 어느 것을 사용하여 대상 예측 블록의 예측 신호를 생성하는지를 나타내는 병합 블록 선택 정보(merge_flag_left)에 의해 구성된다.
각 예측 블록의 블록 병합에 사용하는 움직임 정보의 후보가 0개일 경우에는 이들 2개의 정보, 즉 병합 식별 정보 및 병합 블록 선택 정보는 부호화할 필요가 없다. 움직임 정보의 후보가 1개일 경우에는 병합 식별 정보를 부호화하고, 움직임 정보의 후보가 2개 이상이며, 블록 병합을 실시하는 경우에는 2개의 정보, 즉 병합 식별 정보 및 병합 블록 선택 정보를 부호화한다. 움직임 정보의 후보가 2개 이상이라도, 블록 병합을 실시하지 않은 경우에는 병합 블록 선택 정보의 부호화는 필요없다.
도 3은 일실시 형태의 예측 블록의 블록 병합에 사용하는 움직임 정보의 후보의 선출 처리를 설명하기 위한 모식도이다. 도 3은 도 20(B)에 나타난 블록(301)과 마찬가지로, 부호화 블록을 세로로 2분할한 (좌우의 2개의 블록에 분할함)예측 블록 분할 타입의 예를 나타내고 있다. 이후, 이 블록(301)을 예로 설명하지만, 블록(302, 304, 305, 306, 307)에서도 마찬가지의 설명이 가능하다.
움직임 정보의 후보의 선출은, 이하의 정보에 따라 실시한다.
(1)대상 부호화 블록 내의 부호화가 끝난/복호가 끝난 예측 블록의 수
(2)대상 부호화 블록의 예측 블록 분할 타입
(3)대상 예측 블록에 인접하는 블록의 예측 블록 분할 타입
(4)대상 부호화 블록 내의 부호화가 끝난/복호가 끝난 예측 블록의 움직임 정보
(5)대상 예측 블록에 인접하는 블록의 움직임 정보와 예측 모드(화면 내 예측/화면 사이 예측)
도 3의 예에서는 (1), (2), (4), (5)의 정보를 사용하여 블록 병합에 사용하는 움직임 정보의 후보를 선출한다.
먼저, (2)의 정보로부터, 대상 부호화 블록(400) 내의 예측 블록의 총수가 예측 블록 T1과 T2의 2개이며, 부호화 블록이 세로로 2분할된 것을 알 수 있다. 다음의 예측 블록이 예측 블록 T1인지 예측 블록 T2인지는 (1)의 정보로부터 알 수 있다.
다음의 예측 블록이 예측 블록 T1(대상 부호화 블록 내의 부호화가 끝난/복호가 끝난 예측 블록의 수가 0)일 때는, 인접 블록 A와 인접 블록 B의 움직임 정보가 블록 병합의 움직임 정보의 후보로 된다(도면 내의 화살표는 인접 블록 A와 B의 움직임 정보가 예측 블록 T1의 예측 신호의 생성에 사용하는 움직임 정보의 후보인 것을 나타낸다). 이 때, 인접 블록 A 또는 B가 화면 내 예측에 의해 생성된 블록 또는 화면 밖의 블록인 경우에는, 그 블록의 움직임 정보를 블록 병합의 움직임 정보의 후보로부터 제외되도록 해도 된다(의사적으로 움직임 정보를 디폴드값으로 하는 경우도 가능. 예를 들면, 움직임 벡터를 0으로 하고 참조 화면 번호를 0으로 함). 또한, 2개의 인접 블록 A와 B의 움직임 정보가 일치하는 경우에는, 한쪽의 인접 블록의 움직임 정보를 후보로부터 제외되도록 해도 된다.
다음의 예측 블록이 예측 블록 T2(대상 부호화 블록 내의 부호화가 끝난/복호가 끝난 예측 블록의 수가 1개)일 때는, 도 3(A)에 나타난 바와 같이, 인접 블록인 T1의 움직임 정보는 블록 병합의 움직임 정보 후보에서 제외된다. 이것은 예측 블록 T1과 예측 블록 T2이 본래 상이한 움직임 정보에 의해 예측 신호가 생성되는 것을 상정하여 2개에 분할되어 있기 때문이다. 즉, 이것은 예측 블록 T1의 움직임 정보와 예측 블록 T2의 움직임 정보가 같은 움직임 정보로 되는 것을 피하기 위함이다. 이 처리에 의해, 예측 블록 T2의 블록 병합의 움직임 정보가 1개로 되므로, 병합 블록 선택 정보의 부호화에 필요한 비용을 절감할 수 있다(도면 내의 화살표는 인접 블록 D의 움직임 정보가 예측 블록 T2의 예측 신호 생성에 이용 가능한 것을 나타낸다).
또한, 상기 (4)와 (5)의 정보에 따라 예측 블록 T1과 인접 블록 D의 움직임 정보를 비교해서 예측 블록 T1과 인접 블록 D의 움직임 정보가 일치하는 경우에는, 도 3(B)에 나타난 바와 같이 인접 블록 D의 움직임 정보도 블록 병합의 움직임 정보 후보에서 제외된다. 그 이유는, 인접 블록 D의 움직임 정보를 사용하여 예측 블록 T2의 예측 신호를 생성하는 경우 예측 블록 T1과 T2의 움직임 정보가 같아지기 때문이다. 이 처리에 의해, 예측 블록 T2의 블록 병합 움직임 정보가 0개로 되고, 병합 식별 정보와 병합 블록 선택 정보의 부호화에 필요한 비용을 삭감할 수 있다.
도 4는 도 3의 처리를 실현하는 예측 정보 부호화기(116)의 흐름도이다.
처음에 예측 정보 부호화기(116)는 대상 부호화 블록의 예측 블록 분할 타입을 부호화하고, 상기 예측 블록 분할 타입을 예측 정보용 메모리(115)에 보존한다. 동시에, 예측 정보 부호화기(116)는 대상 부호화 블록 내의 예측 블록수 N을 부호화한 예측 블록 분할 타입에 따라 설정하고, 대상 예측 블록 번호 i를 0으로 리셋한다(스텝 S151). 다음에, 예측 정보 부호화기(116)는 대상 예측 블록이 대상 부호화 블록 내에서 최후에 부호화되는 예측 블록이며, 대상 부호화 블록 내의 예측 블록수가 2이상인지를 판단한다(스텝 S152). 예를 들면, N=2의 경우, i=1일 때, 판정이 가능으로 되어 스텝 S157에서 처리가 진행된다. N=4(도 20(D))의 경우, i=3일 때, 판정이 가능으로 된다. 판정이 반대의 경우에는, 스텝 S153으로 진행한다. 도 3의 경우, 대상 예측 블록이 예측 블록 T1일 때 스텝 S153으로 진행하고, 예측 블록 T2일 때는 스텝 S157로 진행한다.
스텝 S153에서 병합 식별 정보가 부호화된다. 병합 식별 정보는 대상 예측 블록의 움직임 정보와 블록 병합의 움직임 정보의 후보가 일치하는 경우, 가능(merge_flag=1, 움직임 정보의 후보를 사용하여 대상 예측 블록의 예측 신호를 생성)으로 되고, 일치하지 않는 경우에는 반대(merge_flag=0, 부호화한 움직임 정보를 사용하여 대상 예측 블록의 예측 신호를 생성)로 된다. 다음에, 대상 예측 블록의 움직임 정보와 블록 병합의 움직임 정보의 후보가 일치하는 경우에 스텝 S164로 진행한다. 스텝 S164에서 예측 정보 부호화기(116)는 움직임 정보의 후보가 2개인가를 판정하고 움직임 정보의 후보의 수가 2개인 경우에는, 병합 블록 선택 정보를 부호화하고 스텝 S155로 진행한다. 움직임 정보의 후보의 수가 1개인 경우에는, 스텝 S165로 진행한다. 한편, 대상 예측 블록의 움직임 정보와 블록 병합의 움직임 정보의 후보가 일치하지 않는 경우에는 스텝 S156으로 진행하고, 예측 정보 부호화기(116)는 움직임 정보 추정기(114)에 의해 검출한 움직임 정보를 부호화하고 스텝 S165로 진행한다.
스텝 S157에서 예측 정보 부호화기(116)는 대상 부호화 블록의 모든 부호화가 끝난 움직임 정보와 대상 부호화 블록에 속하지 않는 인접 블록의 움직임 정보가 일치하는지를 판정한다. 이 스텝 S157의 설명은 N=2의 경우에는 도 3에 나타내는 예측 블록 T1과 인접 블록 D의 움직임 정보를 비교하는 것을 의미한다. 또한, 스텝 S157의 설명은 N=4(도 20(D))의 경우에 대상 예측 블록이 우측 아래의 분할 블록이며, 그 이외의 3개의 예측 블록(좌측 위, 우측 위, 좌측 하)의 움직임 정보를 비교하는 것을 의미한다. 판정이 가능(비교한 움직임 정보가 일치)의 경우에는, 도 3(B)의 예에서 나타난 바와 같이, 대상 예측 블록의 블록 병합에 사용하는 움직임 정보의 후보의 수가 0개로 되므로 예측 정보 부호화기(116)는 블록 병합 정보를 보내지 않고, 움직임 정보 추정기(114)에 의해 검출한 움직임 정보를 부호화하고 스텝 S165로 진행한다(스텝 S160). 한편, 판정이 반대(비교한 움직임 정보가 불일치)의 경우 스텝 S163으로 진행한다. 그리고, N=4일 때는, 대상 부호화 블록 내의 우측 위와 좌측 아래의 블록의 움직임 정보가 대상 예측 블록의 인접 블록으로 된다. 그러므로, 3개의 예측 블록(좌측 위, 우측 위, 좌측 하)의 움직임 정보가 일치할 때 대상 예측 블록(우측 아래)에 블록 병합을 적용하는 것은 대상 부호화 블록 내의 4개의 예측 블록의 예측 신호가 모두 같은 움직임 정보로 생성되는 것을 의미한다. 그러므로, N=4로 3개의 예측 블록(좌측 위, 우측 위, 좌측 하)의 움직임 정보가 같은 경우에는, 대상 예측 블록(우측 하)의 움직임 정보의 후보를 0개로 한다.
스텝 S163에서 예측 정보 부호화기(116)는 대상 부호화 블록의 예측 블록 분할 타입이 2분할의 타입인가를 판정하고, 판정이 반대의 경우에는 스텝 S153으로 진행한다(이후 설명). 스텝 S163의 판정이 가능일 경우에는 스텝 S158로 진행하고, 예측 정보 부호화기(116)는 병합 식별 정보를 부호화한다. 이 경우, 도 3(A)의 예와 같이, 대상 예측 블록의 블록 병합에 사용하는 움직임 정보의 후보의 수가 1개이므로, 병합 블록 선택 정보의 부호화는 불필요하다. 이어서, 대상 예측 블록의 움직임 정보와 블록 병합의 움직임 정보의 후보가 일치하는 경우 스텝 S165로 진행한다. 대상 예측 블록의 움직임 정보와 블록 병합의 움직임 정보의 후보가 일치하지 않는 경우에는, 스텝 S160으로 진행하고, 예측 정보 부호화기(116)는 움직임 정보 추정기(114)에 의해 검출한 움직임 정보를 부호화하고 스텝 S165으로 진행한다.
스텝 S165에서 대상 블록의 움직임 정보를 예측 정보용 메모리(115)에 보존한다. 이어서, 예측 정보 부호화기(116)는 스텝 S161에 의해 대상 부호화 블록 내의 모든 예측 블록의 부호화가 종료되었는지(i=N-1인가)를 판정하고, i=N-1일 때는, 이 대상 부호화 블록의 예측 정보 부호화 처리를 종료하고, i<N-1일 때는, 스텝 S162에 의해 i를 갱신하고(i=i+1), 다음의 예측 블록의 움직임 정보 부호화 처리를 위해 스텝 S152로 돌아온다.
이와 같이, 하기의 정보를 사용하여 예측 블록의 블록 병합에 사용하는 움직임 정보의 후보를 사전에 선출할 수 있으므로, 블록 병합 정보를 효율적으로 전송하는 것이 가능해진다.
(1)대상 부호화 블록 내의 부호화가 끝난/복호가 끝난 예측 블록의 수
(2)대상 부호화 블록의 예측 블록 분할 타입
(4)대상 부호화 블록 내의 부호화가 끝난/복호가 끝난 예측 블록의 움직임 정보
(5)대상 예측 블록에 인접하는 블록의 움직임 정보와 예측 모드(화면 내 예측/화면 사이 예측)
도 5는 본 실시형태에 관한 화상 예측 부호화 장치(100)에서의 화상 예측 부호화 방법의 스텝을 나타내는 흐름도이다. 먼저, 블록 분할기(102)에 의해 입력 화상을 16x16으로 부호화 블록에 분할한다(그 이외의 크기 또는 형상의 블록으로 분할해도 된다. 또한, 화면 내에 사이즈의 상이한 블록이 혼재해도 된다). 그리고, 예측 블록 분할 타입 선택기(113)와 움직임 정보 추정기(114)는 부호화 대상이 되는 대상 부호화 블록의 예측 블록 분할 타입과 각 예측 블록의 움직임 정보를 결정한다(스텝 S101). 다음에, 예측 정보 부호화기(116)는 예측 정보를 부호화한다(스텝 S102, 도 4).
다음에, 예측 신호 생성기(103)에서 대상 부호화 블록의 예측 블록 분할 타입과 각 예측 블록의 움직임 정보에 따라 대상 부호화 블록의 예측 신호가 생성되고, 대상 부호화 블록의 화소 신호와 예측 신호와의 차분을 나타내는 잔차신호는 변환기(106), 양자화기(107) 및 양자화 변환계수 부호화기(111)에 의해 변환 부호화된다(스텝 S103). 그리고, 예측 정보와 양자화 변환계수의 부호화 데이터는 출력 단자(112)를 통하여 출력된다(스텝 S104).
후속의 대상 부호화 블록을 예측 부호화하므로 이들 처리 후에 또는 이들 처리와 병행하여 부호화된 잔차신호가 역양자화기(108) 및 역변환기(109)에 의해 복호된다. 그리고, 가산기(110)에 의해 복호된 잔차신호와 예측 신호가 가산되고, 대상 부호화 블록의 신호가 재생된다. 재생 신호는 프레임 메모리(104)에 참조 화면으로서 기억된다(스텝 S105). 그리고, 모든 대상 부호화 블록의 처리가 완료되지 않은 경우에는 스텝 S101로 복귀하고, 다음의 대상 부호화 블록에 대한 처리가 행해진다. 모든 대상 부호화 블록의 처리가 완료된 경우에는 처리를 종료한다(스텝 S106).
다음에, 일실시예에 관한 화상 예측 복호에 대하여 설명한다. 도 6은 일실시예에 관한 화상 예측 복호 장치(200)를 나타낸 블록도이다. 이 화상 예측 복호 장치(200)는 입력 단자(201), 데이터 해석기(202), 역양자화기(203), 역변환기(204), 가산기(205), 출력 단자(206), 양자화 변환계수 복호기(207), 예측 정보 복호기(208), 프레임 메모리(104), 예측 신호 생성기(103), 및 예측 정보용 메모리(115)를 구비한다.
역양자화기(203), 역변환기(204) 및 양자화 변환계수 복호기(207)는 잔차신호 복호 수단으로서 기능한다. 역양자화기(203) 및 역변환기(204)에 의한 복호 수단은 이들 이외를 사용하여 행해도 된다. 또한, 역변환기(204)는 없어도 된다. 또한, 예측 정보용 메모리(115)와 예측 정보 복호기(208)는 예측 정보 복호 수단으로서 기능한다.
입력 단자(201)는 전술한 화상 예측 부호화 방법으로 압축 부호화된 압축 데이터를 입력한다. 이 압축 데이터에는 복수 개로 분할된 부호화 블록에 대해 오차 신호를 변환 양자화하여 엔트로피 부호화한 양자화 변환계수의 정보와 블록의 예측 신호를 생성하기 위한 예측 정보의 부호화 데이터가 포함되어 있다. 여기서 예측 정보에는 대상 부호화 블록의 예측 블록 분할 타입, 예측 블록의 움직임 정보에 더하여, 블록 병합의 후보가 되는 움직임 정보를 사용하여 블록 병합을 실시하기 위한 블록 병합 정보가 포함된다. 또한, 움직임 정보에는 움직임 벡터, 화면간 예측 모드(전방향/후방향/양방향), 참조 화면 번호 등이 포함된다.
데이터 해석기(202)는 입력 단자(201)에 입력된 압축 데이터를 해석하고, 복호 대상의 대상 부호화 블록에 관하여, 양자화 변환계수의 부호화 데이터, 예측 정보의 부호화 데이터로 분리하여, 라인 L202a 및 라인 L202b을 경유하여 각각 양자화 변환계수 복호기(207) 및 예측 정보 복호기(208)에 출력한다.
예측 정보 복호기(208)는 각 예측 블록의 블록 병합에 사용하는 움직임 정보의 후보를 선출하는 동시에, 대상 부호화 블록에 부수되는 예측 정보의 부호화 데이터를 엔트로피 복호한다. 복호된 예측 정보는 라인 L208a 및 라인 L208b을 경유하여 각각 예측 정보용 메모리(115)와 예측 신호 생성기(103)에 출력된다. 예측 정보용 메모리(115)는 입력된 예측 정보를 보존한다. 예측 정보 복호기(208)의 처리에 대하여는 후술한다.
예측 신호 생성기(103)는 라인 L208a를 경유하여 입력되는 대상 부호화 블록의 예측 정보에 따라 프레임 메모리(104)로부터 기 재생 신호를 취득하고, 대상 부호화 블록 내의 각 예측 블록의 예측 신호를 생성한다. 생성된 예측 신호는 라인(L103)을 경유하여 가산기(205)에 출력된다.
양자화 변환계수 복호기(207)는 대상 부호화 블록에서의 잔차신호의 양자화 변환계수의 부호화 데이터를 엔트로피 복호하고, 라인(L207)을 경유하여 역양자화기(203)에 출력한다.
역양자화기(203)는 라인(L207)을 경유하여 입력한 대상 부호화 블록의 잔차신호 정보를 역양자화한다. 역변환기(204)는 역양자화하고 데이터를 역이산 코사인 변환한다.
가산기(205)는 예측 신호 생성기(103)에서 생성된 예측 신호를 역양자화기(203) 및 역변환기(204)에 의해 복원된 잔차신호에 가산하여 대상 부호화 블록의 재생 화소 신호를 라인(L205)을 경유하여 출력 단자(206) 및 프레임 메모리(104)에 출력한다. 출력 단자(206)는 외부(예를 들면, 디스플레이)에 출력한다.
프레임 메모리(104)는 다음의 복호 처리를 위한 참조용의 재생 화상으로서, 가산기(205)로부터 출력된 재생 화상을 참조 화면으로서 기억한다.
도 7은 도 3의 처리를 위한 예측 정보 복호기(208)의 흐름도이다.
처음에 예측 정보 복호기(208)는 대상 부호화 블록의 예측 블록 분할 타입을 복호하고 예측 정보용 메모리(115)에 보존한다. 동시에, 예측 정보 복호기(208)는 복호한 예측 블록 분할 타입에 따라 대상 부호화 블록 내의 예측 블록수 N을 설정하고, 대상 예측 블록 번호 i를 0으로 리셋한다(스텝 S251). 다음에, 예측 정보 복호기(208)는 대상 예측 블록이 대상 부호화 블록 내에서 최후에 복호되는 예측 블록이며, 대상 부호화 블록 내의 예측 블록수가 2 이상인지를 판단한다(스텝 S252). 예를 들면, N=2의 경우, i=1일 때, 판정이 가능으로 되고 스텝 S258로 진행한다. N=4(도 20(D))의 경우, i=3일 때, 판정이 가능으로 된다. 판정이 반대의 경우에는 스텝 S253로 진행한다. 도 3에서, 대상 예측 블록이 예측 블록 T1일 때 스텝 S253로 진행하고, 대상 예측 블록이 예측 블록 T2일 때 스텝 S258로 진행한다.
스텝 S253에서 병합 식별 정보가 복호된다. 여기서, 병합 식별 정보가 가능(merge_flag=1)일 때는, 병합 식별 정보는 움직임 정보의 후보를 사용하여 대상 예측 블록의 예측 신호를 생성하는 것을 나타낸다. 한편, 병합 식별 정보가 반대(merge_flag=0)일 때는, 복호한 움직임 정보를 사용하여 대상 예측 블록의 예측 신호를 생성하는 것을 나타낸다. 다음의 스텝 S254에서, 예측 정보 복호기(208)는 병합 식별 정보가 움직임 정보의 복호를 지시하고 있는가, 즉 병합 플래그(merge_flag)의 값이 0인가를 판정한다. 복호한 병합 플래그(merge_flag)의 값이 0인 경우에, 예측 정보 복호기(208)는 대상 예측 블록의 예측 신호를 생성하기 위한 움직임 정보를 복호하고(스텝 S257) 스텝 S267로 진행한다. merge_flag의 값이 1인 경우, 예측 정보 복호기(208)는 스텝 S266에서 블록 병합에 사용하는 움직임 정보의 후보의 수가 2개인가를 판정하고 후보의 수가 2개의 경우에는 병합 블록 선택 정보를 복호하고 스텝 S256으로 진행한다(스텝 S255). 대상 예측 블록의 블록 병합에 사용하는 움직임 정보의 후보의 수가 1개의 경우는 스텝 S256으로 진행한다. 스텝 S256에서, 움직임 정보의 후보의 수가 1개의 경우, 예측 정보 복호기(208)는 그 움직임 정보를 대상 예측 블록의 움직임 정보로 결정한다. 움직임 정보의 후보의 수가 2개의 경우, 예측 정보 복호기(208)는 병합 블록 선택 정보에 의해 지시되는 인접 블록의 움직임 정보를 대상 예측 블록의 움직임 정보로 결정한다.
스텝 S258에서 예측 정보 복호기(208)는 대상 부호화 블록의 모든 복호가 끝난 움직임 정보와 대상 부호화 블록에 속하지 않는 인접 블록의 움직임 정보가 일치하는지를 판정한다. 이 스텝 S258의 설명은 N=2의 경우, 도 3에 나타난 예측 블록 T1과 인접 블록 D의 움직임 정보를 비교하는 것을 의미한다. 또한, 이 스텝 S258의 설명은 N=4(도 20(D))의 경우, 대상 예측 블록이 우측 아래의 분할 블록이며, 그 이외의 3개의 예측 블록(좌측 위, 우측 위, 좌측 하)의 움직임 정보를 비교하는 것을 의미한다. 판정이 가능(비교한 움직임 정보가 일치)의 경우에, 도 3(B)의 예로 나타난 바와 같이, 대상 예측 블록의 블록 병합에 사용하는 움직임 정보의 후보의 수가 0개가 되므로, 예측 정보 복호기(208)는 블록 병합 정보를 복호 하지 않고 대상 예측 블록의 예측 신호 생성에 사용하는 움직임 정보를 복호하고 스텝 S267로 진행한다(스텝 S262). 한편, 판정이 반대(비교한 움직임 정보가 불일치)의 경우 스텝 S265로 진행한다. 그리고, N=4일 때, 대상 부호화 블록 내의 우측 위와 좌측 아래 블록의 움직임 정보가 대상 예측 블록의 인접 블록으로 된다. 그러므로, 3개의 예측 블록(좌측 위, 우측 위, 좌측 하)의 움직임 정보가 일치할 때 대상 예측 블록(우측 아래)에 블록 병합(merging)을 적용하는 것은 대상 부호화 블록 내 4개의 예측 블록의 예측 신호가 모두 같은 움직임 정보로 생성되는 것을 의미한다. 그러므로, N=4로 3개의 예측 블록(좌측 위, 우측 위, 좌측 하)의 움직임 정보가 같은 경우, 대상 예측 블록(우측 하)의 움직임 정보의 후보를 0개로 한다.
스텝 S265에서 예측 정보 복호기(208)는 대상 부호화 블록의 예측 블록 분할 타입이 2분할의 타입인지를 판정하고, 판정이 반대의 경우에는 스텝 S253으로 진행한다(이후 설명). 스텝 S265의 판정이 가능일 경우에 스텝 S259로 진행하고, 예측 정보 복호기(208)는 병합 식별 정보를 복호한다. 이 경우, 도 3(A)의 예와 같이, 대상 예측 블록의 블록 병합에 사용하는 움직임 정보의 후보의 수가 1개이므로, 병합 블록 선택 정보의 복호는 불필요하다.
다음의 스텝 S260에서 예측 정보 복호기(208)는 병합 식별 정보가 움직임 정보의 복호를 지시하고 있는가, 즉 merge_flag의 값이 0인가를 판정한다. 복호한 merge_flag의 값이 0인 경우에, 예측 정보 복호기(208)는 대상 예측 블록의 예측 신호를 생성하기 위한 움직임 정보를 복호하고(스텝 S262) 스텝 S267로 진행한다. merge_flag의 값이 1의 경우 스텝 S261로 진행한다. 스텝 S261에서, 움직임 정보의 후보가 1개이므로, 도 3(A)에 나타난 바와 같이, 예측 정보 복호기(208)는 인접 블록 D의 움직임 정보를 대상 예측 블록의 움직임 정보로 결정하고 스텝 S267로 진행한다.
스텝 S267에서 복원한 예측 블록의 움직임 정보를 예측 정보용 메모리(115)에 보존한다. 이어서, 스텝 S263에서 예측 정보 복호기(208)는 대상 부호화 블록 내의 모든 예측 블록의 복호가 종료되었는지(i=N-1인가)를 판정하고, i=N-1일 때는 이 대상 부호화 블록의 예측 정보 복호 처리를 종료하고, i<N-1일 때는 스텝 S264에서 i를 갱신하고(i=i+1), 다음의 예측 블록의 움직임 정보 복호 처리를 위해 스텝 S252로 돌아온다.
다음에, 도 8을 사용하여, 도 6에 나타내는 화상 예측 복호 장치(200)에서의 화상 예측 복호 방법을 설명한다. 먼저, 입력 단자(201)를 통하여 압축 데이터가 입력된다(스텝 S201). 그리고, 데이터 해석기(202)에 의해 압축 데이터의 데이터 해석을 행하고, 복호 대상의 대상 영역에 관한 예측 정보와 양자화 변환계수의 부호화 데이터를 추출한다. 예측 정보는 예측 정보 복호기(208)에 의해 복호된다(S203).
그 후, 복원된 예측 정보에 따라 예측 신호 생성기(103)가 대상 부호화 블록의 예측 신호를 생성한다(S204).
양자화 변환계수 복호기(207)에 의해 복호된 양자화 변환계수는 역양자화기(203)에서 역양자화되고 역변환기(204)에서 역변환이 행해지고, 재생 잔차신호가 생성된다(S205). 그리고, 생성된 예측 신호와 재생 잔차신호가 가산됨으로써 재생 신호가 생성되고, 이 재생 신호가 다음의 대상 부호화 블록을 재생하기 위해 프레임 메모리(104)에 저장된다(스텝 S206). 다음의 압축 데이터가 있는 경우는 S204~S206의 프로세스를 반복(S207)하여 전체 데이터가 마지막까지 처리된다.
여기까지는, 예측 블록에 인접하는 인접 블록의 수는 2개 이하의 예로 설명했으나, 다음에, 예측 블록 위와 좌측의 블록 경계에 접하는 인접 블록의 수가 3개 이상의 경우에 주목한다.
도 3에서, 예측 블록에 접하는 인접 블록은 2개이지만, 부호화 블록과 그 인접 블록의 예측 블록 분할 타입의 편성에 따라서 예측 블록이 2개 이상의 인접 블록과 접하는 경우도 발생한다. 도 9는 예측 블록에 3개의 인접 블록이 접하는 경우의 예를 나타내고 있다. 여기서는 도 20의 블록(301)을 예로 설명하지만, 블록(302, 304, 305, 306, 307)에서도 마찬가지의 설명이 가능하다.
도 9(A) 와 9(B)에서, 대상 부호화 블록(400)이 상기 블록(400)을 세로로 2분할한 2개의 예측 블록을 가지고 있는 것에 대하여, 예측 블록 T1의 좌측 변에 접하는 블록(401)은 가로로 2분할(상하의 2개의 블록에 분할)되어 있다. 그러므로, 예측 블록 T1는 3개의 인접 블록 A와 B와 C에 접한다. 이 경우, 대상 예측 블록의 좌측 위 정점에 접하는 2개의 인접 블록 A와 B를 대표로 하도록 부호화 측과 복호 측에서 미리 결정해 두면, 인접 블록의 수가 반드시 2개로 한정될 수 있으므로, 상기에서 설명한 방법을 이용할 수 있다.
한편, 도 9(B)에 나타난 바와 같이, 예측 블록 T1을 인접 블록(401)의 예측 블록 분할 타입에 병행하여 가상적으로 가로로 2분할하는 방법도 이용할 수 있다. 이 경우, 대상 예측 블록 T1을 T1a와 T1b에 분할하고 인접 블록 A와 블록 C에 속하는 2개의 움직임 정보를 사용하여 블록 T1a의 예측 신호와 T1b의 예측 신호를 각각 생성한다.
이 때, 병합 블록 선택 정보의 선택 후보를 도 9(A)에서의 인접 블록 B의 움직임 정보와 도 9(B)의 인접 블록 A와 C의 움직임 정보의 편성을 2개로 하면 블록 병합 정보의 구성을 변경하지 않고 양호한 효율로 병합 블록 선택 정보를 부호화할 수 있다.
한편, 병합 블록 선택 정보에 의해 도 9(A)와 도 9(B) 중 어느 하나를 식별하고, 도 9(B)를 선택한 경우에는, 또한 가상 블록마다 제2 병합 식별 정보를 전송하고, 인접 블록의 움직임 정보로 가상 블록의 예측 신호를 생성하거나 움직임 정보를 부호화/복호하는지를 식별하도록 해도 된다.
그리고, 예측 블록 T1을 분할하지 않고 예측 블록 T1에서의 병합 블록 선택 정보의 선택 후보를 인접 블록 A와 B와 C의 3개의 움직임 정보로 하고, T1의 예측 신호의 생성에 사용하는 움직임 정보를 3개로부터 선택하도록 해도 되지만, 이 경우에는 하기의 변경이 필요하다.
1.도 4의 스텝 S164와 도 7의 스텝 S266의 전에, "인접 블록의 예측 블록 분할 타입을 취득하고, 예측 블록의 인접하는 블록의 수를 도출한다"라는 플로우를 추가.
2.도 4의 스텝 S164와 도 7의 스텝 S266을 "선택 후보의 움직임 정보가 2개 이상"으로 변경.
3.병합 블록 선택 정보는 3개 이상의 후보로부터 1개를 선택하는 정보로 확장.
도 9(A)와 9(B)에 나타난 블록 병합의 처리는 도 7의 스텝 S256을 도 11에 나타나는 처리에 확장함으로써 실현할 수 있다. 먼저, 스텝 S256a에서 대상 예측 블록에 접하는 부호화 블록의 예측 블록 분할 타입을 취득한다. 다음에, 스텝 S256b에서 복호된 병합 블록 선택 정보가 지시하는 블록 경계에 인접하는 예측 블록의 수 M을 취득한 예측 블록 분할 타입으로부터 도출한다. 예를 들면, 도 9(B)에서 M=2로 된다. 또한, 스텝 S256c에서 M의 값이 1보다 큰 여부를 판단한다(M>1). M>1의 경우에는, 대상 예측 블록을 M개의 가상 블록으로 분할하고, M개의 인접 블록의 움직임 정보를 분할한 M개의 가상 블록으로 설정한다(추가로, 가상 블록마다 병합 식별 정보를 보내 움직임 정보의 복호 여부를 판정해도 된다). M=1인 경우에, 대상 예측 블록의 움직임 정보에 블록 병합 후보로 되는 인접 블록의 움직임 정보를 설정한다.
이와 같이, 도 7 내지 도 11에 의하면, 도 9의 예에서의 움직임 정보의 후보의 선출은 이하의 정보에 따라 실시된다.
(1)대상 부호화 블록 내의 부호화가 끝난/복호가 끝난 예측 블록의 수
(2)대상 부호화 블록의 예측 블록 분할 타입
(3)대상 예측 블록에 인접하는 블록의 예측 블록 분할 타입
이와 같이, 움직임 정보의 후보가 3개 이상으로 되는 경우, 도 3의 예로 밤 움직임 정보의 후보의 선출 시에는 사용하고 있지 않은 (3)의 정보가 이용된다.
도 9(C)는 예측 블록(400)의 좌측 변에 인접하는 블록이 비대칭으로 2분할되어 있는 예를 나타내고 있다. 이 경우라도, 예측 블록 T1를 인접 블록(401)의 예측 블록 분할 타입에 병행하여 가상적으로 가로로 2분할하는(블록 T1a 및 T1b에 분할함)방법을 이용할 수 있다. 즉, 도 9(C)의 인접 블록 A와 C의 움직임 정보의 편성을 예측 블록 T1의 블록 병합의 움직임 정보의 후보로서 대상 예측 블록 T1의 예측 신호를 생성할 수 있다.
또한, 도 9(D) 내지 9(F)에 나타낸 바와 같이 부호화 블록의 예측 블록 분할 타입이 도 20의 블록(300)에 나타낸 바와 같이 예측 블록수가 1개의 타입인 경우라도 인접 블록(401)의 예측 블록 분할 타입에 병행하여 예측 블록 T1(블록(400))을 가상적으로 옆분할(세로 방향에 정렬된 복수 개의 블록으로 분할)해 예측 신호를 생성하는 방법을 이용할 수 있다. 또한, 도시되지 않지만, 인접 블록(402)이 세로 분할(가로 방향으로 정렬된 복수 개의 블록에 분할)되어 있는 경우에는, 인접 블록(402)의 예측 블록 분할 타입에 병행하여 예측 블록 T1(블록(400))을 가상적으로 세로 분할하여 예측 신호를 생성하는 방법을 이용할 수 있다.
그리고, 예측 블록에 인접하는 블록에 화면 내 예측 블록(intra)이 포함되는 경우라도, 미리 규칙을 정해 두어, 예측 블록을 가상 분할하여 예측 신호를 생성하는 방법을 이용할 수 있다. 도 10(A) 내지 10(F)는 예측 블록의 좌측 변에 접하는 복수 개의 인접 블록 A와 C와 E와 G에 화면 내 예측 블록이 포함되는 경우의 예를 나타내고 있다. 인접 블록의 예측 블록 분할 타입과 예측 정보에 포함되는 예측 모드(화면 사이/화면 내)에 따라 인접 블록의 화면 내 예측 블록을 움직임 정보를 따른 화면 사이 예측 블록에 가상적으로 통합한다(도면의 굵은 선). 이 예에서는, 화면 내 예측 블록은 인접 블록의 좌측 위 정점 근처 또한, 거리의 가까운 화면 사이 예측 블록에 가상적으로 통합된다. 그 결과, 예측 블록 T1은 도 10(A) 내지 10(F)에 나타낸 바와 같이, 인접 블록 내의 화면 사이 예측 블록의 수에 따라 가상적으로 분할된다. 이와 같이, 인접 블록에 화면 내 예측 블록이 포함되는 경우라도, 인접 블록 내의 화면 사이 예측 블록의 움직임 정보를 사용하여 블록 병합에 의한 예측 신호를 생성할 수 있다.
그리고, 인접 블록의 화면 내 예측 블록을 화면 사이 예측 블록에 통합하는 룰은 한정되지 않는다. 이와 같은 복수 개의 규칙을 준비하고, 프레임마다 또는 슬라이스마다 규칙을 선택하여 부호화하도록 해도 된다. 이 경우, 움직임 정보의 후보의 선출은 이하의 정보에 따라 실시된다.
(1)대상 부호화 블록 내의 부호화가 끝난/복호가 끝난 예측 블록의 수
(2)대상 부호화 블록의 예측 블록 분할 타입
(3)대상 예측 블록에 인접하는 블록의 예측 블록 분할 타입
(5)대상 예측 블록에 인접하는 블록의 예측 모드(화면 내 예측/화면 사이 예측)
도 12는 부호화 블록(400)과 인접 블록(402)이 동일하게 세로로 2분할되어 있지만 분할 형상이 상이한 경우의 예를 나타내고 있다. 이 예에서도, 도 12(A)의 예측 블록 T1(블록 T1a 및 T1b를 포함하는 블록)과 도 12(B)의 예측 블록 T2(블록 T2a 및 T2b를 포함하는 블록)가 3개의 인접 블록을 가진다. 도 12(A)의 T1에 대하여는, 도 11의 처리 흐름을 도 7의 스텝 S256에 적용함으로써, 예측 블록 T1을 가상적으로 세로로 2분할한 T1a와 T1b에 각각 블록 Ba와 Bb의 움직임 정보를 설정한 블록 병합을 행하는 것이 가능해진다. 또한, 도 12(B)의 T2에 대하여는, 다음에 설명하는 도 13의 처리 흐름을 도 7의 스텝 S261에 적용함으로써, 예측 블록 T2를 가상적으로 세로로 2분할한 T2a와 T2b에 각각 블록 Ba와 Bb의 움직임 정보를 설정한 블록 병합을 행하는 것이 가능해진다. 이 때, 가상 블록마다 제2 병합 식별 정보를 전송하고 인접 블록의 움직임 정보로 가상 블록의 예측 신호를 생성하거나, 움직임 정보를 부호화/복호하는지를 식별하도록 해도 된다.
그리고, 예측 블록 T2를 분할하지 않고 예측 블록 T2의 블록 병합에 사용하는 움직임 정보의 후보를 블록 Ba의 움직임 정보와 블록 Bb의 움직임 정보의 2개로 하고, 블록 Ba의 움직임 정보 및 블록 Bb의 움직임 정보 중 1개를 T2의 예측 신호의 생성에 사용하는 움직임 정보로서 선택하도록 해도 되지만, 그 경우에는, 도 7의 흐름을 하기와 같이 확장할 필요가 있다.
1. 도 4의 스텝 S158과 도 7의 스텝 S259 후에, "인접 블록의 예측 블록 분할 타입을 취득하고, 예측 블록에 인접하는 블록의 수를 도출한다"라는 플로우를 추가.
2. 도 4의 스텝 S159와 도 7의 스텝 S260을 "선택 후보의 움직임 정보가 2개 이상"으로 변경.
3. 도 4의 스텝 S159와 도 7의 스텝 S260 후에 블록 선택 정보의 부호화/복호를 행하는 스텝을 추가.
이하, 도 13의 플로우에 대하여 설명한다. 도 13에서, 먼저, 스텝 S261a에 의해 대상 예측 블록에 접하는 부호화 블록의 예측 블록 분할 타입을 취득한다. 다음, 스텝 S261b에 의해 대상 부호화 블록에 속하지 않는 인접 블록이 접하는 블록 경계에 인접하는 예측 블록의 수 M을 취득한 예측 블록 분할 타입으로부터 도출한다. 예를 들면, 도 12(B)에 나타난 바와 같이, M=2로 된다. 또한, 스텝 S261c에서는 M의 값이 1보다 큰지 아닌지를 판단한다(M>1). M>1의 경우에는, 대상 예측 블록을 M개의 가상 블록으로 분할하고, M개의 인접 블록의 움직임 정보를 분할한 M개의 가상 블록으로 설정한다(추가로, 가상 블록마다 병합 식별 정보를 보내 움직임 정보를 복호하는지 여부를 판정해도 된다). M=1의 경우에는, 대상 예측 블록의 움직임 정보로서 블록 병합의 후보로 되는 인접 블록의 움직임 정보를 설정한다.
이와 같이, 도 12와 도 13에 의하면, 도 11의 예에서의 움직임 정보의 후보의 선출은 이하의 정보에 따라 실시된다.
(1)대상 부호화 블록 내의 부호화가 끝난/복호가 끝난 예측 블록의 수
(2)대상 부호화 블록의 예측 블록 분할 타입
(3)대상 예측 블록에 인접하는 블록의 예측 블록 분할 타입
그리고, 도 11에서는, 세로분할의 예를 설명하였으나, 도 20의 블록 306과 307과 같이 옆분할(세로 방향에 정렬된 복수 개의 블록에 분할)의 예로도 동일한 처리가 적용될 수 있다.
또한, 하기의 변형이 가능하다.
(움직임 정보의 후보)
전술한 설명에서, 예측 블록의 상변과 좌측 변에 접하는 블록의 움직임 정보를 블록 병합의 후보로 하고 있지만, 도 14A, 14B 및 도 15A에 나타난 바와 같이, 대상 부호화 블록과 인접 블록의 예측 블록 분할 타입에 따라 제한하는 것도 가능하다. 도 14A와 14B는 2개의 인접 블록이 존재하는 경우, 예측 블록의 상변과 좌측 변 중 2개 이상의 인접 블록이 접하는 변의 인접 블록의 움직임 정보를 블록 병합의 후보에서 제외하는 예를 나타내고 있다. 이 경우, 병합 블록 선택 정보의 부호화는 불필요해 지므로, 부가 정보를 줄일 수 있다. 도 14A의 예측 블록 T1와 도 14B의 예측 블록 T1의 블록 병합에 사용하는 움직임 정보의 후보는 각각 블록 B와 블록 A의 움직임 정보로 확정한다.
도 15A는 대상 부호화 블록의 예측 블록 분할 타입에 의해, 예측 블록 T1과 T2의 블록 병합에 사용하는 움직임 정보의 후보를 자동으로 선출하는 방법을 나타내고 있다.
도 15B는 대상 부호화 블록의 예측 블록 분할 타입과 대상 부호화 블록 내의 부호화/복호가 끝난 블록의 수에 따라 블록 병합을 적용하는 예측 블록을 제한하는 예를 나타내고 있다. 도 3의 예는 블록 T1과 블록 D의 움직임 정보가 일치하는 경우에, 블록 T2의 블록 병합에 사용하는 움직임 정보의 후보로부터 블록 D의 움직임 정보를 제외하고 있지만, 도 15A의 예는 블록 T1과 블록 D의 움직임 정보를 비교하지 않고, 대상 부호화 블록 내의 부호화/복호가 끝난 예측 블록의 수에 의해 블록 D를 블록 병합의 후보에서 제외하고 있다. 이와 같이, 대상 부호화 블록에 의해 부호화하는 움직임 벡터의 수에 의해, 블록 병합을 적용하는 예측 블록을 제한해도 된다.
또한, 예측 블록의 좌측 상단에 접하는 2개의 인접 블록의 블록 사이즈와 예측 블록의 블록 사이즈에 의해 제한을 하는 경우도 가능하다. 예를 들면, 대상 예측 블록의 좌측 변에 접하는 인접 블록의 우측 변의 사이즈가 미리 설정한 크기(예를 들면, 예측 블록의 좌측 변의 폭의 반이나 1/4)보다 작은 경우에는 그 인접 블록의 움직임 정보를 대상 예측 블록의 블록 병합의 후보로부터 제외할 수도 있다.
이와 같이, 움직임 정보의 후보를 제한함으로써, 블록 병합 정보의 부호량을 줄일 수 있다.
(움직임 정보의 후보의 선출)
움직임 정보의 후보의 선출은 이하의 정보에 따라 실시하지만, 그 이용 방법은 상기에서 설명한 방법에 한정되지 않는다. 이들 정보를 사용하여 움직임 정보의 후보를 선출하는 수단은 도 1 및 도 6의 구성에 의해 실시할 수 있다.
(1)대상 부호화 블록 내의 부호화가 끝난/복호가 끝난 예측 블록의 수
(2)대상 부호화 블록의 예측 블록 분할 타입
(3)대상 예측 블록에 인접하는 블록의 예측 블록 분할 타입
(4)대상 부호화 블록 내의 부호화가 끝난/복호가 끝난 예측 블록의 움직임 정보
(5)대상 예측 블록에 인접하는 블록의 움직임 정보와 예측 모드(화면 내 예측/화면 사이 예측)
(예측 블록의 부호화)
전술한 설명에서, 부호화 블록 내의 예측 블록의 부호화/복호는 라스터 스캔 순서로 실시하고 있지만, 위에 설명한 블록 병합에 이용하는 움직임 정보의 후보의 선출은 임의의 순서로 예측 블록이 부호화/복호되는 경우에도 적용할 수 있다. 예를 들면, 도 3의 예로, 대상 부호화 블록(400)의 예측 블록 T2를 먼저 부호화/복호하는 경우, 예측 블록 T2의 움직임 벡터는 예측 블록 T1의 블록 병합에 사용하는 움직임 정보의 후보에는 포함되지 않는다.
(블록의 형상)
전술한 설명에서는, 부호화 블록 내의 부분 영역은 항상 직사각형에서 만났지만, 임의의 형상도 가능하다. 이 경우, 부호화 블록의 예측 정보에 형상 정보를 포함해도 된다.
(변환기, 역변환기)
잔차신호의 변환 처리는 고정의 블록 사이즈로 행해도 되고, 부분 영역에 맞추어 대상 영역을 재분할하여 변환 처리를 행해도 된다.
(예측 정보)
전술한 설명에서는, 예측 신호의 생성 방법을 화면 사이 예측(움직임 벡터와 참조 화면 정보를 이용하는 예측)으로서 설명하였으나, 예측 신호의 생성 방법은 이에 한정되지 않는다. 화면 내 예측이나 휘도 보상 등을 포함하는 예측 방법에도 전술한 예측 신호 생성 처리는 적용할 수 있다. 이 경우, 모드 정보나 휘도 보상 파라미터 등이 예측 정보에 포함된다.
도 10에서는 인접 블록 내의 화면 내 예측 블록을 화면 사이 예측 블록에 가상적으로 통합하지만, 인접 블록의 예측 모드에 관계없이, 예측 블록을 가상적으로 분할하고 화면 내 예측에 의해 예측 블록 내의 부분 신호를 예측하도록 해도 된다.
(색 신호)
전술한 설명에서는, 색 포맷에 대해서는 특별히 서술하지 않지만, 색신호 또는 색차 신호에 대해서도 휘도 신호와 개별적으로 예측 신호의 생성 처리를 행해도 된다. 또한, 휘도 신호의 처리와 연동하여 예측 신호의 생성 처리를 행해도 된다.
(블록 노이즈 제거 처리)
전술한 설명에서는 서술하지 않았지만, 재생 화상에 대하여 블록 노이즈 제거 처리를 행하는 경우에는, 부분 영역의 경계 부분에 대하여 노이즈 제거 처리를 행하면 된다. 도 9, 도 10, 도 12에 나타낸 예에 있어서 예측 블록을 가상적으로 분할하는 경우에는, 가상적으로 분할한 블록의 경계에도 블록 노이즈 제거 처리를 적용해도 된다.
본 실시형태에 관한 화상 예측 부호화 방법 및 화상 예측 복호 방법을 프로그램으로서 기록 매체에 저장하여 제공할 수도 있다. 기록 매체로서는 플로우피 디스크(등록상표), CD-ROM, DVD, 또는 ROM 등의 기록 매체, 또는 반도체 메모리 등이 예시된다.
도 16은 화상 예측 부호화 방법을 실행할 수 있는 프로그램의 모듈을 나타낸 블록도이다. 화상 예측 부호화 프로그램(P100)은 블록 분할 모듈(P101), 움직임 정보 추정 모듈(P102), 예측 신호 생성 모듈(P103), 기억 모듈(P104), 감산 모듈(P105), 변환 모듈(P106), 양자화 모듈(P107), 역양자화 모듈(P108), 역변환 모듈(P109), 가산 모듈(P110), 양자화 변환계수 부호화 모듈(P111), 예측 분할 타입 선택 모듈(P112), 예측 정보 기억 모듈(P113), 및 예측 정보 부호화 모듈(P114)을 구비한다. 상기 각 모듈이 컴퓨터로 실현되는 기능은 전술한 화상 예측 부호화 장치(100)의 기능과 같다. 즉, 블록 분할 모듈(P101), 움직임 정보 추정 모듈(P102), 예측 신호 생성 모듈(P103), 기억 모듈(P104), 감산 모듈(P105), 변환 모듈(P106), 양자화 모듈(P107), 역양자화 모듈(P108), 역변환 모듈(P109), 가산 모듈(P110), 양자화 변환계수 부호화 모듈(P111), 예측 분할 타입 선택 모듈(P112), 예측 정보 기억 모듈(P113), 예측 정보 부호화 모듈(P114)은 블록 분할기(102), 움직임 정보 추정기(114), 예측 신호 생성기(103), 프레임 메모리(104), 감산기(105), 변환기(106), 양자화기(107), 역양자화기(108), 역변환기(109), 가산기(110), 양자화 변환계수 부호화기(111), 예측 블록 분할 타입 선택기(113), 예측 정보용 메모리(115), 예측 정보 부호화기(116)와 같은 각각의 기능을 컴퓨터로 하여금 실행하게 한다.
또한, 도 17은 화상 예측 복호 방법을 실행할 수 있는 프로그램의 모듈을 나타낸 블록도이다. 화상 예측 복호 프로그램(P200)은 양자화 변환계수 복호 모듈(P201), 예측 정보 복호 모듈(P202), 예측 정보 기억 모듈(P113), 역양자화 모듈(P206), 역변환 모듈(P207), 가산 모듈(P208), 예측 신호 생성 모듈(P103) 및 기억 모듈(P104)을 구비한다.
상기 각 모듈에 의해 실현되는 기능은 전술한 화상 예측 복호 장치(200)의 각 구성 요소와 같다. 즉, 양자화 변환계수 복호 모듈(P201), 예측 정보 복호 모듈(P202), 예측 정보 기억 모듈(P113), 역양자화 모듈(P206), 역변환 모듈(P207), 가산 모듈(P208), 예측 신호 생성 모듈(P103), 기억 모듈(P104)은 양자화 변환계수 복호기(207), 예측 정보 복호기(208), 예측 정보용 메모리(115), 역양자화기(203), 역변환기(204), 가산기(205), 예측 신호 생성기(103), 프레임 메모리(104)와 같은 각각의 기능을 컴퓨터로 하여금 실행하게 한다.
이와 같이 구성된 화상 예측 부호화 프로그램(P100) 또는 화상 예측 복호 프로그램(P200)은 기록 매체(SM)에 기억되고 후술하는 컴퓨터로 실행된다.
도 18은 기록 매체에 기록된 프로그램을 실행하기 위한 컴퓨터의 하드웨어 구성을 나타낸 도면이며, 도 19는 기록 매체에 기억된 프로그램을 실행하기 위한 컴퓨터의 사시도이다. 그리고, 기록 매체에 기억된 프로그램을 실행하는 것은 컴퓨터로 한정되지 않고, CPU를 구비하고 소프트웨어에 의한 처리나 제어를 행하는 DVD 플레이어, 셋탑 박스, 휴대 전화기 등이라도 가능하다.
도 19에 나타낸 바와 같이, 컴퓨터(C10)는 플로우피-디스크 드라이브 장치, CD-ROM 드라이브 장치, DVD 드라이브 장치 등의 판독 장치(C12)와 운영체제(operating system)를 상주시킨 작업용 메모리(RAM)(C14)와 기록 매체(SM)에 기억된 프로그램을 기억하는 메모리(C16)와 표시장치인 디스플레이(C18)와 입력 장치인 마우스(C20) 및 키보드(C22)와 데이터 등의 송수신을 행하기 위한 통신 장치(C24)와 프로그램의 실행을 제어하는 CPU(C26)를 구비한다. 컴퓨터(C10)는 기록 매체(SM)가 판독 장치(C12)에 삽입되면 판독 장치(C12)로부터 기록 매체(SM)에 저장된 화상 예측 부호화 및 복호 프로그램에 액세스가 가능해져, 상기 화상 부호화 또는 복호 프로그램에 의해, 본 실시형태에 관한 화상 부호화 장치 또는 화상 복호 장치로서 동작하는 것이 가능하게 된다.
도 18에 나타난 바와 같이, 화상 예측 부호화 프로그램 및 화상 복호 프로그램은 반송파에 중첩된 컴퓨터 데이터 신호(CW)로서 네트워크를 통하여 제공되는 것이라도 된다. 이 경우, 컴퓨터(C10)는 통신 장치(C24)에 의해 수신한 화상 예측 부호화 프로그램 또는 화상 복호 프로그램을 메모리(C16)에 저장하고, 상기 화상 예측 부호화 프로그램 또는 화상 예측 복호 프로그램을 실행할 수 있다.
이하, 또 다른 실시형태에 대하여 설명한다. 도 24는 일실시예에 관한 동화상 부호화 장치의 구성을 개략적으로 나타낸 도면이다. 도 24에 나타내는 동화상 부호화 장치(10)는 블록 분할기(501), 소구획 생성기(502), 프레임 메모리(503), 움직임 검출기(504), 예측 신호 생성기(505), 움직임 예측기(506), 감산기(507), 잔차신호 생성기(508), 변환기(509), 양자화기(510), 역양자화기(511), 역변환기(512), 가산기(513), 및 엔트로피 부호화기(514)를 구비하고 있다. 이 동화상 부호화 장치(10)에 입력되는 입력 영상 신호(동화상 신호)는 프레임 단위의 화상 신호(이하, 프레임 화상 신호)의 시간 계열로 구성되어 있다.
블록 분할기(501)는 라인(L501)을 경유하여 입력된 입력 영상 신호로부터 부호화 처리의 대상이 되는 프레임 화상 신호, 즉 입력 화상을 차례로 선택한다. 블록 분할기(501)는 입력 화상을 복수 개의 구획, 즉 블록에 분할한다. 블록 분할기(501)는 복수 개의 블록을 부호화 처리 대상 블록으로 차례로 선택하여, 상기 대상 블록의 화소 신호(이하, 대상 블록 신호)를 라인(L502)을 경유하여 출력한다.
동화상 부호화 장치(10)에서 블록 단위로 이하의 부호화 처리가 행해진다. 그리고, 블록 분할기(501)는 예를 들면, 입력 화상을 8×8 화소의 복수 개 블록으로 분할하여 얻는다. 그러나, 블록의 크기 및 형상은 임의의 것이어도 된다. 블록은 예를 들면, 32×16 화소 블록, 16×64 화소 블록이어도 된다.
소구획 생성기(502)는 라인(L502)을 경유하여 입력되는 대상 블록을 복수 개의 소구획으로 구분한다. 도 25는 소구획 생성을 설명하기 위한 도면이다. 도 25에 나타난 바와 같이, 소구획 생성기(502)는 식(1)의 1차식으로 기재되는 직선(Ln)에 의해 대상 블록(P)을 2개의 소구획 SP1 및 SP2로 구분한다.
[식 1]
y=mx+k
예를 들면, 소구획 생성기(502)는 파라미터 m 및 k를 변경하고, 각각의 소구획 SP1의 예측 신호 및 소구획 SP2의 예측 신호를 구하고, 소구획 SP1의 예측 신호와 소구획 SP1의 화상 신호 사이의 오차 및 소구획 SP2의 예측 신호와 소구획 SP2의 화상 신호 사이의 오차를 최소로 하는 m 및 k를 직선(Ln)의 파라미터로서 결정할 수 있다.
소구획 생성기(502)는 대상 블록(P) 내의 소구획의 형상을 특정하기 위한 형상 정보, 즉 제1 소구획(SP1)과 제2 소구획(SP2)의 형상을 특정하기 위한 형상 정보로서, 결정한 식(1)에서의 파라미터 m 및 k를 라인(L504)을 경유하여 출력한다.
그리고, 직선(Ln)을 나타내는 1차식은 임의의 것이어도 된다. 예를 들면, 직선(Ln)은 식(2)에 나타난 바와 같이 표현되어도 된다.
[식 2]
y=-x/tanθ+ρ/sinθ
이 경우, 형상 정보는 θ와 ρ이다.
또한, 형상 정보는 직선(Ln)이 통과하는 임의의 두 점, 예를 들면, 직선과 블록(P)의 경계와의 교점을 나타내는 정보라도 된다. 또한, 블록은 반드시 직선으로 구획될 필요는 없고, 미리 준비된 복수 개의 패턴 중에서 선택되는 패턴에 기초를 두어 소구획이 생성되어도 된다. 이 경우에는, 선택된 패턴을 특정하는 인덱스 라는 정보가 형상 정보로서 이용될 수 있다.
이하의 설명에서는, 대상 블록의 가장 좌측 위의 위치가 원점이 되도록 좌표를 설정하고, 대상 블록(P) 내의 가장 좌측 위의 화소를 포함하는 소구획을 제1 소구획, 다른 쪽을 제2 소구획이라 한다. 그러나, 임의의 방법, 예를 들면, 대상 블록 내의 중심의 위치를 포함하지 않는 소구획을 제1 소구획, 다른 쪽을 제2 소구획으로 해도 된다. 이 경우에는, 형상 정보는 블록 경계의 교점 정보나 패턴의 식별 정보로서도 된다.
프레임 메모리(503)는 라인(L505)을 경유하여 입력되는 재생된 화상 신호, 즉, 과거에 부호화가 끝난 프레임 화상 신호(이하, 참조 프레임 화상 신호)를 저장한다. 또한, 프레임 메모리(503)는 라인(L506)을 경유하여 참조 프레임 화상 신호를 출력한다.
움직임 검출기(504)는 라인(L502)을 통하여 입력되는 대상 블록 신호와 라인(L504)을 통하여 입력되는 블록의 형상 정보와 라인(L506)을 통하여 입력되는 참조 프레임 화상 신호를 수취한다. 움직임 검출기(504)는 참조 프레임 화상 신호의 소정 범위 내의 화상 신호로부터 처리 대상의 소구획의 화상 신호와 유사한 신호를 탐색하고 움직임 벡터를 산출한다. 이 움직임 벡터는 처리 대상의 소구획의 화상 신호와 유사한 화소 신호를 가지는 참조 프레임 화상 신호 내의 영역과 대상 블록 사이의 공간적인 변위량이다. 움직임 검출기(504)는 산출된 움직임 벡터를 라인(L507)을 경유하여 출력한다.
그리고, 움직임 검출기(504)는 동시에, 대상 블록에 대해서도 움직임 벡터를 검출하고, 대상 블록을 2개의 소구획으로 구획하여 예측 신호를 생성하거나 여부를 판단해도 된다. 이 판단은 대상 블록의 예측 신호와 대상 블록의 화상 신호 사이의 오차가 상기 대상 블록을 2개의 소구획으로 구획하여 생성하고 예측 신호와 2개의 소구획의 화상 신호 사이의 오차보다 작은 경우에는, 대상 블록을 소구획으로 구분하지 않아도 된다. 이와 같은 판단을 행하는 경우에는, 판단의 결과를 나타내는 정보를 구획 여부 정보로서 부호화하고 구획 여부 정보가 대상 블록을 소구획으로 구분하는 것을 나타내고 있을 때에만 형상 정보를 부호화할 수 있다.
예측 신호 생성기(505)는 라인(L506)을 경유하여 입력되는 참조 프레임 화상 신호의 소정 범위 내의 화상 신호로부터 라인(L507)을 경유하여 입력되는 움직임 벡터와 라인(L504)을 경유하여 입력되는 블록의 형상 정보에 따라 처리 대상의 소구획의 화상 신호의 예측 신호를 생성한다.
예측 신호 생성기(505)는 대상 블록 내의 각 소구획의 예측 신호를 합성함으로써, 상기 대상 블록의 예측 신호를 생성한다. 예측 신호 생성기(505)는 생성한 예측 신호를 라인(L508)을 경유하여 출력한다. 그리고, 예측 신호는 화면 사이 예측에 대신 화면 내 예측에 의해 생성되어도 된다.
움직임 예측기(506)는 라인(L504)을 경유하여 입력되는 블록의 형상 정보, 라인(L507)을 경유하여 입력된 움직임 벡터, 및 처리 대상의 소구획보다 순서로 전의 블록 또는 소구획으로 처리된 부분 영역의 움직임 벡터에 따라 대상 블록 내의 처리 대상의 소구획의 예측 움직임 벡터를 생성한다. 움직임 예측기(506)는 생성된 예측 움직임 벡터를 라인 L509를 경유하여 출력한다.
움직임 예측기(506)는 복수 개의 예측 움직임 벡터의 후보로부터 1개의 예측 움직임 벡터를 선택하고 얻는다. 이 경우에, 움직임 예측기(506)는 선택한 1개의 예측 움직임 벡터를 특정하는 지시 정보도 라인(L510)을 경유하여 출력한다. 그리고, 복호측과 공유하는 소정의 규칙에 따라 처리 대상의 소구획의 예측 움직임 벡터의 후보를 하나로 하여, 지시 정보의 출력을 생략할 수 있다.
감산기(507)는 라인(L507)을 경유하여 입력되는 처리 대상의 소구획의 움직임 벡터로부터, 라인(L509)을 경유하여 입력되는 예측 움직임 벡터를 감산하여 차분 움직임 벡터를 생성한다. 감산기(507)는 생성된 차분 움직임 벡터를 라인(L511)을 경유하여 출력한다.
잔차신호 생성기(508)는 라인(L502)을 경유하여 입력된 대상 블록 신호로부터, 라인(L508)을 경유하여 입력된 대상 블록의 예측 신호를 감산하여 잔차신호를 생성한다. 잔차신호 생성기(508)는 생성된 잔차신호를 라인(L512)을 경유하여 출력한다.
변환기(509)는 라인(L512)을 경유하여 입력된 잔차신호를 직교변환함으로써 변환계수를 생성한다. 변환기(509)는 생성된 변환계수를 라인(L513)을 경유하여 출력한다. 이 직교변환에는 예를 들면, DCT를 사용할 수 있다. 그러나, 변환기(509)에 의해 사용되는 변환에는 임의의 변환을 사용할 수 있다.
양자화기(510)는 라인(L513)을 경유하여 입력된 변환계수를 양자화하는 것으로 양자화 변환계수를 생성한다. 양자화기(510)는 생성된 양자화 변환계수를 라인(L514)을 경유하여 출력한다.
역양자화기(511)는 라인(L514)을 경유하여 입력된 양자화 변환계수를 역양자화하는 것으로 역양자화 변환계수를 생성한다. 역양자화기(511)는 생성된 역양자 화 변환계수를 라인(L515)을 경유하여 출력한다.
역변환기(512)는 라인(L515)을 경유하여 입력된 역양자화 변환계수를 역직교변환함으로써 재생 잔차신호를 생성한다. 역변환기(512)는 생성된 재생 잔차신호를 라인(L516)을 경유하여 출력한다. 역변환기(512)에 의해 사용되는 역변환은 변환기(509)의 변환과 대칭인 처리이다.
그리고, 변환은 필수가 아니고, 동화상 부호화 장치는 변환기(509) 및 역변환기(512)를 구비하고 있지 않아도 된다. 마찬가지로 양자화는 필수가 아니고, 동화상 부호화 장치는 양자화기(510) 및 역양자화기(511)를 구비하고 있지 않아도 된다.
가산기(513)는 라인(L516)을 경유하여 입력된 재생 잔차신호와 라인(L508)을 경유하여 입력된 대상 블록의 예측 신호를 가산함으로써, 재생 화상 신호를 생성한다. 가산기(513)는 재생 화상 신호를 기 재생의 화상 신호로서 라인(L505)을 경유하여 출력한다.
엔트로피 부호화기(514)는 라인(L514)을 경유하여 입력되는 양자화 변환계수와 라인(L504)을 경유하여 입력되는 대상 블록의 형상 정보와 라인(L510)을 경유하여 입력되는 예측 움직임 벡터의 지시 정보와 라인(L511)을 경유하여 입력되는 차분 움직임 벡터를 부호화한다. 또한, 엔트로피 부호화기(514)는 부호화에 의해 생성된부호를 다중화하는 것으로 압축 스트림을 생성하고, 상기 압축 스트림을 라인(L517)에 출력한다.
엔트로피 부호화기(514)는 산술 부호화, 실행 길이 부호화라는 임의의 부호화 방법을 이용할 수 있다. 또한, 엔트로피 부호화기(514)는 라인(L504)을 경유하여 입력되는 대상 블록의 형상 정보에 따라 라인(L510)을 경유하여 입력되는 예측 움직임 벡터의 지시 정보를 산술 부호화할 때의 발생 확률을 적응적으로 결정할 수 있다. 예를 들면, 엔트로피 부호화기(514)는 처리 대상의 소구획과 접하고 있는 부분 영역의 움직임 벡터를 지시하는 지시 정보의 발생 확률을 높게 설정할 수 있다.
도 26은 일실시예의 움직임 예측기의 구성을 나타낸 도면이다. 도 26에 나타난 바와 같이, 움직임 예측기(506)는 움직임 벡터 메모리(5061), 움직임 참조 대상 후보 생성기(5062), 및 예측 움직임 벡터 생성기(5063)를 구비한다.
움직임 벡터 메모리(5061)는 처리된 부분 영역의 움직임 벡터를 저장하고, 처리 대상의 소구획의 예측 움직임 벡터의 도출을 위하여 상기 부호화가 끝난 움직임 벡터를 라인(L5061)을 경유하여 출력한다.
움직임 참조 대상 후보 생성기(5062)는 라인(L504)을 경유하여 입력된 형상 정보에 근거하고, 후술하는 방법에 따라 라인(L5061)을 경유하여 입력된 부분 영역의 움직임 벡터로부터 예측 움직임 벡터의 후보를 생성한다. 움직임 참조 대상 후보 생성기(5062)는 생성된 예측 움직임 벡터의 후보를 라인(L5062)을 경유하여 출력한다.
예측 움직임 벡터 생성기(5063)는 라인(L5062)을 경유하여 입력된 예측 움직임 벡터의 후보로부터, 처리 대상의 소구획의 움직임 벡터와의 차분이 최소로 되는 후보를 선택한다. 예측 움직임 벡터 생성기(5063)는 선택한 후보를 예측 움직임 벡터로서 라인(L509)을 경유하여 출력한다. 또한, 선택한 후보를 특정하는 지시 정보를 라인(L510)을 경유하여 출력한다.
그리고, 움직임 참조 대상 후보 생성기에 있어서 생성하는 후보의 수를 한 개로 한정하는 것으로, 지시 정보의 출력을 생략할 수 있다. 후보의 수를 한 개로 한정하는 방법은 제한하는 것은 아니지만, 예를 들면, 세 개의 후보의 중간값을 사용하는 방법, 2개의 후보의 평균값을 사용하는 방법, 복수 개의 후보로부터 한 개를 선택하기 위한 우선 순위를 결정해 두는 방법 등 임의의 방법을 이용할 수 있다.
이하, 동화상 부호화 장치(10)의 동작에 대하여 설명하고, 일실시예에 관한 동화상 부호화 방법에 대하여 설명한다. 도 27은 일실시예에 관한 동화상 부호화 방법의 흐름도이다.
도 27에 나타낸 바와 같이, 일실시형태에 있어서는, 먼저, 스텝 S501에서 블록 분할기(501)가 입력 화상을 복수 개의 블록에 분할한다. 계속되는 스텝 S502에 서 소구획 생성기(502)가 전술한 바와 같이, 대상 블록을 복수 개의 소구획에 구분한다. 또한, 소구획 생성기(502)는 전술한 바와 같이 형상 정보를 생성한다.
이어서, 스텝 S503에서 움직임 검출기(504)가 전술한 바와 같이, 처리 대상의 소구획의 움직임 벡터를 구한다. 계속되는 스텝 S504에서 예측 신호 생성기(505)가 전술한 바와 같이, 대상 블록 내의 각 소구획의 움직임 벡터와 참조 프레임 화상 신호를 사용하여 상기 대상 블록의 예측 신호를 생성한다.
이어서, 스텝 S505에서 움직임 예측기(506)가 예측 움직임 벡터를 구한다. 또한, 움직임 예측기(506)는 예측 움직임 벡터의 복수 개의 후보로부터 선택한 후보를 특정하기 위한 지시 정보를 생성한다. 이 스텝 S505 처리의 상세한 사항은 후술한다. 계속되는 스텝 S506에서는 감산기(507)가 전술한 바와 같이 각 소구획의 움직임 벡터와 예측 움직임 벡터와의 차이를 구하여 차분 움직임 벡터를 생성한다.
이어서, 스텝 S507에서, 잔차신호 생성기(508)가 대상 블록의 화상 신호와 예측 신호와의 차이를 구하여 잔차신호를 생성한다. 계속되는 스텝 S508에서, 변환기(509)가 잔차신호를 직교변환 해 변환계수를 생성한다. 계속되는 스텝 S509에 있서, 양자화기(510)는 변환계수를 양자화하여 양자화 변환계수를 생성한다. 계속되는 스텝 S510에서, 역양자화기(511)가 양자화 변환계수를 역양자화하여 역양자화 변환계수를 생성한다. 계속되는 스텝 S511에서, 역변환기(512)가 역양자화 변환계수를 역변환하여 재생 잔차신호를 생성한다.
이어서, 스텝 S512에서, 가산기(513)가 대상 블록의 예측 신호와 재생 잔차신호를 가산함으로써, 재생 화상 신호를 생성한다. 계속되는 스텝 S513에서, 재생 화상 신호가 프레임 메모리(503)에 의해 기 재생의 화상 신호로서 기억된다.
이어서, 스텝 S514에서, 엔트로피 부호화기(514)가 양자화 변환계수와 대상 블록의 형상 정보와, 예측 움직임 벡터의 지시 정보와, 차분 움직임 벡터를 부호화한다.
이어서, 스텝 S515에서, 모든 블록이 처리되었는지의 여부가 판정된다. 모든 블록이 처리되어 있지 않은 경우에는, 처리되지 않은 블록을 대상으로 하여 스텝 S502의 처리가 계속된다. 한편, 모든 블록의 처리가 종료된 경우에는 처리가 종료된다.
이하, 움직임 예측기(506)의 동작에 대하여 보다 상세하게 설명한다. 도 28은 일실시예에 관한 움직임 예측기의 처리를 나타낸 흐름도이다. 움직임 예측기(506)는 도 28에 나타난 흐름도에 따라 예측 움직임 벡터(이하, PMV) 및 PMV를 특정하기 위한 지시 정보를 출력한다.
도 28에 나타난 바와 같이, 움직임 예측기(506)의 처리에서, 먼저, 스텝 S 505-1에서, 카운터 i의 값이 0으로 설정된다. 이하, i=0일 때, 제1 소구획에 대한 처리가 행해지고, i=1일 때는 제2 소구획에 대한 처리가 행해진다.
이어서, 스텝 S505-2에서, 처리된 부분 영역의 움직임 벡터로부터, 처리 대상의 소구획의 PMV의 후보가 후술하는 방법에 따라 생성된다. PMV의 후보의 수는 본 예에서는 두 개이다. 즉, PMV의 후보로서 처리 대상의 소구획 좌측의 처리된 부분 영역의 움직임 벡터 및 위쪽의 처리된 부분 영역의 움직임 벡터가 처리 대상인 소구획의 예측 움직임 벡터의 후보로서 설정될 수 있다. 스텝 S505-2에서, 생성된 후보의 수가 Ncand로 설정된다.
이어서, 스텝 S505-3에서, NCand가 "0"인지 여부가 판정된다. NCand가 "0"인 경우(Yes)에는, 처리가 스텝 S505-4로 진행한다. NCand가 "0"이 아닌 경우(No)에는, 처리는 스텝 S505-5로 진행한다.
스텝 S505-4에서, PMV가 제로 벡터에 설정되고 처리는 스텝 S505-10으로 진행한다. 이때, PMV는 제로 벡터가 아니고, 미리 정해진 블록의 움직임 벡터나 처리 대상의 소구획 직전에 처리된 부분 영역의 움직임 벡터 등에 설정되어도 된다.
스텝 S505-5에서, NCand가 "1"인지 여부가 판정된다. NCand가 "1"인 경우(Yes)에는, 처리는 스텝 S505-10으로 진행한다. NCand가 "1"이 아닌 경우(No)에는, 처리는 스텝 S505-6으로 진행한다.
스텝 S505-6에서, 스텝 S505-2에서 생성된 PMV의 후보로부터 PMV가 선택된다. PMV로서는 처리 대상 소구획의 움직임 벡터에 대한 차분이 최소로 되는 후보가 선택된다.
이어서, 스텝 S505-7에서, 스텝 S505-6에서 선택된 PMV가 좌측의 후보, 즉 좌측의 부분 영역의 움직임 벡터 인지 여부가 판정된다. 스텝 S505-6에서 선택된 PMV가 좌측의 후보인 경우(Yes)에는, 처리는 스텝 S505-8로 진행한다. 스텝 S505-6에서 선택된 PMV가 좌측의 후보가 아닌 경우(No)에는, 처리는 스텝 S505-9로 진행한다.
스텝 S505-8에서, 처리 대상 소구획의 좌측의 부분 영역의 움직임 벡터를 PMV로 하는 지시 정보 pmv_left_flag=1이 출력된다. 한편, 스텝 S505-9에서, 처리 대상 소구획의 위쪽의 부분 영역의 움직임 벡터를 PMV로 하는 지시 정보 pmv_left_flag=0이 출력된다.
이어서, 스텝 S505-10에서, 후보로서 남은 PMV가 출력된다. 계속되는 스텝 S505-11에서, 카운터 i의 값에 "1"이 가산된다.
이어서, 스텝 S505-12에서, 카운터 i의 값이 "2"보다 작은지 아닌지가 판정된다. 카운터 i의 값이 "2"보다 작은 경우(Yes)에는, 처리는 스텝 S505-2로 진행한다. 카운터 i의 값이 "2"보다 작고 없는 경우(No)에는 처리가 종료된다.
그리고, 스텝 S505-2에서, 생성된 후보의 수를 1개로 한정하는 것으로, 스텝 S505-5, S505-6, S505-7, S505-8, S505-9를 생략할 수 있다. 이 한정 방법은, 제한적인 것은 아니지만, 예측 움직임 벡터 생성기(5063)의 설명에서 전술한 바와 같이, 예를 들면, 세 개의 후보의 중간값을 사용하는 방법, 2개의 후보의 평균값을 사용하는 방법, 복수 개의 후보로부터 1개의 후보를 선택하기 위한 우선 순위를 결정해 두는 방법 등의 방법이 이용 가능하다. 스텝 S505-2에서 생성되는 후보의 수가 1개로 한정되는 형태에서는, 스텝 S505-3에서 NCand가 "0"이 아닌 경우(No)에 처리는 스텝 S505-10으로 진행한다.
이하, 스텝 S505-2에서, 처리 대상 소구획의 예측 움직임 벡터의 후보의 생성 방법에 대하여 보다 상세하게 설명한다. 도 29는 대상 블록의 소구획과 주위의 부분 영역의 일례를 나타낸 도면이다.
움직임 참조 대상 후보 생성기(5062)는 도 29에 나타난 바와 같이, 제1 소구획(SP1)에 대하여 부분 영역 U1 및 부분 영역 L1를 참조하고 각각의 부분 영역이 프레임 사이 예측에 의해 처리된 경우에는 그 부분 영역의 움직임 벡터를 제1 소구획(SP1)의 예측 움직임 벡터의 후보로 한다. 마찬가지로, 움직임 참조 대상 후보 생성기(5062)는 제2 소구획에 대하여 부분 영역 U2 또는 부분 영역 L2를 참조하고 제2 소구획의 예측 움직임 벡터의 후보를 생성한다. 여기서, 부분 영역 U1, L1, U2, L2는 대상 블록(P) 주위의 블록 또는 소구획으로서 예측 신호를 생성하는 단위가 되는 영역이다. 또한, 부분 영역은 예측 신호를 생성하는 단위와는 관계없는 것으로, 예측 움직임 벡터의 후보 생성을 위해 준비되는 블록(예를 들면, 단일 형상으로 구분하여 생성되는 것)이라도 된다.
부분 영역 U1는 제1 소구획(SP1)의 가장 좌측 위의 화소 F(0, 0) 위쪽에 인접하는 화소 Pi1(0, -1)를 포함하는 부분 영역이며, 소구획 SP1에 접하고 있는 부분 영역이다. 또한, 부분 영역 L1는 제1 소구획(SP1)의 가장 좌측 위의 화소 F(0, 0) 좌측에 인접하는 화소 Pi2(-1, 0)를 포함하는 부분 영역이며, 제1 소구획(SP1)에 접하고 있는 부분 영역이다. 부분 영역 U2는 화소 Pi3(x1, -1)를 포함하는 부분 영역 우측에 인접하는 부분 영역으로서 x축에 접하고 있는 부분 영역이다. 부분 영역 L2는 화소 Pi4(-1, y1)를 포함하는 부분 영역 아래쪽에 인접하는 부분 영역으로서 y축에 접하고 있는 부분 영역이다.
화소 Pi3의 x좌표 x1 및 화소 Pi4의 y좌표 y1은 식(3) 및 식(4)에서 산출된다.
[식 3]
x1=ceil(-k/m)
[식 4]
y1=ceil(k)
식(3) 및 식(4)는 제1 소구획(SP1)과 제2 소구획(SP2)을 구분하는 경계의 연장선(Ln)을 나타내는 1차식 (1)에 y=0, x=0을 각각 대입한 값에 ceil(z)함수를 적용한 것이다. ceil(z)는 천정 함수라는 것이며, 실수 z에 대하여 z 이상의 최소의 정수를 도출하기 위한 함수이다.
그리고, ceil 함수 대신에 floor 함수가 이용되어도 된다. floor(z)는 바닥 함수라는 것이며, 실수 z에 대하여 z 이하의 최대의 정수를 도출하기 위한 함수이다.
또한, 식(5) 및 식(6)에 의해 x1 및 y1가 산출되어도 된다.
[식 5]
x1=ceil((-1-k)/m)
[식 6]
y1=ceil(-m+k)
식(5) 및 식(6)은 식(1)에 y=-1, x=-1을 각각 대입함으로써 얻어지는 값에 ceil(z)함수를 적용한 것이다.
부분 영역 U2 및 L2가 존재하는지의 여부는 이하에 설명한다. 부분 영역 U2가 존재하는 조건은 화면 내인 것 또한 식(7)을 만족시키는 것이다. 또한, 부분 영역 L2가 존재하는 조건은 화면 내인 것 또한 식(8)을 만족시키는 것이다.
[식 7]
0<x1
[식 8]
0<y1
식(7)의 조건을 만족시키지 못하는 경우, 제2 소구획(SP2)와 부분 영역 U2의 사이에 부분 영역 L2가 존재하게 된다. 그 경우, 제2 소구획(SP2)에 가까운 부분 영역 L2보다 제2 소구획(SP2)으로부터 먼 부분 영역 U2쪽이 제2 소구획(SP2)의 움직임 벡터에 가까운 움직임 벡터를 가질 가능성이 작다. 이와 같은 경우에, 식(7)의 조건에 따라 부분 영역 U2의 움직임 벡터를 예측 움직임 벡터의 후보에서 제외할 수 있다.
마찬가지로, 식(8)의 조건을 만족시키지 못하는 경우, 제2 소구획(SP2)와 부분 영역 L2의 사이에 부분 영역 U2가 존재하게 된다. 그 경우, 제2 소구획(SP2)에 가까운 부분 영역 U2보다 제2 소구획(SP2)으로부터 먼 부분 영역 L2쪽이 제2 소구획(SP2)의 움직임 벡터에 가까운 움직임 벡터를 가질 가능성이 작다. 그와 같은 경우, 식(8)의 조건에 따라 부분 영역 U2의 움직임 벡터를 예측 움직임 벡터의 후보에서 제외할 수 있다.
그리고, 일례에 있어서, 식(7) 및 식(8)의 조건을 대신하여, 이하의 식(9) 및 식(10)에서 규정되는 조건이 이용되어도 된다.
[식 9]
0<x1<blocksizeX
[식 10]
0<y1<blocksizeY
여기서, blocksizeX 및 blocksizeY는 대상 블록(P)의 수평 방향의 화소수, 수직 방향의 화소수이다. 예를 들면, 대상 블록(P)이 8×8화소의 블록인 경우에는 blocksizeX=8, blocksizeY=8이다.
식(9) 또는 식(10)의 조건을 사용함으로써, 부분 영역 U2와 부분 영역 L2중, 제2 소구획(SP2)에 접하고 있지 않은 부분 영역의 움직임 벡터를 예측 움직임 벡터의 후보로부터 제외할 수 있다. 이로써, 예측 정밀도가 높은 것으로 고려되는 예측 움직임 벡터의 후보만이 남겨질 수 있다.
이와 같이 부분 영역 U1, L1, U2, L2를 설정함으로써, 각 소구획의 예측 움직임 벡터의 후보는 소구획 사이의 경계의 연장선에 대하여 같은 측에 있는 처리된 부분 영역의 움직임 벡터로부터 생성된다.
그리고, 소구획 SP2의 예측 움직임 벡터의 후보는 소구획 SP2와 소구획 SP2를 포함하는 대상 블록의 다른 소구획과의 경계의 연장선(Ln)에 대하여 소구획 SP2와 같은 측의 영역에 있는 부분 영역의 움직임 벡터로부터 생성되고 전술한 실시형태의 예측 움직임 벡터의 생성 방법에 한정되는 것은 아니다. 예를 들면, 부분 영역 U2는 화소 Pi3를 포함하는 부분 영역도 되고 부분 영역 L2는 화소 Pi4를 포함하는 부분 영역도 된다.
또한, 부분 영역의 전체가 선 Ln에 대하여 소구획 SP2와 같은 측의 영역에 있는 것을 상기 부분 영역의 움직임 벡터를 소구획 SP2의 예측 움직임 벡터의 후보와 더하는 조건으로도 된다. 이 경우, 예를 들면, 부분 영역의 모든 정점의 위치를 검사하는 방법을 이용할 수 있다.
또한, 부분 영역이 연장선에 대하여 소구획과 같은 측의 영역에 완전하게 포함되어 있지 않아도, 상기 부분 영역의 움직임 벡터를 상기 소구획의 예측 움직임 벡터의 후보로 사용해도 된다. 도 30은 대상 블록의 소구획과 주위의 부분 영역의 다른 일례를 나타낸 도면이다. 도 30에 일례로서 나타난 바와 같이, 제1 소구획(SP1)의 예측 움직임 벡터의 후보로서 부분 영역 RA, RB, RG, 및 RE의 움직임 벡터가 이용되어도 된다. 또한, 제2 소구획(SP2)의 예측 움직임 벡터의 후보에 부분 영역 RE의 예측 움직임 벡터를 더해도 된다.
또한, 도 28 및 도 29에 관한 설명에서, 예측 움직임 벡터의 후보가 되는 움직임 벡터의 수를 최대 2개로 하였으나, 전술한 조건에 따라 구해지는 움직임 벡터로부터 두 개가 선택되어도 된다. 예를 들면, 도 29에 나타내는 부분 영역 U2의 움직임 벡터와 부분 영역 U2에 인접하는 부분 영역의 움직임 벡터가 예측 움직임 벡터의 후보가 되어도 된다. 마찬가지로, 부분 영역 L2의 움직임 벡터와 부분 영역 U2에 인접하는 부분 영역의 움직임 벡터가 예측 움직임 벡터의 후보가 되어도 된다. 또한, 전술한 조건에 따라 특정되는 움직임 벡터로부터 세 개 이상의 움직임 벡터가 예측 움직임 벡터의 후보가 되어도 된다. 또한, 복수 개의 예측 움직임 벡터의 후보의 평균값 또는 중앙값이 예측 움직임 벡터의 후보에 더해져도 된다.
또한, 도 28의 스텝 S505-2에서 생성되는 예측 움직임 벡터의 후보의 수를 최대 1개로 한정하는 방법으로 구획의 형상 정보를 사용할 수 있다. 예를 들면, 처리 대상의 소구획에 접하는 부호화가 끝난 부분 영역 중 상기 소구획과 접하고 있는 부분의 길이가 최대인 부분 영역의 움직임 벡터를 예측 움직임 벡터의 후보로 해도 된다. 또한, 처리 대상의 소구획으로부터 최단 거리가 가장 짧은 부호화가 끝난 부분 영역의 움직임 벡터를 상기 소구획의 예측 움직임 벡터의 후보로 해도 된다.
또한, 전술한 예측 움직임 벡터의 후보의 생성 방법은 임의의 형상의 소구획에 적용할 수 있다. 도 31은 대상 블록의 소구획과 주위의 부분 영역의 또 다른 예를 나타낸 도면이다. 도 31A는 도 29에 나타난 선 Ln과는 y축과 교차하는 좌표 및 기울기가 다른 선 Ln에 의해 구획되는 소구획을 나타내고 있다. 도 31B는 도 29에 나타난 선 Ln과는 y축에 대하여 기울기가 대략 대칭이며 y축과 교차하는 좌표가 다른 선 Ln에 의해 구획되는 소구획을 나타내고 있다. 도 31C는 2개의 선 Ln1 및 Ln2에 의해 구획되는 소구획을 나타내고 있다. 또한, 도 31D는 서로 교차하는 2개의 선Ln1 및 Ln2에 의해 구획되는 소구획을 나타내고 있다. 도 31A~31D에 나타난 바와 같은 경계의 연장선을 기준으로 해도, 소구획 SP2의 예측 움직임 벡터의 후보가 될 수 있는 움직임 벡터를 가지는 부분 영역 L2 및 U2를 전술한 예측 움직임 벡터의 후보의 생성 방법에 따라 특정할 수 있다.
또한, 소구획은 직선으로 구획된 소구획 만으로 한정되지 않는다. 예를 들면, 미리 결정된 패턴 중에서 소구획의 형상을 선택하는 경우에도, 소구획 사이의 경계의 연장선에 대하여 처리 대상의 소구획과 같은 측의 영역에 속하는 부호화가 끝난 부분 영역의 움직임 벡터를 예측 움직임 벡터의 후보로서 사용할 수 있다. 그리고, 소구획의 형상의 패턴이 미리 정해져 있는 경우에는 각 형상 패턴에 대하여, 예측 움직임 벡터의 후보가 되는 움직임 벡터를 가지는 부분 영역을 미리 정해 두는 경우도 가능하다. 이 패턴에 대상 블록을 직사각형으로 구분하는 패턴이 포함되어 있어도 된다.
또한, 전술한 예측 움직임 벡터의 선택 방법은 부호화가 끝난 부분 영역의 움직임 벡터를 사용하여 처리 대상의 소구획의 예측 신호를 생성할 때의 움직임 벡터의 선택 방법으로도 적용할 수 있다. 즉, 도 28의 스텝 S505-2에 의해 선택된 예측 움직임 벡터를 사용하여 처리 대상의 소구획의 예측 신호가 생성되어도 된다. 이 경우, 차분 움직임 벡터를 부호화할 필요가 없기 때문에 움직임 예측기(506)로부터 출력되는 예측 움직임 벡터는 감산기(507)가 아니라 예측 신호 생성기(505)로 출력된다.
또한, 동화상 부호화 장치(10)는 차분 움직임 벡터를 부호화하는지의 여부를 판단하고, 그 판단 결과를 특정하는 적용 정보를 부호화해도 된다. 이 변형 형태에서, 움직임 예측기(506)는 적용 정보에 따라 예측 움직임 벡터를 감산기(507)로 출력하거나 예측 신호 생성기(505)로 출력하는 전환 기능을 포함할 수 있다.
그리고, 이 변형 형태에서, 대상 블록 내의 모든 소구획의 움직임 벡터가 같게 되는 것은 대상 블록을 구분하는 의미가 없어지므로 바람직하지 않다. 즉, 도 28의 스텝 S505-2에서 처리 대상의 소구획의 움직임 벡터의 후보를 생성할 때, 대상 블록에 포함되는 부호화가 끝난 소구획의 움직임 벡터를 후보로부터 제외해도 된다. 예를 들면, 대상 블록이 2개의 소구획으로 구획되어 있고, 제1 소구획의 움직임 벡터가 먼저 부호화된 경우에는, 제1 소구획의 움직임 벡터는 제2 소구획의 예측 움직임 벡터의 후보로부터 제외된다. 또한, 제1 소구획의 움직임 벡터와 부분 영역 U2의 움직임 벡터가 같은 경우에는, 부분 영역 U2의 움직임 벡터를 제2 소구획의 예측 움직임 벡터의 생성에는 이용하지 않아도 된다.
차분 움직임 벡터를 부호화하는지의 여부를 지시하는 경우, 상기의 적용 정보를 산술 부호화할 때의 발생 확률을 소구획의 형상 정보에 따라 적응적으로 결정해도 된다. 예를 들면, 제2 소구획의 차분 움직임 벡터를 부호화하지 않은 것을 나타내는 적용 정보의 발생 확률보다 제1 소구획의 차분 움직임 벡터를 부호화하지 않은 것을 나타내는 적용 정보의 발생 확률을 높게 설정할 수 있다. 이것은 제2 소구획이 부호화가 끝난 부분 영역과 접하지 않는 한편, 제1 소구획은 항상 부호화가 끝난 부분 영역과 접하므로, 이와 같이 발생 확률을 설정함으로써, 적용 정보의 부호량을 줄일 수 있기 때문이다.
여기서, 간단하게, 대상 블록을 직사각형으로 분할한 예를 나타낸 도 32를 참조하여 일실시형태의 효과를 설명한다. 이 예에서, 대상 블록(P)은 직선(Ln)에 의해 좌측의 소구획 SP1과 우측의 소구획 SP2에 구획되어 있다. 이 예에서, 제1 소구획(SP1)의 움직임 벡터와 부분 영역 RB의 움직임 벡터가 제2 소구획(SP2)의 예측 움직임 벡터의 후보가 된다.
도 32에 나타난 예에서, 제1 소구획(SP1)의 움직임 벡터를 사용하여 제2 소구획(SP2)의 예측 신호를 생성하면 제1 소구획(SP1)의 예측 신호와 제2 소구획(SP2)의 예측 신호는 같은 움직임 벡터로 생성되어 대상 블록을 2개의 소구획으로 나누는 의미가 없어진다. 그러므로, 제2 소구획(SP2)의 예측 신호는 상기 소구획 SP2의 위쪽 부분 영역 RB의 움직임 벡터를 사용하여 생성될 수 있다. 따라서, 부호화 장치와 복호 장치가 도 32에 나타낸 예에서 제2 소구획(SP2)의 예측 신호를 부분 영역 RB의 움직임 벡터를 사용하여 생성하는 것을 미리 결정해 둠으로써, 예측 움직임 벡터의 후보가 줄어들어 복수 개의 예측 움직임 벡터의 후보로부터 1개의 예측 움직임 벡터를 지시하기 위한 지시 정보를 보낼 필요가 없어진다.
또한, 동화상 부호화 장치(10)가 차분 움직임 벡터의 부호화의 여부를 판단하는 방법(움직임 예측기(506)가 적용 정보에 따라 예측 움직임 벡터를 감산기(507)로 출력하거나, 예측 신호 생성기(505)로 출력하는 전환)에 대하여 고찰한다. 이 때, 부분 영역 RB의 움직임 벡터가 제1 소구획(SP1)의 움직임 벡터와 같으면, 2개의 예측 움직임 벡터의 후보의 어느 것을 선택해도 제2 소구획(SP2)의 예측 움직임 벡터는 제1 소구획(SP1)의 움직임 벡터와 같게 된다. 따라서, 부호화 장치와 복호 장치가 2개의 예측 움직임 벡터의 후보가 같은 경우, 차분 움직임 벡터와 예측 움직임 벡터를 가산한 움직임 벡터에 의해 제2 소구획(SP2)의 예측 신호를 생성하는 것을 미리 결정해 둠으로써, 상기 지시 정보에 더하여 차분 움직임 벡터를 부호화하는지의 여부를 지시하는 적용 정보도 보낼 필요가 없어진다.
그리고, 도 33에 나타난 바와 같이, 대상 블록이 3개 이상의 소구획으로 구획되어 있는 경우, 제1 소구획(SP1), 제2 소구획(SP2), 및 제3 소구획(SP3)이 같은 움직임 벡터를 가지고 제4 소구획(S LP4)만이 상이한 움직임 벡터를 가진다면, 대상 블록을 단락짓는 의미가 있다. 따라서, 이 경우에는, 제2 소구획(SP2)의 예측 신호와 제3 소구획(SP3)의 예측 신호는 각각 부분 영역 RB, 부분 영역 RE의 움직임 벡터가 아니라 제1 소구획(SP1)의 움직임 벡터를 사용하여 생성해도 된다. 단, 제4 소구획(SP4)에 대하여는 제2 소구획(SP2)의 움직임 벡터와 제3 소구획(SP3)의 움직임 벡터가 같으면, 2개의 예측 움직임 벡터의 후보가 같아지므로, 미리 부호화 장치와 복호 장치에서 규칙을 결정해 둠으로써, 1개의 예측 움직임 벡터를 지시하기 위한 지시 정보를 보낼 필요는 없어진다. 또한, 제1 소구획(SP1), 제2 소구획(SP2), 및 제3 소구획(SP3)이 같은 움직임 벡터를 가지는 경우에, 제4 소구획(SP4)의 예측 신호를 제2 소구획(SP2) 또는 제3 소구획(SP3)의 움직임 벡터를 사용하여 생성하면, 네 개의 구획이 모두 같은 움직임 벡터를 갖게 되므로 부호화 장치와 복호 장치에서 규칙을 미리 정해 둠으로써, 상기 지시 정보에 더하여 차분 움직임 벡터를 부호화하는지의 여부를 지시하는 적용 정보도 보낼 필요가 없어진다.
이하, 일실시예에 관한 동화상 복호 장치에 대하여 설명한다. 도 34는 일실시예에 관한 동화상 복호 장치의 구성을 개략적으로 나타낸 도면이다. 도 34에 나타난 동화상 복호 장치(20)는 동화상 부호화 장치(10)에 의해 생성된 압축 스트림을 복호하여 동화상을 생성할 수 있는 장치이다.
도 34에 나타난 바와 같이, 동화상 복호 장치(20)는 데이터 복호기(601), 움직임 예측기(602), 가산기(603), 역양자화기(604), 역변환기(605), 프레임 메모리(606), 예측 신호 생성기(607), 및 가산기(608)를 구비한다.
데이터 복호기(601)는 라인(L601)을 경유하여 입력된 압축 스트림을 해석한다. 데이터 복호기(601)는 복호의 대상이 되는 블록(이하, 대상 블록)에 관하여 이하의 처리를 차례로 행한다.
데이터 복호기(601)는 압축 스트림 내의 대상 블록과 관련된 부호화 데이터를 복호하고 대상 블록의 양자화 변환계수를 복원하여 상기 양자화 변환계수를 라인(L602)을 경유하여 출력한다. 또한, 데이터 복호기(601)는 부호화 데이터를 복호하고 대상 블록의 형상 정보를 복원하여 상기 형상 정보를 라인(L603)을 경유하여 출력한다. 이 때, 대상 블록을 구분하는지의 여부를 지시하는 구획 여부 정보가 복원되어 있고 상기 구획 여부 정보가 대상 블록을 구분하지 않는 것을 나타내고 있는 경우에는 형상 정보는 복원되지 않아도 된다.
또한, 데이터 복호기(601)는 부호화 데이터를 복호 함으로써 대상 블록 내의 각 소구획용 지시 정보, 즉 복수 개의 예측 움직임 벡터 후보 중 1개를 지시하는 정보로 복원하여, 상기 지시 정보를 라인(L604)을 경유하여 출력한다. 또한, 데이터 복호기(601)는 부호화 데이터를 복호 함으로써 대상 블록의 차분 움직임 벡터를 복원하여, 상기 차분 움직임 벡터를 라인(L605)을 경유하여 출력한다. 또한, 데이터 복호기(601)는 대상 블록의 형상 정보에 따라 예측 움직임 벡터의 지시 정보를 복원할 때의 부호화 데이터의 복호에서의 발생 확률을 적응적으로 결정할 수 있다. 이 방법으로, 예를 들면, 처리 대상의 소구획과 접하고 있는 부분 영역의 움직임 벡터를 예측 움직임 벡터로서 지시하는 지시 정보의 발생 확률을 높게 할 수 있다.
움직임 예측기(602)는 라인(603)을 경유하여 입력되는 형상 정보와 라인(L606)을 경유하여 입력된 처리순서상 이전의 부분 영역 움직임 벡터와 라인(L604)을 경유하여 입력되는 지시 정보에 따라 처리 대상의 소구획의 예측 움직임 벡터를 생성하고 상기 예측 움직임 벡터를 라인(L607)을 경유하여 출력한다. 그리고, 소정의 방법으로 예측 움직임 벡터의 후보를 1개로 좁혀 지시 정보의 입력을 생략할 수도 있다.
가산기(603)는 라인(L607)을 경유하여 입력되는 예측 움직임 벡터와 라인(L605)을 경유하여 입력되는 차분 움직임 벡터를 가산하고, 대상 블록 또는 상기 대상 블록 내의 소구획의 움직임 벡터를 생성하고, 상기 움직임 벡터를 라인(L606)을 통하여 출력한다.
역양자화기(604) 라인(L602)을 경유하여 입력된 양자화 변환계수를 역양자화하는 것으로, 역양자화 변환계수를 생성한다. 역양자화기(604)는 생성된 역양자 화 변환계수를 라인(L608)을 경유하여 출력한다.
역변환기(605)는 라인(L608)을 경유하여 입력된 역양자화 변환계수를 역직교변환함으로써, 재생 잔차신호를 생성한다. 역변환기(605)는 생성된 재생 잔차신호를 라인(L609)을 경유하여 출력한다.
그리고, 생성된 재생 잔차신호가 양자화되어 있지 않은 경우에는, 동화상 복호 장치(20)는 역양자화기(604)를 구비하지 않아도 된다. 마찬가지로 생성된 재생 잔차신호가 변환되어 있지 않은 경우에는, 동화상 복호 장치(20)는 역변환기(605)를 구비하지 않아도 된다.
프레임 메모리(606)는 라인(L610)을 경유하여 입력되는 기 재생의 화상 신호, 즉 처리 대상의 입력 화상보다 처리순서상 이전의 프레임 화상 신호(이하, 참조 프레임 화상 신호)를 저장한다. 또한, 프레임 메모리(606)는 라인(L611)을 경유하여 참조 프레임 화상 신호를 출력한다.
예측 신호 생성기(607)는 라인(L611)을 경유하여 입력되는 참조 프레임 화상 신호의 소정 범위 내의 화상 신호로부터 라인(L606)을 경유하여 입력되는 움직임 벡터와 라인(L603)을 경유하여 입력되는 형상 정보에 따라 대상 블록 내의 각 소구획의 화상 예측 신호를 생성한다. 예측 신호 생성기(607)는 라인(L612)을 경유하여, 생성된 예측 신호를 출력한다. 그리고, 본 명세서에 있어서는 설명을 생략하였으나, 예측 신호는 화면 사이 예측 이외에도, 화면 내 예측에 의해 생성되어도 된다.
가산기(608)는 라인(L609)을 경유하여 입력되는 재생 잔차신호와 라인(L612)을 경유하여 입력되는 대상 블록의 예측 신호를 가산함으로써, 재생 화상 신호를 생성한다. 가산기(608)는 재생 화상 신호를 라인(L610)을 경유하여 출력한다.
도 35는 일실시예에 관한 움직임 예측기의 구성을 나타낸 도면이다. 도 35에 나타난 바와 같이, 움직임 예측기(602)는 움직임 벡터 메모리(6021), 움직임 참조 대상 후보 생성기(6022), 및 예측 움직임 벡터 생성기(6023)를 구비한다.
움직임 벡터 메모리(6021)는 라인(L606)을 경유하여 입력되는 움직임 벡터를 저장한다. 움직임 벡터 메모리(6021)에 저장되는 움직임 벡터는 대상 블록 또는 처리 대상의 소구획보다 처리순서상 이전에 처리된 부분 영역의 움직임 벡터이다. 움직임 벡터 메모리(6021)는 저장한 움직임 벡터를 처리 대상의 소구획용 예측 움직임 벡터의 도출을 위하여 라인(L6021)을 경유하여 출력한다.
움직임 참조 대상 후보 생성기(6022)는 라인(L603)을 경유하여 입력되는 형상 정보에 근거하여 후술하는 방법에 따라 라인(L6021)을 경유하여 입력되는 움직임 벡터로부터 예측 움직임 벡터의 후보를 생성하고 라인(L6022)을 경유하여 출력한다.
예측 움직임 벡터 생성기(6023)는 라인(L6022)을 경유하여 입력되는 예측 움직임 벡터의 후보로부터 라인(L604)을 경유하여 입력되는 예측 움직임 벡터의 지시 정보에 따라 예측 움직임 벡터를 결정하고 결정한 예측 움직임 벡터를 라인(L607)을 경유하여 출력한다. 그리고, 움직임 참조 대상 후보 생성기에서 생성되는 후보의 수를 1개로 한정하여 선택해야 할 후보를 특정하는 지시 정보의 입력을 생략할 수 있다.
이하, 동화상 복호 장치(20)의 동작, 일실시예에 관한 동화상 복호 방법에 대하여 설명한다. 도 36은 일실시예에 관한 동화상 복호 방법의 흐름도이다. 도 36에 나타난 바와 같이, 일실시형태에 있어서, 먼저, 스텝 S621에서, 데이터 복호기(601)가 전술한 바와 같이, 대상 블록에 관하여 압축 데이터 내의 부호화 데이터를 복호하고 대상 블록의 양자화 변환계수, 형상 정보, 및 차분 움직임 벡터를 복원한다. 또한, 스텝 S621에서 구획 여부 정보 및 지시 정보가 복원될 수 있다. 또한, 스텝 S621에서 역양자화기(604)가 복원된 양자화 변환계수로부터 역양자화 변환계수를 생성하고, 역변환기(605)가 역양자화 변환계수로부터 재생 잔차신호를 생성할 수 있다.
이어서, 스텝 S622에서 움직임 예측기(602)가 대상 블록 내의 각 소구획을 처리 대상으로 하여 처리 대상 소구획의 예측 움직임 벡터를 구한다. 계속되는 스텝 S623에서 가산기(603)가 처리 대상 소구획의 예측 움직임 벡터와 차분 움직임 벡터를 가산함으로써 움직임 벡터를 생성한다.
이어서, 스텝 S624에서 예측 신호 생성기(607)가 대상 블록의 움직임 벡터를 사용하여 프레임 메모리(606) 내의 참조 프레임 화상 신호로부터 예측 신호를 생성한다. 계속되는 스텝 S625에서 가산기(608)가 대상 블록의 예측 신호와 재생 잔차신호를 가산함으로써 재생 화상 신호를 생성한다.
이어서, 스텝 S626에서는 스텝 S625에서 생성된 재생 화상 신호가 기 재생의 화상 신호로서 프레임 메모리(606)에 저장된다. 계속되는 스텝 S627에서 모든 블록에 대하여 처리가 행해졌는지 여부가 판정된다. 모든 블록에 대한 처리가 종료되어 있지 않은 경우에 처리되지 않은 블록을 대상 블록으로 하여 스텝 S621의 처리가 계속된다. 한편, 모든 블록의 처리가 종료된 경우에 처리는 종료된다.
이하, 움직임 예측기(602)의 동작에 대하여 상세하게 설명한다. 도 37은 일실시예에 관한 움직임 예측기의 처리를 나타낸 흐름도이다. 움직임 예측기(602)는 도 37에 나타난 흐름도에 따라 예측 움직임 벡터를 생성한다.
일실시형태에 있어서, 스텝 S615-1에서 카운터 i의 값이 "0"으로 설정된다. 이하, i=0일 때는 제1 소구획에 대한 처리가 행해지고, i=1일 때는 제2 소구획에 대한 처리가 행해진다.
이어서, 스텝 S615-2에서 처리 대상의 소구획으로부터 처리순서상 이전의 부분 영역 움직임 벡터 중, 처리 대상 소구획의 예측 움직임 벡터가 될 수 있는 2가지의 후보(좌측의 후보 및 위쪽의 후보)가 도 29, 도 30, 도 31, 도 32, 및 도 33을 사용하여 전술한 방법에 따라 구해진다.
이어서, 스텝 S615-3에서는 스텝 S615-2에서 생성된 후보의 수 NCand가 "0"인지의 여부가 판정된다. NCand가 "0"인 경우(Yes)에 처리는 스텝 S615-4로 진행한다. NCand가 "0"이 아닌 경우(No)에 처리는 스텝 S615-5로 진행한다.
스텝 S615-4에서 예측 움직임 벡터 PMV가 제로 벡터에 설정되고 처리는 스텝 S615-11로 진행한다. 이 때, 제로 벡터가 아니고, 미리 정해 둔 블록의 움직임 벡터나 처리 대상 소구획에 대하여 처리순서상 직전의 부분 영역 움직임 벡터가 예측 움직임 벡터 PMV로서 설정되어도 된다.
스텝 S615-5에서는 스텝 S615-2에서 생성된 후보의 수 NCand가 "1"인지의 여부가 판정된다. NCand가 "1"인 경우(Yes)에 처리는 스텝 S615-6으로 진행한다. NCand가 "1"이 아닌 경우(No)에 처리는 스텝 S615-7로 진행한다.
스텝 S615-6에서는 스텝 S615-2에서 생성된 1개의 후보가 PMV에 설정된다. 그리고, 처리는 스텝 S615-11로 진행한다.
스텝 S615-7에서는 스텝 S615-2에서 생성된 후보로부터 선택해야 할 PMV를 지시하기 위한 정보 pmv_left_flag가 취득된다. 그리고, 처리는 스텝 S615-8로 진행한다.
스텝 S615-8에서 pmv_left_flag의 값이 "1"인지의 여부가 판정된다. pmv_left_flag의 값이 "1"인 경우(Yes)에 처리는 스텝 S615-9로 진행한다. pmv_left_flag의 값이 "1"이 아닌 경우(No)에 처리는 스텝 S615-10으로 진행한다.
스텝 S615-9에서 처리 대상 소구획의 좌측의 부분 영역 움직임 벡터가 PMV에 설정된다. 그리고, 처리는 스텝 S615-11로 진행한다.
스텝 S615-10에서 처리 대상 소구획의 좌측의 부분 영역 움직임 벡터가 PMV에 설정된다. 그리고, 처리는 스텝 S615-11로 진행한다.
스텝 S615-11에서 설정된 PMV가 출력된다. 그리고, 처리는 스텝 S615-12로 진행한다.
이어서, 스텝 S615-12에서 카운터 i의 값에 "1"이 가산된다. 그리고, 처리는 스텝 S615-13으로 진행한다.
이어서, 스텝 S615-13에서 카운터 i의 값이 "2"보다 작은지 아닌지가 판정된다. 카운터 i의 값이 "2"보다 작은 경우(Yes)에 처리는 스텝 S615-2로 진행한다. 한편, 카운터 i의 값이 "2"보다 작고 없는 경우(No)에 처리는 종료된다.
그리고, 스텝 S615-2에서, 생성된 예측 움직임 벡터의 후보의 수를 1개로 한정하여 스텝 S615-5, S615-6, S615-7, S615-8, S615-9, S615-10의 처리를 생략할 수 있다. 이 한정 방법은 예측 움직임 벡터 생성기(6023)에 대하여 전술한 바와 같이, 제한하는 것은 아니지만, 예를 들면, 세 개의 후보의 중간값을 사용하는 방법, 2개의 후보의 평균값을 사용하는 방법, 복수 개의 예측 움직임 벡터의 후보로부터 1개의 예측 움직임 벡터를 선택하기 위한 우선 순위를 결정해 두는 방법 등을 이용할 수 있다. 그 경우에, 스텝 S615-03에서 NCand가 "0"이 아닌 경우(No)에 처리는 스텝 S615-6으로 진행한다.
또한, 전술한 방법은 복호가 끝난 움직임 벡터를 사용하여 처리 대상 소구획의 예측 신호를 생성하는 경우의 움직임 벡터 선택 방법으로서 적용될 수 있다. 즉, 도 37의 스텝 S615-2에 의해 선택된 예측 움직임 벡터를 사용하여 처리 대상 소구획의 예측 신호를 생성해도 된다. 이 경우에, 차분 움직임 벡터를 복호할 필요가 없기 때문에 움직임 예측기(602)로부터 출력되는 예측 움직임 벡터는 가산기(603)가 아니라 예측 신호 생성기(607)로 출력된다.
또한, 차분 움직임 벡터를 복호하는지의 여부를 특정하는 적용 정보를 데이터 복호기(601)에 의해 복호해도 된다. 이 변형 형태는 적용 정보에 따라 움직임 예측기(602)가 예측 움직임 벡터를 가산기(603)로 출력하거나 예측 신호 생성기(607)에 출력하거나 하는 전환 기능을 포함할 수 있다.
그리고, 이 변형 형태는 대상 블록 내의 모든 소구획의 움직임 벡터가 같게 되어 대상 블록을 구분하는 의미가 없어지므로 바람직하지 않다. 따라서, 이 변형 형태에서의 도 37의 스텝 S615-2에서 처리 대상 소구획의 예측 움직임 벡터 후보를 생성할 때, 대상 블록에 포함되는 소구획이며 처리 대상의 소구획로부터 처리순서상 이전의 소구획 움직임 벡터는 예측 움직임 벡터의 후보에서 제외해도 된다. 예를 들면, 대상 블록이 2개의 소구획으로 구획되어 있고, 제1 소구획의 움직임 벡터가 먼저 복원되어 있는 경우에는 제1 소구획의 움직임 벡터는 제2 소구획의 예측 움직임 벡터의 후보에서 제외된다. 또한, 제1 소구획의 움직임 벡터와 부분 영역 U2의 움직임 벡터가 같은 경우에는 부분 영역 U2의 움직임 벡터는 제2 소구획의 예측 움직임 벡터의 생성에는 이용하지 않아도 된다.
또, 이 변형 형태에서, 차분 움직임 벡터를 복호하는지의 여부를 지시하는 적용 정보를 산술 복호할 때의 발생 확률을 형상 정보에 따라 적응적으로 결정할 수 있다. 이 방법으로, 예를 들면, 복호가 끝난 부분 영역과 접하지 않는 제2 소구획보다 항상 부호화가 끝난 영역과 접하는 제1 구획 쪽이 차분 움직임 벡터를 부호화하지 않은 확률을 높게 설정할 수 있다. 그리고, 이 변형 형태의 효과에 대하여는 도 34와 도 35를 사용하여 설명을 했으므로 여기서는 생략한다.
이하, 컴퓨터를 동화상 부호화 장치(10)로서 동작시키기 위한 동화상 부호화 프로그램, 및 컴퓨터를 동화상 복호 장치(20)로서 동작시키기 위한 동화상 복호 프로그램에 대하여 설명한다.
도 38은 일실시예에 관한 동화상 부호화 프로그램의 구성을 나타낸 도면이다. 도 39는 일실시예에 관한 동화상 복호 프로그램의 구성을 나타낸 도면이다. 이하, 도 38 및 도 39와 함께 일실시예에 관한 컴퓨터의 하드웨어 구성을 나타낸 도 18, 및 일실시예에 관한 컴퓨터를 나타낸 사시도인 도 19를 참조한다.
도 38에 나타난 동화상 부호화 프로그램(P10)은 기록 매체(SM)에 저장되어 제공될 수 있다. 또한, 도 38에 나타난 동화상 복호 프로그램(P20)도 기록 매체(SM)에 저장되어 제공될 수 있다. 그리고, 기록 매체(SM)로는 플로피 디스크, CD-ROM, DVD, 또는 ROM 등의 기록 매체, 또는 반도체 메모리 등이 예시된다.
전술한 바와 같이, 컴퓨터(C10)는 플로피 디스크 드라이브 장치, CD-ROM 드라이브 장치, DVD 드라이브 장치 등의 판독 장치(C12)와 운영체제(operating system)을 상주시킨 작업용 메모리(RAM)(C14)와 기록 매체(SM)에 기억된 프로그램을 기억하는 메모리(C16)와 디스플레이라는 표시 장치(C18)와 입력 장치인 마우스(C20) 및 키보드(C22)와 데이터 등의 송수신 위한 통신 장치(C24)와 프로그램의 실행을 제어하는 CPU(C26)를 구비할 수 있다.
컴퓨터(C10)는 기록 매체(SM)가 판독 장치(C12)에 삽입되면 판독 장치(C12)로부터 기록 매체(SM)에 저장된 동화상 부호화 프로그램(P10)에 액세스가 가능해져 상기 프로그램(P10)에 의해 동화상 부호화 장치(10)로서 동작하는 것이 가능하게 된다.
또한, 컴퓨터(C10)는 기록 매체(SM)가 판독 장치(C12)에 삽입되면 판독 장치(C12)로부터 기록 매체(SM)에 저장된 동화상 복호 프로그램(P20)에 액세스가 가능해져 상기 프로그램(P20)에 의해 동화상 복호 장치(20)로서 동작하는 것이 가능하게 된다.
도 19에 나타낸 바와 같이, 동화상 부호화 프로그램(P10) 및 동화상 복호 프로그램(P20)은 반송파에 중첩된 컴퓨터 데이터 신호(CW)로서 네트워크를 통하여 제공되는 것이어도 된다. 이 경우, 컴퓨터(C10)는 통신 장치(C24)에 의해 수신한 동화상 부호화 프로그램(P10) 또는 동화상 복호 프로그램(P20)을 메모리(C16)에 저장하고 프로그램 P10 또는 P20를 실행할 수 있다.
도 38에 나타난 바와 같이, 동화상 부호화 프로그램(P10)은 블록 분할 모듈 (M101), 소구획 생성기 모듈(M102), 기억 모듈(M103), 움직임 검출 모듈(M104), 예측 신호 생성 모듈(M105), 움직임 예측 모듈(M106), 감산 모듈(M107), 잔차신호 생성 모듈(M108), 변환 모듈(M109), 양자화 모듈(M110), 역양자화 모듈(M111), 역변환 모듈(M112), 가산 모듈(M113), 및 엔트로피 부호화 모듈(M114)을 포함한다.
일실시형태에 있어서, 블록 분할 모듈(M101), 소구획 생성기 모듈(M102), 기억 모듈(M103), 움직임 검출 모듈(M104), 예측 신호 생성 모듈(M105), 움직임 예측 모듈(M106), 감산 모듈(M107), 잔차신호 생성 모듈(M108), 변환 모듈(M109), 양자화 모듈(M110), 역양자화 모듈(M111), 역변환 모듈(M112), 가산 모듈(M113), 엔트로피 부호화 모듈(M114)은 동화상 부호화 장치(10)의 블록 분할기(501), 소구획 생성기(502), 프레임 메모리(503), 움직임 검출기(504), 예측 신호 생성기(505), 움직임 예측기(506), 감산기(507), 잔차신호 생성기(508), 변환기(509), 양자화기(510), 역양자화기(511), 역변환기(512), 가산기(513), 엔트로피 부호화기(514)와 마찬가지로 각각의 기능을 컴퓨터(C10)에 실행시킨다. 이와 같은 동화상 부호화 프로그램(P10)에 의해 컴퓨터(C10)는 동화상 부호화 장치(10)로서 동작하는 것이 가능해진다.
도 39에 나타난 바와 같이, 동화상 복호 프로그램(P20)은 데이터 복호 모듈(M201), 움직임 예측 모듈(M202), 가산 모듈(M203), 역양자화 모듈(M204), 역변환 모듈(M205), 기억 모듈(M206), 예측 신호 생성 모듈(M207), 및 가산 모듈(M208)을 포함한다.
일실시형태에 있어서, 데이터 복호 모듈(M201), 움직임 예측 모듈(M202), 가산 모듈(M203), 역양자화 모듈(M204), 역변환 모듈(M205), 기억 모듈(M206), 예측 신호 생성 모듈(M207), 가산 모듈(M208)은 동화상 복호 장치(20)의 데이터 복호기(601), 움직임 예측기(602), 가산기(603), 역양자화기(604), 역변환기(605), 프레임 메모리(606), 예측 신호 생성기(607), 가산기(608)와 마찬가지로 각각의 기능을컴퓨터(C10)에 실행시킨다. 이와 같은 동화상 복호 프로그램(P20)에 의해 컴퓨터(C10)는 동화상 복호 장치(20)로서 동작하는 것이 가능해진다.
이상, 각종 실시형태에 대하여 상세하게 설명하였다. 그러나, 본 발명은 상기 실시형태에 한정되는 것은 아니다. 본 발명은, 그 요지를 벗어나지 않는 범위에서 다양한 변형이 가능하다.
100 화상 예측 부호화 장치 101 입력 단자
102 블록 분할기 103 예측 신호 생성기
104 프레임 메모리 105 감산기
106 변환기 107 양자화기
108 양자화기 109 역변환기
110 가산기 111 양자화 변환계수 부호화기
112 출력 단자 113 예측 블록 분할 타입 선택기
114 움직임 정보 추정기 115 예측 정보용 메모리
116 예측 정보 부호화기 201 입력 단자
202 데이터 해석기 203 역양자화기
204 역변환기 205 가산기
206 출력 단자 207 양자화 변환계수 복호기
208 예측 정보 복호기 10 동화상 부호화 장치
20 동화상 복호 장치 501 블록 분할기
502 소구획 생성기 503 프레임 메모리
504 움직임 검출기 505 예측 신호 생성기
506 움직임 예측기 507 감산기
508 잔차신호 생성기 509 변환기
510 양자화기 511 역양자화기
512 역변환기 513 가산기
514 엔트로피 부호화기 601 데이터 복호기
602 움직임 예측기 603 가산기
604 역양자화기 605 역변환기
606 프레임 메모리 607 예측 신호 생성기
608 가산기 5061 움직임 벡터 메모리
5062 움직임 참조 대상 후보 생성기 5063 예측 움직임 벡터 생성기
6021 움직임 벡터 메모리 6022 움직임 참조 대상 후보 생성기
6023 예측 움직임 벡터 생성기
102 블록 분할기 103 예측 신호 생성기
104 프레임 메모리 105 감산기
106 변환기 107 양자화기
108 양자화기 109 역변환기
110 가산기 111 양자화 변환계수 부호화기
112 출력 단자 113 예측 블록 분할 타입 선택기
114 움직임 정보 추정기 115 예측 정보용 메모리
116 예측 정보 부호화기 201 입력 단자
202 데이터 해석기 203 역양자화기
204 역변환기 205 가산기
206 출력 단자 207 양자화 변환계수 복호기
208 예측 정보 복호기 10 동화상 부호화 장치
20 동화상 복호 장치 501 블록 분할기
502 소구획 생성기 503 프레임 메모리
504 움직임 검출기 505 예측 신호 생성기
506 움직임 예측기 507 감산기
508 잔차신호 생성기 509 변환기
510 양자화기 511 역양자화기
512 역변환기 513 가산기
514 엔트로피 부호화기 601 데이터 복호기
602 움직임 예측기 603 가산기
604 역양자화기 605 역변환기
606 프레임 메모리 607 예측 신호 생성기
608 가산기 5061 움직임 벡터 메모리
5062 움직임 참조 대상 후보 생성기 5063 예측 움직임 벡터 생성기
6021 움직임 벡터 메모리 6022 움직임 참조 대상 후보 생성기
6023 예측 움직임 벡터 생성기
Claims (6)
- 화상 예측 복호 방법으로서,
복수 개의 영역으로 분할하여 부호화된 화상의 압축 데이터 중에서, 복호 대상이 되는 대상 영역의 신호의 예측에 사용하는 예측 방법을 지시하는 예측 정보의 부호화 데이터와, 상기 대상 영역의 예측 신호 부호화 데이터와, 잔차신호의 부호화 데이터를 추출하는 데이터 해석 스텝;
상기 예측 정보의 부호화 데이터를 복호하여, 상기 대상 영역의 소분할 영역인 복수의 예측 영역의 수와 공간 형상을 나타내는 예측 블록 분할 타입과, 각 예측 영역의 예측 신호를 기 재생 신호로부터 취득하기 위해 움직임 정보를 복원하는 예측 정보 복호 스텝;
상기 대상 영역에 포함되는 예측 정보에 따라 상기 대상 영역의 예측 신호를 생성하는 예측 신호 생성 스텝;
상기 잔차신호의 부호화 데이터로부터 상기 대상 영역의 재생 잔차신호를 복원하는 잔차신호 복원 스텝; 및
상기 예측 신호와 상기 재생 잔차신호를 가산하여 상기 대상 영역의 화소 신호를 복원하고, 상기 화소 신호를 상기 기 재생 신호로서 보존하는 기록 스텝
을 포함하고,
상기 예측 정보 복호 스텝은
상기 대상 영역의 예측 블록 분할 타입을 복호하고, 상기 예측 블록 분할 타입을 복호된 예측 정보를 저장하는 예측 정보 저장 수단에 저장하고,
상기 대상 영역에 인접하는 인접 영역의 예측 정보와 상기 대상 영역의 복호된 예측 영역의 수와 상기 대상 영역의 복호된 예측 정보에 따라 상기 예측 블록 분할 타입이 상기 대상 영역을 상측의 제1 예측 영역과 하측의 제2 예측 영역으로 수평으로 2 분할하는 타입을 나타내는 한편, 다음의 예측 영역인 대상 예측 영역이 상기 제2 예측 영역인 경우, 상기 대상 예측 영역의 예측 신호의 생성에 사용되는 움직임 정보 후보를 상기 대상 예측 영역에 인접하는 영역 중 상기 제1 예측 영역을 제외한 영역의 복호된 움직임 정보에서 선출하고,
상기 선출된 움직임 정보 후보의 수에 따라서, 선출한 움직임 정보 후보를 이용한 상기 대상 예측 영역의 예측 신호의 생성을 지시하는 병합 블록 정보 및 움직임 정보를 복호하거나, 또는 상기 병합 블록 정보와 상기 움직임 정보 중 하나를 복호하고, 상기 대상 예측 영역의 예측 신호의 생성에 사용되는 움직임 정보를 상기 예측 정보 저장 수단에 저장하는,
화상 예측 복호 방법. - 제1항에 있어서,
상기 움직임 정보는 움직임 벡터와 참조 화면 번호에 대한 정보를 포함하는,
화상 예측 복호 방법. - 화상 예측 복호 장치에 의해 실행되는 화상 예측 복호 방법으로서,
복수 개의 영역으로 분할하여 부호화된 화상의 압축 데이터 중에서, 복호 대상이 되는 대상 영역의 신호의 예측에 사용하는 예측 방법을 지시하는 예측 정보의 부호화 데이터와, 잔차신호의 부호화 데이터를 추출하는 데이터 해석 스텝;
상기 예측 정보의 부호화 데이터로부터 움직임 정보를 복원하는 예측 정보 복호 스텝으로서,
상기 예측 정보의 부호화 데이터로부터, 상기 대상 영역을 소분할하는 예측 영역의 수를 나타내는 예측 블록 분할 타입을 복원하고,
상기 예측 블록 분할 타입이, 상기 대상 영역을 상측의 제1 예측 영역과 하측의 제2 예측 영역으로 수평으로 2 분할하는 타입을 나타내는 경우에,
상기 예측 정보의 부호화 데이터를 더 복호하여, 상기 제1 예측 영역의 예측 신호의 생성에 상기 제1 예측 영역에 인접하는 인접 영역에 부수되는 복호가 끝난 움직임 정보의 이용 여부를 나타내는 제1 병합 식별 정보를 복원하고,
상기 제1 병합 식별 정보가 복호가 끝난 움직임을 정보를 이용하지 않는 것을 나타내는 경우에, 상기 예측 정보의 부호화 데이터를 더 복호하여, 상기 제1 예측 영역의 예측 신호의 생성에 이용하는 제1 움직임 정보를 복원하고,
상기 제1 병합 식별 정보가 복호가 끝난 움직임 정보를 이용하는 것을 나타내는 경우, 상기 예측 정보의 부호화 데이터를 더 복호하여, 상기 제1 예측 영역에 인접하는 복수 개의 인접 영역에 부수되는 복호가 끝난 움직임 정보로부터 상기 제1 예측 영역의 예측 신호의 생성에 이용하는 제1 움직임 정보를 특정하는 제1 선택 정보를 복원하고, 상기 제1 선택 정보에 기초하여 상기 제1 움직임 정보를 복원하고,
상기 예측 정보의 부호화 데이터를 더 복호하여, 상기 제2 예측 영역의 예측 신호의 생성에 상기 제2 예측 영역에 인접하는 인접 영역에 부수되는 복호가 끝난 움직임 정보의 이용 여부를 나타내는 제2 병합 식별 정보를 복원하고,
상기 제2 병합 식별 정보가 복호가 끝난 움직임 정보를 이용하지 않는 것을 나타내는 경우에, 상기 예측 정보의 부호화 데이터를 더 복호하여, 제2 예측 영역의 예측 신호의 생성에 이용하는 제2 움직임 정보를 복원하고,
상기 제2 병합 식별 정보가 복호가 끝난 움직임 정보를 이용하는 것을 나타내는 경우에, 상기 예측 정보의 부호화 데이터를 더 복호하여, 상기 제2 예측 영역에 인접하는 복수 개의 인접 영역에 부수되는 복호가 끝난 움직임 정보 중, 상기 제1 움직임 정보를 제외한 복호가 끝난 움직임 정보의 후보로부터, 상기 제2 예측 영역의 예측 신호의 생성에 이용하는 제2 움직임 정보를 특정하는 제2 선택 정보를 복원하고, 상기 제2 선택 정보에 기초하여 상기 제2 움직임 정보를 복원하는,
상기 예측 정보 복호 스텝;
복원한 예측 정보에 포함되는 움직임 정보를 보존하는 보존 스텝;
복원된 상기 제1 움직임 정보와 상기 제2 움직임 정보에 기초하여, 상기 대상 영역에 포함되는 상기 제1 예측 영역과 상기 제2 예측 영역 각각의 예측 신호를 생성하는 예측 신호 생성 스텝;
상기 잔차신호의 부호화 데이터로부터 상기 대상 영역의 재생 잔차신호를 복원하는 잔차신호 복원 스텝; 및
상기 예측 신호와 상기 재생 잔차신호에 기초하여 상기 대상 영역의 화소 신호를 복원하여, 상기 화소 신호를 기 재생 신호로서 보존하는 기록 스텝
을 포함하는 화상 예측 복호 방법. - 제3항에 있어서,
상기 움직임 정보는 움직임 벡터와 참조 화면 번호에 대한 정보를 포함하는,
화상 예측 복호 방법. - 화상 예측 복호 장치로서,
복수 개의 영역으로 분할하여 부호화된 화상의 압축 데이터 중에서, 복호 대상이 되는 대상 영역의 신호의 예측에 사용하는 예측 방법을 지시하는 예측 정보의 부호화 데이터와, 상기 대상 영역의 예측 신호 부호화 데이터와, 잔차신호의 부호화 데이터를 추출하는 데이터 해석 수단;
상기 예측 정보의 부호화 데이터를 복호하여, 상기 대상 영역의 소분할 영역인 복수의 예측 영역의 수와 공간 형상을 나타내는 예측 블록 분할 타입과, 각 예측 영역의 예측 신호를 기 재생 신호로부터 취득하기 위해 움직임 정보를 복원하는 예측 정보 복호 수단;
상기 대상 영역에 포함되는 예측 정보에 따라 상기 대상 영역의 예측 신호를 생성하는 예측 신호 생성 수단;
상기 잔차신호의 부호화 데이터로부터 상기 대상 영역의 재생 잔차신호를 복원하는 잔차신호 복원 수단; 및
상기 예측 신호와 상기 재생 잔차신호를 가산하여 상기 대상 영역의 화소 신호를 복원하고, 상기 화소 신호를 상기 기 재생 신호로서 보존하는 기록 수단
을 포함하고,
상기 예측 정보 복호 수단은
복호된 예측 정보를 저장하는 예측 정보 저장 수단을 포함하고,
상기 대상 영역의 예측 블록 분할 타입을 복호하여 상기 예측 정보 저장 수단에 저장하고,
상기 대상 영역에 인접하는 인접 영역의 예측 정보와 상기 대상 영역의 복호된 예측 영역의 수와 상기 대상 영역의 복호된 예측 정보에 따라 상기 예측 블록 분할 타입이 상기 대상 영역을 상측의 제1 예측 영역과 하측의 제2 예측 영역으로 수평으로 2 분할하는 타입을 나타내는 한편, 다음의 예측 영역인 대상 예측 영역이 상기 제2 예측 영역인 경우, 상기 대상 예측 영역의 예측 신호의 생성에 사용되는 움직임 정보 후보를 상기 대상 예측 영역에 인접하는 영역 중 상기 제1 예측 영역을 제외한 영역의 복호된 움직임 정보에서 선출하고,
상기 선출된 움직임 정보 후보의 수에 따라서, 선출한 움직임 정보 후보를 이용한 상기 대상 예측 영역의 예측 신호의 생성을 지시하는 병합 블록 정보 및 움직임 정보를 복호하거나, 또는 상기 병합 블록 정보와 상기 움직임 정보 중 하나를 복호하고, 상기 대상 예측 영역의 예측 신호의 생성에 사용되는 움직임 정보를 상기 예측 정보 저장 수단에 저장하는,
화상 예측 복호 장치. - 화상 예측 복호 장치로서,
복수 개의 영역으로 분할하여 부호화된 화상의 압축 데이터 중에서, 복호 대상이 되는 대상 영역의 신호의 예측에 사용하는 예측 방법을 지시하는 예측 정보의 부호화 데이터와, 잔차신호의 부호화 데이터를 추출하는 데이터 해석 수단;
상기 예측 정보의 부호화 데이터로부터 움직임 정보를 복원하는 예측 정보 복호 수단으로서,
상기 예측 정보의 부호화 데이터로부터, 상기 대상 영역을 소분할하는 예측 영역의 수를 나타내는 예측 블록 분할 타입을 복원하고,
상기 예측 블록 분할 타입이, 상기 대상 영역을 상측의 제1 예측 영역과 하측의 제2 예측 영역으로 수평으로 2 분할하는 타입을 나타내는 경우에,
상기 예측 정보의 부호화 데이터를 더 복호하여, 상기 제1 예측 영역의 예측 신호의 생성에 상기 제1 예측 영역에 인접하는 인접 영역에 부수되는 복호가 끝난 움직임 정보의 이용 여부를 나타내는 제1 병합 식별 정보를 복원하고,
상기 제1 병합 식별 정보가 복호가 끝난 움직임을 정보를 이용하지 않는 것을 나타내는 경우에, 상기 예측 정보의 부호화 데이터를 더 복호하여, 상기 제1 예측 영역의 예측 신호의 생성에 이용하는 제1 움직임 정보를 복원하고,
상기 제1 병합 식별 정보가 복호가 끝난 움직임 정보를 이용하는 것을 나타내는 경우, 상기 예측 정보의 부호화 데이터를 더 복호하여, 상기 제1 예측 영역에 인접하는 복수 개의 인접 영역에 부수되는 복호가 끝난 움직임 정보로부터 상기 제1 예측 영역의 예측 신호의 생성에 이용하는 제1 움직임 정보를 특정하는 제1 선택 정보를 복원하고, 상기 제1 선택 정보에 기초하여 상기 제1 움직임 정보를 복원하고,
상기 예측 정보의 부호화 데이터를 더 복호하여, 상기 제2 예측 영역의 예측 신호의 생성에 상기 제2 예측 영역에 인접하는 인접 영역에 부수되는 복호가 끝난 움직임 정보의 이용 여부를 나타내는 제2 병합 식별 정보를 복원하고,
상기 제2 병합 식별 정보가 복호가 끝난 움직임 정보를 이용하지 않는 것을 나타내는 경우에, 상기 예측 정보의 부호화 데이터를 더 복호하여, 제2 예측 영역의 예측 신호의 생성에 이용하는 제2 움직임 정보를 복원하고,
상기 제2 병합 식별 정보가 복호가 끝난 움직임 정보를 이용하는 것을 나타내는 경우에, 상기 예측 정보의 부호화 데이터를 더 복호하여, 상기 제2 예측 영역에 인접하는 복수 개의 인접 영역에 부수되는 복호가 끝난 움직임 정보 중, 상기 제1 움직임 정보를 제외한 복호가 끝난 움직임 정보의 후보로부터, 상기 제2 예측 영역의 예측 신호의 생성에 이용하는 제2 움직임 정보를 특정하는 제2 선택 정보를 복원하고, 상기 제2 선택 정보에 기초하여 상기 제2 움직임 정보를 복원하는,
상기 예측 정보 복호 수단;
복원한 예측 정보에 포함되는 움직임 정보를 보존하는 보존 수단;
복원된 상기 제1 움직임 정보와 상기 제2 움직임 정보에 기초하여, 상기 대상 영역에 포함되는 상기 제1 예측 영역과 상기 제2 예측 영역 각각의 예측 신호를 생성하는 예측 신호 생성 수단;
상기 잔차신호의 부호화 데이터로부터 상기 대상 영역의 재생 잔차신호를 복원하는 잔차신호 복원 수단; 및
상기 예측 신호와 상기 재생 잔차신호에 기초하여 상기 대상 영역의 화소 신호를 복원하여, 상기 화소 신호를 기 재생 신호로서 보존하는 기록 수단
을 포함하는 화상 예측 복호 장치.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JPJP-P-2010-163245 | 2010-07-20 | ||
JP2010163245 | 2010-07-20 | ||
JPJP-P-2010-174869 | 2010-08-03 | ||
JP2010174869 | 2010-08-03 | ||
PCT/JP2011/066120 WO2012011432A1 (ja) | 2010-07-20 | 2011-07-14 | 画像予測符号化装置、画像予測符号化方法、画像予測符号化プログラム、画像予測復号装置、画像予測復号方法、及び、画像予測復号プログラム |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020177010219A Division KR101772183B1 (ko) | 2010-07-20 | 2011-07-14 | 화상 예측 복호 장치 및 화상 예측 복호 방법 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020177035198A Division KR101903643B1 (ko) | 2010-07-20 | 2011-07-14 | 화상 예측 복호 장치 및 화상 예측 복호 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20170098990A KR20170098990A (ko) | 2017-08-30 |
KR101809187B1 true KR101809187B1 (ko) | 2017-12-14 |
Family
ID=45496857
Family Applications (7)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020177023414A KR101809187B1 (ko) | 2010-07-20 | 2011-07-14 | 화상 예측 복호 장치 및 화상 예측 복호 방법 |
KR1020167005085A KR101695170B1 (ko) | 2010-07-20 | 2011-07-14 | 화상 예측 부호화 장치, 화상 예측 부호화 방법, 화상 예측 부호화 프로그램, 화상 예측 복호 장치, 화상 예측 복호 방법, 및 화상 예측 복호 프로그램 |
KR1020177010220A KR101770662B1 (ko) | 2010-07-20 | 2011-07-14 | 화상 예측 복호 장치 및 화상 예측 복호 방법 |
KR1020137002442A KR101600919B1 (ko) | 2010-07-20 | 2011-07-14 | 화상 예측 부호화 장치, 화상 예측 부호화 방법, 화상 예측 부호화 프로그램, 화상 예측 복호 장치, 화상 예측 복호 방법, 및 화상 예측 복호 프로그램 |
KR1020167036903A KR101729051B1 (ko) | 2010-07-20 | 2011-07-14 | 화상 예측 복호 장치 및 화상 예측 복호 방법 |
KR1020177035198A KR101903643B1 (ko) | 2010-07-20 | 2011-07-14 | 화상 예측 복호 장치 및 화상 예측 복호 방법 |
KR1020177010219A KR101772183B1 (ko) | 2010-07-20 | 2011-07-14 | 화상 예측 복호 장치 및 화상 예측 복호 방법 |
Family Applications After (6)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020167005085A KR101695170B1 (ko) | 2010-07-20 | 2011-07-14 | 화상 예측 부호화 장치, 화상 예측 부호화 방법, 화상 예측 부호화 프로그램, 화상 예측 복호 장치, 화상 예측 복호 방법, 및 화상 예측 복호 프로그램 |
KR1020177010220A KR101770662B1 (ko) | 2010-07-20 | 2011-07-14 | 화상 예측 복호 장치 및 화상 예측 복호 방법 |
KR1020137002442A KR101600919B1 (ko) | 2010-07-20 | 2011-07-14 | 화상 예측 부호화 장치, 화상 예측 부호화 방법, 화상 예측 부호화 프로그램, 화상 예측 복호 장치, 화상 예측 복호 방법, 및 화상 예측 복호 프로그램 |
KR1020167036903A KR101729051B1 (ko) | 2010-07-20 | 2011-07-14 | 화상 예측 복호 장치 및 화상 예측 복호 방법 |
KR1020177035198A KR101903643B1 (ko) | 2010-07-20 | 2011-07-14 | 화상 예측 복호 장치 및 화상 예측 복호 방법 |
KR1020177010219A KR101772183B1 (ko) | 2010-07-20 | 2011-07-14 | 화상 예측 복호 장치 및 화상 예측 복호 방법 |
Country Status (19)
Country | Link |
---|---|
US (8) | US9185409B2 (ko) |
EP (6) | EP3661204B8 (ko) |
JP (8) | JP5661114B2 (ko) |
KR (7) | KR101809187B1 (ko) |
CN (7) | CN105847837B (ko) |
AU (1) | AU2011280629B2 (ko) |
BR (1) | BR112013001351B1 (ko) |
CA (8) | CA3102661C (ko) |
DK (6) | DK3661204T3 (ko) |
ES (6) | ES2820437T3 (ko) |
FI (1) | FI3661210T3 (ko) |
HU (4) | HUE056567T2 (ko) |
MX (5) | MX2013000666A (ko) |
PL (3) | PL3664453T3 (ko) |
PT (6) | PT3661204T (ko) |
RU (8) | RU2573208C2 (ko) |
SG (1) | SG187094A1 (ko) |
TW (2) | TWI519140B (ko) |
WO (1) | WO2012011432A1 (ko) |
Families Citing this family (52)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DK3567852T3 (da) | 2009-03-23 | 2023-01-16 | Ntt Docomo Inc | Billedforudsigelsesafkodningsindretning og billedforudsigelsesafkodningsfremgangsmåde |
CN103385002A (zh) * | 2010-02-17 | 2013-11-06 | 韩国电子通信研究院 | 用于对超高清图像进行编码的装置及其方法、以及解码装置及其方法 |
ES2820437T3 (es) | 2010-07-20 | 2021-04-21 | Ntt Docomo Inc | Método de codificación predictiva de imágenes, dispositivo de decodificación predictiva de imágenes, método de decodificación predictiva de imágenes y programa de decodificación predictiva de imágenes |
JP5698541B2 (ja) * | 2011-01-12 | 2015-04-08 | 株式会社Nttドコモ | 画像予測符号化装置、画像予測符号化方法、画像予測符号化プログラム、画像予測復号装置、画像予測復号方法及び画像予測復号プログラム |
JP5857244B2 (ja) * | 2011-03-07 | 2016-02-10 | パナソニックIpマネジメント株式会社 | 動き補償装置、動画像符号化装置、動画像復号装置、動き補償方法、プログラム、及び集積回路 |
JP2013207402A (ja) * | 2012-03-27 | 2013-10-07 | Nippon Hoso Kyokai <Nhk> | 画像符号化装置及びプログラム |
TWI597967B (zh) * | 2012-04-06 | 2017-09-01 | Jvc Kenwood Corp | Video decoding apparatus, video decoding method, and video decoding program medium |
TWI657696B (zh) * | 2012-04-16 | 2019-04-21 | 日商Jvc建伍股份有限公司 | 動態影像編碼裝置、動態影像編碼方法、及記錄動態影像編碼程式之記錄媒體 |
GB2501535A (en) | 2012-04-26 | 2013-10-30 | Sony Corp | Chrominance Processing in High Efficiency Video Codecs |
JP5972687B2 (ja) * | 2012-07-02 | 2016-08-17 | 株式会社Nttドコモ | 動画像予測符号化装置、動画像予測符号化方法、動画像予測符号化プログラム、動画像予測復号装置、動画像予測復号方法及び動画像予測復号プログラム |
JP5798539B2 (ja) * | 2012-09-24 | 2015-10-21 | 株式会社Nttドコモ | 動画像予測符号化装置、動画像予測符号化方法、動画像予測復号装置及び動画像予測復号方法 |
JP5719401B2 (ja) * | 2013-04-02 | 2015-05-20 | 日本電信電話株式会社 | ブロックサイズ決定方法、映像符号化装置、及びプログラム |
CN103702127B (zh) * | 2013-12-30 | 2016-10-12 | 清华大学 | 基于运动向量相关性的运动估计搜索范围预测方法和系统 |
WO2015100729A1 (en) * | 2014-01-03 | 2015-07-09 | Mediatek Singapore Pte. Ltd. | Improved merging candidate list construction in 3dvc |
CN103841405B (zh) * | 2014-03-21 | 2016-07-06 | 华为技术有限公司 | 深度图像的编解码方法和编解码装置 |
WO2015196333A1 (en) * | 2014-06-23 | 2015-12-30 | Mediatek Singapore Pte. Ltd. | Segmental prediction for video coding |
WO2015196966A1 (en) * | 2014-06-23 | 2015-12-30 | Mediatek Singapore Pte. Ltd. | Method of segmental prediction for depth and texture data in 3d and multi-view coding systems |
WO2016044979A1 (en) * | 2014-09-22 | 2016-03-31 | Mediatek Singapore Pte. Ltd. | Segmental prediction for video coding |
US10681371B2 (en) | 2015-06-07 | 2020-06-09 | Lg Electronics Inc. | Method and device for performing deblocking filtering |
WO2017026681A1 (ko) * | 2015-08-07 | 2017-02-16 | 엘지전자 주식회사 | 비디오 코딩 시스템에서 인터 예측 방법 및 장치 |
KR20180040517A (ko) * | 2015-09-10 | 2018-04-20 | 삼성전자주식회사 | 비디오 부호화, 복호화 방법 및 장치 |
US10375156B2 (en) | 2015-09-11 | 2019-08-06 | Facebook, Inc. | Using worker nodes in a distributed video encoding system |
US10602157B2 (en) | 2015-09-11 | 2020-03-24 | Facebook, Inc. | Variable bitrate control for distributed video encoding |
US10341561B2 (en) * | 2015-09-11 | 2019-07-02 | Facebook, Inc. | Distributed image stabilization |
US10499070B2 (en) | 2015-09-11 | 2019-12-03 | Facebook, Inc. | Key frame placement for distributed video encoding |
US10506235B2 (en) | 2015-09-11 | 2019-12-10 | Facebook, Inc. | Distributed control of video encoding speeds |
US10063872B2 (en) | 2015-09-11 | 2018-08-28 | Facebook, Inc. | Segment based encoding of video |
US10602153B2 (en) | 2015-09-11 | 2020-03-24 | Facebook, Inc. | Ultra-high video compression |
FR3047379A1 (fr) * | 2016-01-29 | 2017-08-04 | Orange | Procede de codage et decodage de donnees, dispositif de codage et decodage de donnees et programmes d'ordinateur correspondants |
CN109565595B (zh) * | 2016-06-24 | 2021-06-22 | 华为技术有限公司 | 一种使用基于分割的视频编码块划分的视频编码设备和方法 |
US20190253624A1 (en) * | 2017-07-17 | 2019-08-15 | Ki Baek Kim | Image data encoding/decoding method and apparatus |
US10957068B2 (en) * | 2017-01-06 | 2021-03-23 | Canon Kabushiki Kaisha | Information processing apparatus and method of controlling the same |
JP6894707B2 (ja) * | 2017-01-06 | 2021-06-30 | キヤノン株式会社 | 情報処理装置およびその制御方法、プログラム |
US10218448B2 (en) * | 2017-02-02 | 2019-02-26 | Osram Sylvania Inc. | System and method for determining vehicle position based upon light-based communication and time-of-flight measurements |
US10531085B2 (en) * | 2017-05-09 | 2020-01-07 | Futurewei Technologies, Inc. | Coding chroma samples in video compression |
CN110999303B (zh) * | 2017-08-22 | 2023-07-07 | 松下电器(美国)知识产权公司 | 图像编码器、图像解码器、图像编码方法和图像解码方法 |
CN111264060B (zh) * | 2017-10-20 | 2023-10-17 | 富士通株式会社 | 动态图像编码装置、动态图像编码方法和存储介质 |
CN107659804B (zh) * | 2017-10-30 | 2019-03-12 | 河海大学 | 一种针对虚拟现实头戴式显示设备的屏幕内容视频编码算法 |
US11025904B2 (en) * | 2018-06-08 | 2021-06-01 | Tencent America LLC | Method and apparatus for temporal motion vector prediction |
CN110662076B (zh) * | 2018-06-29 | 2022-10-04 | 北京字节跳动网络技术有限公司 | 子块的边界增强 |
CN110677679B (zh) * | 2018-07-01 | 2022-07-26 | 北京字节跳动网络技术有限公司 | 依赖形状的帧内编码 |
US11671619B2 (en) | 2018-07-02 | 2023-06-06 | Intellectual Discovery Co., Ltd. | Video coding method and device using merge candidate |
US10404980B1 (en) * | 2018-07-10 | 2019-09-03 | Tencent America LLC | Intra prediction with wide angle mode in video coding |
WO2020059051A1 (ja) * | 2018-09-19 | 2020-03-26 | 富士通株式会社 | 映像符号化装置、映像符号化方法、映像符号化プログラム、映像復号装置、映像復号方法、及び映像復号プログラム |
CN109547781B (zh) * | 2018-10-26 | 2020-12-22 | 嘉兴奥恒进出口有限公司 | 基于图像预测的压缩方法及设备 |
FR3088511B1 (fr) * | 2018-11-09 | 2021-05-28 | Fond B Com | Procede de decodage d’au moins une image, procede de codage, dispositifs, signal et programmes d’ordinateur correspondants. |
CN111263144B (zh) * | 2018-11-30 | 2022-07-01 | 杭州海康威视数字技术股份有限公司 | 一种运动信息确定方法及其设备 |
US11102513B2 (en) * | 2018-12-06 | 2021-08-24 | Tencent America LLC | One-level transform split and adaptive sub-block transform |
US11533506B2 (en) * | 2019-02-08 | 2022-12-20 | Tencent America LLC | Method and apparatus for video coding |
AR118250A1 (es) | 2019-03-08 | 2021-09-22 | Jvckenwood Corp | Dispositivos, métodos y programas de codificación y decodificación de imágenes en movimiento |
FI3915254T3 (fi) * | 2019-03-12 | 2023-12-28 | Beijing Dajia Internet Information Tech Co Ltd | Videokoodauksen menetelmät ja laitteistot kolmion muotoista ennustuskenttää varten |
CN114009047A (zh) * | 2019-06-23 | 2022-02-01 | Lg 电子株式会社 | 视频/图像编译系统中用于合并数据语法的信令方法和装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004343788A (ja) | 1996-10-31 | 2004-12-02 | Toshiba Corp | 画像符号化装置および画像復号化装置および画像符号化データを記録した記録媒体 |
JP2015156705A (ja) | 2009-03-23 | 2015-08-27 | 株式会社Nttドコモ | 画像予測復号方法及び画像予測復号装置 |
Family Cites Families (80)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3869672A (en) | 1972-05-13 | 1975-03-04 | Int Standard Electric Corp | Method and arrangements for the digital control of operating functions, radio and television receivers |
KR0166716B1 (ko) | 1992-06-18 | 1999-03-20 | 강진구 | 블럭 dpcm을 이용한 부호화/복호화방법 및 장치 |
JPH07264598A (ja) | 1994-03-23 | 1995-10-13 | Nippon Telegr & Teleph Corp <Ntt> | 動き補償方法、動きベクトル検出回路および動き補償回路 |
US5608458A (en) | 1994-10-13 | 1997-03-04 | Lucent Technologies Inc. | Method and apparatus for a region-based approach to coding a sequence of video images |
US5682204A (en) | 1995-12-26 | 1997-10-28 | C Cube Microsystems, Inc. | Video encoder which uses intra-coding when an activity level of a current macro-block is smaller than a threshold level |
WO1997027707A1 (en) | 1996-01-22 | 1997-07-31 | Matsushita Electric Industrial Co., Ltd. | Digital image encoding and decoding method and digital image encoding and decoding device using the same |
KR100371130B1 (ko) | 1996-05-28 | 2003-02-07 | 마쯔시다덴기산교 가부시키가이샤 | 화상예측 복호화 장치 및 그 방법과 화상예측 부호화 장치및 그 방법 |
EP0817499A3 (en) | 1996-06-28 | 2002-05-22 | Matsushita Electric Industrial Co., Ltd. | Image coding method using extrapolated pixels in insignificant areas of blocks |
US6687405B1 (en) | 1996-11-13 | 2004-02-03 | Koninklijke Philips Electronics N.V. | Image segmentation |
CN1155259C (zh) * | 1996-11-26 | 2004-06-23 | 松下电器产业株式会社 | 运动图象可变比特率编码装置和编码方法 |
US6359929B1 (en) | 1997-07-04 | 2002-03-19 | Matsushita Electric Industrial Co., Ltd. | Image predictive decoding method, image predictive decoding apparatus, image predictive coding apparatus, and data storage medium |
KR100563756B1 (ko) * | 1997-11-05 | 2006-03-24 | 소니 가부시끼 가이샤 | 디지탈 신호 변환 방법 및 디지탈 신호 변환 장치 |
US6483521B1 (en) | 1998-02-02 | 2002-11-19 | Matsushita Electric Industrial Co., Ltd. | Image composition method, image composition apparatus, and data recording media |
US7184482B2 (en) * | 1999-04-17 | 2007-02-27 | Altera Corporation | Encoding system using motion vectors to represent frame-to-frame changes, wherein a decoder uses predictions of motion vectors in decoding |
US6765964B1 (en) * | 2000-12-06 | 2004-07-20 | Realnetworks, Inc. | System and method for intracoding video data |
US7643559B2 (en) | 2001-09-14 | 2010-01-05 | Ntt Docomo, Inc. | Coding method, decoding method, coding apparatus, decoding apparatus, image processing system, coding program, and decoding program |
CN1285216C (zh) | 2001-11-16 | 2006-11-15 | 株式会社Ntt都科摩 | 图像编码方法和装置、图像译码方法和装置 |
JP3861698B2 (ja) * | 2002-01-23 | 2006-12-20 | ソニー株式会社 | 画像情報符号化装置及び方法、画像情報復号装置及び方法、並びにプログラム |
US7003035B2 (en) | 2002-01-25 | 2006-02-21 | Microsoft Corporation | Video coding methods and apparatuses |
ES2745058T3 (es) | 2002-04-19 | 2020-02-27 | Panasonic Ip Corp America | Método de cálculo de vectores de movimiento |
AU2003281133A1 (en) | 2002-07-15 | 2004-02-02 | Hitachi, Ltd. | Moving picture encoding method and decoding method |
JP3504256B1 (ja) | 2002-12-10 | 2004-03-08 | 株式会社エヌ・ティ・ティ・ドコモ | 動画像符号化方法、動画像復号方法、動画像符号化装置、及び動画像復号装置 |
KR100560843B1 (ko) | 2003-04-10 | 2006-03-13 | 에스케이 텔레콤주식회사 | 비디오 부호기에서 적응 움직임 벡터의 탐색 영역을결정하는 방법 및 장치 |
JP4373702B2 (ja) | 2003-05-07 | 2009-11-25 | 株式会社エヌ・ティ・ティ・ドコモ | 動画像符号化装置、動画像復号化装置、動画像符号化方法、動画像復号化方法、動画像符号化プログラム及び動画像復号化プログラム |
JP2005005844A (ja) | 2003-06-10 | 2005-01-06 | Hitachi Ltd | 計算装置及び符号化処理プログラム |
US9210441B2 (en) | 2003-06-25 | 2015-12-08 | Thomson Licensing | Fast mode-decision encoding for interframes |
US7646815B2 (en) * | 2003-07-15 | 2010-01-12 | Lsi Corporation | Intra estimation chroma mode 0 sub-block dependent prediction |
US20050013498A1 (en) | 2003-07-18 | 2005-01-20 | Microsoft Corporation | Coding of motion vector information |
US8064520B2 (en) | 2003-09-07 | 2011-11-22 | Microsoft Corporation | Advanced bi-directional predictive coding of interlaced video |
US7400681B2 (en) | 2003-11-28 | 2008-07-15 | Scientific-Atlanta, Inc. | Low-complexity motion vector prediction for video codec with two lists of reference pictures |
JP4213646B2 (ja) | 2003-12-26 | 2009-01-21 | 株式会社エヌ・ティ・ティ・ドコモ | 画像符号化装置、画像符号化方法、画像符号化プログラム、画像復号装置、画像復号方法、及び画像復号プログラム。 |
JP4313710B2 (ja) | 2004-03-25 | 2009-08-12 | パナソニック株式会社 | 画像符号化方法および画像復号化方法 |
JP4414904B2 (ja) | 2004-04-16 | 2010-02-17 | 株式会社エヌ・ティ・ティ・ドコモ | 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、動画像復号装置、動画像復号方法、及び動画像復号プログラム |
CN101023672A (zh) * | 2004-07-12 | 2007-08-22 | 诺基亚公司 | 在可调整视频编码中用于运动预测的系统和方法 |
KR100907847B1 (ko) * | 2004-07-20 | 2009-07-14 | 퀄컴 인코포레이티드 | 순간적 비디오 압축으로 이동 벡터 예측을 위한 방법 및장치 |
US8085846B2 (en) | 2004-08-24 | 2011-12-27 | Thomson Licensing | Method and apparatus for decoding hybrid intra-inter coded blocks |
CN100471280C (zh) * | 2005-01-07 | 2009-03-18 | 株式会社Ntt都科摩 | 运动图像编码及译码装置、方法 |
KR101108681B1 (ko) | 2005-01-19 | 2012-01-25 | 삼성전자주식회사 | 동영상 코덱에서의 주파수 변환 계수 예측 방법 및 장치,이를 구비한 부호화 및 복호화 장치와 방법 |
US7580456B2 (en) * | 2005-03-01 | 2009-08-25 | Microsoft Corporation | Prediction-based directional fractional pixel motion estimation for video coding |
US20070025444A1 (en) | 2005-07-28 | 2007-02-01 | Shigeyuki Okada | Coding Method |
US8446954B2 (en) | 2005-09-27 | 2013-05-21 | Qualcomm Incorporated | Mode selection techniques for multimedia coding |
KR100977101B1 (ko) | 2005-11-30 | 2010-08-23 | 가부시끼가이샤 도시바 | 화상 부호화/화상 복호화 방법 및 화상 부호화/화상 복호화장치 |
US8446956B2 (en) * | 2006-01-05 | 2013-05-21 | Thomson Licensing | Inter-layer motion prediction method using resampling |
TW200806040A (en) * | 2006-01-05 | 2008-01-16 | Nippon Telegraph & Telephone | Video encoding method and decoding method, apparatuses therefor, programs therefor, and storage media for storing the programs |
EP1995967A4 (en) | 2006-03-16 | 2009-11-11 | Huawei Tech Co Ltd | METHOD AND APPARATUS FOR ADAPTIVE QUANTIFICATION IN AN ENCODING PROCEDURE |
JP5002286B2 (ja) | 2006-04-27 | 2012-08-15 | キヤノン株式会社 | 画像符号化装置、画像符号化方法、プログラム及び記憶媒体 |
CN101455087B (zh) * | 2006-05-24 | 2011-01-12 | 松下电器产业株式会社 | 图像编码装置、图像编码方法及图像编码用集成电路 |
US20080026729A1 (en) | 2006-07-31 | 2008-01-31 | Research In Motion Limited | Method and apparatus for configuring unique profile settings for multiple services |
CN101502119B (zh) | 2006-08-02 | 2012-05-23 | 汤姆逊许可公司 | 用于视频编码的自适应几何分割方法和设备 |
KR101382101B1 (ko) * | 2006-08-25 | 2014-04-07 | 톰슨 라이센싱 | 감소된 해상도의 파티셔닝을 위한 방법 및 장치 |
US8355438B2 (en) * | 2006-10-30 | 2013-01-15 | Nippon Telegraph And Telephone Corporation | Predicted reference information generating method, video encoding and decoding methods, apparatuses therefor, programs therefor, and storage media which store the programs |
KR101383540B1 (ko) | 2007-01-03 | 2014-04-09 | 삼성전자주식회사 | 복수의 움직임 벡터 프리딕터들을 사용하여 움직임 벡터를추정하는 방법, 장치, 인코더, 디코더 및 복호화 방법 |
BRPI0720806B1 (pt) * | 2007-01-18 | 2023-03-28 | Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. | Corrente de dados de vídeo de qualidade escalonável |
US20080240242A1 (en) | 2007-03-27 | 2008-10-02 | Nokia Corporation | Method and system for motion vector predictions |
WO2008126843A1 (ja) | 2007-04-09 | 2008-10-23 | Ntt Docomo, Inc. | 画像予測符号化装置、画像予測符号化方法、画像予測符号化プログラム、画像予測復号装置、画像予測復号方法および画像予測復号プログラム |
JP5666293B2 (ja) | 2007-04-12 | 2015-02-12 | トムソン ライセンシングThomson Licensing | ビデオ・エンコーディング、およびデコーディングのためのスキップ/ダイレクトモードのコンテクストに依存するマージのための方法と装置 |
JP4788649B2 (ja) | 2007-04-27 | 2011-10-05 | 株式会社日立製作所 | 動画像記録方法及びその装置 |
JP5188875B2 (ja) * | 2007-06-04 | 2013-04-24 | 株式会社エヌ・ティ・ティ・ドコモ | 画像予測符号化装置、画像予測復号装置、画像予測符号化方法、画像予測復号方法、画像予測符号化プログラム、及び画像予測復号プログラム |
JP2008311781A (ja) | 2007-06-12 | 2008-12-25 | Ntt Docomo Inc | 動画像符号化装置、動画像復号化装置、動画像符号化方法、動画像復号化方法、動画像符号化プログラム及び動画像復号化プログラム |
JP4947364B2 (ja) | 2007-06-22 | 2012-06-06 | ソニー株式会社 | 情報処理システムおよび方法、情報処理装置および方法、並びにプログラム |
KR100901874B1 (ko) | 2007-07-11 | 2009-06-09 | 한국전자통신연구원 | 비디오 인코딩을 위한 인터 모드 결정 방법 |
JP4678015B2 (ja) * | 2007-07-13 | 2011-04-27 | 富士通株式会社 | 動画像符号化装置及び動画像符号化方法 |
KR101408698B1 (ko) | 2007-07-31 | 2014-06-18 | 삼성전자주식회사 | 가중치 예측을 이용한 영상 부호화, 복호화 방법 및 장치 |
JP2009111691A (ja) | 2007-10-30 | 2009-05-21 | Hitachi Ltd | 画像符号化装置及び符号化方法、画像復号化装置及び復号化方法 |
US20090168871A1 (en) * | 2007-12-31 | 2009-07-02 | Ning Lu | Video motion estimation |
JP4990927B2 (ja) | 2008-03-28 | 2012-08-01 | 三星電子株式会社 | 動きベクトル情報の符号化/復号化方法及び装置 |
JP5406465B2 (ja) * | 2008-04-24 | 2014-02-05 | 株式会社Nttドコモ | 画像予測符号化装置、画像予測符号化方法、画像予測符号化プログラム、画像予測復号装置、画像予測復号方法及び画像予測復号プログラム |
US8548041B2 (en) * | 2008-09-25 | 2013-10-01 | Mediatek Inc. | Adaptive filter |
CN102224734B (zh) | 2008-10-02 | 2013-11-13 | 索尼公司 | 图像处理设备和方法 |
RU2011122801A (ru) | 2008-11-07 | 2012-12-20 | Мицубиси Электрик Корпорейшн | Кодер изображения и декодер изображения |
US9560368B2 (en) * | 2008-12-03 | 2017-01-31 | Hitachi Maxell, Ltd. | Moving picture decoding method and moving picture encoding method |
US9626769B2 (en) * | 2009-09-04 | 2017-04-18 | Stmicroelectronics International N.V. | Digital video encoder system, method, and non-transitory computer-readable medium for tracking object regions |
CN106067983B (zh) * | 2010-04-13 | 2019-07-12 | Ge视频压缩有限责任公司 | 解码数据流的方法、生成数据流的方法及解码器 |
US9100655B2 (en) * | 2010-04-13 | 2015-08-04 | Panasonic Intellectual Property Corporation Of America | Motion compensation method, image decoding method, image coding method, motion compensation apparatus, program, and integrated circuit |
WO2012005520A2 (en) | 2010-07-09 | 2012-01-12 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding video by using block merging, and method and apparatus for decoding video by using block merging |
KR101484281B1 (ko) * | 2010-07-09 | 2015-01-21 | 삼성전자주식회사 | 블록 병합을 이용한 비디오 부호화 방법 및 그 장치, 블록 병합을 이용한 비디오 복호화 방법 및 그 장치 |
ES2820437T3 (es) * | 2010-07-20 | 2021-04-21 | Ntt Docomo Inc | Método de codificación predictiva de imágenes, dispositivo de decodificación predictiva de imágenes, método de decodificación predictiva de imágenes y programa de decodificación predictiva de imágenes |
PL3637778T3 (pl) * | 2010-10-06 | 2024-09-23 | Ntt Docomo, Inc. | Sposób dwupredykcyjnego dekodowania obrazu |
KR20120140181A (ko) * | 2011-06-20 | 2012-12-28 | 한국전자통신연구원 | 화면내 예측 블록 경계 필터링을 이용한 부호화/복호화 방법 및 그 장치 |
CN107105279B (zh) * | 2011-09-23 | 2020-03-06 | 株式会社Kt | 用于引导合并候选块的方法和使用该方法的设备 |
-
2011
- 2011-07-14 ES ES11809603T patent/ES2820437T3/es active Active
- 2011-07-14 ES ES16167025T patent/ES2785606T3/es active Active
- 2011-07-14 CN CN201610333621.0A patent/CN105847837B/zh active Active
- 2011-07-14 CA CA3102661A patent/CA3102661C/en active Active
- 2011-07-14 EP EP20150888.4A patent/EP3661204B8/en active Active
- 2011-07-14 DK DK20150888.4T patent/DK3661204T3/da active
- 2011-07-14 KR KR1020177023414A patent/KR101809187B1/ko active IP Right Grant
- 2011-07-14 ES ES20150893T patent/ES2887236T3/es active Active
- 2011-07-14 EP EP20150893.4A patent/EP3661211B1/en active Active
- 2011-07-14 ES ES20150900T patent/ES2926898T3/es active Active
- 2011-07-14 DK DK11809603.1T patent/DK2597874T3/da active
- 2011-07-14 KR KR1020167005085A patent/KR101695170B1/ko active IP Right Grant
- 2011-07-14 FI FIEP20150892.6T patent/FI3661210T3/fi active
- 2011-07-14 PL PL20150900.7T patent/PL3664453T3/pl unknown
- 2011-07-14 DK DK16167025.2T patent/DK3070945T3/da active
- 2011-07-14 PT PT201508884T patent/PT3661204T/pt unknown
- 2011-07-14 BR BR112013001351-6A patent/BR112013001351B1/pt active IP Right Grant
- 2011-07-14 CN CN201610333360.2A patent/CN105898326B/zh active Active
- 2011-07-14 EP EP16167025.2A patent/EP3070945B1/en active Active
- 2011-07-14 SG SG2013003330A patent/SG187094A1/en unknown
- 2011-07-14 EP EP20150892.6A patent/EP3661210B1/en active Active
- 2011-07-14 CN CN201510581986.0A patent/CN105120278B/zh active Active
- 2011-07-14 CA CA2805735A patent/CA2805735C/en active Active
- 2011-07-14 PT PT201508926T patent/PT3661210T/pt unknown
- 2011-07-14 MX MX2013000666A patent/MX2013000666A/es active IP Right Grant
- 2011-07-14 KR KR1020177010220A patent/KR101770662B1/ko active IP Right Grant
- 2011-07-14 MX MX2015006752A patent/MX338236B/es unknown
- 2011-07-14 KR KR1020137002442A patent/KR101600919B1/ko active IP Right Grant
- 2011-07-14 CN CN201510582309.0A patent/CN105120279B/zh active Active
- 2011-07-14 CN CN201610334889.6A patent/CN105898327B/zh active Active
- 2011-07-14 HU HUE20150893A patent/HUE056567T2/hu unknown
- 2011-07-14 HU HUE20150892A patent/HUE063032T2/hu unknown
- 2011-07-14 HU HUE20150888A patent/HUE056566T2/hu unknown
- 2011-07-14 EP EP11809603.1A patent/EP2597874B1/en active Active
- 2011-07-14 DK DK20150900.7T patent/DK3664453T3/da active
- 2011-07-14 KR KR1020167036903A patent/KR101729051B1/ko active IP Right Grant
- 2011-07-14 RU RU2013107368/08A patent/RU2573208C2/ru active
- 2011-07-14 PT PT201508934T patent/PT3661211T/pt unknown
- 2011-07-14 HU HUE20150900A patent/HUE059918T2/hu unknown
- 2011-07-14 RU RU2015147149A patent/RU2619202C1/ru active
- 2011-07-14 KR KR1020177035198A patent/KR101903643B1/ko active IP Right Review Request
- 2011-07-14 ES ES20150888T patent/ES2887307T3/es active Active
- 2011-07-14 ES ES20150892T patent/ES2955687T3/es active Active
- 2011-07-14 JP JP2012525384A patent/JP5661114B2/ja active Active
- 2011-07-14 CA CA3011236A patent/CA3011236C/en active Active
- 2011-07-14 PL PL20150893T patent/PL3661211T3/pl unknown
- 2011-07-14 CA CA3011217A patent/CA3011217C/en active Active
- 2011-07-14 MX MX2016004440A patent/MX350471B/es unknown
- 2011-07-14 AU AU2011280629A patent/AU2011280629B2/en active Active
- 2011-07-14 PT PT201509007T patent/PT3664453T/pt unknown
- 2011-07-14 CN CN201510582331.5A patent/CN105120280B/zh active Active
- 2011-07-14 DK DK20150893.4T patent/DK3661211T3/da active
- 2011-07-14 CA CA3050052A patent/CA3050052A1/en not_active Abandoned
- 2011-07-14 CA CA2903530A patent/CA2903530C/en active Active
- 2011-07-14 EP EP20150900.7A patent/EP3664453B1/en active Active
- 2011-07-14 MX MX2017011451A patent/MX367864B/es unknown
- 2011-07-14 CA CA3011241A patent/CA3011241C/en active Active
- 2011-07-14 PT PT118096031T patent/PT2597874T/pt unknown
- 2011-07-14 CN CN201180035347.4A patent/CN103004206B/zh active Active
- 2011-07-14 DK DK20150892.6T patent/DK3661210T3/da active
- 2011-07-14 CA CA3011221A patent/CA3011221C/en active Active
- 2011-07-14 PL PL20150892.6T patent/PL3661210T3/pl unknown
- 2011-07-14 KR KR1020177010219A patent/KR101772183B1/ko active IP Right Grant
- 2011-07-14 PT PT161670252T patent/PT3070945T/pt unknown
- 2011-07-14 WO PCT/JP2011/066120 patent/WO2012011432A1/ja active Application Filing
- 2011-07-19 TW TW103137226A patent/TWI519140B/zh active
- 2011-07-19 TW TW100125447A patent/TWI469646B/zh active
-
2013
- 2013-01-17 MX MX2019010472A patent/MX2019010472A/es unknown
- 2013-01-18 US US13/745,414 patent/US9185409B2/en active Active
-
2014
- 2014-12-02 JP JP2014244133A patent/JP5712330B2/ja active Active
-
2015
- 2015-03-09 JP JP2015045725A patent/JP5951063B2/ja active Active
- 2015-10-01 US US14/872,826 patent/US9497480B2/en active Active
-
2016
- 2016-04-20 JP JP2016084633A patent/JP2016165135A/ja active Pending
- 2016-09-30 US US15/282,580 patent/US9794592B2/en active Active
-
2017
- 2017-04-27 RU RU2017114671A patent/RU2658798C1/ru active
- 2017-04-27 RU RU2017114672A patent/RU2667716C1/ru active
- 2017-09-15 US US15/706,424 patent/US9986261B2/en active Active
-
2018
- 2018-03-19 JP JP2018051220A patent/JP6535780B2/ja active Active
- 2018-04-27 US US15/965,514 patent/US10225580B2/en active Active
- 2018-04-27 US US15/965,427 patent/US10230987B2/en active Active
- 2018-04-27 US US15/965,484 patent/US10063888B1/en active Active
- 2018-05-22 RU RU2018118781A patent/RU2685390C1/ru active
- 2018-05-22 RU RU2018118780A patent/RU2685389C1/ru active
- 2018-05-22 RU RU2018118779A patent/RU2685388C1/ru active
- 2018-05-22 RU RU2018118778A patent/RU2685393C1/ru active
- 2018-07-19 US US16/040,532 patent/US10542287B2/en active Active
-
2019
- 2019-06-03 JP JP2019103922A patent/JP2019140703A/ja active Pending
- 2019-06-03 JP JP2019103920A patent/JP2019165499A/ja active Pending
- 2019-06-03 JP JP2019103923A patent/JP2019140704A/ja active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004343788A (ja) | 1996-10-31 | 2004-12-02 | Toshiba Corp | 画像符号化装置および画像復号化装置および画像符号化データを記録した記録媒体 |
JP2015156705A (ja) | 2009-03-23 | 2015-08-27 | 株式会社Nttドコモ | 画像予測復号方法及び画像予測復号装置 |
Non-Patent Citations (1)
Title |
---|
Martin Winken et al., Video coding technology proposal by Fraunhofer HHI, JCTVC-A116, 2010.04. |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101809187B1 (ko) | 화상 예측 복호 장치 및 화상 예측 복호 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A107 | Divisional application of patent | ||
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
A107 | Divisional application of patent | ||
GRNT | Written decision to grant |