KR20130129381A - 화상 처리 장치 및 화상 처리 방법 - Google Patents
화상 처리 장치 및 화상 처리 방법 Download PDFInfo
- Publication number
- KR20130129381A KR20130129381A KR1020137013869A KR20137013869A KR20130129381A KR 20130129381 A KR20130129381 A KR 20130129381A KR 1020137013869 A KR1020137013869 A KR 1020137013869A KR 20137013869 A KR20137013869 A KR 20137013869A KR 20130129381 A KR20130129381 A KR 20130129381A
- Authority
- KR
- South Korea
- Prior art keywords
- unit
- filtering
- vertical
- horizontal
- block
- Prior art date
Links
- 238000012545 processing Methods 0.000 title claims abstract description 255
- 238000003672 processing method Methods 0.000 title claims description 8
- 238000001914 filtration Methods 0.000 claims abstract description 344
- 238000000034 method Methods 0.000 claims abstract description 324
- 230000008569 process Effects 0.000 claims abstract description 235
- 238000010586 diagram Methods 0.000 description 50
- 238000004364 calculation method Methods 0.000 description 32
- 230000002441 reversible effect Effects 0.000 description 24
- 238000013139 quantization Methods 0.000 description 22
- 239000000872 buffer Substances 0.000 description 21
- 238000004891 communication Methods 0.000 description 19
- 238000003384 imaging method Methods 0.000 description 19
- 230000005540 biological transmission Effects 0.000 description 16
- 230000006870 function Effects 0.000 description 14
- 230000008707 rearrangement Effects 0.000 description 12
- 230000003287 optical effect Effects 0.000 description 10
- 238000007796 conventional method Methods 0.000 description 9
- 238000009825 accumulation Methods 0.000 description 8
- 238000011156 evaluation Methods 0.000 description 8
- 230000005236 sound signal Effects 0.000 description 7
- 239000013598 vector Substances 0.000 description 7
- 101000974007 Homo sapiens Nucleosome assembly protein 1-like 3 Proteins 0.000 description 5
- 102100022398 Nucleosome assembly protein 1-like 3 Human genes 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 5
- 238000010276 construction Methods 0.000 description 5
- 241000023320 Luma <angiosperm> Species 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 4
- 238000000926 separation method Methods 0.000 description 4
- 238000012937 correction Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 239000012536 storage buffer Substances 0.000 description 3
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 240000008100 Brassica rapa Species 0.000 description 1
- 230000003321 amplification Effects 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 239000003814 drug Substances 0.000 description 1
- 229940079593 drug Drugs 0.000 description 1
- 210000003127 knee Anatomy 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
- 230000002123 temporal effect Effects 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/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/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/117—Filters, e.g. for pre-processing or post-processing
-
- 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/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/182—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 a pixel
-
- 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/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/436—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
-
- 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/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
-
- 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/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
- H04N19/86—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
-
- 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/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
- H04N19/36—Scalability techniques involving formatting the layers as a function of picture distortion after decoding, e.g. signal-to-noise [SNR] scalability
-
- 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/597—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
본 발명은, 디블록 필터의 적용시의 처리의 새로운 병렬화를 가능하게 하는 것에 관한 것이다. 부호화 스트림으로부터 화상을 복호하는 복호부와, 상기 복호부에 의해 복호되는 화상 내의 블록 경계에 인접하는 인접 블록에 디블록 필터를 적용할지를 판정하는 판정 처리를 실행하는 판정부와, 상기 판정부에 의해 디블록 필터를 적용한다고 판정된 인접 블록에 디블록 필터를 적용하는 필터링부와, 수직 블록 경계 및 수평 블록 경계에 대한 상기 판정 처리를, 리컨스트럭트 화상의 상기 인접 블록의 화소를 참조 화소로서 사용하여, 상기 판정부에 실행시키는 제어부를 구비하는 화상 처리 장치를 제공한다.
Description
본 발명은, 화상 처리 장치 및 화상 처리 방법에 관한 것이다.
화상 부호화 방식의 표준 사양의 하나인 H.264/AVC에서는, 화상의 부호화시에 발생하는 블록 왜곡에 기인하는 화질의 열화를 억제하기 위해서, 예를 들어 4×4 화소의 블록마다 블록 경계에 디블록 필터가 적용된다. 이 디블록 필터를 위해 필요한 처리량은 엄청나서, 예를 들어 화상의 복호시의 전체 처리량의 50%를 차지하는 경우도 있는 것으로 알려져 있다.
차세대의 화상 부호화 방식인 HEVC(High Efficiency Video Coding)의 표준화 작업에서는, JCTVC-A119(하기 비특허문헌 1 참조)에 있어서, 8×8 화소 이상의 크기의 블록마다 디블록 필터를 적용하는 것이 제안되어 있다. JCTVC-A119에 있어서 제안된 방법으로는, 디블록 필터를 적용하는 최소 단위의 블록 크기가 확대됨으로써, 1개의 매크로 블록 내에서 동일한 방향의 복수의 블록 경계에 대한 필터링 처리를 병렬적으로 실행하는 것이 가능하게 된다.
K. Ugur (Nokia), K. R. Andersson (LM Ericsson), A. Fuldseth (Tandberg Telecom), "JCTVC-A119: Video coding technology proposal by Tandberg, Nokia, and Ericsson", Documents of the first meeting of the Joint Collaborative Team on Video Coding (JCT-VC), Dresden, Germany, 15-23 April, 2010.
그러나, JCTVC-A119에 있어서 제안된 방법을 채용했다고 해도, 수직 방향의 블록 경계에 대한 처리와 수평 방향의 블록 경계에 대한 처리의 사이의 의존 관계는 남겨진다. 따라서, 1개의 매크로 블록(또는 1개의 부호화 단위) 내에서 상이한 방향의 블록 경계에 대한 처리를 병렬화하는 것, 및 매크로 블록간에서 처리를 병렬화하는 것은 여전히 곤란하다. 따라서, 상기 방법으로도, 디블록 필터의 적용시의 엄청난 처리량을 원인으로 하는 지연 또는 데이터 레이트의 저하 등의 과제가 충분히 해결된다고는 말하기 어렵다.
따라서, 본 발명에 관한 기술은, 디블록 필터의 적용시에 있어서의 처리의 새로운 병렬화를 가능하게 하는, 화상 처리 장치 및 화상 처리 방법을 제공하고자 하는 것이다.
본 발명에 의하면, 부호화 스트림으로부터 화상을 복호하는 복호부와, 상기 복호부에 의해 복호되는 화상 내의 블록 경계에 인접하는 인접 블록에 디블록 필터를 적용할지를 판정하는 판정 처리를 실행하는 판정부와, 상기 판정부에 의해 디블록 필터를 적용한다고 판정된 인접 블록에 디블록 필터를 적용하는 필터링부와, 수직 블록 경계 및 수평 블록 경계에 대한 상기 판정 처리를, 리컨스트럭트 화상의 상기 인접 블록의 화소를 참조 화소로서 사용하여, 상기 판정부에 실행시키는 제어부를 구비하는 화상 처리 장치가 제공된다.
상기 화상 처리 장치는, 전형적으로는, 화상을 복호하는 화상 복호 장치로서 실현될 수 있다.
또한, 본 발명에 의하면, 부호화 스트림으로부터 화상을 복호하는 것과, 복호되는 화상 내의 블록 경계에 인접하는 인접 블록에 디블록 필터를 적용할지를 판정하는 판정 처리를 실행하는 것과, 상기 판정 처리에 있어서 디블록 필터를 적용한다고 판정된 인접 블록에 디블록 필터를 적용하는 것과, 수직 블록 경계 및 수평 블록 경계에 대한 상기 판정 처리가 리컨스트럭트 화상의 상기 인접 블록의 화소를 참조 화소로서 사용하여 실행되도록, 상기 판정 처리를 제어하는 것을 포함하는 화상 처리 방법이 제공된다.
또한, 본 발명에 의하면, 부호화 대상 화상을 부호화할 때에 로컬 디코드되는 화상 내의 블록 경계에 인접하는 인접 블록에 디블록 필터를 적용할지를 판정하는 판정 처리를 실행하는 판정부와, 상기 판정부에 의해 디블록 필터를 적용한다고 판정된 인접 블록에 디블록 필터를 적용하는 필터링부와, 수직 블록 경계 및 수평 블록 경계에 대한 상기 판정 처리를, 리컨스트럭트 화상의 상기 인접 블록의 화소를 참조 화소로서 사용하여, 상기 판정부에 실행시키는 제어부와, 상기 필터링부에 의해 필터링된 화상을 사용하여, 상기 부호화 대상 화상을 부호화하는 부호화부를 구비하는 화상 처리 장치가 제공된다.
상기 화상 처리 장치는, 전형적으로는, 화상을 부호화하는 화상 부호화 장치로서 실현될 수 있다.
또한, 본 발명에 의하면, 부호화 대상 화상을 부호화할 때에 로컬 디코드되는 화상 내의 블록 경계에 인접하는 인접 블록에 디블록 필터를 적용할지를 판정하는 판정 처리를 실행하는 것과, 상기 판정 처리에 있어서 디블록 필터를 적용한다고 판정된 인접 블록에 디블록 필터를 적용하는 것과, 수직 블록 경계 및 수평 블록 경계에 대한 상기 판정 처리가 리컨스트럭트 화상의 상기 인접 블록의 화소를 참조 화소로서 사용하여 실행되도록, 상기 판정 처리를 제어하는 것과, 상기 디블록 필터에 의해 필터링된 화상을 사용하여, 상기 부호화 대상 화상을 부호화하는 것을 포함하는 화상 처리 방법이 제공된다.
이상 설명한 바와 같이, 본 발명에 관한 화상 처리 장치 및 화상 처리 방법에 의하면, 디블록 필터의 적용시의 처리의 더 이상의 병렬화가 가능하게 된다.
도 1은 일 실시 형태에 따른 화상 부호화 장치의 구성의 일례를 나타내는 블록도이다.
도 2는 일 실시 형태에 따른 화상 복호 장치의 구성의 일례를 나타내는 블록도이다.
도 3은 경계를 사이에 두고 인접하는 화소의 일례를 나타내는 설명도이다.
도 4는 기존의 방법에 있어서의 필터링 필요 여부 판정 처리에서의 참조 화소에 대하여 설명하기 위한 설명도이다.
도 5는 필터링 처리에 의해 갱신되는 화소에 대하여 설명하기 위한 설명도이다.
도 6은 실시 형태의 설명을 위한 에지의 호칭에 대하여 설명하기 위한 설명도이다.
도 7은 기존의 방법에 있어서의 병렬 처리에 대하여 설명하기 위한 설명도이다.
도 8은 기존의 방법에 있어서의 처리간의 의존 관계에 대하여 설명하기 위한 제1 설명도이다.
도 9는 기존의 방법에 있어서의 처리간의 의존 관계에 대하여 설명하기 위한 제2 설명도이다.
도 10은 기존의 방법에 있어서의 처리의 순서의 일례에 대하여 설명하기 위한 설명도이다.
도 11은 제1 실시예에 관한 필터링 필요 여부 판정 처리에 있어서의 참조 화소에 대하여 설명하기 위한 제1 설명도이다.
도 12는 제1 실시예에 관한 필터링 필요 여부 판정 처리에 있어서의 참조 화소에 대하여 설명하기 위한 제2 설명도이다.
도 13은 처리의 순서의 제1 예에 대하여 설명하기 위한 설명도이다.
도 14는 처리의 순서의 제2 예에 대하여 설명하기 위한 설명도이다.
도 15는 제1 실시예에 관한 디블록 필터의 상세한 구성의 일례를 나타내는 블록도이다.
도 16은 판정부의 더욱 상세한 구성의 일례를 나타내는 블록도이다.
도 17은 슬라이스 경계를 사이에 두고 인접하는 블록의 일례에 대하여 설명하기 위한 설명도이다.
도 18은 슬라이스마다의 처리의 순서의 제1 예에 대하여 설명하기 위한 설명도이다.
도 19는 슬라이스마다의 처리의 순서의 제2 예에 대하여 설명하기 위한 설명도이다.
도 20은 일 실시 형태에 따른 디블록 필터에 의한 처리의 흐름의 제1 예를 나타내는 흐름도이다.
도 21은 일 실시 형태에 따른 디블록 필터에 의한 처리의 흐름의 제2 예를 나타내는 흐름도이다.
도 22는 일 실시 형태에 따른 필터링 필요 여부 판정 처리의 흐름의 일례를 나타내는 흐름도이다.
도 23은 제2 실시예에 관한 디블록 필터의 상세한 구성의 일례를 나타내는 블록도이다.
도 24는 제2 실시예에서 실현될 수 있는 판정 방법의 제1 및 제2 예에 대하여 설명하기 위한 설명도이다.
도 25는 제2 실시예에서 실현될 수 있는 판정 방법의 제3 및 제4 예에 대하여 설명하기 위한 설명도이다.
도 26은 제2 실시예에서 실현될 수 있는 판정 방법의 제5 및 제6 예에 대하여 설명하기 위한 설명도이다.
도 27은 LCU마다의 처리의 순서에 대하여 설명하기 위한 설명도이다.
도 28은 LCU마다의 처리의 흐름의 일례를 나타내는 흐름도이다.
도 29는 제3 실시예의 개략에 대하여 설명하기 위한 설명도이다.
도 30은 제3 실시예에 관한 디블록 필터의 상세한 구성의 일례를 나타내는 블록도이다.
도 31은 가중 평균을 위한 가중치의 결정에 대하여 설명하기 위한 설명도이다.
도 32는 가중 평균을 위한 가중치의 일례에 대하여 설명하기 위한 설명도이다.
도 33은 제3 실시예에 관한 계산부로부터의 출력 화소값에 대하여 설명하기 위한 설명도이다.
도 34는 비교를 위한 처리의 순서의 제1 예에 대하여 설명하기 위한 설명도이다.
도 35는 제3 실시예에서 실현되는 처리의 순서의 제1 예에 대하여 설명하기 위한 설명도이다.
도 36은 비교를 위한 처리의 순서의 제2 예에 대하여 설명하기 위한 설명도이다.
도 37은 제3 실시예에서 실현되는 처리의 순서의 제2 예에 대하여 설명하기 위한 설명도이다.
도 38은 제3 실시예에 관한 디블록 필터에 의한 처리의 흐름의 일례를 나타내는 흐름도이다.
도 39는, 도 38에 나타낸 화소값 계산 처리의 흐름의 일례를 나타내는 흐름도이다.
도 40은 멀티 뷰 코덱에 대하여 설명하기 위한 설명도이다.
도 41은 일 실시 형태에 따른 화상 부호화 처리의 멀티 뷰 코덱에 대한 적용에 대하여 설명하기 위한 설명도이다.
도 42는 일 실시 형태에 따른 화상 복호 처리의 멀티 뷰 코덱에 대한 적용에 대하여 설명하기 위한 설명도이다.
도 43은 스케일러블 코덱에 대하여 설명하기 위한 설명도이다.
도 44는 일 실시 형태에 따른 화상 부호화 처리의 스케일러블 코덱에 대한 적용에 대하여 설명하기 위한 설명도이다.
도 45는 일 실시 형태에 따른 화상 복호 처리의 스케일러블 코덱에 대한 적용에 대하여 설명하기 위한 설명도이다.
도 46은 텔레비전 장치의 개략적인 구성의 일례를 나타내는 블록도이다.
도 47은 휴대 전화기의 개략적인 구성의 일례를 나타내는 블록도이다.
도 48은 기록 재생 장치의 개략적인 구성의 일례를 나타내는 블록도이다.
도 49는 촬상 장치의 개략적인 구성의 일례를 나타내는 블록도이다.
도 2는 일 실시 형태에 따른 화상 복호 장치의 구성의 일례를 나타내는 블록도이다.
도 3은 경계를 사이에 두고 인접하는 화소의 일례를 나타내는 설명도이다.
도 4는 기존의 방법에 있어서의 필터링 필요 여부 판정 처리에서의 참조 화소에 대하여 설명하기 위한 설명도이다.
도 5는 필터링 처리에 의해 갱신되는 화소에 대하여 설명하기 위한 설명도이다.
도 6은 실시 형태의 설명을 위한 에지의 호칭에 대하여 설명하기 위한 설명도이다.
도 7은 기존의 방법에 있어서의 병렬 처리에 대하여 설명하기 위한 설명도이다.
도 8은 기존의 방법에 있어서의 처리간의 의존 관계에 대하여 설명하기 위한 제1 설명도이다.
도 9는 기존의 방법에 있어서의 처리간의 의존 관계에 대하여 설명하기 위한 제2 설명도이다.
도 10은 기존의 방법에 있어서의 처리의 순서의 일례에 대하여 설명하기 위한 설명도이다.
도 11은 제1 실시예에 관한 필터링 필요 여부 판정 처리에 있어서의 참조 화소에 대하여 설명하기 위한 제1 설명도이다.
도 12는 제1 실시예에 관한 필터링 필요 여부 판정 처리에 있어서의 참조 화소에 대하여 설명하기 위한 제2 설명도이다.
도 13은 처리의 순서의 제1 예에 대하여 설명하기 위한 설명도이다.
도 14는 처리의 순서의 제2 예에 대하여 설명하기 위한 설명도이다.
도 15는 제1 실시예에 관한 디블록 필터의 상세한 구성의 일례를 나타내는 블록도이다.
도 16은 판정부의 더욱 상세한 구성의 일례를 나타내는 블록도이다.
도 17은 슬라이스 경계를 사이에 두고 인접하는 블록의 일례에 대하여 설명하기 위한 설명도이다.
도 18은 슬라이스마다의 처리의 순서의 제1 예에 대하여 설명하기 위한 설명도이다.
도 19는 슬라이스마다의 처리의 순서의 제2 예에 대하여 설명하기 위한 설명도이다.
도 20은 일 실시 형태에 따른 디블록 필터에 의한 처리의 흐름의 제1 예를 나타내는 흐름도이다.
도 21은 일 실시 형태에 따른 디블록 필터에 의한 처리의 흐름의 제2 예를 나타내는 흐름도이다.
도 22는 일 실시 형태에 따른 필터링 필요 여부 판정 처리의 흐름의 일례를 나타내는 흐름도이다.
도 23은 제2 실시예에 관한 디블록 필터의 상세한 구성의 일례를 나타내는 블록도이다.
도 24는 제2 실시예에서 실현될 수 있는 판정 방법의 제1 및 제2 예에 대하여 설명하기 위한 설명도이다.
도 25는 제2 실시예에서 실현될 수 있는 판정 방법의 제3 및 제4 예에 대하여 설명하기 위한 설명도이다.
도 26은 제2 실시예에서 실현될 수 있는 판정 방법의 제5 및 제6 예에 대하여 설명하기 위한 설명도이다.
도 27은 LCU마다의 처리의 순서에 대하여 설명하기 위한 설명도이다.
도 28은 LCU마다의 처리의 흐름의 일례를 나타내는 흐름도이다.
도 29는 제3 실시예의 개략에 대하여 설명하기 위한 설명도이다.
도 30은 제3 실시예에 관한 디블록 필터의 상세한 구성의 일례를 나타내는 블록도이다.
도 31은 가중 평균을 위한 가중치의 결정에 대하여 설명하기 위한 설명도이다.
도 32는 가중 평균을 위한 가중치의 일례에 대하여 설명하기 위한 설명도이다.
도 33은 제3 실시예에 관한 계산부로부터의 출력 화소값에 대하여 설명하기 위한 설명도이다.
도 34는 비교를 위한 처리의 순서의 제1 예에 대하여 설명하기 위한 설명도이다.
도 35는 제3 실시예에서 실현되는 처리의 순서의 제1 예에 대하여 설명하기 위한 설명도이다.
도 36은 비교를 위한 처리의 순서의 제2 예에 대하여 설명하기 위한 설명도이다.
도 37은 제3 실시예에서 실현되는 처리의 순서의 제2 예에 대하여 설명하기 위한 설명도이다.
도 38은 제3 실시예에 관한 디블록 필터에 의한 처리의 흐름의 일례를 나타내는 흐름도이다.
도 39는, 도 38에 나타낸 화소값 계산 처리의 흐름의 일례를 나타내는 흐름도이다.
도 40은 멀티 뷰 코덱에 대하여 설명하기 위한 설명도이다.
도 41은 일 실시 형태에 따른 화상 부호화 처리의 멀티 뷰 코덱에 대한 적용에 대하여 설명하기 위한 설명도이다.
도 42는 일 실시 형태에 따른 화상 복호 처리의 멀티 뷰 코덱에 대한 적용에 대하여 설명하기 위한 설명도이다.
도 43은 스케일러블 코덱에 대하여 설명하기 위한 설명도이다.
도 44는 일 실시 형태에 따른 화상 부호화 처리의 스케일러블 코덱에 대한 적용에 대하여 설명하기 위한 설명도이다.
도 45는 일 실시 형태에 따른 화상 복호 처리의 스케일러블 코덱에 대한 적용에 대하여 설명하기 위한 설명도이다.
도 46은 텔레비전 장치의 개략적인 구성의 일례를 나타내는 블록도이다.
도 47은 휴대 전화기의 개략적인 구성의 일례를 나타내는 블록도이다.
도 48은 기록 재생 장치의 개략적인 구성의 일례를 나타내는 블록도이다.
도 49는 촬상 장치의 개략적인 구성의 일례를 나타내는 블록도이다.
이하에 첨부 도면을 참조하면서, 본 발명의 적합한 실시 형태에 대하여 상세하게 설명한다. 또한, 본 명세서 및 도면에서, 실질적으로 동일한 기능 구성을 갖는 구성 요소에 대해서는, 동일한 부호를 부여함으로써 중복 설명을 생략한다.
또한, 이하의 순서에 따라서 당해 "발명을 실시하기 위한 형태"를 설명한다.
1. 장치의 개요
1-1. 화상 부호화 장치
1-2. 화상 복호 장치
2. 기존의 방법의 설명
2-1. 디블록 필터의 기본적인 구성
2-2. 기존의 방법에 있어서의 처리간의 의존 관계
3. 제1 실시예
3-1. 디블록 필터의 구성예
3-2. 처리의 흐름
4. 제2 실시예
4-1. 디블록 필터의 구성예
4-2. 처리의 흐름
4-3. LCU마다의 처리의 예
5. 제3 실시예
5-1. 개략
5-2. 디블록 필터의 구성예
5-3. 처리의 순서의 예
5-4. 처리의 흐름
6. 다양한 코덱에 대한 적용
6-1. 멀티 뷰 코덱
6-2. 스케일러블 코덱
7. 응용예
8. 정리
<1. 장치의 개요>
우선, 도 1 및 도 2를 사용하여, 본 명세서에서 개시하는 기술을 적용 가능한 일례로서의 장치의 개요를 설명한다. 본 명세서에서 개시하는 기술은, 예를 들어 화상 부호화 장치 및 화상 복호 장치에 적용 가능하다.
[1-1. 화상 부호화 장치]
도 1은, 일 실시 형태에 따른 화상 부호화 장치(10)의 구성의 일례를 나타내는 블록도이다. 도 1을 참조하면, 화상 부호화 장치(10)는, A/D(Analogue to Digital) 변환부(11), 재배열 버퍼(12), 감산부(13), 직교 변환부(14), 양자화부(15), 가역 부호화부(16), 축적 버퍼(17), 레이트 제어부(18), 역양자화부(21), 역직교 변환부(22), 가산부(23), 디블록 필터(24a), 프레임 메모리(25), 셀렉터(26), 인트라 예측부(30), 움직임 탐색부(40) 및 모드 선택부(50)를 구비한다.
A/D 변환부(11)는, 아날로그 형식으로 입력되는 화상 신호를 디지털 형식의 화상 데이터로 변환하고, 일련의 디지털 화상 데이터를 재배열 버퍼(12)에 출력한다.
재배열 버퍼(12)는, A/D 변환부(11)로부터 입력되는 일련의 화상 데이터에 포함되는 화상을 재배열한다. 재배열 버퍼(12)는, 부호화 처리에 관한 GOP(Group of Pictures) 구조에 따라서 화상을 재배열한 후, 재배열 후의 화상 데이터를 감산부(13), 인트라 예측부(30) 및 움직임 탐색부(40)에 출력한다.
감산부(13)에는, 재배열 버퍼(12)로부터 입력되는 화상 데이터 및 후에 설명하는 모드 선택부(50)에 의해 선택되는 예측 화상 데이터가 공급된다. 감산부(13)는, 재배열 버퍼(12)로부터 입력되는 화상 데이터와 모드 선택부(50)로부터 입력되는 예측 화상 데이터의 차분인 예측 오차 데이터를 산출하고, 산출한 예측 오차 데이터를 직교 변환부(14)에 출력한다.
직교 변환부(14)는, 감산부(13)로부터 입력되는 예측 오차 데이터에 대하여 직교 변환을 행한다. 직교 변환부(14)에 의해 실행되는 직교 변환은, 예를 들어 이산 코사인 변환(Discrete Cosine Transform: DCT) 또는 카루넨 루베 변환 등이어도 된다. 직교 변환부(14)는, 직교 변환 처리에 의해 취득되는 변환 계수 데이터를 양자화부(15)에 출력한다.
양자화부(15)에는, 직교 변환부(14)로부터 입력되는 변환 계수 데이터 및 후에 설명하는 레이트 제어부(18)로부터의 레이트 제어 신호가 공급된다. 양자화부(15)는, 변환 계수 데이터를 양자화하고, 양자화 후의 변환 계수 데이터(이하, 양자화 데이터라고 함)를 가역 부호화부(16) 및 역양자화부(21)에 출력한다. 또한, 양자화부(15)는, 레이트 제어부(18)로부터의 레이트 제어 신호에 기초하여 양자화 파라미터(양자화 스케일)를 전환함으로써, 가역 부호화부(16)에 입력되는 양자화 데이터의 비트 레이트를 변화시킨다.
가역 부호화부(16)에는, 양자화부(15)로부터 입력되는 양자화 데이터 및 후에 설명하는 인트라 예측부(30) 또는 움직임 탐색부(40)에 의해 생성되어 모드 선택부(50)에 의해 선택되는 인트라 예측 또는 인터 예측에 관한 정보가 공급된다. 인트라 예측에 관한 정보는, 예를 들어 블록마다의 최적의 인트라 예측 모드를 나타내는 예측 모드 정보를 포함할 수 있다. 또한, 인터 예측에 관한 정보는, 예를 들어 블록마다의 움직임 벡터의 예측을 위한 예측 모드 정보, 차분 움직임 벡터 정보 및 참조 화상 정보 등을 포함할 수 있다.
가역 부호화부(16)는, 양자화 데이터에 대하여 가역 부호화 처리를 행함으로써 부호화 스트림을 생성한다. 가역 부호화부(16)에 의한 가역 부호화는, 예를 들어 가변 길이 부호화, 또는 산술 부호화 등이어도 된다. 또한, 가역 부호화부(16)는, 상술한 인트라 예측에 관한 정보 또는 인터 예측에 관한 정보를, 부호화 스트림의 헤더(예를 들어 블록 헤더 또는 슬라이스 헤더 등) 내에 다중화한다. 그리고, 가역 부호화부(16)는, 생성한 부호화 스트림을 축적 버퍼(17)에 출력한다.
축적 버퍼(17)는, 가역 부호화부(16)로부터 입력되는 부호화 스트림을 반도체 메모리 등의 기억 매체를 사용하여 일시적으로 축적한다. 그리고, 축적 버퍼(17)는, 축적한 부호화 스트림을, 전송로(또는 화상 부호화 장치(10)로부터의 출력선)의 대역에 따른 레이트로 출력한다.
레이트 제어부(18)는, 축적 버퍼(17)의 빈 용량을 감시한다. 그리고, 레이트 제어부(18)는, 축적 버퍼(17)의 빈 용량에 따라서 레이트 제어 신호를 생성하고, 생성한 레이트 제어 신호를 양자화부(15)에 출력한다. 예를 들어, 레이트 제어부(18)는, 축적 버퍼(17)의 빈 용량이 적을 때에는, 양자화 데이터의 비트 레이트를 저하시키기 위한 레이트 제어 신호를 생성한다. 또한, 예를 들어 레이트 제어부(18)는, 축적 버퍼(17)의 빈 용량이 충분히 클 때에는, 양자화 데이터의 비트 레이트를 높이기 위한 레이트 제어 신호를 생성한다.
역양자화부(21)는, 양자화부(15)로부터 입력되는 양자화 데이터에 대하여 역양자화 처리를 행한다. 그리고, 역양자화부(21)는, 역양자화 처리에 의해 취득되는 변환 계수 데이터를, 역직교 변환부(22)에 출력한다.
역직교 변환부(22)는, 역양자화부(21)로부터 입력되는 변환 계수 데이터에 대하여 역직교 변환 처리를 행함으로써, 예측 오차 데이터를 복원한다. 그리고, 역직교 변환부(22)는, 복원한 예측 오차 데이터를 가산부(23)에 출력한다.
가산부(23)는, 역직교 변환부(22)로부터 입력되는 복원된 예측 오차 데이터와 모드 선택부(50)로부터 입력되는 예측 화상 데이터를 가산함으로써, 복호 화상 데이터를 생성한다. 그리고, 가산부(23)는, 생성한 복호 화상 데이터를 디블록 필터(24a) 및 프레임 메모리(25)에 출력한다.
디블록 필터(24a)는, 화상의 부호화시에 발생하는 블록 왜곡을 감소시키기 위한 필터링 처리를 행한다. 예를 들어, 디블록 필터(24a)는, 가산부(23)로부터 입력되는 복호 화상 데이터에 대하여 블록의 경계마다 필터링의 필요 여부를 판정하고, 필터를 적용해야 한다고 판정한 경계에 디블록 필터를 적용한다. 디블록 필터(24a)에는, 가산부(23)로부터의 복호 화상 데이터 외에, 필터링의 필요 여부의 판정을 위해 사용되는 정보(예를 들어, 모드 정보, 변환 계수 정보 및 움직임 벡터 정보)도 입력된다. 그리고, 디블록 필터(24a)는, 블록 왜곡이 제거된 필터링 후의 복호 화상 데이터를 프레임 메모리(25)에 출력한다. 또한, 디블록 필터(24a)에 의한 처리에 대해서, 후에 상세하게 설명한다.
프레임 메모리(25)는, 가산부(23)로부터 입력되는 복호 화상 데이터 및 디블록 필터(24a)로부터 입력되는 필터링 후의 복호 화상 데이터를 기억 매체를 사용하여 기억한다.
셀렉터(26)는, 인트라 예측을 위해 사용되는 필터링 전의 복호 화상 데이터를 프레임 메모리(25)로부터 판독하고, 판독한 복호 화상 데이터를 참조 화상 데이터로서 인트라 예측부(30)에 공급한다. 또한, 셀렉터(26)는, 인터 예측을 위해 사용되는 필터링 후의 복호 화상 데이터를 프레임 메모리(25)로부터 판독하고, 판독한 복호 화상 데이터를 참조 화상 데이터로서 움직임 탐색부(40)에 공급한다.
인트라 예측부(30)는, 재배열 버퍼(12)로부터 입력되는 부호화 대상의 화상 데이터 및 셀렉터(26)를 통해 공급되는 복호 화상 데이터에 기초하여, 각 인트라 예측 모드의 인트라 예측 처리를 행한다. 예를 들어, 인트라 예측부(30)는, 각 인트라 예측 모드에 의한 예측 결과를 소정의 비용 함수를 사용하여 평가한다. 그리고, 인트라 예측부(30)는, 비용 함수값이 최소가 되는 인트라 예측 모드, 즉 압축률이 가장 높아지는 인트라 예측 모드를, 최적의 인트라 예측 모드로서 선택한다. 또한, 인트라 예측부(30)는, 당해 최적의 인트라 예측 모드를 나타내는 예측 모드 정보, 예측 화상 데이터 및 비용 함수값 등의 인트라 예측에 관한 정보를, 모드 선택부(50)에 출력한다.
움직임 탐색부(40)는, 재배열 버퍼(12)로부터 입력되는 부호화 대상의 화상 데이터 및 셀렉터(26)를 통해 공급되는 복호 화상 데이터에 기초하여, 인터 예측 처리(프레임간 예측 처리)를 행한다. 예를 들어, 움직임 탐색부(40)는, 각 예측 모드에 의한 예측 결과를 소정의 비용 함수를 사용하여 평가한다. 이어서, 움직임 탐색부(40)는, 비용 함수값이 최소가 되는 예측 모드, 즉 압축률이 가장 높아지는 예측 모드를, 최적의 예측 모드로서 선택한다. 또한, 움직임 탐색부(40)는, 당해 최적의 예측 모드에 따라서 예측 화상 데이터를 생성한다. 그리고, 움직임 탐색부(40)는, 선택한 최적의 예측 모드를 나타내는 예측 모드 정보, 예측 화상 데이터 및 비용 함수값 등의 인터 예측에 관한 정보를, 모드 선택부(50)에 출력한다.
모드 선택부(50)는, 인트라 예측부(30)로부터 입력되는 인트라 예측에 관한 비용 함수값과 움직임 탐색부(40)로부터 입력되는 인터 예측에 관한 비용 함수값을 비교한다. 그리고, 모드 선택부(50)는, 인트라 예측 및 인터 예측 중 비용 함수값이 보다 적은 예측 방법을 선택한다. 모드 선택부(50)는, 인트라 예측을 선택한 경우에는, 인트라 예측에 관한 정보를 가역 부호화부(16)에 출력함과 함께, 예측 화상 데이터를 감산부(13) 및 가산부(23)에 출력한다. 또한, 모드 선택부(50)는, 인터 예측을 선택한 경우에는, 인터 예측에 관한 상술한 정보를 가역 부호화부(16)에 출력함과 함께, 예측 화상 데이터를 감산부(13) 및 가산부(23)에 출력한다.
[1-2. 화상 복호 장치]
도 2는, 일 실시 형태에 따른 화상 복호 장치(60)의 구성의 일례를 나타내는 블록도이다. 도 2를 참조하면, 화상 복호 장치(60)는, 축적 버퍼(61), 가역 복호부(62), 역양자화부(63), 역직교 변환부(64), 가산부(65), 디블록 필터(24b), 재배열 버퍼(67), D/A(Digital to Analogue) 변환부(68), 프레임 메모리(69), 셀렉터(70 및 71), 인트라 예측부(80), 및 움직임 보상부(90)를 구비한다.
축적 버퍼(61)는, 전송로를 통해 입력되는 부호화 스트림을 기억 매체를 사용하여 일시적으로 축적한다.
가역 복호부(62)는, 축적 버퍼(61)로부터 입력되는 부호화 스트림을, 부호화시에 사용된 부호화 방식에 따라서 복호한다. 또한, 가역 복호부(62)는, 부호화 스트림의 헤더 영역에 다중화되어 있는 정보를 복호한다. 부호화 스트림의 헤더 영역에 다중화되어 있는 정보란, 예를 들어 블록 헤더 내의 인트라 예측에 관한 정보 및 인터 예측에 관한 정보를 포함할 수 있다. 가역 복호부(62)는, 인트라 예측에 관한 정보를 인트라 예측부(80)에 출력한다. 또한, 가역 복호부(62)는, 인터 예측에 관한 정보를 움직임 보상부(90)에 출력한다.
역양자화부(63)는, 가역 복호부(62)에 의한 복호 후의 양자화 데이터를 역양자화한다. 역직교 변환부(64)는, 부호화시에 사용된 직교 변환 방식에 따라, 역양자화부(63)로부터 입력되는 변환 계수 데이터에 대하여 역직교 변환을 행함으로써, 예측 오차 데이터를 생성한다. 그리고, 역직교 변환부(64)는, 생성한 예측 오차 데이터를 가산부(65)에 출력한다.
가산부(65)는, 역직교 변환부(64)로부터 입력되는 예측 오차 데이터와, 셀렉터(71)로부터 입력되는 예측 화상 데이터를 가산함으로써, 복호 화상 데이터를 생성한다. 그리고, 가산부(65)는, 생성한 복호 화상 데이터를 디블록 필터(24b) 및 프레임 메모리(69)에 출력한다.
디블록 필터(24b)는, 복호된 화상에 나타나는 블록 왜곡을 감소시키기 위한 필터링 처리를 행한다. 디블록 필터(24b)는, 예를 들어 가산부(65)로부터 입력되는 복호 화상 데이터에 대하여 블록의 경계마다 필터링의 필요 여부를 판정하고, 필터를 적용해야 한다고 판정한 경계에 디블록 필터를 적용한다. 디블록 필터(24b)에는, 가산부(65)로부터의 복호 화상 데이터 외에, 필터링의 필요 여부의 판정을 위해 사용되는 정보도 입력된다. 그리고, 디블록 필터(24b)는, 블록 왜곡이 제거된 필터링 후의 복호 화상 데이터를 재배열 버퍼(67) 및 프레임 메모리(69)에 출력한다. 또한, 디블록 필터(24b)에 의한 처리에 대해서, 후에 상세하게 설명한다.
재배열 버퍼(67)는, 디블록 필터(24b)로부터 입력되는 화상을 재배열함으로써, 시계열의 일련의 화상 데이터를 생성한다. 그리고, 재배열 버퍼(67)는, 생성한 화상 데이터를 D/A 변환부(68)에 출력한다.
D/A 변환부(68)는, 재배열 버퍼(67)로부터 입력되는 디지털 형식의 화상 데이터를 아날로그 형식의 화상 신호로 변환한다. 그리고, D/A 변환부(68)는, 예를 들어 화상 복호 장치(60)와 접속되는 디스플레이(도시하지 않음)에 아날로그 화상 신호를 출력함으로써, 화상을 표시시킨다.
프레임 메모리(69)는, 가산부(65)로부터 입력되는 필터링 전의 복호 화상 데이터 및 디블록 필터(24b)로부터 입력되는 필터링 후의 복호 화상 데이터를 기억 매체를 사용하여 기억한다.
셀렉터(70)는, 가역 복호부(62)에 의해 취득되는 모드 정보에 따라, 화상 내의 블록마다, 프레임 메모리(69)로부터의 화상 데이터의 출력처를 인트라 예측부(80)와 움직임 보상부(90)의 사이에서 전환한다. 예를 들어, 셀렉터(70)는, 인트라 예측 모드가 지정된 경우에는, 프레임 메모리(69)로부터 공급되는 필터링 전의 복호 화상 데이터를 참조 화상 데이터로서 인트라 예측부(80)에 출력한다. 또한, 셀렉터(70)는, 인터 예측 모드가 지정된 경우에는, 프레임 메모리(69)로부터 공급되는 필터링 후의 복호 화상 데이터를 참조 화상 데이터로서 움직임 보상부(90)에 출력한다.
셀렉터(71)는, 가역 복호부(62)에 의해 취득되는 모드 정보에 따라, 화상 내의 블록마다, 가산부(65)에 공급해야 할 예측 화상 데이터의 출력원을 인트라 예측부(80)와 움직임 보상부(90)의 사이에서 전환한다. 예를 들어, 셀렉터(71)는, 인트라 예측 모드가 지정된 경우에는, 인트라 예측부(80)로부터 출력되는 예측 화상 데이터를 가산부(65)에 공급한다. 셀렉터(71)는, 인터 예측 모드가 지정된 경우에는, 움직임 보상부(90)로부터 출력되는 예측 화상 데이터를 가산부(65)에 공급한다.
인트라 예측부(80)는, 가역 복호부(62)로부터 입력되는 인트라 예측에 관한 정보와 프레임 메모리(69)로부터의 참조 화상 데이터에 기초하여 화소값의 화면 내 예측을 행하여, 예측 화상 데이터를 생성한다. 그리고, 인트라 예측부(80)는, 생성한 예측 화상 데이터를 셀렉터(71)에 출력한다.
움직임 보상부(90)는, 가역 복호부(62)로부터 입력되는 인터 예측에 관한 정보와 프레임 메모리(69)로부터의 참조 화상 데이터에 기초하여 움직임 보상 처리를 행하여, 예측 화상 데이터를 생성한다. 그리고, 움직임 보상부(90)는, 생성한 예측 화상 데이터를 셀렉터(71)에 출력한다.
<2. 기존 방법의 설명>
[2-1. 디블록 필터의 기본적인 구성]
일반적으로, H.264/AVC 또는 HEVC 등의 기존의 화상 부호화 방식에 있어서의 디블록 필터에 의한 처리는, 필터링 필요 여부 판정 처리 및 필터링 처리라는 2종류의 처리를 포함한다. 이하, HEVC를 예로 들어, 이들 2개의 처리에 대하여 설명한다.
(1) 필터링 필요 여부 판정 처리
필터링 필요 여부 판정 처리는, 입력 화상 내의 블록의 경계마다 디블록 필터를 적용해야 할지 여부를 판정하는 처리이다. 블록의 경계는, 좌우로 인접하는 블록간의 수직 경계와, 상하로 인접하는 블록간의 수평 경계를 포함한다. JCTVC-A119에서는, 8×8 화소의 블록 크기가 최소의 처리 단위이다. 예를 들어, 16×16 화소의 매크로 블록 내에는 4개의 8×8 화소의 블록이 존재하고, 블록마다 1개의 (좌측의) 수직 경계 및 1개의 (상측의) 수평 경계, 즉 총 4+4=8개의 경계가 판정의 대상이 된다. 또한, 본 명세서에서, 매크로 블록이란 용어는, HEVC의 문맥에 있어서의 부호화 단위(CU: Coding Unit)도 포함하는 것으로 한다.
도 3은, 경계를 사이에 두고 인접하는 2개의 블록(인접 블록) Ba 및 Bb 내의 화소의 일례를 나타내는 설명도이다. 여기에서는 수직 경계를 예로 들어 설명하지만, 당연히, 여기에서 설명되는 사항은 수평 경계에도 동등하게 적용 가능하다. 도 3의 예에서, 블록 Ba 내의 화소는, pij라는 기호로 나타나 있다. i는 열의 인덱스, j는 행의 인덱스이다. 열의 인덱스 i는, 수직 경계에 가까운 열부터 순서대로 (우측에서 좌측으로) 0, 1, 2, 3이라 번호가 붙어 있다. 행의 인덱스 j는, 위에서 아래로 0, 1, 2, …, 7이라 번호가 붙어 있다. 또한, 블록 Ba의 좌측 절반은 도면 중에서 생략되어 있다. 한편, 블록 Bb 내의 화소는, qkj라는 기호로 나타나 있다. k는 열의 인덱스, j는 행의 인덱스이다. 열의 인덱스 k는, 수직 경계에 가까운 열부터 순서대로 (좌측에서 우측으로) 0, 1, 2, 3이라 번호가 붙어 있다. 또한, 블록 Bb의 우측 절반도 또한 도면 중에서 생략되어 있다.
도 3에 도시한 블록 Ba 및 Bb의 사이의 수직 경계에 대해서, 디블록 필터를 적용해야 할지 여부는, 다음과 같은 조건에 따라 판정될 수 있다:
·휘도 성분(Luma)의 판정 조건 … 조건 A 및 조건 B가 모두 참이라면 적용
- 조건 A:
(A1) 블록 Ba 또는 Bb가 인트라 예측 모드다 ;
(A2) 블록 Ba 또는 Bb가 비제로인 직교 변환 계수를 갖는다 ; 또는
(A3) |MVAx-MVBx|≥4 또는 |MVAy-MVBy|≥4
- 조건 B:
|p22-2p12+p02|+|q22-2q12+q02|+|p25-2p15+p05|+|q25-2q15+q05|<β
또한, 조건 A3에 관해서, Qpel(1/4 화소) 정밀도의 블록 Ba의 움직임 벡터를 (MVAx, MVAy), 블록 Bb의 움직임 벡터를 (MVBx, MVBy)라 한다. 또한, 조건 B에서의 β는, 에지 판정 임계값이다. β의 초기값은 양자화 파라미터에 따라서 부여된다. 또한, β의 값은, 슬라이스 헤더 내의 파라미터로 유저에 의해 지정 가능하다.
·색차 성분(Chroma)의 판정 조건 … 조건 A1이 참이라면 적용
- 조건 A1: 블록 Ba 또는 Bb가 인트라 예측 모드다.
즉, 도 4에서 점선 프레임 L3 및 L6으로 나타내고 있는 바와 같이, 일반적인 수직 경계에 대한 필터링 필요 여부 판정 처리(특히, 휘도 성분의 판정 조건 B의 판정)에서는, 각 블록의 3번째 및 6번째의 행(가장 위의 행을 1번째로 함)의 화소가 참조된다. 마찬가지로, 수평 경계에 대한 필터링 필요 여부 판정 처리에서는, 각 블록의 3번째 및 6번째의 열의 화소(도 4에는 나타나 있지 않음)가 참조된다. 그리고, 상술한 판정 조건에 따라 디블록 필터를 적용해야 한다고 판정된 경계에 대해서, 다음에 설명하는 필터링 처리가 행해진다.
(2) 필터링 처리
어떤 경계에 대하여 디블록 필터를 적용해야 한다고 판정되면, 수직 경계에 대해서는 당해 경계의 좌우의 화소, 수평 경계에 대해서는 당해 경계의 상하의 화소에 필터링 처리가 행해진다. 휘도 성분에 대해서는, 화소값에 따라서 필터 강도가 강(strong) 필터와 약(weak) 필터의 사이에서 전환될 수 있다.
·휘도 성분의 필터링
- 강도 선택 … 1행마다(또는 1열마다) 필터 강도를 선택. 이하의 조건 C1 내지 C3이 모두 만족될 경우에는 강 필터, 어느 하나라도 만족되지 않을 경우에는 약 필터가 선택된다:
(C1) d<(β>>2)
(C2) (|p3j-p0j|+|q0j-q3j|)<(β>>3)
(C3) |p0j-q0j|<((5tC+1)>>1)
여기서, j는, 수직 경계에 대하여 행, 수평 경계에 대해서는 열의 인덱스이다. 또한, d=|p22-2p12+p02|+|q22-2q12+q02|+|p25-2p15+p05|+|q25-2q15+q05|이다.
- 약 필터링:
Δ=Clip(-tC, tC, (13(q0j-p0j)+4(q1j-p1j)-5(q2j-p2j)+16)>>5))
p0j=Clip0 -255(p0j+Δ)
q0j=Clip0 -255(q0j-Δ)
p1j=Clip0 -255(p1j+Δ/2)
q1j=Clip0 -255(q1j-Δ/2)
- 강 필터링:
p0j=Clip0 -255((p2j+2p1j+2p0j+2q0j+q1j+4)>>3)
q0j=Clip0 -255((p1j+2p0j+2q0j+2q1j+q2j+4)>>3)
p1j=Clip0 -255((p2j+p1j+p0j+q0j+2)>>2)
q1j=Clip0 -255((p0j+q0j+q1j+q2j+2)>>2)
p2j=Clip0 -255((2p3j+3p2j+p1j+p0j+q0j+4)>>3)
q2j=Clip0 -255((p0j+q0j+q1j+3q2j+2q3j+4)>>3)
또한, Clip(a, b, c)는, 값 c를 a≤c≤b의 범위에서 클립하는 처리, Clip0 -255(c)는, 값 c를 0≤c≤255의 범위에서 클립하는 처리를 각각 나타낸다.
·색차 성분의 필터링:
Δ=Clip(-tC, tC, ((((q0j-p0j)<<2)+p1j-q1j+4)>>3))
p0j=Clip0 -255(p0j+Δ)
q0j=Clip0 -255(q0j-Δ)
즉, 도 5에서 점선 프레임 C6 내지 C8 및 C1 내지 C3으로 나타내고 있는 바와 같이, 일반적인 수직 경계에 대한 필터링 처리(특히, 휘도 성분의 강 필터링)에서는, 각 블록의 1 내지 3번째 및 6 내지 8번째의 열의 화소값이 갱신된다. 마찬가지로, 수평 경계에 대한 필터링 처리에서는, 각 블록의 1 내지 3번째 및 6 내지 8번째의 행의 화소값이 갱신된다.
[2-2. 기존 방법에서의 처리간의 의존 관계]
여기서, 설명을 위해, 도 6에 도시한 바와 같이, 16×16 화소의 크기를 갖는 매크로 블록(MBx(MB0, MB1…))의 좌측 상부의 수직 경계를 Vx,0, 중앙 상부의 수직 경계를 Vx,1, 좌측 하부의 수직 경계를 Vx,2, 중앙 하부의 수직 경계를 Vx,3, 좌측 상부의 수평 경계를 Hx,0, 우측 상부의 수평 경계를 Hx,1, 좌측 중앙의 수평 경계를 Hx,2, 우측 중앙의 수평 경계를 Hx,3이라고 나타내는 것으로 한다. 또한, 예를 들어 경계 Z에 대한 필터링 필요 여부 판정 처리를 JZ, 필터링 처리를 FZ 등으로 나타내는 것으로 한다.
상술한 기존의 방법에서는, 1개의 매크로 블록 내에서 동일한 방향의 복수의 경계에 대한 처리의 사이에 의존 관계가 존재하지 않는다. 그로 인해, 예를 들어 1개의 매크로 블록 내에서 복수의 수직 경계에 대한 필터링을 병렬적으로 실행하고 및 복수의 수평 경계에 대한 필터링을 병렬적으로 실행할 수 있다. 일례로서, 도 7을 참조하면, 매크로 블록 MB0 내에서, 4개의 필터링 처리 FV0 ,0, FV0 ,1, FV0 ,2 및 FV0,3의 사이에 의존 관계가 없고(즉, 중복해서 갱신되는 화소가 없고), 이들을 병렬적으로 실행할 수 있음을 알 수 있다.
그러나, 상술한 기존의 방법에서는, 수직 경계에 대한 필터링 처리와 수평 경계에 대한 필터링 필요 여부 판정 처리의 사이의 의존 관계는 남겨진다. 또한, 수평 경계에 대한 필터링 처리와 수직 경계에 대한 필터링 필요 여부 판정 처리의 사이의 의존 관계도 남겨진다. 따라서, 예를 들어 수직 경계를 수평 경계보다 먼저 처리하는 경우, 어떤 매크로 블록 내에서의 수평 경계에 대한 필터링 필요 여부 판정 처리는, 수직 경계에 대한 필터링 처리의 종료를 기다려서 실행되게 된다. 일례로서, 도 8을 참조하면, 매크로 블록 MB0 내에서, 필터링 처리 FV0 ,0 및 FV0 ,1의 결과에 필터링 필요 여부 판정 처리 JH0 ,0이 의존하고, 필터링 처리 FV0 ,1의 결과에 필터링 필요 여부 판정 처리 JH0 ,1이 의존하는 것으로 나타나 있다. 마찬가지로, 어떤 매크로 블록 내에서의 수직 경계에 대한 필터링 필요 여부 판정 처리는, 이웃의 매크로 블록의 수평 경계에 대한 필터링 처리의 종료를 기다려서 실행되게 된다. 일례로서, 도 9를 참조하면, 매크로 블록 MB0의 필터링 처리 FH0 ,1 및 FH0 ,3의 결과에 매크로 블록 MB1의 필터링 필요 여부 판정 처리 JV1 ,0이 의존하고, 매크로 블록 MB0의 필터링 처리 FH0 ,3의 결과에 매크로 블록 MB1의 필터링 필요 여부 판정 처리 JV1 ,2가 의존하는 것으로 나타나 있다.
기존의 방법은, 이러한 처리간의 의존 관계를 갖고 있기 때문에, 예를 들어 JCTVC-A119에서 제안된 방법을 채용했다고 해도, 매우 한정된 범위에서밖에는 디블록 필터의 처리의 병렬화를 달성할 수 없다.
도 10은, 기존의 방법에서의 디블록 필터의 처리 순서의 일례에 대하여 설명하기 위한 설명도이다. 여기에서는, 일례로서, 32×32 화소의 크기를 갖는 화상이 디블록 필터에 입력되는 것으로 한다. 당해 입력 화상은, 각각 16×16 화소의 크기를 갖는 4개의 매크로 블록 MB0 내지 MB3을 포함한다.
도 10을 참조하면, 병렬적으로 실행될 수 있는 처리가 각 점선 프레임 내에 각각 나타나 있다. 예를 들어, 제1 스텝에서는, 매크로 블록 MB0의 4개의 수직 경계에 대한 필터링 필요 여부 판정 처리 JV0 ,0, JV0 ,1, JV0 ,2 및 JV0 ,3이 병렬적으로 실행된다. 이어서, 제2 스텝에서는, 매크로 블록 MB0의 4개의 수직 경계에 대한 필터링 처리 FV0 ,0, FV0 ,1, FV0 ,2 및 FV0 ,3이 병렬적으로 실행된다. 이어서, 제2 스텝이 종료한 후, 제3 스텝에서, 매크로 블록 MB0의 4개의 수평 경계에 대한 필터링 필요 여부 판정 처리 JH0 ,0, JH0 ,1, JH0 ,2 및 JH0 ,3이 병렬적으로 실행된다. 이어서, 제4 스텝에서는, 매크로 블록 MB0의 4개의 수평 경계에 대한 필터링 처리 FH0 ,0, FH0 ,1, FH0 ,2 및 FH0 ,3이 병렬적으로 실행된다. 이어서, 제4 스텝이 종료한 후, 매크로 블록 MB1에 대한 처리(제5 스텝 내지 제8 스텝)가 순차 행해진다. 이어서, 매크로 블록 MB1에 대한 처리가 종료한 후, 매크로 블록 MB2에 대한 처리(제9 스텝 내지 제12 스텝)가 순차 행해진다. 이어서, 매크로 블록 MB2에 대한 처리가 종료한 후, 매크로 블록 MB3에 대한 처리(제13 스텝 내지 제16 스텝)가 순차 행해진다.
이러한 한정된 범위에서의 처리의 병렬화에서는, 디블록 필터의 적용시의 엄청난 처리량을 원인으로 하는 지연 또는 데이터 레이트의 저하 등의 과제가 충분히 해결된다고는 말하기 어렵다. 따라서, 이하에 설명하는 디블록 필터의 3개의 실시예에 의해, 디블록 필터의 적용시의 처리의 더 이상의 병렬화를 실현한다.
<3. 제1 실시예>
[3-1. 디블록 필터의 구성예]
본 절에서는, 도 1에 도시한 화상 부호화 장치(10)의 디블록 필터(24a) 및 도 2에 도시한 화상 복호 장치(60)의 디블록 필터(24b)의 제1 실시예에 관한 구성의 일례를 설명한다. 또한, 디블록 필터(24a) 및 디블록 필터(24b)의 구성은, 공통적이어도 좋다. 따라서, 이후의 설명에서는, 특별히 양자를 구별할 필요가 없는 경우에는, 디블록 필터(24a) 및 디블록 필터(24b)를 디블록 필터(24)라 총칭한다.
(1) 새로운 처리간의 의존 관계
본 실시예에서도, 디블록 필터(24)에 의한 처리는, 상술한 필터링 필요 여부 판정 처리 및 필터링 처리라는 2종류의 처리를 포함한다. 단, 디블록 필터(24)는, 기존의 방법과는 다른 참조 화소의 화소값에 기초하여, 각 수직 경계 및 각 수평 경계에 대하여 디블록 필터를 적용해야 할지 여부를 판정한다. 보다 구체적으로는, 디블록 필터(24)는, 수직 경계에 대한 판정시에는, 수직 경계를 사이에 두고 인접하는 블록의 화소 중 수평 경계에 대한 디블록 필터가 적용되지 않는 행에 속하는 화소를 참조 화소로 한다. 또한, 디블록 필터(24)는, 수평 경계에 대한 판정시에는, 수평 경계를 사이에 두고 인접하는 블록의 화소 중 수직 경계에 대한 디블록 필터가 적용되지 않는 열에 속하는 화소를 참조 화소로 한다. 또한, 본 항에서도, 일례로서, 디블록 필터(24)에 의한 처리는 8×8 화소의 블록 크기를 하나의 처리 단위로 하는 것으로 한다.
도 11은, 디블록 필터(24)에 의한 수직 경계에 대한 필터링 필요 여부 판정 처리에 있어서의 참조 화소에 대하여 설명하기 위한 설명도이다. 도 11을 참조하면, 16×16 화소의 크기를 갖는 매크로 블록 MB0이 나타나 있다. 디블록 필터(24)는, 이러한 매크로 블록 MB0의 4개의 수직 경계에 대한 필터링의 필요 여부를, 각 블록의 4번째 및 5번째의 행(L4 및 L5) 중 적어도 한쪽에 속하는 화소를 참조 화소로서 사용하여 판정한다. 이들 2개의 행은, 수평 경계에 대한 디블록 필터가 적용되지 않는 행이다(도 9 참조). 이와 같은 구성에 의해, 수평 경계에 대한 필터링 처리와 수직 경계에 대한 필터링 필요 여부 판정 처리의 사이의 의존 관계는 해소된다.
도 12는, 디블록 필터(24)에 의한 수평 경계에 대한 필터링 필요 여부 판정 처리에 있어서의 참조 화소에 대하여 설명하기 위한 설명도이다. 도 12를 참조하면, 다시 매크로 블록 MB0이 나타나 있다. 디블록 필터(24)는, 이러한 매크로 블록 MB0의 4개의 수평 경계에 대한 필터링의 필요 여부를, 각 블록의 4번째 및 5번째의 열(C4 및 C5) 중 적어도 한쪽에 속하는 화소를 참조 화소로서 사용하여 판정한다. 이들 2개의 열은, 수직 경계에 대한 디블록 필터가 적용되지 않는 열이다(도 7 또는 도 8 참조). 이와 같은 구성에 의해, 수직 경계에 대한 필터링 처리와 수평 경계에 대한 필터링 필요 여부 판정 처리의 사이의 의존 관계도 해소된다.
이렇게 처리간의 의존 관계가 해소되는 결과로서, 1개의 매크로 블록 내에서 수직 경계 및 수평 경계에 대한 필터링 필요 여부 판정 처리를 병렬화하는 것이 가능하게 된다. 또한, 매크로 블록간에서 처리를 병렬화하는 것도 가능하게 된다. 예를 들어, 입력 화상 내의 모든 매크로 블록의 수직 경계 및 수평 경계에 대한 필터링 필요 여부 판정 처리를 병렬적으로 행할 수도 있다.
도 13은, 디블록 필터(24)에 의해 실현 가능한 처리의 순서의 제1 예에 대하여 설명하기 위한 설명도이다. 여기에서도, 일례로서 32×32 화소의 크기를 갖는 화상이 디블록 필터에 입력되는 것으로 한다. 당해 입력 화상은, 각각 16×16 화소의 크기를 갖는 4개의 매크로 블록 MB0 내지 MB3을 포함한다.
도 13을 참조하면, 병렬적으로 실행될 수 있는 처리가 각 점선 프레임 내에 각각 나타나 있다. 도 10의 예에서는 일련의 처리에 16개의 처리 스텝을 필요로 했던 것에 반해, 도 13의 예에서는, 동일 수의 처리가 3개의 처리 스텝에 집약되어 있다. 즉, 제1 스텝에서는, 모든 매크로 블록 MB0 내지 MB3의 모든 수직 경계 및 모든 수평 경계에 대한 필터링 필요 여부 판정 처리 JV0 ,0 내지 JV3 ,3 및 JH0 ,0 내지 JH3,3이 병렬적으로 실행된다. 이어서, 제2 스텝에서는, 모든 매크로 블록 MB0 내지 MB3의 16개의 수직 경계에 대한 필터링 처리 FV0 ,0 내지 FV3 ,3이 병렬적으로 실행된다. 이어서, 제3 스텝에서는, 모든 매크로 블록 MB0 내지 MB3의 16개의 수평 경계에 대한 필터링 처리 FH0 ,0 내지 FH3 ,3이 병렬적으로 실행된다. 또한, 제2 스텝과 제3 스텝은, 순서가 반대이어도 된다.
도 13은 매크로 블록간의 처리의 병렬화에 의해 병렬도(병렬적으로 실행되는 처리의 많음)를 최대한 높이는 예인 한편, 디블록 필터(24)는, 도 14의 예와 같이, 매크로 블록마다의 처리를 실현할 수도 있다.
도 14의 예에서는, 도 10 및 도 13과 동일한 수의 처리가, 12개의 처리 스텝에 집약되어 있다. 즉, 제1 스텝에서는, 매크로 블록 MB0의 4개의 수직 경계 및 4개의 수평 경계에 대한 필터링 필요 여부 판정 처리 JV0 ,0 내지 JV0 ,3 및 JH0 ,0 내지 JH0,3이 병렬적으로 실행된다. 이어서, 제2 스텝에서는, 매크로 블록 MB0의 4개의 수직 경계에 대한 필터링 처리 FV0 ,0 내지 FV0 ,3이 병렬적으로 실행된다. 이어서, 제3 스텝에서는, 매크로 블록 MB1의 4개의 수직 경계 및 4개의 수평 경계에 대한 필터링 필요 여부 판정 처리 JV1 ,0 내지 JV1 ,3 및 JH1 ,0 내지 JH1 ,3이 병렬적으로 실행된다. 이어서, 제4 스텝에서는, 매크로 블록 MB1의 4개의 수직 경계에 대한 필터링 처리 FV1 ,0 내지 FV1 ,3이 병렬적으로 실행된다. 이어서, 제5 스텝에서는, 매크로 블록 MB0의 4개의 수평 경계에 대한 필터링 처리 FH0 ,0 내지 FH0 ,3이 병렬적으로 실행된다. 이어서, 제6 스텝에서는, 매크로 블록 MB2의 4개의 수직 경계 및 4개의 수평 경계에 대한 필터링 필요 여부 판정 처리 JV2 ,0 내지 JV2 ,3 및 JH2 ,0 내지 JH2 ,3이 병렬적으로 실행된다. 이어서, 제7 스텝에서는, 매크로 블록 MB2의 4개의 수직 경계에 대한 필터링 처리 FV2 ,0 내지 FV2 ,3이 병렬적으로 실행된다. 이어서, 제8 스텝에서는, 매크로 블록 MB1의 4개의 수평 경계에 대한 필터링 처리 FH1 ,0 내지 FH1 ,3이 병렬적으로 실행된다. 이어서, 제9 스텝에서는, 매크로 블록 MB3의 4개의 수직 경계 및 4개의 수평 경계에 대한 필터링 필요 여부 판정 처리 JV3 ,0 내지 JV3 ,3 및 JH3 ,0 내지 JH3,3이 병렬적으로 실행된다. 이어서, 제10 스텝에서는, 매크로 블록 MB3의 4개의 수직 경계에 대한 필터링 처리 FV3 ,0 내지 FV3 ,3이 병렬적으로 실행된다. 이어서, 제11 스텝에서는, 매크로 블록 MB2의 4개의 수평 경계에 대한 필터링 처리 FH2 ,0 내지 FH2,3이 병렬적으로 실행된다. 이어서, 제12 스텝에서는, 매크로 블록 MB3의 4개의 수평 경계에 대한 필터링 처리 FH3 ,0 내지 FH3 ,3이 병렬적으로 실행된다. 이 경우에도, 도 13의 예보다 병렬도는 떨어지지만, 기존의 방법보다 적은 수의 처리 스텝으로 입력 화상 전체에 대한 디블록 필터(24)의 처리를 실행할 수 있다.
(2) 디블록 필터의 상세한 구성
도 15는, 상술한 병렬 처리를 실현하는 제1 실시예에 관한 디블록 필터(24)의 상세한 구성의 일례를 나타내는 블록도이다. 도 15를 참조하면, 디블록 필터(24)는, 판정 블록(110), 수평 필터링 블록(130), 수직 필터링 블록(140) 및 병렬화 제어부(150)를 갖는다.
(2-1) 판정 블록
판정 블록(110)은, 복수의 수직 경계 판정부(112-1 내지 112-n) 및 복수의 수평 경계 판정부(114-1 내지 114-n)를 포함한다. 각 수직 경계 판정부(112) 및 각 수평 경계 판정부(114)에는, 디블록 필터(24)에 대한 입력 화상 및 필터링의 필요 여부 판정을 위해 사용되는 판정 정보가 공급된다.
각 수직 경계 판정부(112)는, 도 11에 예시한 바와 같은 수평 경계에 대한 디블록 필터가 적용되지 않는 행에 속하는 참조 화소의 화소값을 사용하여, 각 수직 경계에 대하여 디블록 필터를 적용해야 할지 여부를 판정한다. 여기에서의 참조 화소의 화소값은, 디블록 필터(24)에 대한 입력 화소값이다. 그리고, 각 수직 경계 판정부(112)는, 각 수직 경계에 대한 판정 결과를 나타내는 정보(예를 들어, "1"이 디블록 필터를 적용해야 한다는 판정 결과를 나타내는 2치 정보)를 수평 필터링 블록(130)에 출력한다.
각 수평 경계 판정부(114)는, 도 12에 예시한 바와 같은 수직 경계에 대한 디블록 필터가 적용되지 않는 열에 속하는 참조 화소의 화소값을 사용하여, 각 수평 경계에 대하여 디블록 필터를 적용해야 할지 여부를 판정한다. 여기에서의 참조 화소의 화소값도 또한, 디블록 필터(24)에 대한 입력 화소값이다. 각 수평 경계 판정부(114)에 의한 판정 처리는, 각 수직 경계 판정부(112)에 의한 판정 처리와 병렬적으로 행해진다. 그리고, 각 수평 경계 판정부(114)는, 각 수평 경계에 대한 판정 결과를 나타내는 정보를, 수직 필터링 블록(140)에 출력한다.
도 16은, 각 수직 경계 판정부(112) 및 각 수평 경계 판정부(114)의 더욱 상세한 구성의 일례를 나타내는 블록도이다. 도 16을 참조하면, 각 판정부는, 탭 구축부(121), 연산부(122), 임계값 비교부(123), 왜곡 평가부(124) 및 필터링 판정부(125)를 포함한다.
탭 구축부(121)는, 입력 화상 내에서 주목하는 경계를 사이에 두고 인접하는 2개의 블록의 화소값으로부터 참조 화소의 화소값을 취득하고, 상술한 휘도 성분의 판정 조건 B의 판정을 위한 탭(참조 화소값의 세트)을 구축한다. 예를 들어, 각 블록의 크기가 8×8 화소일 경우에 있어서, 주목하는 경계가 수직 경계일 때는, 탭 구축부(121)는, 좌우 2개의 블록의 4번째 및 5번째의 행의 한쪽 또는 양쪽에 속하는 화소값으로부터 탭을 구축한다. 또한, 주목하는 경계가 수평 경계일 때는, 탭 구축부(121)는, 상하 2개의 블록의 4번째 및 5번째의 열의 한쪽 또는 양쪽에 속하는 화소값으로부터 탭을 구축한다. 연산부(122)는, 탭 구축부(121)에 의해 구축된 탭을 판정 조건 B의 판정식의 좌변에 대입하여, 에지 판정 임계값(β)과 비교되는 에지의 값을 산출한다. 임계값 비교부(123)는, 연산부(122)에 의해 산출된 값을 에지 판정 임계값(β)과 비교하여, 비교 결과를 필터링 판정부(125)에 출력한다.
왜곡 평가부(124)는, 판정 정보로서 공급되는 모드 정보(MB 모드), 변환 계수 정보 및 움직임 벡터 정보를 사용하여, 상술한 휘도 성분의 판정 조건 A를 평가한다. 그리고, 왜곡 평가부(124)는, 평가 결과를 필터링 판정부(125)에 출력한다. 또한, 색차 성분에 대해서는, 왜곡 평가부(124)에 의한 모드 정보에 기초하는 판정 조건 A1에 대한 판정만이 행해질 수 있다.
필터링 판정부(125)는, 임계값 비교부(123)로부터 입력되는 판정 조건 B에 대한 비교 결과와, 왜곡 평가부(124)로부터 입력되는 판정 조건 A에 대한 평가 결과에 기초하여, 주목하는 경계에 대해 디블록 필터를 적용해야 할지 여부를 판정한다. 그리고, 필터링 판정부(125)는, 판정 결과를 나타내는 정보를 출력한다.
(2-2) 수평 필터링 블록
도 15로 돌아가서, 디블록 필터(24)의 구성의 설명을 계속한다. 수평 필터링 블록(130)은 복수의 수평 필터링부(132-1 내지 132-n)를 포함한다. 각 수평 필터링부(132)에는, 입력 화상 및 판정 블록(110)으로부터의 각 수직 경계에 대한 판정 결과가 공급된다.
각 수평 필터링부(132)는, 대응하는 수직 경계 판정부(112)에 의한 판정 결과가 필터를 적용해야 하는 것을 나타내고 있을 경우에, 대응하는 수직 경계의 좌우의 화소에 수직 경계에 대한 디블록 필터를 적용한다. 그리고, 각 수평 필터링부(132)는, 필터를 적용한 화소에 대해서는 필터링 후의 화소값, 그 밖의 화소에 대해서는 입력 화상의 화소값을, 수직 필터링 블록(140)에 출력한다.
(2-3) 수직 필터링 블록
수직 필터링 블록(140)은, 복수의 수직 필터링부(142-1 내지 142-n)를 포함한다. 각 수직 필터링부(142)에는, 입력 화상 및 판정 블록(110)으로부터의 각 수평 경계에 대한 판정 결과가 공급된다.
각 수직 필터링부(142)는, 대응하는 수평 경계 판정부(114)에 의한 판정 결과가 필터를 적용해야 하는 것을 나타내고 있을 경우에, 대응하는 수평 경계의 상하의 화소에 수평 경계에 대한 디블록 필터를 적용한다. 그리고, 각 수직 필터링부(142)는, 필터를 적용한 화소에 대해서는 필터링 후의 화소값, 그 밖의 화소에 대해서는 수평 필터링 블록(130)으로부터 공급된 화소값을 출력한다. 각 수직 필터링부(142)로부터의 출력은, 디블록 필터(24)로부터의 출력 화상을 구성할 수 있다.
(2-4) 병렬화 제어부
병렬화 제어부(150)는, 판정 블록(110)에서의 필터링 필요 여부 판정 처리의 병렬도, 및 수평 필터링 블록(130) 및 수직 필터링 블록(140)에서의 필터링 처리의 병렬도를 제어한다.
예를 들어, 병렬화 제어부(150)는, 입력 화상의 크기에 기초하여, 각 블록의 처리의 병렬도를 제어해도 된다. 보다 구체적으로는, 병렬화 제어부(150)는, 입력 화상의 크기가 상대적으로 큰 경우에, 각 블록의 처리의 병렬도를 높인다. 그에 의해, 화상의 크기에 따라서 증가하는 처리량을 원인으로 하는 지연 또는 데이터 레이트의 저하를 적절하게 방지할 수 있다. 또한, 예를 들어 병렬화 제어부(150)는, 시퀀스 파라미터 세트, 픽처 파라미터 세트 또는 슬라이스 헤더 내에 포함되는 파라미터에 기초하여, 각 블록의 처리의 병렬도를 제어해도 된다. 그에 의해, 장치를 개발하는 유저마다의 요건에 따라서 유연하게 병렬도를 설정하는 것이 가능하게 된다. 예를 들어, 프로세서의 코어 수 또는 소프트웨어의 스레드 수 등의 실장 환경의 제약에 따라서 병렬도가 설정되어도 된다.
또한, 본 실시예에서, 매크로 블록간의 처리의 병렬화가 가능하다는 것은, 화상 내의 블록마다의 처리의 순서를 어떻게 설정하든 최종적으로 출력되는 결과에 영향이 없는 것을 의미한다. 따라서, 병렬화 제어부(150)는, 판정 블록(110)에서의 필터링 필요 여부 판정 처리의 순서, 및 수평 필터링 블록(130) 및 수직 필터링 블록(140)에서의 필터링 처리의 순서를 블록마다 제어할 수 있다.
보다 구체적으로는, 병렬화 제어부(150)는, 매크로 블록간의 필터링 처리의 의존 관계에 따라서, 필터링 처리의 순서를 제어해도 된다. 예를 들어, 기존의 방법에 있어서, 화상 내의 슬라이스마다의 병렬 처리를 실장하고자 하면, 슬라이스 경계를 사이에 두고 인접하는 매크로 블록간의 처리의 의존 관계가 처리의 지연을 일으키는 경우가 있다. 그러나, 본 실시예에서는, 병렬화 제어부(150)는, 슬라이스 경계에 인접하는 매크로 블록에 대한 필터링 처리를 다른 매크로 블록보다 먼저 행하게 할 수 있다.
예를 들어, 도 17에는, 슬라이스 경계를 사이에 두고 인접하는 8개의 매크로 블록 MB10 내지 MB13 및 MB20 내지 MB23이 나타나 있다. 이 중, 매크로 블록 MB10 내지 MB13은, 슬라이스 SL1에 속한다. 매크로 블록 MB20 내지 MB23은, 슬라이스 SL2에 속한다. 이들 매크로 블록 중, 슬라이스 SL2의 매크로 블록 MB20의 수평 경계에 대한 필터링 처리는, 슬라이스 SL1의 매크로 블록 MB12의 수직 경계에 대한 필터링 처리에 의존한다. 마찬가지로, 슬라이스 SL2의 매크로 블록 MB21의 수평 경계에 대한 필터링 처리는, 슬라이스 SL1의 매크로 블록 MB13의 수직 경계에 대한 필터링 처리에 의존한다.
이러한 상황에 있어서, 도 18의 예와 같이, 병렬화 제어부(150)는, 예를 들어 슬라이스 SL1의 필터링 처리 중 매크로 블록 MB12 및 MB13의 수직 경계에 대한 필터링 처리를 다른 경계에 대한 처리보다 우선적으로 실행시킨다. 그 결과, 슬라이스 SL2의 필터링 처리에 있어서, 매크로 블록 MB20 및 MB21의 수평 경계에 대한 필터링 처리에 큰 지연이 발생하는 것이 방지된다. 또한, 도 19의 예와 같이, 슬라이스 SL1에 포함되는 모든 매크로 블록의 수직 경계에 대한 필터링 처리가 병렬적으로 최초로 실행될 경우에도, 슬라이스 SL2의 매크로 블록 MB20 및 MB21의 수평 경계에 대한 필터링 처리에 지연은 발생하지 않는다.
[3-2. 처리의 흐름]
이어서, 도 20 내지 도 22를 사용하여, 디블록 필터(24)에 의한 처리의 흐름을 설명한다.
(1) 제1 시나리오
도 20은, 디블록 필터(24)에 의한 제1 시나리오에 있어서의 처리 흐름의 일례를 나타내는 흐름도이다. 제1 시나리오는, 병렬도가 큰 도 13의 예에 대응하는 시나리오이다.
도 20을 참조하면, 우선, 수직 경계 판정부(112-1 내지 112-n)는, 입력 화상 내의 복수의 매크로 블록에 포함되는 모든 수직 경계에 대해서, 필터링의 필요 여부를 병렬적으로 판정한다(스텝 S102). 또한, 수평 경계 판정부(114-1 내지 114-n)는, 입력 화상 내의 복수의 매크로 블록에 포함되는 모든 수평 경계에 대해서, 필터링의 필요 여부를 병렬적으로 판정한다(스텝 S104). 이들 스텝 S102 및 스텝 S104도 또한 병렬적으로 행해진다.
이어서, 수평 필터링부(132-1 내지 132-n)는, 스텝 S102에서 디블록 필터를 적용해야 한다고 판정된 모든 수직 경계에 대해서, 디블록 필터를 병렬적으로 적용한다(스텝 S110). 이어서, 수직 필터링부(142-1 내지 142-n)는, 스텝 S104에서 디블록 필터를 적용해야 한다고 판정된 모든 수평 경계에 대해서, 디블록 필터를 병렬적으로 적용한다(스텝 S120).
(2) 제2 시나리오
도 21은, 디블록 필터(24)에 의한 제2 시나리오에서의 처리 흐름의 일례를 나타내는 흐름도이다. 제2 시나리오는, 병렬도가 보다 작은 도 14의 예에 대응하는 시나리오이다.
도 21을 참조하면, 우선, 수직 경계 판정부(112-1 내지 112-n)는, 입력 화상 내의 1개의 주목 매크로 블록에 포함되는 모든 수직 경계에 대해서, 필터링의 필요 여부를 병렬적으로 판정한다(스텝 S202). 또한, 수평 경계 판정부(114-1 내지 114-n)는, 당해 주목 매크로 블록에 포함되는 모든 수평 경계에 대해서, 필터링의 필요 여부를 병렬적으로 판정한다(스텝 S204). 이들 스텝 S202 및 스텝 S204도 또한 병렬적으로 행해진다.
이어서, 수평 필터링부(132-1 내지 132-n)는, 스텝 S202에서 디블록 필터를 적용해야 한다고 판정된 주목 매크로 블록 내의 수직 경계에 대해서, 디블록 필터를 병렬적으로 적용한다(스텝 S210).
다음 스텝 S220의 처리는, 1개 앞의 루프에 있어서의 주목 매크로 블록을 대상으로 해서 행해진다. 최초의 주목 매크로 블록에 대해서는, 스텝 S220의 처리는 스킵되어도 좋다. 수직 필터링부(142-1 내지 142-n)는, 1개 앞의 루프의 스텝 S204에서 디블록 필터를 적용해야 한다고 판정된 수평 경계에 대해, 디블록 필터를 병렬적으로 적용한다(스텝 S220).
그 후, 입력 화상 내에 미처리의 주목 매크로 블록이 남아있을 경우에는, 새로운 주목 매크로 블록에 대하여 스텝 S202 내지 S220의 처리가 반복된다(스텝 S230).
한편, 미처리의 주목 매크로 블록이 남아있지 않을 경우에는, 수직 필터링부(142-1 내지 142-n)는, 최후의 루프의 주목 매크로 블록을 대상으로 하여, 디블록 필터를 적용해야 한다고 판정된 수평 경계에 대해서, 디블록 필터를 병렬적으로 적용한다(스텝 S240). 그리고, 처리는 종료한다.
또한, 여기에서는 화상 단위 및 매크로 블록 단위로 각각 처리가 병렬화되는 전형적인 2개의 시나리오에 대하여 설명했지만, 이들 2개의 시나리오는, 설명을 위한 예에 지나지 않는다. 예를 들어, 특정한 수(2개 또는 4개 등)의 매크로 블록, 또는 수평 방향 또는 수직 방향으로 배열하는 1군의 블록 등의 다양한 단위로, 디블록 필터(24)에 의한 처리는 병렬화되어도 좋다.
(3) 필터링 필요 여부 판정 처리
도 22는, 도 21의 스텝 S102 및 S104 및 도 22의 스텝 S202 및 S204에 상당하는, 필터링 필요 여부 판정 처리의 흐름의 일례를 나타내는 흐름도이다.
도 22를 참조하면, 우선, 왜곡 평가부(124)는, 모드 정보, 변환 계수 정보 및 움직임 벡터 정보에 기초하여, 각 경계의 왜곡을 평가한다(스텝 S130). 여기서, 왜곡이 있다고 평가되었을 경우(판정 조건 A가 참인 경우)에는, 처리는 스텝 S134로 진행한다. 한편, 왜곡이 없다고 평가되었을 경우에는, 처리는 스텝 S140으로 진행한다(스텝 S132).
스텝 S134에서는, 탭 구축부(121)에 의해 구축된 참조 화소의 탭에 기초하여, 연산부(122)에 의해 에지의 값이 산출된다(스텝 S134). 그리고, 임계값 비교부(123)는, 산출된 값을 에지 판정 임계값(β)과 비교한다(스텝 S136). 여기서, 에지의 값이 임계값 β보다 작은 경우(판정 조건 B가 참인 경우)에는, 처리는 스텝 S138로 진행한다. 한편, 에지의 값이 임계값 β보다 작지 않을 경우에는, 처리는 스텝 S140으로 진행한다.
스텝 S138에서는, 필터링 판정부(125)는, 판정 대상의 경계에 디블록 필터를 적용해야 한다고 판정한다(스텝 S138). 한편, 스텝 S140에서는, 필터링 판정부(125)는, 판정 대상의 경계에 디블록 필터를 적용할 필요는 없다고 판정한다(스텝 S140).
<4. 제2 실시예>
제1 실시예에서는, 어떤 블록에 대한 필터링 필요 여부 판정 처리를 위해서, 다른 블록에 대한 필터링 처리에 의해 갱신되지 않는 화소의 화소값이 사용되었다. 이에 반해, 본 절에서 설명하는 제2 실시예에서는, 디블록 필터에 대한 입력 화소값을 유지하는 메모리를 설치함으로써, 필터링 필요 여부 판정 처리의 제약을 없애고, 보다 다양한 판정 조건을 사용하는 것을 가능하게 한다.
[4-1. 디블록 필터의 구성예]
(1) 각 부의 설명
도 23은, 제2 실시예에 관한 디블록 필터(24)의 상세한 구성의 일례를 나타내는 블록도이다. 도 23을 참조하면, 디블록 필터(24)는, 라인 메모리(208), 판정 블록(210), 수평 필터링 블록(130), 수직 필터링 블록(140) 및 병렬화 제어부(150)를 갖는다.
라인 메모리(208)는, 디블록 필터(24)에 입력되는 입력 화상의 화소값을 기억한다. 라인 메모리(208)에 의해 기억되는 화소값은, 수평 필터링 블록(130) 및 수직 필터링 블록(140)에 있어서의 필터링 처리에 의해 갱신되지 않는다. 라인 메모리(208)에 의해 기억되는 화소값은, 다음에 설명하는 판정 블록(210) 내의 각 부에 의한 필터링 필요 여부 판정 처리에서 참조된다. 또한, 디블록 필터(24)의 처리와는 다른 목적으로 장치 내에 설치되는 메모리가, 라인 메모리(208)로서 재이용(공용)되어도 된다.
판정 블록(210)은, 복수의 수직 경계 판정부(212-1 내지 212-n) 및 복수의 수평 경계 판정부(214-1 내지 214-n)를 포함한다. 각 수직 경계 판정부(212) 및 각 수평 경계 판정부(214)에는, 라인 메모리(208)에 의해 기억되는 디블록 필터(24)에 대한 입력 화상의 화소값 및 필터링의 필요 여부의 판정을 위해 사용되는 판정 정보가 공급된다.
각 수직 경계 판정부(212)는, 디블록 필터(24)에 대한 입력 화소값을 사용하여, 각 수직 경계에 대해 디블록 필터를 적용해야 할지 여부를 판정한다. 그리고, 각 수직 경계 판정부(212)는, 각 수직 경계에 대한 판정 결과를 나타내는 정보를, 수평 필터링 블록(130)에 출력한다.
각 수평 경계 판정부(214)도 또한, 디블록 필터(24)에 대한 입력 화소값을 사용하여, 각 수평 경계에 대해 디블록 필터를 적용해야 할지 여부를 판정한다. 각 수평 경계 판정부(214)에 의한 판정 처리는, 각 수직 경계 판정부(212)에 의한 판정 처리와 병렬적으로 행해진다. 그리고, 각 수평 경계 판정부(214)는, 각 수평 경계에 대한 판정 결과를 나타내는 정보를, 수직 필터링 블록(140)에 출력한다.
(2) 다양한 판정 조건
본 실시예에 있어서, 각 수직 경계 판정부(212)는, 도 4에 도시한 기존의 방법과 같이, 블록의 3번째 및 6번째의 행의 화소를 참조하여, 각 블록의 수직 경계에 대한 필터링의 필요 여부를 판정해도 된다. 단, 참조되는 화소값은, 라인 메모리(208)에 의해 기억되어 있는 디블록 필터(24)에 대한 입력 화상의 화소값이다. 마찬가지로, 각 수평 경계 판정부(214)는, 블록의 3번째 및 6번째의 열의 화소를 참조하여, 각 블록의 수평 경계에 대한 필터링의 필요 여부를 판정해도 된다. 이 경우에는, 기존의 장치에 실장되어 있는 필터링 필요 여부 판정 처리의 판정 조건을 바꾸지 않고도, 본 실시예에 관한 구성을 용이하게 실현할 수 있다.
또한, 각 수직 경계 판정부(212)는, 판정시에, 블록의 3개 이상의 행의 화소를 참조하여도 된다. 마찬가지로, 각 수평 경계 판정부(214)는, 판정시에, 블록의 3개 이상의 열의 화소를 참조하여도 된다. 또한, 각 수직 경계 판정부(212) 및 각 수평 경계 판정부(214)는, 기존의 방법과는 다른 판정 조건식을 사용해도 된다. 이하, 도 24 내지 도 26을 사용하여, 본 실시예에서 실현될 수 있는 판정 방법의 6개의 예를 각각 설명한다.
(2-1) 제1 예
도 24는, 판정 방법의 제1 및 제2 예를 각각 설명하기 위한 설명도이다. 제1 및 제2 예에서는, 수직 경계에 대한 필터링 필요 여부 판정 처리(특히, 휘도 성분의 판정 조건 B의 판정)에 있어서, 각 블록의 1번째부터 8번째까지의 모든 행 L1 내지 L8의 화소가 참조된다. 수평 경계에 대한 필터링 필요 여부 판정 처리에 있어서도, 각 블록의 1번째부터 8번째까지의 모든 열의 화소가 참조된다.
제1 예에서, 휘도 성분의 판정 조건은, 다음과 같이 정의될 수 있다:
·휘도 성분(Luma)의 판정 조건 … 조건 A 및 조건 B가 모두 참이라면 적용
- 조건 A:
(A1) 블록 Ba 또는 Bb가 인트라 예측 모드다 ;
(A2) 블록 Ba 또는 Bb가 비제로인 직교 변환 계수를 갖는다 ; 또는
(A3) |MVAx-MVBx|≥4 또는 |MVAy-MVBy|≥4
- 조건 B:
iD0=|p20-2p10+p00|+|q20-2q10+q00|+|p27-2p17+p07|+|q27-2q17+q07|
iD1=|p21-2p11+p01|+|q21-2q11+q01|+|p26-2p16+p06|+|q26-2q16+q06|
iD2=|p22-2p12+p02|+|q22-2q12+q02|+|p25-2p15+p05|+|q25-2q15+q05|
iD3=|p23-2p13+p03|+|q23-2q13+q03|+|p24-2p14+p04|+|q24-2q14+q04|
iDave=(iD0+iD1+iD2+iD3)>>2
로 했을 경우에, iDave<β
색차 성분의 판정 조건은, 이미 설명한 기존의 방법과 마찬가지이어도 좋다. 또한, 4개의 판정용 파라미터 iD0 내지 iD3의 평균값 iDave의 산출시에, 가중치 부여 평균이 계산되어도 된다.
(2-2) 제2 예
제2 예에서, 휘도 성분의 판정 조건 B는, 다음과 같이 정의될 수 있다:
- 조건 B:
iD0=|p20-2p10+p00|+|q20-2q10+q00|+|p27-2p17+p07|+|q27-2q17+q07|
iD1=|p21-2p11+p01|+|q21-2q11+q01|+|p26-2p16+p06|+|q26-2q16+q06|
iD2=|p22-2p12+p02|+|q22-2q12+q02|+|p25-2p15+p05|+|q25-2q15+q05|
iD3=|p23-2p13+p03|+|q23-2q13+q03|+|p24-2p14+p04|+|q24-2q14+q04|
로 했을 경우에,
iD0<β 또한 iD1<β 또한 iD2<β 또한 iD3<β
4개의 판정용 파라미터 iD0 내지iD3의 산출식은, 제1 예와 마찬가지이다. 또한, 4개의 판정용 파라미터 iD0 내지 iD3 모두가 아니라 적어도 3개, 2개 또는 1개가 에지 판정 임계값(β)을 하회한다는 조건이 사용되어도 된다.
(2-3) 제3 예
도 25는, 판정 방법의 제3 및 제4 예를 각각 설명하기 위한 설명도이다. 제3 및 제4 예에서는, 수직 경계에 대한 필터링 필요 여부 판정 처리(특히, 휘도 성분의 판정 조건 B의 판정)에 있어서, 각 블록의 4개의 행 L1, L3, L6 및 L8의 화소가 참조된다. 수평 경계에 대한 필터링 필요 여부 판정 처리에 있어서도, 각 블록의 4개의 열의 화소가 참조된다.
제3 예에서, 휘도 성분의 판정 조건은 다음과 같이 정의될 수 있다:
·휘도 성분(Luma)의 판정 조건 … 조건 A 및 조건 B가 모두 참이라면 적용
- 조건 A:
(A1) 블록 Ba 또는 Bb가 인트라 예측 모드다 ;
(A2) 블록 Ba 또는 Bb가 비제로인 직교 변환 계수를 갖는다 ; 또는
(A3) |MVAx-MVBx|≥4 또는 |MVAy-MVBy|≥4
- 조건 B:
iD0=|p20-2p10+p00|+|q20-2q10+q00|+|p27-2p17+p07|+|q27-2q17+q07|
iD2=|p22-2p12+p02|+|q22-2q12+q02|+|p25-2p15+p05|+|q25-2q15+q05|
iDave=(iD0+iD2)>>1
로 했을 경우에, iDave<β
색차 성분의 판정 조건은, 이미 설명한 기존의 방법과 마찬가지이어도 좋다. 또한, 2개의 판정용 파라미터 iD0 및 iD2의 평균값 iDave의 산출시에, 가중치 부여 평균이 계산되어도 된다.
(2-4) 제4 예
제4 예에서, 휘도 성분의 판정 조건 B는 다음과 같이 정의될 수 있다:
- 조건 B:
iD0=|p20-2p10+p00|+|q20-2q10+q00|+|p27-2p17+p07|+|q27-2q17+q07|
iD2=|p22-2p12+p02|+|q22-2q12+q02|+|p25-2p15+p05|+|q25-2q15+q05|
로 했을 경우에,
iD0<β 또한 iD2<β
2개의 판정용 파라미터 iD0 및 iD2의 산출식은 제3 예와 마찬가지이다. 또한, 2개의 판정용 파라미터 iD0 및 iD2 양쪽이 아니라 적어도 한쪽이 에지 판정 임계값(β)을 하회한다는 조건이 사용되어도 된다.
또한, 여기에서는 블록의 1번째, 3번째, 6번째 및 8번째의 행(또는 열) L1, L3, L6 및 L8이 판정시에 참조되는 예를 설명했지만, 행 또는 열의 다른 조합이 참조되어도 된다.
(2-5) 제5 예
도 26은, 판정 방법의 제5 및 제6 예를 각각 설명하기 위한 설명도이다. 제5 및 제6 예에서는, 수직 경계에 대한 필터링 필요 여부 판정 처리에 있어서, 각 블록의 4개의 행 L1, L3, L5 및 L7의 화소가 참조된다. 수평 경계에 대한 필터링 필요 여부 판정 처리에 있어서도, 각 블록의 4개의 열의 화소가 참조된다.
제5 예에서, 휘도 성분의 판정 조건은 다음과 같이 정의될 수 있다:
·휘도 성분(Luma)의 판정 조건 … 조건 A 및 조건 B가 모두 참이라면 적용
- 조건 A:
(A1) 블록 Ba 또는 Bb가 인트라 예측 모드다 ;
(A2) 블록 Ba 또는 Bb가 비제로인 직교 변환 계수를 갖는다 ; 또는
(A3) |MVAx-MVBx|≥4 또는 |MVAy-MVBy|≥4
- 조건 B:
iD0=|p20-2p10+p00|+|q20-2q10+q00|+|p26-2p16+p06|+|q26-2q16+q06|
iD2=|p22-2p12+p02|+|q22-2q12+q02|+|p24-2p14+p04|+|q24-2q14+q04|
iDave=(iD0+iD2)>>1
로 했을 경우에, iDave<β
색차 성분의 판정 조건은, 이미 설명한 기존의 방법과 마찬가지이어도 좋다. 또한, 2개의 판정용 파라미터 iD0 및 iD2의 평균값 iDave의 산출시에, 가중치 부여 평균이 계산되어도 된다.
(2-6) 제6 예
제6 예에서, 휘도 성분의 판정 조건 B는 다음과 같이 정의될 수 있다:
- 조건 B:
iD0=|p20-2p10+p00|+|q20-2q10+q00|+|p26-2p16+p06|+|q26-2q16+q06|
iD2=|p22-2p12+p02|+|q22-2q12+q02|+|p24-2p14+p04|+|q24-2q14+q04|
로 했을 경우에,
iD0<β 또한 iD2<β
2개의 판정용 파라미터 iD0 및 iD2의 산출식은 제5 예와 마찬가지이다. 또한, 2개의 판정용 파라미터 iD0 및 iD2 양쪽이 아니라 적어도 한쪽이 에지 판정 임계값(β)을 하회한다는 조건이 사용되어도 된다.
일반적으로, 판정시에 참조되는 행 및 열의 수가 많을수록, 판정의 정확성은 향상된다. 따라서, 8개의 행 및 열이 참조되는 제1 예 및 제2 예에서는, 원래 디블록 필터를 적용해서는 안되는 블록이 필터링될 가능성 및 원래 디블록 필터를 적용해야 할 블록이 필터링되지 않을 가능성을 최소화할 수 있다. 그 결과, 부호화되고 및 복호되는 화상의 화질이 높아진다. 한편, 판정시에 참조되는 행 및 열의 수를 적게 하면, 처리 비용을 저감할 수 있다. 화질과 처리 비용은, 트레이드 오프의 관계에 있기 때문에, 판정시에 참조해야 할 행 및 열의 수는, 장치의 용도 또는 실장의 제약 등에 따라 적절하게 선택되어도 된다. 또한, 참조해야 할 행의 조합 및 열의 조합이 적절하게 선택되어도 된다.
또한, 제1, 제3 및 제5 예와 같이, 판정용 파라미터의 평균값 iDave를 에지 판정 임계값(β)과 비교함으로써, 행 또는 열마다의 파라미터의 편차에 과도하게 영향을 받지 않고, 블록 단위로 적절한 판정을 행할 수 있다.
[4-2. 처리의 흐름]
제2 실시예에서도, 제1 실시예와 마찬가지로, 디블록 필터(24)는 다른 병렬도로 동작할 수 있다.
즉, 병렬도가 큰 제1 시나리오에 있어서, 수직 경계 판정부(212-1 내지 212-n)는, 입력 화상 내의 복수의 매크로 블록에 포함되는 모든 수직 경계에 대해서, 필터링의 필요 여부를 병렬적으로 판정한다. 또한, 수평 경계 판정부(214-1 내지 214-n)는, 입력 화상 내의 복수의 매크로 블록에 포함되는 모든 수평 경계에 대해서, 필터링의 필요 여부를 병렬적으로 판정한다. 이들 수직 경계 및 수평 경계에 대한 판정 처리도 또한 병렬적으로 행해진다. 그 후, 수평 필터링부(132-1 내지 132-n) 및 수직 필터링부(142-1 내지 142-n)는, 디블록 필터를 적용해야 한다고 판정된 수직 경계 및 수평 경계에 대하여 디블록 필터를 각각 적용한다(도 20 참조).
또한, 병렬도가 작은 제2 시나리오에 있어서, 수직 경계 판정부(212-1 내지 212-n)는, 입력 화상 내의 1개의 주목 매크로 블록에 포함되는 모든 수직 경계에 대해서, 필터링의 필요 여부를 병렬적으로 판정한다. 또한, 수평 경계 판정부(214-1 내지 214-n)는, 당해 주목 매크로 블록에 포함되는 모든 수평 경계에 대해서, 필터링의 필요 여부를 병렬적으로 판정한다. 이들 수직 경계 및 수평 경계에 대한 판정 처리도 또한 병렬적으로 행해진다. 그 후, 수평 필터링부(132-1 내지 132-n)는, 디블록 필터를 적용해야 한다고 판정된 수직 경계에 대하여 디블록 필터를 적용한다. 수직 필터링부(142-1 내지 142-n)는, 디블록 필터를 적용해야 한다고 판정된 수평 경계에 대하여 디블록 필터를 적용한다. 이러한 처리가, 입력 화상 내의 모든 매크로 블록에 대하여 반복된다(도 21 참조).
또한, 이들 2개의 시나리오는, 설명을 위한 예에 지나지 않는다. 제2 실시예에서도, 특정한 수(2개 또는 4개 등)의 매크로 블록, 또는 수평 방향 또는 수직 방향으로 배열하는 1군의 블록 등의 다양한 단위로, 디블록 필터(24)에 의한 처리는 병렬화되어도 좋다. 또한, 제2 실시예에서도, 제1 실시예와 마찬가지로, 디블록 필터(24)에서의 처리의 병렬도 및 순서는, 병렬화 제어부(150)에 의해 제어되어도 좋다.
[4-3. LCU마다의 처리의 예]
상술한 바와 같이, 본 명세서에서 설명되는 다양한 실시예에 관한 기술은, HEVC의 부호화 단위(CU)에 기초하는 처리로서 실현되어도 된다. HEVC에 있어서, 크기가 가장 큰 부호화 단위는 LCU(Largest Coding Unit)라고 불리며, 예를 들어 64×64 화소의 LCU가 선택 가능하다. 선택 가능한 최소의 CU의 크기는, 8×8 화소이다. 화상의 부호화 및 복호시에는, 통상, 픽처(또는 슬라이스)의 좌측 상단의 LCU를 기점으로 하여, 래스터 주사의 순서에 따라, LCU마다 처리가 행해진다. 따라서, 본 항에서는, 디블록 필터(24)에 있어서의 이러한 LCU마다의 처리의 예에 대하여 설명한다.
도 27은, 상술한 제2 실시예에 관련하는 LCU마다의 처리의 순서에 대하여 설명하기 위한 설명도이다. 여기에서는, LCU의 크기는 16×16 화소, CU의 크기는 8×8 화소인 것으로 한다.
도 27을 참조하면, 좌측 상단의 제1 단계에서, 제n-1번째의 LCU까지의 각 LCU의 필터링이 종료되었다. 또한, 수직 경계에 대한 필터링의 대상 화소는 사선으로 그어져 있고, 수평 경계에 대한 필터링의 대상 화소는 빈틈없이 칠해져 있다.
도 27의 우측 상단의 제2 단계 및 좌측 하단의 제3 단계의 처리는, 제n번째의 LCU를 대상으로 하는 처리이다. 우선, 제2단계 전에, 제n번째의 LCU에 속하는 모든 수직 경계 및 모든 수평 경계에 대한 필터링 필요 여부 판정 처리가, 디블록 필터(24)에 대한 입력 화소값을 사용하여 병렬적으로 행해진다. 이어서, 제2단계에서는, 제n번째의 LCU에 속하는 수직 경계 중 디블록 필터를 적용해야 한다고 판정된 수직 경계에 대한 필터링 처리가, 디블록 필터(24)에 대한 입력 화소값을 사용하여 병렬적으로 행해진다. 이어서, 제n번째의 LCU에 속하는 수평 경계 중 디블록 필터를 적용해야 한다고 판정된 수평 경계에 대한 필터링 처리가, 제2단계의 처리 후의 화소값을 사용하여 병렬적으로 행해진다.
그 후, 도 27의 우측 하단의 제4단계의 처리는, 제n+1번째의 LCU를 대상으로 하는 처리이다. 제n+1번째의 LCU에 속하는 모든 수직 경계 및 모든 수평 경계에 대한 필터링 필요 여부 판정 처리가 병렬적으로 행해진 후, 제4단계에서는, 디블록 필터를 적용해야 한다고 판정된 수직 경계에 대한 필터링 처리가 병렬적으로 행해진다.
또한, 여기에서는 일례로서 LCU의 크기를 16×16 화소로 했지만, LCU의 크기는 32×32 화소 또는 64×64 화소 등이어도 된다. 특히, 선택되는 LCU의 크기가 보다 크면, 1개의 LCU에 속하는 수직 경계 및 수평 경계의 수도 많아지는 점에서, 병렬화에 의한 처리 시간의 단축 효과는 보다 높아진다.
도 28은, 디블록 필터(24)에 의한 LCU마다의 처리의 흐름의 일례를 나타내는 흐름도이다.
도 28을 참조하면, 우선, 수직 경계 판정부(212-1 내지 212-n)는, 입력 화상 내의 1개의 주목 LCU에 포함되는 모든 수직 경계에 대해서, 필터링의 필요 여부를 병렬적으로 판정한다(스텝 S252). 또한, 수평 경계 판정부(214-1 내지 214-n)는, 당해 주목 LCU에 포함되는 모든 수평 경계에 대해서, 필터링의 필요 여부를 병렬적으로 판정한다(스텝 S254). 이들 스텝 S252 및 스텝 S254도 또한 병렬적으로 행해진다.
이어서, 수평 필터링부(132-1 내지 132-n)는, 스텝 S252에서 디블록 필터를 적용해야 한다고 판정된 주목 LCU 내의 수직 경계에 대해서, 디블록 필터를 병렬적으로 적용한다(스텝 S260).
이어서, 수직 필터링부(142-1 내지 142-n)는, 스텝 S254에서 디블록 필터를 적용해야 한다고 판정된 주목 LCU 내의 수평 경계에 대해서, 디블록 필터를 병렬적으로 적용한다(스텝 S270).
그 후, 입력 화상 내에 미처리의 LCU가 남아있을 경우에는, 새로운 주목 LCU에 대하여 스텝 S252 내지 S270의 처리가 반복된다(스텝 S280). 한편, 미처리의 LCU가 남아있지 않을 경우에는, 처리는 종료한다.
<5. 제3 실시예>
[5-1. 개략]
제2 실시예에서는, 수직 경계 및 수평 경계의 양쪽에 대한 필터링 필요 여부 판정 처리에 있어서 디블록 필터에 대한 입력 화소값을 참조함으로써, 이들 필터링 필요 여부 판정 처리의 사이의 의존 관계가 해소되어, 판정 처리의 병렬화가 가능하게 된다. 본 절에서 설명하는 제3 실시예에서는, 제2 실시예의 사고 방식을 필터링 처리에도 적용한다. 즉, 수직 경계 및 수평 경계의 양쪽에 대한 필터링 처리에 있어서도, 디블록 필터에 대한 입력 화소값을 필터링하는 것으로 한다.
도 29는, 본 실시예의 개략에 대하여 설명하기 위한 설명도이다. 도 29의 좌측 하방에는, 디블록 필터에 의해 처리되기 전의 입력 화소(리컨스트럭트 화소라고도 함)를 나타내는 도형이 나타나 있다. 본 실시예에서, 디블록 필터에 대한 입력 화소는, 수직 경계 및 수평 경계에 대한 필터링 필요 여부 판정 처리뿐만 아니라, 수직 경계에 대한 필터링 처리 및 수평 경계에 대한 필터링 처리의 양쪽에서도 참조된다. 따라서, 이들 2개의 필터링 처리의 사이의 의존 관계는 해소된다. 또한, 이들 2개의 필터링 처리는 병렬적으로 행해진다.
단, 수직 경계에 대한 필터링 처리 및 수평 경계에 대한 필터링 처리에 있어서, 중복하는 화소의 값이 갱신될 가능성이 있다. 그러한 가능성을 갖는 화소의 위치가, 도 29에서 검게 칠해진 화소에 의해 나타나 있다. 따라서, 본 실시예에 관한 디블록 필터는, 병렬적으로 동작하는 2개의 필터에 의해 중복하여 갱신되는 화소에 대해서, 2개의 필터 출력으로부터 1개의 출력 화소값을 계산한다.
[5-2. 디블록 필터의 구성예]
도 30은, 제3 실시예에 관한 디블록 필터(24)의 상세한 구성의 일례를 나타내는 블록도이다. 도 30을 참조하면, 디블록 필터(24)는, 라인 메모리(208), 판정 블록(210), 수평 필터링 블록(330), 수직 필터링 블록(340), 병렬화 제어부(150) 및 계산부(360)를 갖는다. 판정 블록(210)은 복수의 수직 경계 판정부(212-1 내지 212-n) 및 복수의 수평 경계 판정부(214-1 내지 214-n)를 포함한다. 각 수직 경계 판정부(212) 및 각 수평 경계 판정부(214)는, 제2 실시예에서 예시한 바와 같은 다양한 판정 조건에 따라, 각 경계에 대한 필터링의 필요 여부를 판정해도 좋다.
수평 필터링 블록(330)은, 복수의 수평 필터링부(332-1 내지 332-n)를 포함한다. 각 수평 필터링부(332)에는, 라인 메모리(208)로부터의 입력 화소값 및 판정 블록(210)으로부터의 각 수직 경계에 대한 판정 결과가 공급된다.
각 수평 필터링부(332)는, 대응하는 수직 경계 판정부(212)에 의한 판정 결과가 필터를 적용해야 하는 것을 나타내고 있을 경우에, 대응하는 수직 경계의 좌우의 화소에 수직 경계에 대한 디블록 필터를 적용한다. 그리고, 각 수평 필터링부(332)는, 필터를 적용한 화소에 대해서는 필터링 후의 화소값, 그 밖의 화소에 대해서는 입력 화소값을 계산부(360)에 출력한다.
수직 필터링 블록(340)은, 복수의 수직 필터링부(342-1 내지 342-n)를 포함한다. 각 수직 필터링부(342)에는, 라인 메모리(208)로부터의 입력 화소값 및 판정 블록(210)으로부터의 각 수평 경계에 대한 판정 결과가 공급된다.
각 수직 필터링부(342)는, 대응하는 수평 경계 판정부(214)에 의한 판정 결과가 필터를 적용해야 하는 것을 나타내고 있을 경우에, 대응하는 수평 경계의 상하의 화소에 수평 경계에 대한 디블록 필터를 적용한다. 수직 필터링부(342-1 내지 342-n)에 의한 필터링 처리는, 수평 필터링부(332-1 내지 332-n)에 의한 필터링 처리와 병렬적으로 행해진다. 그리고, 각 수직 필터링부(342)는, 필터를 적용한 화소에 대해서는 필터링 후의 화소값, 그 밖의 화소에 대해서는 입력 화소값을 계산부(360)에 출력한다.
계산부(360)에는, 수평 필터링 블록(330)으로부터의 출력 화소값과 수직 필터링 블록(340)으로부터의 출력 화소값이 병렬적으로 공급된다. 또한, 계산부(360)에는, 수직 경계 판정부(212) 및 수평 경계 판정부(214)에 의한 판정 결과가 공급된다. 계산부(360)는, 공급되는 판정 결과에 따라, 수평 필터링 블록(330) 및 수직 필터링 블록(340)의 양쪽에 의해 필터링되는 화소에 대해서, 수평 필터링 블록(330)으로부터의 필터 출력 및 수직 필터링 블록(340)으로부터의 필터 출력에 기초하여 출력 화소값을 계산한다.
예를 들어, 본 실시예에서, 계산부(360)는, 중복하여 필터링되는 화소에 대해서, 2개의 필터 출력의 평균을 계산한다. 계산부(360)에 의해 계산되는 2개의 필터 출력의 평균은, 단순한 평균이어도 된다. 그 대신에, 계산부(360)는, 2개의 필터 출력의 가중 평균을 계산해도 된다. 계산부(360)는, 예를 들어 각 화소에 대한 가중 평균의 가중치를 각 화소의 수직 경계까지의 거리 및 수평 경계까지의 거리에 따라 결정할 수 있다.
도 31은, 계산부(360)에 의한 가중 평균을 위한 가중치의 결정에 대하여 설명하기 위한 설명도이다. 도 31을 참조하면, 도 29에 나타낸 중복 위치의 하나에 위치하는 주목 화소 PZ가 검게 나타나 있다. 주목 화소 PZ와 가장 가까운 수직 경계 VZ와의 사이의 거리 DV는, 3 화소이다. 주목 화소 PZ와 가장 가까운 수평 경계 HZ와의 사이의 거리 DH는 2 화소이다. 거리 DH는, 거리 DV보다 작다. 이 경우, 계산부(360)는, 수평 경계 HZ에 대한 디블록 필터의 출력에 대한 가중치를 수직 경계 VZ에 대한 디블록 필터의 출력에 대한 가중치보다 크게 결정할 수 있다. 도 31의 예에서는, 수직 경계 VZ에 대한 필터 출력 Vout와 수평 경계 HZ에 대한 필터 출력 Hout의 사이의 가중치의 비는, 2:3으로 결정되어 있다.
도 31로부터 이해되는 바와 같이, 2개의 필터 출력의 가중 평균이 계산되는 결과로서, 수평 방향을 따른 필터 탭과 수직 방향을 따른 필터 탭을 갖는 1개의 2차원 필터가 적용된 경우와 동등한 출력 화소값을, 각 주목 화소에 대하여 얻을 수 있다. 그에 의해, 수직 경계 및 수평 경계에 대한 필터링 처리를 병렬화시킨 경우에도, 수직 경계 및 수평 경계의 양쪽에 나타나는 블록 왜곡을 적절하게 감소시킬 수 있다. 다른 실시예로서, 디블록 필터(24)는, 수평 필터링, 수직 필터링 및 가중 평균을 동시에 계산하는 1개의 2차원 필터를 가져도 된다. 단, 그 경우에는, 필터 계수를 화소마다 다양하게 변화시킬 필요성이 발생하기 때문에, 실장이 매우 복잡해진다. 이에 반해, 제3 실시예와 같이 2개의 1차원 필터를 병렬적으로 실행한 후에 가중 평균을 계산하는 것으로 하면, 기존의 디블록 필터의 구조를 살리면서, 2차원 필터와 실질적으로 동등한 처리를 용이하게 실현할 수 있다.
도 32는, 도 31의 예에 따라서 결정되는 가중 평균을 위한 가중치의 일례에 대하여 설명하기 위한 설명도이다. 도 32를 참조하면, 수직 경계와 수평 경계의 1개의 교점의 주위에 위치하는 6×6=36개의 화소(상술한 중복 위치의 화소)가 나타나 있다. 이들 화소 중, 수직 경계 및 수평 경계로부터 등거리에 위치하는 화소에 대해서는, 필터 출력 Vout와 필터 출력 Hout의 사이의 가중치의 비는 1대1(또는 2대2 또는 3대3)이다. 수직 경계에 보다 가까운 화소에 대해서는, 필터 출력 Vout에 대한 가중치가 필터 출력 Hout에 대한 가중치보다 크게 결정되어 있다(예를 들어, 화소 P1의 가중치의 비는 Vout:Hout=3:1). 한편, 수평 경계에 보다 가까운 화소에 대해서는, 필터 출력 Vout에 대한 가중치가 필터 출력 Hout에 대한 가중치보다 작게 결정되어 있다(예를 들어, 화소 P2의 가중치의 비는 Vout:Hout=1:3).
이렇게 각 화소와 경계의 사이의 거리에 따라 가중 평균의 가중치를 변화시킴으로써, 블록 왜곡을 보다 효과적으로 억제하여 화질을 개선할 수 있다.
또한, 상술한 가중치는 일례에 지나지 않는다. 예를 들어, 계산부(360)는, 각 화소와 경계의 사이의 거리 대신에(또는 그에 추가로), 각 화소에 대응하는 수직 경계 및 수평 경계의 에지의 강도에 따라, 각 화소에 대한 가중 평균의 가중치를 결정해도 된다. 여기에서의 에지의 강도는, 예를 들어 도 16에 나타낸 연산부(122)에 의해 산출되는 에지의 값과 같은 파라미터로 표현될 수 있다. 이 경우, 보다 에지가 강한 경계에 대한 필터 출력의 가중치가, 보다 에지가 약한 경계에 대한 필터 출력의 가중치보다 크게 결정될 수 있다. 이렇게 에지의 강도에 따라서 가중 평균의 가중치를 변화시킴으로써, 블록 왜곡이 강하게 나타나고 있는 경계에 대하여 적절하게 디블록 필터의 효과를 높일 수 있다.
계산부(360)는, 수평 필터링 블록(330) 및 수직 필터링 블록(340) 중 어느 한쪽에 의해 필터링되는 화소에 대해서는, 실제로 필터링을 행한 블록으로부터의 출력을 선택한다. 또한, 계산부(360)는, 수평 필터링 블록(330) 및 수직 필터링 블록(340) 중 어느 것에 의해서도 필터링되지 않는 화소에 대해서는, 디블록 필터(24)에 대한 입력 화소값을 그대로 출력한다. 필터링 필요 여부의 판정 결과에 따른 계산부(360)로부터의 출력 화소값을, 도 33의 표에 나타내었다.
[5-3. 처리 순서의 예]
이하, 본 실시예에서 디블록 필터(24)에 의해 실현 가능한 처리의 순서의 2가지 예를 설명한다. 여기에서도, 일례로서, 32×32 화소의 크기를 갖는 화상이 디블록 필터에 입력되는 것으로 한다. 당해 입력 화상은, 각각 16×16 화소의 크기를 갖는 4개의 매크로 블록 MB0 내지 MB3을 포함한다.
(1) 제1 예
우선, 비교를 위해, 수직 경계에 대한 필터링 처리와 수평 경계에 대한 필터링 처리의 사이의 의존 관계가 남아있는 경우의 처리의 순서를 도 34에 나타내었다. 또한, 도 34에 나타낸 처리의 순서는, 제1 실시예에 관련하여 도 13에 나타낸 처리의 순서와 실질적으로 동일하다. 도 34에서, 제1 스텝에서는, 4개의 매크로 블록 MB0 내지 MB3의 모든 수직 경계 및 모든 수평 경계에 대한 필터링 필요 여부 판정 처리 JV0 ,0 내지 JV3 ,3 및 JH0 ,0 내지 JH3 ,3이 병렬적으로 실행된다. 이어서, 제2 스텝에서는, 4개의 매크로 블록 MB0 내지 MB3의 16개의 수직 경계에 대한 필터링 처리 FV0 ,0 내지 FV3 ,3이 실행된다. 이어서, 제3 스텝에서는, 4개의 매크로 블록 MB0 내지 MB3의 16개의 수평 경계에 대한 필터링 처리 FH0 ,0 내지 FH3 ,3이 실행된다. 그 후, 제4 스텝(도 13에서는 생략되어 있음)에서는, 수평 경계에 대한 필터링 처리 후의 각 화소값이, 디블록 필터(24)로부터의 출력용의 메모리에 저장된다.
도 35는, 본 실시예에서 실현되는 처리 순서의 제1 예를 나타내고 있다. 도 35에서, 제1 스텝에서는, 4개의 매크로 블록 MB0 내지 MB3의 모든 수직 경계 및 모든 수평 경계에 대한 필터링 필요 여부 판정 처리 JV0 ,0 내지 JV3 ,3 및 JH0 ,0 내지 JH3 ,3이 병렬적으로 실행된다. 이어서, 제2 스텝에서는, 4개의 매크로 블록 MB0 내지 MB3의 모든 수직 경계 및 모든 수평 경계에 대한 필터링 처리 FV0 ,0 내지 FV3 ,3 및 FH0,0 내지 FH3 ,3이 병렬적으로 실행될 수 있다(실제로는, 필터링이 필요하다고 판정된 경계만이 필터링된다). 그 후, 제3 스텝에서는, 각 화소값이 디블록 필터(24)로부터의 출력용의 메모리에 저장된다. 그때, 수평 필터링 블록(330) 및 수직 필터링 블록(340)의 양쪽에 의해 필터링된 화소에 대해서는, 2개의 필터 출력의 가중 평균이 출력 화소값으로서 계산될 수 있다.
(2) 제2 예
상술한 제1 예는 병렬도를 최대한 높이는 예인 한편, 본 실시예에서도, 디블록 필터(24)는 매크로 블록마다의 처리를 실현할 수도 있다.
우선, 비교를 위해, 수직 경계에 대한 필터링 처리와 수평 경계에 대한 필터링 처리의 사이의 의존 관계가 남아있는 경우의 매크로 블록마다의 처리의 순서를 도 36에 나타내었다. 또한, 도 36에 나타낸 처리의 순서는, 제1 실시예에 관련하여 도 14에 도시한 처리의 순서와 실질적으로 동일하다. 도 14에서 설명의 간명함의 관점에서 도시를 생략한, 출력용의 메모리에 대한 화소값의 저장에 대한 4개의 처리 스텝(제6, 제10, 제14 및 제16 스텝)이 도 36에서는 명시되어 있다. 도 36의 처리는, 이들 4개의 처리 스텝을 포함하는 16개의 처리 스텝으로 구성된다.
도 37은, 본 실시예에서 실현되는 처리의 순서의 제2 예를 나타내고 있다. 도 37에서, 제1 스텝에서는, 매크로 블록 MB0의 4개의 수직 경계 및 4개의 수평 경계에 대한 필터링 필요 여부 판정 처리 JV0 ,0 내지 JV0 ,3 및 JH0 ,0 내지 JH0 ,3이 병렬적으로 실행된다. 이어서, 제2 스텝에서는, 매크로 블록 MB0의 4개의 수직 경계 및 4개의 수평 경계에 대한 필터링 처리 FV0 ,0 내지 FV0 ,3 및 FH0 ,0 내지 FH0 ,3이 병렬적으로 실행된다. 이어서, 제3 스텝에서는, 매크로 블록 MB0의 각 화소값이 디블록 필터(24)로부터의 출력용의 메모리에 저장된다. 그때, 2개의 필터에 의해 중복하여 필터링된 화소에 대해서는, 2개의 필터 출력의 가중 평균이 출력 화소값으로서 계산될 수 있다. 그 후, 제4 스텝 내지 제6 스텝에서 매크로 블록 MB1, 제7 스텝 내지 제9 스텝에서 매크로 블록 MB2, 제10 스텝 내지 제12 스텝에서 매크로 블록 MB3이 마찬가지로 처리된다. 도 37의 처리는, 도 36의 처리보다 적은 12개의 처리 스텝으로 구성되어 있다.
이와 같이, 제3 실시예에서는, 수직 경계에 대한 필터링 처리와 수평 경계에 대한 필터링 처리의 사이의 의존 관계도 해소되는 점에서, 제1 및 제2 실시 형태와 비교하여, 디블록 필터(24)에서의 처리를 보다 적은 처리 스텝으로 실행할 수 있다. 또한, 필터링 처리에 있어서 디블록 필터에 대한 입력 화소만이 참조되는 것의 이점의 하나는, 필터 탭을 어떻게 구성해도 수직 경계에 대한 필터링 처리와 수평 경계에 대한 필터링 처리의 사이의 의존 관계가 발생하지 않는 것이다. 그로 인해, 기존의 방법보다 많은 화소로 필터 탭을 구성하여 화질의 향상을 도모하는 것도 가능하게 된다. 예를 들어, 기존의 방법에서는, 도 7에 관련하여 설명한 바와 같이, 각 경계의 각 측에 대해 3 화소분의 필터 탭이 사용되었다. 그러나, 본 실시예에서는, 예를 들어 각 경계의 각 화소에 대해 5 화소 이상의 필터 탭을 사용해도, 처리간에 의존 관계가 발생하는 경우가 없다. 또한, 디블록 필터의 처리 단위의 블록 크기를 보다 작게 해도, 역시 처리간에 의존 관계가 발생하는 경우는 없다.
제3 실시예에서도, 제1 및 제2 실시예와 마찬가지로, 디블록 필터(24)에서의 처리의 병렬도 및 순서는, 병렬화 제어부(150)에 의해 제어되어도 좋다.
[5-4. 처리의 흐름]
도 38은, 제3 실시예에 관한 디블록 필터에 의한 처리 흐름의 일례를 나타내는 흐름도이다. 또한, 도 39는, 도 38에 나타낸 화소값 계산 처리의 흐름의 일례를 나타내는 흐름도이다.
도 38을 참조하면, 우선, 수직 경계 판정부(212-1 내지 212-n)는, 입력 화상 내(또는 매크로 블록 내)의 모든 수직 경계에 대해서, 필터링의 필요 여부를 병렬적으로 판정한다(스텝 S302). 또한, 수평 경계 판정부(214-1 내지 214-n)는, 입력 화상 내(또는 매크로 블록 내)의 모든 수평 경계에 대해서, 필터링의 필요 여부를 병렬적으로 판정한다(스텝 S304). 이들 스텝 S302 및 스텝 S304도 또한 병렬적으로 행해진다.
이어서, 수평 필터링부(332-1 내지 332-n)는, 스텝 S302에서 디블록 필터를 적용해야 한다고 판정된 모든 수직 경계에 대해서, 디블록 필터를 병렬적으로 적용한다(스텝 S306). 또한, 수직 필터링부(342-1 내지 342-n)는, 스텝 S304에서 디블록 필터를 적용해야 한다고 판정된 모든 수평 경계에 대해서, 디블록 필터를 병렬적으로 적용한다(스텝 S308). 이들 스텝 S306 및 스텝 S308도 또한 병렬적으로 행해진다.
이어서, 계산부(360)에 의해, 도 39에 나타내는 화소값 계산 처리가 행해진다(스텝 S310). 도 39를 참조하면, 스텝 S314부터 스텝 S326까지의 처리는, 처리 대상의 화소마다 루프된다(스텝 S312).
스텝 S314에서, 계산부(360)는, 주목 화소가 수직 경계 및 수평 경계에 대한 2개의 필터의 양쪽에 의해 필터링되었는지 여부를 판정한다(스텝 S314). 여기서, 주목 화소가 2개의 필터의 양쪽에 의해 필터링되었을 경우에는, 처리는 스텝 S322로 진행한다. 한편, 주목 화소가 2개의 필터의 양쪽에 의해 필터링되어 있지 않은 경우에는, 처리는 스텝 S316으로 진행한다.
스텝 S316에서, 계산부(360)는, 주목 화소가 수직 경계 및 수평 경계에 대한 2개의 필터 중 어느 한쪽에 의해 필터링되었는지 여부를 판정한다(스텝 S316). 여기서, 주목 화소가 2개의 필터 중 어느 한쪽에 의해 필터링되었을 경우에는, 처리는 스텝 S320으로 진행한다. 한편, 주목 화소가 어느 쪽의 필터에 의해서도 필터링되어 있지 않은 경우에는, 처리는 스텝 S318로 진행한다.
스텝 S318에서는, 계산부(360)는, 디블록 필터(24)에 대한 입력 화소값을 취득한다(스텝 S318). 스텝 S320에서는, 계산부(360)는, 주목 화소에 대하여 실제로 필터링을 행한 필터로부터의 필터 출력을 취득한다(스텝 S320).
스텝 S322에서는, 계산부(360)는, 주목 화소에 대해서 2개의 필터로부터의 필터 출력의 가중 평균을 계산하기 위한 가중치의 값을, 예를 들어 주목 화소의 수직 경계까지의 거리 및 수평 경계까지의 거리, 또는 주목 화소에 대응하는 수직 경계 및 수평 경계의 에지의 강도에 따라서 결정한다(스텝 S322). 그리고, 계산부(360)는, 결정한 가중치를 사용하여, 2개의 필터로부터의 필터 출력의 가중 평균을 계산한다(스텝 S324).
그 후, 계산부(360)는, 스텝 S318 또는 스텝 S320에서 취득하고, 또는 스텝 S324에서 계산한 주목 화소의 화소값을 메모리에 저장한다(스텝 S326). 이러한 처리가 처리 대상의 모든 화소에 대하여 행해지면, 도 38 및 도 39에 나타낸 일련의 처리는 종료한다.
<6. 다양한 코덱에 대한 적용>
본 발명에 관한 기술은, 화상의 부호화 및 복호에 관련하는 다양한 코덱에 적용 가능하다. 본 절에서는, 본 발명에 관한 기술이 멀티 뷰 코덱 및 스케일러블 코덱에 각각 적용되는 예에 대하여 설명한다.
[6-1. 멀티 뷰 코덱]
멀티 뷰 코덱은, 소위 다시점 영상을 부호화하고 및 복호하기 위한 화상 부호화 방식이다. 도 40은, 멀티 뷰 코덱에 대하여 설명하기 위한 설명도이다. 도 40을 참조하면, 3개의 시점에서 각각 촬영되는 3개의 뷰의 프레임의 시퀀스가 나타나 있다. 각 뷰에는, 뷰 ID(view_id)가 부여된다. 이들 복수의 뷰 중 어느 하나의 뷰가, 베이스 뷰(base view)로 지정된다. 베이스 뷰 이외의 뷰는, 논베이스 뷰라고 불린다. 도 40의 예에서는, 뷰 ID가 "0"인 뷰가 베이스 뷰이며, 뷰 ID가 "1" 또는 "2"인 2개의 뷰가 논베이스 뷰이다. 이들 멀티 뷰의 화상 데이터를 부호화할 때, 베이스 뷰의 프레임에 대한 부호화 정보에 기초하여 논베이스 뷰의 프레임을 부호화함으로써, 전체적으로의 부호화 스트림의 데이터 크기가 압축될 수 있다.
상술한 멀티 뷰 코덱에 따른 부호화 처리 및 복호 처리에 있어서, 각 뷰에 디블록 필터가 적용될 수 있다. 각 뷰에 대한 디블록 필터의 적용에 있어서, 본 발명에 관한 기술에 따라, 각 뷰에서의 수직 블록 경계 및 수평 블록 경계에 대한 필터링 필요 여부 판정 처리가 병렬화되어도 된다. 또한, 각 뷰에서의 필터링 필요 여부 판정 처리와 필터링 처리가 병렬화되어도 된다. 또한, 필터링 필요 여부 판정 처리 또는 필터링 처리를 제어하기 위한 파라미터(예를 들어, (2-4) 병렬화 제어부 설명의 두 번째 단락에서 설명한 파라미터)가 뷰마다 설정되어도 된다. 또한, 베이스 뷰에서 설정된 파라미터가, 논베이스 뷰에서 재이용되어도 된다.
또한, 복수의 뷰에 걸쳐 필터링 필요 여부 판정 처리 또는 필터링 처리가 병렬화되어도 된다. 필터링 필요 여부 판정 처리 또는 필터링 처리를 제어하기 위한 파라미터(예를 들어, (2-4) 병렬화 제어부 설명의 두 번째 단락에서 설명한 파라미터)는 복수의 뷰에 걸쳐 공통화되어도 된다. 또한, 복수의 뷰에 걸쳐 파라미터가 공통화되어 있는지 여부를 나타내는 플래그가, 추가적으로 지정되어도 된다.
도 41은, 상술한 화상 부호화 처리의 멀티 뷰 코덱에 대한 적용에 대하여 설명하기 위한 설명도이다. 도 41을 참조하면, 일례로서의 멀티 뷰 부호화 장치(710)의 구성이 나타나 있다. 멀티 뷰 부호화 장치(710)는, 제1 부호화부(720), 제2 부호화부(730) 및 다중화부(740)를 구비한다.
제1 부호화부(720)는, 베이스 뷰 화상을 부호화하고, 베이스 뷰의 부호화 스트림을 생성한다. 제2 부호화부(730)는, 논베이스 뷰 화상을 부호화하고, 논베이스 뷰의 부호화 스트림을 생성한다. 다중화부(740)는, 제1 부호화부(720)에 의해 생성되는 베이스 뷰의 부호화 스트림과, 제2 부호화부(730)에 의해 생성되는 1개 이상의 논베이스 뷰의 부호화 스트림을 다중화하여, 멀티 뷰의 다중화 스트림을 생성한다.
도 41에 예시한 제1 부호화부(720) 및 제2 부호화부(730)는, 상술한 실시 형태에 따른 화상 부호화 장치(10)와 동등한 구성을 갖는다. 그에 의해, 각 뷰에 대한 디블록 필터의 적용시에, 수직 블록 경계 및 수평 블록 경계에 대한 필터링 필요 여부 판정 처리를 병렬화하고, 또는 필터링 필요 여부 판정 처리와 필터링 처리를 병렬화하는 것이 가능하게 된다. 이들 처리를 제어하는 파라미터는, 각 뷰의 부호화 스트림의 헤더 영역에 삽입되어도 되고, 또는 다중화 스트림 내의 공통적인 헤더 영역에 삽입되어도 된다.
도 42는, 상술한 화상 복호 처리의 멀티 뷰 코덱에 대한 적용에 대하여 설명하기 위한 설명도이다. 도 42를 참조하면, 일례로서의 멀티 뷰 복호 장치(760)의 구성이 나타나 있다. 멀티 뷰 복호 장치(760)는, 역 다중화부(770), 제1 복호부(780) 및 제2 복호부(790)를 구비한다.
역 다중화부(770)는, 멀티 뷰의 다중화 스트림을 베이스 뷰의 부호화 스트림 및 1개 이상의 논베이스 뷰의 부호화 스트림으로 역 다중화한다. 제1 복호부(780)는, 베이스 뷰의 부호화 스트림으로부터 베이스 뷰 화상을 복호한다. 제2 복호부(730)는, 논베이스 뷰의 부호화 스트림으로부터 논베이스 뷰 화상을 복호한다.
도 42에 예시한 제1 복호부(780) 및 제2 복호부(790)는, 상술한 실시 형태에 따른 화상 복호 장치(60)와 동등한 구성을 갖는다. 그에 의해, 각 뷰에 대한 디블록 필터의 적용시에, 수직 블록 경계 및 수평 블록 경계에 대한 필터링 필요 여부 판정 처리를 병렬화하고, 또는 필터링 필요 여부 판정 처리와 필터링 처리를 병렬화하는 것이 가능하게 된다. 이들 처리를 제어하는 파라미터는, 각 뷰의 부호화 스트림의 헤더 영역으로부터 취득되어도 되고, 또는 다중화 스트림 내의 공통적인 헤더 영역으로부터 취득되어도 된다.
[6-2. 스케일러블 코덱]
스케일러블 코덱은, 소위 계층 부호화를 실현하기 위한 화상 부호화 방식이다. 도 43은, 스케일러블 코덱에 대하여 설명하기 위한 설명도이다. 도 43을 참조하면, 공간 해상도, 시간 해상도 또는 화질이 상이한 3개의 레이어의 프레임의 시퀀스가 나타나 있다. 각 레이어에는, 레이어 ID(layer_id)가 부여된다. 이들 복수의 레이어 중, 가장 해상도(또는 화질)가 낮은 레이어가, 베이스 레이어(base layer)이다. 베이스 레이어 이외의 레이어는, 인핸스먼트 레이어라고 불린다. 도 43의 예에서는, 레이어 ID가 "0"인 레이어가 베이스 레이어이며, 레이어 ID가 "1" 또는 "2"인 2개의 레이어가 인핸스먼트 레이어이다. 이들 멀티 레이어의 화상 데이터를 부호화할 때, 베이스 레이어의 프레임에 대한 부호화 정보에 기초하여 인핸스먼트 레이어의 프레임을 부호화함으로써, 전체로서의 부호화 스트림의 데이터 크기가 압축될 수 있다.
상술한 스케일러블 코덱에 따른 부호화 처리 및 복호 처리에 있어서, 각 레이어에 디블록 필터가 적용될 수 있다. 각 레이어에 대한 디블록 필터의 적용에 있어서, 본 발명에 관한 기술에 따라, 각 레이어에서의 수직 블록 경계 및 수평 블록 경계에 대한 필터링 필요 여부 판정 처리가 병렬화되어도 된다. 또한, 각 레이어에서의 필터링 필요 여부 판정 처리와 필터링 처리가 병렬화되어도 된다. 또한, 필터링 필요 여부 판정 처리 또는 필터링 처리를 제어하기 위한 파라미터(예를 들어, (2-4) 병렬화 제어부 설명의 두 번째 단락에서 설명한 파라미터)가 레이어마다 설정되어도 된다. 또한, 베이스 레이어에서 설정된 파라미터가, 인핸스먼트 레이어에서 재이용되어도 된다.
또한, 복수의 레이어에 걸쳐 필터링 필요 여부 판정 처리 또는 필터링 처리가 병렬화되어도 된다. 필터링 필요 여부 판정 처리 또는 필터링 처리를 제어하기 위한 파라미터(예를 들어, 단락 0094에서 설명한 파라미터)는 복수의 레이어에 걸쳐 공통화되어도 된다. 또한, 복수의 레이어에 걸쳐 파라미터가 공통화되어 있는지 여부를 나타내는 플래그가 추가적으로 지정되어도 된다.
도 44는, 상술한 화상 부호화 처리의 스케일러블 코덱에 대한 적용에 대하여 설명하기 위한 설명도이다. 도 44를 참조하면, 일례로서의 스케일러블 부호화 장치(810)의 구성이 나타나 있다. 스케일러블 부호화 장치(810)는, 제1 부호화부(820), 제2 부호화부(830) 및 다중화부(840)를 구비한다.
제1 부호화부(820)는, 베이스 레이어 화상을 부호화하고, 베이스 레이어의 부호화 스트림을 생성한다. 제2 부호화부(830)는, 인핸스먼트 레이어 화상을 부호화하고, 인핸스먼트 레이어의 부호화 스트림을 생성한다. 다중화부(840)는, 제1 부호화부(820)에 의해 생성되는 베이스 레이어의 부호화 스트림과, 제2 부호화부(830)에 의해 생성되는 1개 이상의 인핸스먼트 레이어의 부호화 스트림을 다중화하여, 멀티 레이어의 다중화 스트림을 생성한다.
도 44에 예시한 제1 부호화부(820) 및 제2 부호화부(830)는, 상술한 실시 형태에 따른 화상 부호화 장치(10)와 동등한 구성을 갖는다. 그에 의해, 각 레이어에 대한 디블록 필터의 적용시에, 수직 블록 경계 및 수평 블록 경계에 대한 필터링 필요 여부 판정 처리를 병렬화하고, 또는 필터링 필요 여부 판정 처리와 필터링 처리를 병렬화하는 것이 가능하게 된다. 이들 처리를 제어하는 파라미터는, 각 레이어의 부호화 스트림의 헤더 영역에 삽입되어도 되고, 또는 다중화 스트림 내의 공통적인 헤더 영역에 삽입되어도 된다.
도 45는, 상술한 화상 복호 처리의 스케일러블 코덱에 대한 적용에 대하여 설명하기 위한 설명도이다. 도 45를 참조하면, 일례로서의 스케일러블 복호 장치(860)의 구성이 나타나 있다. 스케일러블 복호 장치(860)는, 역 다중화부(870), 제1 복호부(880) 및 제2 복호부(890)를 구비한다.
역 다중화부(870)는, 멀티 레이어의 다중화 스트림을 베이스 레이어의 부호화 스트림 및 1개 이상의 인핸스먼트 레이어의 부호화 스트림으로 역다중화한다. 제1 복호부(880)는, 베이스 레이어의 부호화 스트림으로부터 베이스 레이어 화상을 복호한다. 제2 복호부(830)는, 인핸스먼트 레이어의 부호화 스트림으로부터 인핸스먼트 레이어 화상을 복호한다.
도 45에 예시한 제1 복호부(880) 및 제2 복호부(890)는, 상술한 실시 형태에 따른 화상 복호 장치(60)와 동등한 구성을 갖는다. 그에 의해, 각 레이어에 대한 디블록 필터의 적용시에, 수직 블록 경계 및 수평 블록 경계에 대한 필터링 필요 여부 판정 처리를 병렬화하고, 또는 필터링 필요 여부 판정 처리와 필터링 처리를 병렬화하는 것이 가능하게 된다. 이들 처리를 제어하는 파라미터는, 각 레이어의 부호화 스트림의 헤더 영역으로부터 취득되어도 되고, 또는 다중화 스트림 내의 공통적인 헤더 영역으로부터 취득되어도 된다.
<7. 응용예>
상술한 실시 형태에 따른 화상 부호화 장치(10) 및 화상 복호 장치(60)는, 위성 방송, 케이블 TV 등의 유선 방송, 인터넷상에서의 배신 및 셀룰러 통신에 의한 단말기에 대한 배신 등에 있어서의 송신기 또는 수신기, 광 디스크, 자기 디스크 및 플래시 메모리 등의 매체에 화상을 기록하는 기록 장치, 또는, 이들 기억 매체로부터 화상을 재생하는 재생 장치 등의 다양한 전자 기기에 응용될 수 있다. 이하, 4개의 응용예에 대하여 설명한다.
[7-1. 제1 응용예]
도 46은, 상술한 실시 형태를 적용한 텔레비전 장치의 개략적인 구성의 일례를 나타내고 있다. 텔레비전 장치(900)는, 안테나(901), 튜너(902), 디멀티플렉서(903), 디코더(904), 영상 신호 처리부(905), 표시부(906), 음성 신호 처리부(907), 스피커(908), 외부 인터페이스(909), 제어부(910), 유저 인터페이스(911) 및 버스(912)를 구비한다.
튜너(902)는, 안테나(901)를 통해 수신되는 방송 신호로부터 원하는 채널의 신호를 추출하고, 추출한 신호를 복조한다. 그리고, 튜너(902)는, 복조에 의해 얻어진 부호화 비트 스트림을 디멀티플렉서(903)에 출력한다. 즉, 튜너(902)는, 화상이 부호화되어 있는 부호화 스트림을 수신하는, 텔레비전 장치(900)에서의 전송 수단으로서의 역할을 갖는다.
디멀티플렉서(903)는, 부호화 비트 스트림으로부터 시청 대상의 프로그램의 영상 스트림 및 음성 스트림을 분리하고, 분리한 각 스트림을 디코더(904)에 출력한다. 또한, 디멀티플렉서(903)는, 부호화 비트 스트림으로부터 EPG(Electronic Program Guide) 등의 보조적인 데이터를 추출하고, 추출한 데이터를 제어부(910)에 공급한다. 또한, 디멀티플렉서(903)는, 부호화 비트 스트림이 스크램블되어 있는 경우에는, 디스크램블을 행해도 된다.
디코더(904)는, 디멀티플렉서(903)로부터 입력되는 영상 스트림 및 음성 스트림을 복호한다. 그리고, 디코더(904)는, 복호 처리에 의해 생성되는 영상 데이터를 영상 신호 처리부(905)에 출력한다. 또한, 디코더(904)는, 복호 처리에 의해 생성되는 음성 데이터를 음성 신호 처리부(907)에 출력한다.
영상 신호 처리부(905)는, 디코더(904)로부터 입력되는 영상 데이터를 재생하여, 표시부(906)에 영상을 표시시킨다. 또한, 영상 신호 처리부(905)는, 네트워크를 통해 공급되는 어플리케이션 화면을 표시부(906)에 표시시켜도 된다. 또한, 영상 신호 처리부(905)는, 영상 데이터에 대해서, 설정에 따라, 예를 들어 노이즈 제거 등의 추가적인 처리를 행해도 된다. 또한, 영상 신호 처리부(905)는, 예를 들어 메뉴, 버튼 또는 커서 등의 GUI(Graphical User Interface)의 화상을 생성하고, 생성한 화상을 출력 화상에 중첩해도 된다.
표시부(906)는, 영상 신호 처리부(905)로부터 공급되는 구동 신호에 의해 구동되어, 표시 디바이스(예를 들어, 액정 디스플레이, 플라즈마 디스플레이 또는 OLED 등)의 영상면 상에 영상 또는 화상을 표시한다.
음성 신호 처리부(907)는, 디코더(904)로부터 입력되는 음성 데이터에 대하여 D/A 변환 및 증폭 등의 재생 처리를 행하고, 스피커(908)로부터 음성을 출력시킨다. 또한, 음성 신호 처리부(907)는, 음성 데이터에 대하여 노이즈 제거 등의 추가적인 처리를 행해도 된다.
외부 인터페이스(909)는, 텔레비전 장치(900)와 외부 기기 또는 네트워크를 접속하기 위한 인터페이스이다. 예를 들어, 외부 인터페이스(909)를 통해 수신되는 영상 스트림 또는 음성 스트림이, 디코더(904)에 의해 복호되어도 된다. 즉, 외부 인터페이스(909)도 또한, 화상이 부호화되어 있는 부호화 스트림을 수신하는, 텔레비전 장치(900)에서의 전송 수단으로서의 역할을 갖는다.
제어부(910)는, CPU(Central Processing Unit) 등의 프로세서, 및 RAM(Random Access Memory) 및 ROM(Read Only Memory) 등의 메모리를 갖는다. 메모리는, CPU에 의해 실행되는 프로그램, 프로그램 데이터, EPG 데이터, 및 네트워크를 통해 취득되는 데이터 등을 기억한다. 메모리에 의해 기억되는 프로그램은, 예를 들어 텔레비전 장치(900)의 기동시에 CPU에 의해 판독되어 실행된다. CPU는, 프로그램을 실행함으로써, 예를 들어 유저 인터페이스(911)로부터 입력되는 조작 신호에 따라, 텔레비전 장치(900)의 동작을 제어한다.
유저 인터페이스(911)는 제어부(910)와 접속된다. 유저 인터페이스(911)는, 예를 들어 유저가 텔레비전 장치(900)를 조작하기 위한 버튼 및 스위치, 및 원격 제어 신호의 수신부 등을 갖는다. 유저 인터페이스(911)는, 이들 구성 요소를 통해 유저에 의한 조작을 검출하여 조작 신호를 생성하고, 생성한 조작 신호를 제어부(910)에 출력한다.
버스(912)는, 튜너(902), 디멀티플렉서(903), 디코더(904), 영상 신호 처리부(905), 음성 신호 처리부(907), 외부 인터페이스(909) 및 제어부(910)를 서로 접속한다.
이렇게 구성된 텔레비전 장치(900)에 있어서, 디코더(904)는, 상술한 실시 형태에 따른 화상 복호 장치(60)의 기능을 갖는다. 그에 의해, 텔레비전 장치(900)에서의 화상의 복호시에, 디블록 필터의 처리의 병렬도를 높여서 처리를 고속화할 수 있다.
[7-2. 제2 응용예]
도 47은, 상술한 실시 형태를 적용한 휴대 전화기의 개략적인 구성의 일례를 나타내고 있다. 휴대 전화기(920)는, 안테나(921), 통신부(922), 음성 코덱(923), 스피커(924), 마이크로폰(925), 카메라부(926), 화상 처리부(927), 다중 분리부(928), 기록 재생부(929), 표시부(930), 제어부(931), 조작부(932) 및 버스(933)를 구비한다.
안테나(921)는 통신부(922)에 접속된다. 스피커(924) 및 마이크로폰(925)은 음성 코덱(923)에 접속된다. 조작부(932)는 제어부(931)에 접속된다. 버스(933)는 통신부(922), 음성 코덱(923), 카메라부(926), 화상 처리부(927), 다중 분리부(928), 기록 재생부(929), 표시부(930) 및 제어부(931)를 서로 접속한다.
휴대 전화기(920)는, 음성 통화 모드, 데이터 통신 모드, 촬영 모드 및 화상 통화 모드를 포함하는 다양한 동작 모드에서, 음성 신호의 송수신, 전자 메일 또는 화상 데이터의 송수신, 화상의 촬상 및 데이터의 기록 등의 동작을 행한다.
음성 통화 모드에서, 마이크로폰(925)에 의해 생성되는 아날로그 음성 신호는, 음성 코덱(923)에 공급된다. 음성 코덱(923)은, 아날로그 음성 신호를 음성 데이터로 변환하고, 변환된 음성 데이터를 A/D 변환하여 압축한다. 그리고, 음성 코덱(923)은 압축 후의 음성 데이터를 통신부(922)에 출력한다. 통신부(922)는, 음성 데이터를 부호화 및 변조하여, 송신 신호를 생성한다. 그리고, 통신부(922)는, 생성한 송신 신호를 안테나(921)를 통해 기지국(도시하지 않음)에 송신한다. 또한, 통신부(922)는, 안테나(921)를 통해 수신되는 무선 신호를 증폭하고 및 주파수 변환하여, 수신 신호를 취득한다. 그리고, 통신부(922)는, 수신 신호를 복조 및 복호하여 음성 데이터를 생성하고, 생성한 음성 데이터를 음성 코덱(923)에 출력한다. 음성 코덱(923)은 음성 데이터를 신장 및 D/A 변환하여, 아날로그 음성 신호를 생성한다. 그리고, 음성 코덱(923)은 생성한 음성 신호를 스피커(924)에 공급하여 음성을 출력시킨다.
또한, 데이터 통신 모드에서, 예를 들어 제어부(931)는, 조작부(932)를 통한 유저에 의한 조작에 따라, 전자 메일을 구성하는 문자 데이터를 생성한다. 또한, 제어부(931)는 문자를 표시부(930)에 표시시킨다. 또한, 제어부(931)는 조작부(932)를 통한 유저로부터의 송신 지시에 따라서 전자 메일 데이터를 생성하고, 생성한 전자 메일 데이터를 통신부(922)에 출력한다. 통신부(922)는, 전자 메일 데이터를 부호화 및 변조하여, 송신 신호를 생성한다. 그리고, 통신부(922)는, 생성한 송신 신호를 안테나(921)를 통해 기지국(도시하지 않음)에 송신한다. 또한, 통신부(922)는, 안테나(921)를 통해 수신되는 무선 신호를 증폭하고 및 주파수 변환하여, 수신 신호를 취득한다. 그리고, 통신부(922)는, 수신 신호를 복조 및 복호하여 전자 메일 데이터를 복원하고, 복원한 전자 메일 데이터를 제어부(931)에 출력한다. 제어부(931)는, 표시부(930)에 전자 메일의 내용을 표시시킴과 함께, 전자 메일 데이터를 기록 재생부(929)의 기억 매체에 기억시킨다.
기록 재생부(929)는, 판독 기입 가능한 임의의 기억 매체를 갖는다. 예를 들어, 기억 매체는, RAM 또는 플래시 메모리 등의 내장형의 기억 매체이어도 되고, 하드 디스크, 자기 디스크, 광자기 디스크, 광 디스크, USB 메모리, 또는 메모리 카드 등의 외부 장착형의 기억 매체이어도 된다.
또한, 촬영 모드에서, 예를 들어 카메라부(926)는, 피사체를 촬상하여 화상 데이터를 생성하고, 생성한 화상 데이터를 화상 처리부(927)에 출력한다. 화상 처리부(927)는, 카메라부(926)로부터 입력되는 화상 데이터를 부호화하고, 부호화 스트림을 기록 재생부(929)의 기억 매체에 기억시킨다.
또한, 화상 통화 모드에서, 예를 들어 다중 분리부(928)는, 화상 처리부(927)에 의해 부호화된 영상 스트림과, 음성 코덱(923)으로부터 입력되는 음성 스트림을 다중화하고, 다중화한 스트림을 통신부(922)에 출력한다. 통신부(922)는, 스트림을 부호화 및 변조하여, 송신 신호를 생성한다. 그리고, 통신부(922)는, 생성한 송신 신호를 안테나(921)를 통해 기지국(도시하지 않음)에 송신한다. 또한, 통신부(922)는, 안테나(921)를 통해 수신되는 무선 신호를 증폭하고 및 주파수 변환하여, 수신 신호를 취득한다. 이들 송신 신호 및 수신 신호에는, 부호화 비트 스트림이 포함될 수 있다. 그리고, 통신부(922)는, 수신 신호를 복조 및 복호하여 스트림을 복원하고, 복원한 스트림을 다중 분리부(928)에 출력한다. 다중 분리부(928)는, 입력되는 스트림으로부터 영상 스트림 및 음성 스트림을 분리하고, 영상 스트림을 화상 처리부(927), 음성 스트림을 음성 코덱(923)에 출력한다. 화상 처리부(927)는, 영상 스트림을 복호하여, 영상 데이터를 생성한다. 영상 데이터는, 표시부(930)에 공급되어, 표시부(930)에 의해 일련의 화상이 표시된다. 음성 코덱(923)은, 음성 스트림을 신장 및 D/A 변환하여, 아날로그 음성 신호를 생성한다. 그리고, 음성 코덱(923)은, 생성한 음성 신호를 스피커(924)에 공급하여 음성을 출력시킨다.
이렇게 구성된 휴대 전화기(920)에 있어서, 화상 처리부(927)는, 상술한 실시 형태에 따른 화상 부호화 장치(10) 및 화상 복호 장치(60)의 기능을 갖는다. 그에 의해, 휴대 전화기(920)에서의 화상의 부호화 및 복호시에, 디블록 필터의 처리의 병렬도를 높여서 처리를 고속화할 수 있다.
[7-3. 제3 응용예]
도 48은, 상술한 실시 형태를 적용한 기록 재생 장치의 개략적인 구성의 일례를 나타내고 있다. 기록 재생 장치(940)는, 예를 들어 수신한 방송 프로그램의 음성 데이터 및 영상 데이터를 부호화하여 기록 매체에 기록한다. 또한, 기록 재생 장치(940)는, 예를 들어 다른 장치로부터 취득되는 음성 데이터 및 영상 데이터를 부호화하여 기록 매체에 기록해도 된다. 또한, 기록 재생 장치(940)는, 예를 들어 유저의 지시에 따라, 기록 매체에 기록되어 있는 데이터를 모니터 및 스피커상에서 재생한다. 이때, 기록 재생 장치(940)는, 음성 데이터 및 영상 데이터를 복호한다.
기록 재생 장치(940)는, 튜너(941), 외부 인터페이스(942), 인코더(943), HDD(Hard Disk Drive)(944), 디스크 드라이브(945), 셀렉터(946), 디코더(947), OSD(On-Screen Display)(948), 제어부(949) 및 유저 인터페이스(950)를 구비한다.
튜너(941)는, 안테나(도시하지 않음)를 통해 수신되는 방송 신호로부터 원하는 채널의 신호를 추출하고, 추출한 신호를 복조한다. 그리고, 튜너(941)는, 복조에 의해 얻어진 부호화 비트 스트림을 셀렉터(946)에 출력한다. 즉, 튜너(941)는, 기록 재생 장치(940)에서의 전송 수단으로서의 역할을 갖는다.
외부 인터페이스(942)는, 기록 재생 장치(940)와 외부 기기 또는 네트워크를 접속하기 위한 인터페이스이다. 외부 인터페이스(942)는, 예를 들어 IEEE1394 인터페이스, 네트워크 인터페이스, USB 인터페이스, 또는 플래시 메모리 인터페이스 등이어도 된다. 예를 들어, 외부 인터페이스(942)를 통해 수신되는 영상 데이터 및 음성 데이터는, 인코더(943)에 입력된다. 즉, 외부 인터페이스(942)는 기록 재생 장치(940)에서의 전송 수단으로서의 역할을 갖는다.
인코더(943)는, 외부 인터페이스(942)로부터 입력되는 영상 데이터 및 음성 데이터가 부호화되어 있지 않은 경우에, 영상 데이터 및 음성 데이터를 부호화한다. 그리고, 인코더(943)는, 부호화 비트 스트림을 셀렉터(946)에 출력한다.
HDD(944)는, 영상 및 음성 등의 콘텐츠 데이터가 압축된 부호화 비트 스트림, 각종 프로그램 및 그 밖의 데이터를 내부의 하드 디스크에 기록한다. 또한, HDD(944)는, 영상 및 음성의 재생시에, 이들 데이터를 하드 디스크로부터 판독한다.
디스크 드라이브(945)는, 장착되어 있는 기록 매체에 대한 데이터의 기록 및 판독을 행한다. 디스크 드라이브(945)에 장착되는 기록 매체는, 예를 들어 DVD 디스크(DVD-Video, DVD- RAM, DVD-R, DVD-RW, DVD+R, DVD+RW 등) 또는 Blu-ray(등록 상표) 디스크 등이어도 된다.
셀렉터(946)는, 영상 및 음성의 기록시에는, 튜너(941) 또는 인코더(943)로부터 입력되는 부호화 비트 스트림을 선택하고, 선택한 부호화 비트 스트림을 HDD(944) 또는 디스크 드라이브(945)에 출력한다. 또한, 셀렉터(946)는, 영상 및 음성의 재생시에는, HDD(944) 또는 디스크 드라이브(945)로부터 입력되는 부호화 비트 스트림을 디코더(947)에 출력한다.
디코더(947)는, 부호화 비트 스트림을 복호하고, 영상 데이터 및 음성 데이터를 생성한다. 그리고, 디코더(947)는, 생성한 영상 데이터를 OSD(948)에 출력한다. 또한, 디코더(904)는, 생성한 음성 데이터를 외부의 스피커에 출력한다.
OSD(948)는, 디코더(947)로부터 입력되는 영상 데이터를 재생하여, 영상을 표시한다. 또한, OSD(948)는, 표시하는 영상에, 예를 들어 메뉴, 버튼 또는 커서 등의 GUI의 화상을 중첩해도 된다.
제어부(949)는, CPU 등의 프로세서, 및 RAM 및 ROM 등의 메모리를 갖는다. 메모리는, CPU에 의해 실행되는 프로그램 및 프로그램 데이터 등을 기억한다. 메모리에 의해 기억되는 프로그램은, 예를 들어 기록 재생 장치(940)의 기동시에 CPU에 의해 판독되어 실행된다. CPU는, 프로그램을 실행함으로써, 예를 들어 유저 인터페이스(950)로부터 입력되는 조작 신호에 따라, 기록 재생 장치(940)의 동작을 제어한다.
유저 인터페이스(950)는 제어부(949)와 접속된다. 유저 인터페이스(950)는, 예를 들어 유저가 기록 재생 장치(940)를 조작하기 위한 버튼 및 스위치, 및 원격 제어 신호의 수신부 등을 갖는다. 유저 인터페이스(950)는, 이들 구성 요소를 통해 유저에 의한 조작을 검출하여 조작 신호를 생성하고, 생성한 조작 신호를 제어부(949)에 출력한다.
이렇게 구성된 기록 재생 장치(940)에 있어서, 인코더(943)는, 상술한 실시 형태에 따른 화상 부호화 장치(10)의 기능을 갖는다. 또한, 디코더(947)는, 상술한 실시 형태에 따른 화상 복호 장치(60)의 기능을 갖는다. 그에 의해, 기록 재생 장치(940)에서의 화상의 부호화 및 복호시에, 디블록 필터의 처리의 병렬도를 높여서 처리를 고속화할 수 있다.
[7-4. 제4 응용예]
도 49는, 상술한 실시 형태를 적용한 촬상 장치의 개략적인 구성의 일례를 나타내고 있다. 촬상 장치(960)는, 피사체를 촬상하여 화상을 생성하고, 화상 데이터를 부호화하여 기록 매체에 기록한다.
촬상 장치(960)는, 광학 블록(961), 촬상부(962), 신호 처리부(963), 화상 처리부(964), 표시부(965), 외부 인터페이스(966), 메모리(967), 미디어 드라이브(968), OSD(969), 제어부(970), 유저 인터페이스(971) 및 버스(972)를 구비한다.
광학 블록(961)은 촬상부(962)에 접속된다. 촬상부(962)는, 신호 처리부(963)에 접속된다. 표시부(965)는 화상 처리부(964)에 접속된다. 유저 인터페이스(971)는 제어부(970)에 접속된다. 버스(972)는 화상 처리부(964), 외부 인터페이스(966), 메모리(967), 미디어 드라이브(968), OSD(969) 및 제어부(970)를 서로 접속한다.
광학 블록(961)은 포커스 렌즈 및 조리개 기구 등을 갖는다. 광학 블록(961)은 피사체의 광학상을 촬상부(962)의 촬상면에 결상시킨다. 촬상부(962)는 CCD 또는 CMOS 등의 이미지 센서를 갖고, 촬상면에 결상한 광학상을 광전 변환에 의해 전기 신호로서의 화상 신호로 변환한다. 그리고, 촬상부(962)는, 화상 신호를 신호 처리부(963)에 출력한다.
신호 처리부(963)는, 촬상부(962)로부터 입력되는 화상 신호에 대하여 니 보정, 감마 보정, 색 보정 등의 다양한 카메라 신호 처리를 행한다. 신호 처리부(963)는 카메라 신호 처리 후의 화상 데이터를 화상 처리부(964)에 출력한다.
화상 처리부(964)는, 신호 처리부(963)로부터 입력되는 화상 데이터를 부호화하여, 부호화 데이터를 생성한다. 그리고, 화상 처리부(964)는, 생성한 부호화 데이터를 외부 인터페이스(966) 또는 미디어 드라이브(968)에 출력한다. 또한, 화상 처리부(964)는, 외부 인터페이스(966) 또는 미디어 드라이브(968)로부터 입력되는 부호화 데이터를 복호하여, 화상 데이터를 생성한다. 그리고, 화상 처리부(964)는, 생성한 화상 데이터를 표시부(965)에 출력한다. 또한, 화상 처리부(964)는, 신호 처리부(963)로부터 입력되는 화상 데이터를 표시부(965)에 출력하여 화상을 표시시켜도 된다. 또한, 화상 처리부(964)는, OSD(969)로부터 취득되는 표시용 데이터를, 표시부(965)에 출력하는 화상에 중첩해도 된다.
OSD(969)는, 예를 들어 메뉴, 버튼 또는 커서 등의 GUI의 화상을 생성하고, 생성한 화상을 화상 처리부(964)에 출력한다.
외부 인터페이스(966)는, 예를 들어 USB 입출력 단자로서 구성된다. 외부 인터페이스(966)는, 예를 들어 화상의 인쇄시에, 촬상 장치(960)와 프린터를 접속한다. 또한, 외부 인터페이스(966)에는, 필요에 따라 드라이브가 접속된다. 드라이브에는, 예를 들어 자기 디스크 또는 광 디스크 등의 리무버블 미디어가 장착되고, 리무버블 미디어로부터 판독되는 프로그램이, 촬상 장치(960)에 인스톨될 수 있다. 또한, 외부 인터페이스(966)는 LAN 또는 인터넷 등의 네트워크에 접속되는 네트워크 인터페이스로서 구성되어도 된다. 즉, 외부 인터페이스(966)는, 촬상 장치(960)에서의 전송 수단으로서의 역할을 갖는다.
미디어 드라이브(968)에 장착되는 기록 매체는, 예를 들어 자기 디스크, 광자기 디스크, 광 디스크, 또는 반도체 메모리 등의, 판독 기입 가능한 임의의 리무버블 미디어이어도 좋다. 또한, 미디어 드라이브(968)에 기록 매체가 고정적으로 장착되어, 예를 들어 내장형 하드디스크 드라이브 또는 SSD(Solid State Drive)와 같은 비가반성의 기억부가 구성되어도 된다.
제어부(970)는, CPU 등의 프로세서, 및 RAM 및 ROM 등의 메모리를 갖는다. 메모리는, CPU에 의해 실행되는 프로그램 및 프로그램 데이터 등을 기억한다. 메모리에 의해 기억되는 프로그램은, 예를 들어 촬상 장치(960)의 기동시에 CPU에 의해 판독되어 실행된다. CPU는, 프로그램을 실행함으로써, 예를 들어 유저 인터페이스(971)로부터 입력되는 조작 신호에 따라, 촬상 장치(960)의 동작을 제어한다.
유저 인터페이스(971)는 제어부(970)와 접속된다. 유저 인터페이스(971)는 예를 들어 유저가 촬상 장치(960)를 조작하기 위한 버튼 및 스위치 등을 갖는다. 유저 인터페이스(971)는, 이들 구성 요소를 통해 유저에 의한 조작을 검출하여 조작 신호를 생성하고, 생성한 조작 신호를 제어부(970)에 출력한다.
이렇게 구성된 촬상 장치(960)에 있어서, 화상 처리부(964)는, 상술한 실시 형태에 따른 화상 부호화 장치(10) 및 화상 복호 장치(60)의 기능을 갖는다. 그에 의해, 촬상 장치(960)에서의 화상의 부호화 및 복호시에, 디블록 필터의 처리의 병렬도를 높여서 처리를 고속화할 수 있다.
<8. 정리>
여기까지, 도 1 내지 도 49를 사용하여, 일 실시 형태에 따른 화상 부호화 장치(10) 및 화상 복호 장치(60)의 디블록 필터의 3개의 실시예에 대하여 상세하게 설명하였다. 이들 3개의 실시예에 의하면, 수직 경계에 대한 디블록 필터의 적용의 필요 여부의 판정 및 수평 경계에 대한 디블록 필터의 적용의 필요 여부의 판정이, 모두 디블록 필터에 대한 입력 화소값을 사용하여 행해진다. 따라서, 필터링 처리의 결과에 의존하지 않고, 이들 판정 처리를 병렬적으로 실행할 수 있다. 또한, 매크로 블록간의 처리의 의존 관계도 해소되어, 복수의 매크로 블록에 대한 처리의 병렬화도 가능하게 된다. 그 결과, 디블록 필터가 엄청난 처리량을 원인으로 하는 지연 또는 데이터 레이트의 저하를 피하고, 처리를 고속화할 수 있다. 또한, 화상의 크기 또는 실장 환경의 제약 등의 다양한 조건에 따라서 디블록 필터의 처리의 병렬도 및 순서를 유연하게 설정하는 것도 가능하게 된다.
또한, 제1 실시예에 의하면, 수직 경계에 대한 디블록 필터의 적용의 필요 여부의 판정을 위해 사용되는 화소값은, 수평 경계에 대한 디블록 필터가 적용되지 않는 행에 속하는 화소의 화소값이다. 수평 경계에 대한 디블록 필터의 적용의 필요 여부의 판정을 위해 사용되는 화소값은, 수직 경계에 대한 디블록 필터가 적용되지 않는 행에 속하는 화소의 화소값이다. 즉, 어떤 블록에 대한 필터링 필요 여부 판정 처리를 위해 사용되는 화소값은, 다른 블록에 대한 필터링 처리에 의해 갱신되지 않는다. 그로 인해, 어떤 블록에 대한 필터링 필요 여부 판정 처리 전에 다른 블록에 대한 필터링 처리가 실행될 경우에도, 디블록 필터에 대한 입력 화소값을 별도의 메모리에 유지해 둘 필요가 없다. 따라서, 장치의 실장에 필요한 하드웨어의 비용을 절약할 수 있다.
또한, 제2 실시예에 의하면, 필터링 처리에서 갱신되지 않는 메모리 내에 디블록 필터에 대한 입력 화소값이 기억되어, 당해 입력 화소값이 필터링 필요 여부 판정 처리에 있어서 참조된다. 이 경우에는, 필터링 필요 여부 판정 처리에서 참조해야 할 화소의 위치에 제약이 발생하지 않기 때문에, 다양한 목적(예를 들어, 필터링의 필요 여부의 보다 정확한 판정, 또는 적은 처리 비용으로의 판정 등)에 따른 유연한 판정 조건의 이용이 가능하게 된다.
또한, 제3 실시예에 의하면, 수직 경계 및 수평 경계에 대한 필터링 처리의 양쪽에 있어서, 디블록 필터에 대한 입력 화소가 필터링된다. 이러한 구성에 의하면, 수직 경계 및 수평 경계에 대한 필터링 처리도 서로 병렬화하는 것이 가능하게 된다. 그에 의해, 디블록 필터에서의 처리를 한층 고속화할 수 있다. 또한, 병렬적으로 실행되는 2개의 필터링 처리의 양쪽에 의해 갱신되는 화소에 대해서는, 2개의 필터 출력에 기초하여 출력 화소값이 계산된다. 그에 의해, 상기 2개의 필터링 처리를 병렬화시킨 경우에도, 수직 경계 및 수평 경계의 양쪽에 나타나는 블록 왜곡을 적절하게 감소시킬 수 있다. 또한, 출력 화소값은, 2개의 필터 출력의 가중 평균으로서 계산될 수 있다. 그에 의해, 디블록 필터에 의한 블록 왜곡의 제거의 효과를 높여, 화질을 더욱 향상시킬 수도 있다.
또한, 본 명세서에서는, 주로 수직 경계에 대한 필터링 처리가 수평 경계에 대한 필터링 처리보다 먼저 행해지는 예를 설명했지만, 수평 경계에 대한 필터링 처리가 먼저 행하여지는 경우에도 본 발명에 관한 기술에 의한 상술한 효과는 동등하게 향수될 수 있다. 또한, 디블록 필터의 처리 단위의 크기 또는 매크로 블록의 크기는, 본 명세서에서 설명한 예에 한정되지 않고, 다른 크기이어도 된다. 또한, 하나의 방법으로서, 필터링 필요 여부 판정 처리 자체를 생략한 상태에서, 복수의 수직 경계 및 복수의 수평 경계에 대한 디블록 필터의 적용을 병렬화하는 것도 가능하다.
또한, 디블록 필터의 처리의 병렬화를 위하여 사용되는 정보를 부호화측에서 복호측으로 전송하는 방법은, 이들 정보를 부호화 스트림의 헤더에 다중화하는 방법에 한정되지 않는다. 예를 들어, 이들 정보는, 부호화 비트 스트림으로 다중화되지 않고, 부호화 비트 스트림과 관련지어진 별개인 데이터로서 전송되거나 또는 기록되어도 된다. 여기서, "관련짓는다"라는 용어는, 비트 스트림에 포함되는 화상(슬라이스 또는 블록 등, 화상의 일부이어도 된다)과 당해 화상에 대응하는 정보를 복호시에 링크시킬 수 있도록 하는 것을 의미한다. 즉, 정보는, 화상(또는 비트 스트림)과는 별도의 전송로상에서 전송되어도 된다. 또한, 정보는, 화상(또는 비트 스트림)과는 별도의 기록 매체(또는 동일한 기록 매체의 별도의 기록 에리어)에 기록되어도 된다. 또한, 정보와 화상(또는 비트 스트림)은, 예를 들어 복수 프레임, 1 프레임, 또는 프레임 내의 일부분 등의 임의의 단위로 서로 관련지어져도 좋다.
이상, 첨부 도면을 참조하면서 본 발명의 적합한 실시 형태에 대하여 상세하게 설명했지만, 본 발명의 기술적 범위는 이와 같은 예에 한정되지 않는다. 본 발명의 기술의 분야에서의 통상의 지식을 갖는 자이면, 특허 청구 범위에 기재된 기술적 사상의 범주 내에서, 각종 변경 예 또는 수정 예에 상도할 수 있음은 분명하며, 이것들에 대해서도, 당연히 본 발명의 기술적 범위에 속하는 것이라고 이해된다.
또한, 본 명세서에서는, 수직 경계에 대한 필터링 처리를 "수평 필터링", 수평 경계에 대한 필터링 처리를 "수직 필터링"이라고 표현하고 있다. 일반적으로, 수직 경계에 대한 필터링 처리의 필터 탭은 수평 방향을 따라서 배열하고, 수평 경계에 대한 필터링 처리의 필터 탭은 수직 방향을 따라서 배열한다. 그로 인해, 상술한 바와 같은 필터링 처리의 호칭이 채용된다.
10, 60 : 화상 처리 장치
112-1 내지 n, 212-1 내지 n : 제1 판정부(수직 경계 판정부)
114-1 내지 n, 214-1 내지 n : 제2 판정부(수평 경계 판정부)
132-1 내지 n, 332-1 내지 n : 제1 필터링부(수평 필터링부)
142-1 내지 n, 342-1 내지 n : 제2 필터링부(수직 필터링부)
150 : 병렬화 제어부
208 : 라인 메모리(메모리)
360 : 계산부
112-1 내지 n, 212-1 내지 n : 제1 판정부(수직 경계 판정부)
114-1 내지 n, 214-1 내지 n : 제2 판정부(수평 경계 판정부)
132-1 내지 n, 332-1 내지 n : 제1 필터링부(수평 필터링부)
142-1 내지 n, 342-1 내지 n : 제2 필터링부(수직 필터링부)
150 : 병렬화 제어부
208 : 라인 메모리(메모리)
360 : 계산부
Claims (24)
- 부호화 스트림을 복호하여 화상을 생성하는 복호부와,
상기 복호부에 의해 생성되는 화상 내의 복수의 블록의 사이의 복수의 수직 블록 경계를 병렬 처리의 단위로 해서, 상기 복수의 수직 블록 경계의 각각에 인접하는 인접 블록에 디블록 필터를 적용할지를 판정하는 수평 필터링 판정 처리를 병렬적으로 실행하는 판정부
를 구비하는 화상 처리 장치. - 제1항에 있어서,
상기 수평 필터링 판정 처리에 있어서 상기 복수의 수직 블록 경계를 병렬 처리의 단위로서 상기 판정부에 설정시키는 제어부를 더 구비하는, 화상 처리 장치. - 제2항에 있어서,
상기 제어부는, 각 수직 블록 경계에 대한 상기 수평 필터링 판정 처리를, 다른 수직 블록 경계에 대한 상기 수평 필터링 판정 처리에 의존하지 않고, 상기 판정부에 실행시키는, 화상 처리 장치. - 제3항에 있어서,
상기 제어부는, 각 블록의 블록 크기로서, 서로 다른 수직 블록 경계에 대한 상기 수평 필터링 판정 처리의 사이의 의존 관계가 발생하지 않는 블록 크기를 상기 판정부에 사용하도록 하는, 화상 처리 장치. - 제4항에 있어서,
상기 판정부는, 복수의 블록의 사이의 복수의 수평 블록 경계를 병렬 처리의 단위로 해서, 상기 복수의 수평 블록 경계의 각각에 인접하는 인접 블록에 디블록 필터를 적용할지를 판정하는 수직 필터링 판정 처리를 병렬적으로 실행하는, 화상 처리 장치. - 제5항에 있어서,
상기 제어부는, 상기 수직 필터링 판정 처리에 있어서 상기 복수의 수평 블록 경계를 병렬 처리의 단위로서 상기 판정부에 설정시키는, 화상 처리 장치. - 제6항에 있어서,
상기 제어부는, 각 수평 블록 경계에 대한 상기 수직 필터링 판정 처리를, 다른 수평 블록 경계에 대한 상기 수직 필터링 판정 처리에 의존하지 않고, 상기 판정부에 실행시키는, 화상 처리 장치. - 제7항에 있어서,
상기 제어부는, 각 블록의 블록 크기로서, 서로 다른 수평 블록 경계에 대한 상기 수직 필터링 판정 처리의 사이의 의존 관계가 발생하지 않는 블록 크기를 상기 판정부에 사용하도록 하는, 화상 처리 장치. - 제8항에 있어서,
상기 제어부는, 상기 블록 크기로서 8×8 화소를 상기 판정부에 사용하도록 하는, 화상 처리 장치. - 제9항에 있어서,
상기 제어부는, 상기 수평 필터링 판정 처리를 상기 판정부에 병렬적으로 실행시킨 후, 상기 수직 필터링 판정 처리를 상기 판정부에 병렬적으로 실행시키는, 화상 처리 장치. - 제10항에 있어서,
상기 부호화 스트림은, 계층적으로 블록화되는 단위로 부호화되어 있고,
상기 복호부는, 계층적으로 블록화되는 상기 단위로 상기 부호화 스트림을 복호하는, 화상 처리 장치. - 부호화 스트림을 복호하여 화상을 생성하는 단계와,
생성되는 화상 내의 복수의 블록의 사이의 복수의 수직 블록 경계를 병렬 처리의 단위로 해서, 상기 복수의 수직 블록 경계의 각각에 인접하는 인접 블록에 디블록 필터를 적용할지를 판정하는 수평 필터링 판정 처리를 병렬적으로 실행하는 단계
를 포함하는 화상 처리 방법. - 부호화 대상 화상을 부호화할 때에 로컬 디코드되는 화상 내의 복수의 블록의 사이의 복수의 수직 블록 경계를 병렬 처리의 단위로 해서, 상기 복수의 수직 블록 경계의 각각에 인접하는 인접 블록에 디블록 필터를 적용할지를 판정하는 수평 필터링 판정 처리를 병렬적으로 실행하는 판정부와,
상기 수평 필터링 판정 처리의 결과에 기초해서 필터링된 화상을 사용하여, 상기 부호화 대상 화상을 부호화하는 부호화부
를 구비하는 화상 처리 장치. - 제13항에 있어서,
상기 수평 필터링 판정 처리에 있어서 상기 복수의 수직 블록 경계를 병렬 처리의 단위로서 상기 판정부에 설정시키는 제어부를 더 구비하는, 화상 처리 장치. - 제14항에 있어서,
상기 제어부는, 각 수직 블록 경계에 대한 상기 수평 필터링 판정 처리를, 다른 수직 블록 경계에 대한 상기 수평 필터링 판정 처리에 의존하지 않고, 상기 판정부에 실행시키는, 화상 처리 장치. - 제15항에 있어서,
상기 제어부는, 각 블록의 블록 크기로서, 서로 다른 수직 블록 경계에 대한 상기 수평 필터링 판정 처리의 사이의 의존 관계가 발생하지 않는 블록 크기를 상기 판정부에 사용하도록 하는, 화상 처리 장치. - 제16항에 있어서,
상기 판정부는, 복수의 블록의 사이의 복수의 수평 블록 경계를 병렬 처리의 단위로 해서, 상기 복수의 수평 블록 경계의 각각에 인접하는 인접 블록에 디블록 필터를 적용할지를 판정하는 수직 필터링 판정 처리를 병렬적으로 실행하는, 화상 처리 장치. - 제17항에 있어서,
상기 제어부는, 상기 수직 필터링 판정 처리에 있어서 상기 복수의 수평 블록 경계를 병렬 처리의 단위로서 상기 판정부에 설정시키는, 화상 처리 장치. - 제18항에 있어서,
상기 제어부는, 각 수평 블록 경계에 대한 상기 수직 필터링 판정 처리를, 다른 수평 블록 경계에 대한 상기 수직 필터링 판정 처리에 의존하지 않고, 상기 판정부에 실행시키는, 화상 처리 장치. - 제19항에 있어서,
상기 제어부는, 각 블록의 블록 크기로서, 서로 다른 수평 블록 경계에 대한 상기 수직 필터링 판정 처리의 사이의 의존 관계가 발생하지 않는 블록 크기를 상기 판정부에 사용하도록 하는, 화상 처리 장치. - 제20항에 있어서,
상기 제어부는, 상기 블록 크기로서 8×8 화소를 상기 판정부에 사용하도록 하는, 화상 처리 장치. - 제21항에 있어서,
상기 제어부는, 상기 수평 필터링 판정 처리를 상기 판정부에 병렬적으로 실행시킨 후, 상기 수직 필터링 판정 처리를 상기 판정부에 병렬적으로 실행시키는, 화상 처리 장치. - 제22항에 있어서,
상기 부호화부는, 계층적으로 블록화되는 단위로 상기 부호화 대상 화상을 부호화하고,
상기 부호화 대상 화상은, 계층적으로 블록화되는 상기 단위로 로컬 디코드되는, 화상 처리 장치. - 부호화 대상 화상을 부호화할 때에 로컬 디코드되는 화상 내의 복수의 블록의 사이의 복수의 수직 블록 경계를 병렬 처리의 단위로 해서, 상기 복수의 수직 블록 경계의 각각에 인접하는 인접 블록에 디블록 필터를 적용할지를 판정하는 수평 필터링 판정 처리를 병렬적으로 실행하는 단계와,
상기 수평 필터링 판정 처리의 결과에 기초해서 필터링된 화상을 사용하여, 상기 부호화 대상 화상을 부호화하는 단계
를 포함하는 화상 처리 방법.
Applications Claiming Priority (9)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010272907 | 2010-12-07 | ||
JPJP-P-2010-272907 | 2010-12-07 | ||
JPJP-P-2011-004391 | 2011-01-12 | ||
JP2011004391 | 2011-01-12 | ||
JP2011045652 | 2011-03-02 | ||
JPJP-P-2011-045652 | 2011-03-02 | ||
JP2011117557 | 2011-05-26 | ||
JPJP-P-2011-117557 | 2011-05-26 | ||
PCT/JP2011/077953 WO2012077607A1 (ja) | 2010-12-07 | 2011-12-02 | 画像処理装置及び画像処理方法 |
Related Child Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020187019836A Division KR101963097B1 (ko) | 2010-12-07 | 2011-12-02 | 화상 처리 장치 및 화상 처리 방법 |
KR1020187019829A Division KR101963096B1 (ko) | 2010-12-07 | 2011-12-02 | 화상 처리 장치, 화상 처리 방법 및 기록 매체 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20130129381A true KR20130129381A (ko) | 2013-11-28 |
KR101879890B1 KR101879890B1 (ko) | 2018-07-18 |
Family
ID=46207095
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020137013869A KR101879890B1 (ko) | 2010-12-07 | 2011-12-02 | 화상 처리 장치, 화상 처리 방법 및 기록 매체 |
KR1020187019829A KR101963096B1 (ko) | 2010-12-07 | 2011-12-02 | 화상 처리 장치, 화상 처리 방법 및 기록 매체 |
KR1020187019836A KR101963097B1 (ko) | 2010-12-07 | 2011-12-02 | 화상 처리 장치 및 화상 처리 방법 |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020187019829A KR101963096B1 (ko) | 2010-12-07 | 2011-12-02 | 화상 처리 장치, 화상 처리 방법 및 기록 매체 |
KR1020187019836A KR101963097B1 (ko) | 2010-12-07 | 2011-12-02 | 화상 처리 장치 및 화상 처리 방법 |
Country Status (14)
Country | Link |
---|---|
US (4) | US9973763B2 (ko) |
EP (4) | EP3748963B1 (ko) |
JP (3) | JP6011341B2 (ko) |
KR (3) | KR101879890B1 (ko) |
CN (4) | CN106454358B (ko) |
AU (1) | AU2011339460B2 (ko) |
BR (1) | BR112013013509B1 (ko) |
CA (1) | CA2815819C (ko) |
ES (1) | ES2856823T3 (ko) |
MX (3) | MX355896B (ko) |
MY (1) | MY163146A (ko) |
RU (2) | RU2585662C2 (ko) |
TW (4) | TWI580249B (ko) |
WO (1) | WO2012077607A1 (ko) |
Families Citing this family (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7295609B2 (en) | 2001-11-30 | 2007-11-13 | Sony Corporation | Method and apparatus for coding image information, method and apparatus for decoding image information, method and apparatus for coding and decoding image information, and system of coding and transmitting image information |
JP5359657B2 (ja) * | 2009-07-31 | 2013-12-04 | ソニー株式会社 | 画像符号化装置および方法、記録媒体、並びにプログラム |
JP5914962B2 (ja) | 2010-04-09 | 2016-05-11 | ソニー株式会社 | 画像処理装置および方法、プログラム、並びに、記録媒体 |
TWI508534B (zh) | 2010-05-18 | 2015-11-11 | Sony Corp | Image processing apparatus and image processing method |
RU2616155C1 (ru) | 2010-06-04 | 2017-04-12 | Сони Корпорейшн | Устройство и способ обработки изображений |
BR112013013509B1 (pt) | 2010-12-07 | 2021-12-28 | Sony Corporation | Dispositivo de processamento de imagem, e, método de processamento de imagem |
BR122020013143B1 (pt) | 2010-12-07 | 2022-02-22 | Sony Corporation | Dispositivo e método de processamento de imagem |
JP5741076B2 (ja) | 2010-12-09 | 2015-07-01 | ソニー株式会社 | 画像処理装置及び画像処理方法 |
JP5884313B2 (ja) | 2011-01-18 | 2016-03-15 | ソニー株式会社 | 画像処理装置、画像処理方法、プログラム及び記録媒体 |
JP5966932B2 (ja) | 2011-02-10 | 2016-08-10 | ソニー株式会社 | 画像処理装置、画像処理方法、プログラム及び媒体 |
US9135724B2 (en) | 2011-03-11 | 2015-09-15 | Sony Corporation | Image processing apparatus and method |
TWI530161B (zh) | 2011-06-07 | 2016-04-11 | Sony Corp | Image processing apparatus and method |
JP5907367B2 (ja) | 2011-06-28 | 2016-04-26 | ソニー株式会社 | 画像処理装置および方法、プログラム、並びに記録媒体 |
WO2013001957A1 (ja) | 2011-06-28 | 2013-01-03 | ソニー株式会社 | 画像処理装置と画像処理方法 |
TWI569625B (zh) * | 2012-04-06 | 2017-02-01 | Sony Corp | Image processing apparatus and method, program, and recording medium |
WO2014087861A1 (ja) * | 2012-12-06 | 2014-06-12 | ソニー株式会社 | 画像処理装置、画像処理方法、およびプログラム |
CN105451025B (zh) * | 2014-07-31 | 2019-03-01 | 富士通株式会社 | 图像处理方法以及装置 |
US20160173897A1 (en) * | 2014-12-10 | 2016-06-16 | Haihua Wu | High Parallelism Dependency Pattern for GPU Based Deblock |
KR102597231B1 (ko) * | 2016-09-30 | 2023-11-03 | 삼성디스플레이 주식회사 | 영상 처리 장치, 표시 장치 및 두부 장착 표시 장치 |
CN110325871B (zh) * | 2017-01-25 | 2021-10-01 | 上海联影医疗科技股份有限公司 | 用于图像重建的***和方法 |
TWI833248B (zh) * | 2017-04-06 | 2024-02-21 | 美商松下電器(美國)知識產權公司 | 解碼方法及編碼方法 |
JP2019074967A (ja) * | 2017-10-17 | 2019-05-16 | キヤノン株式会社 | フィルタ処理装置およびその制御方法 |
US11153607B2 (en) * | 2018-01-29 | 2021-10-19 | Mediatek Inc. | Length-adaptive deblocking filtering in video coding |
JP7155568B2 (ja) | 2018-03-26 | 2022-10-19 | 東洋製罐グループホールディングス株式会社 | 金属加工物 |
EP3780602A4 (en) * | 2018-03-29 | 2021-05-26 | Sony Corporation | IMAGE PROCESSING DEVICE AND IMAGE PROCESSING METHOD |
WO2020176026A1 (en) | 2019-02-27 | 2020-09-03 | Telefonaktiebolaget Lm Ericsson (Publ) | Deblocking using sub-pel motion vector threshold |
CA3132582A1 (en) * | 2019-03-07 | 2020-09-10 | Digitalinsights Inc. | Image encoding/decoding method and apparatus |
JP7026065B2 (ja) * | 2019-03-12 | 2022-02-25 | Kddi株式会社 | 画像復号装置、画像復号方法及びプログラム |
CN110213579A (zh) * | 2019-06-11 | 2019-09-06 | 上海富瀚微电子股份有限公司 | 双核心计算单元实现环路滤波的方法 |
JP7200074B2 (ja) * | 2019-09-20 | 2023-01-06 | Kddi株式会社 | 画像復号装置、画像復号方法及びプログラム |
CN113965764B (zh) * | 2020-07-21 | 2023-04-07 | Oppo广东移动通信有限公司 | 图像编码方法、图像解码方法及相关装置 |
CN116114245A (zh) | 2021-09-02 | 2023-05-12 | 辉达公司 | 在视频编码过程中视频帧的并行处理 |
CN116097649A (zh) * | 2021-09-06 | 2023-05-09 | 辉达公司 | 无滤波相依性的视频帧的并行编码 |
EP4407994A1 (en) * | 2021-09-22 | 2024-07-31 | Sharp Kabushiki Kaisha | Moving-image encoding device and moving-image decoding device |
Family Cites Families (47)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0832030B2 (ja) * | 1986-10-21 | 1996-03-27 | ソニー株式会社 | ブロツク符号化された画像信号の復号装置 |
FR2757297B1 (fr) * | 1996-12-18 | 1999-03-05 | Thomson Multimedia Sa | Procede et dispositif d'etiquetage de region |
CN1239021C (zh) * | 2000-04-21 | 2006-01-25 | 索尼公司 | 信息处理设备及方法、程序和记录介质 |
US7295609B2 (en) | 2001-11-30 | 2007-11-13 | Sony Corporation | Method and apparatus for coding image information, method and apparatus for decoding image information, method and apparatus for coding and decoding image information, and system of coding and transmitting image information |
CN101448162B (zh) * | 2001-12-17 | 2013-01-02 | 微软公司 | 处理视频图像的方法 |
CN1305646C (zh) | 2002-02-15 | 2007-03-21 | 索尼公司 | 有腿的移动机器人腿部装置及该机器人的控制方法 |
JP4114494B2 (ja) * | 2002-03-07 | 2008-07-09 | セイコーエプソン株式会社 | 画像処理装置及び画像処理プログラム、並びに画像処理方法 |
US7620109B2 (en) * | 2002-04-10 | 2009-11-17 | Microsoft Corporation | Sub-pixel interpolation in motion estimation and compensation |
US7542097B2 (en) * | 2002-05-20 | 2009-06-02 | Sony Corporation | Video signal processing apparatus and method |
EP1845529B1 (en) * | 2003-02-19 | 2011-05-04 | Panasonic Corporation | Recording medium, playback apparatus and recording method |
KR100644618B1 (ko) * | 2004-07-02 | 2006-11-10 | 삼성전자주식회사 | 블록 단위로 부호화된 영상의 블록경계에서의 불연속성제거필터 및 방법 |
US8116379B2 (en) | 2004-10-08 | 2012-02-14 | Stmicroelectronics, Inc. | Method and apparatus for parallel processing of in-loop deblocking filter for H.264 video compression standard |
JP4270125B2 (ja) * | 2004-12-16 | 2009-05-27 | ソニー株式会社 | データ処理装置、画像処理装置、それらの方法およびプログラム |
KR100843196B1 (ko) * | 2004-12-17 | 2008-07-02 | 삼성전자주식회사 | H.264/avc 비디오 디코더의 디블록킹 필터 |
KR100679035B1 (ko) * | 2005-01-04 | 2007-02-06 | 삼성전자주식회사 | 인트라 bl 모드를 고려한 디블록 필터링 방법, 및 상기방법을 이용하는 다 계층 비디오 인코더/디코더 |
US7792385B2 (en) * | 2005-01-25 | 2010-09-07 | Globalfoundries Inc. | Scratch pad for storing intermediate loop filter data |
JP2006270851A (ja) * | 2005-03-25 | 2006-10-05 | Victor Co Of Japan Ltd | 画像符号化装置及び画像復号装置 |
CN100420269C (zh) * | 2005-12-09 | 2008-09-17 | 逐点半导体(上海)有限公司 | 一种图像增强处理***和处理方法 |
JP4591405B2 (ja) * | 2006-05-10 | 2010-12-01 | ソニー株式会社 | 情報処理装置及び情報処理方法、並びにコンピュータ・プログラム |
JP4712642B2 (ja) * | 2006-08-17 | 2011-06-29 | 富士通セミコンダクター株式会社 | デブロッキングフィルタ、画像符号化装置および画像復号化装置 |
US20080123750A1 (en) * | 2006-11-29 | 2008-05-29 | Michael Bronstein | Parallel deblocking filter for H.264 video codec |
WO2008090793A1 (ja) * | 2007-01-22 | 2008-07-31 | Nec Corporation | 画像再符号化装置、画像再符号化方法及び画像符号化プログラム |
US8204129B2 (en) * | 2007-03-27 | 2012-06-19 | Freescale Semiconductor, Inc. | Simplified deblock filtering for reduced memory access and computational complexity |
US20110002395A1 (en) * | 2008-03-31 | 2011-01-06 | Nec Corporation | Deblocking filtering processor and deblocking filtering method |
US20090304086A1 (en) * | 2008-06-06 | 2009-12-10 | Apple Inc. | Method and system for video coder and decoder joint optimization |
JP2010014513A (ja) * | 2008-07-03 | 2010-01-21 | Fuji Electric Holdings Co Ltd | はんだフラックス中の金属成分分析方法 |
CN101321290B (zh) * | 2008-07-17 | 2010-12-15 | 北京数码视讯科技股份有限公司 | 基于数字信号处理器的去块滤波方法 |
WO2010035403A1 (ja) | 2008-09-25 | 2010-04-01 | パナソニック株式会社 | フィルタ装置およびフィルタ方法 |
US8861586B2 (en) * | 2008-10-14 | 2014-10-14 | Nvidia Corporation | Adaptive deblocking in a decoding pipeline |
JP2010136245A (ja) * | 2008-12-08 | 2010-06-17 | Toshiba Corp | 動画像処理装置及び方法 |
JP2010141513A (ja) * | 2008-12-10 | 2010-06-24 | Toshiba Corp | 演算装置及び動画像符号化装置 |
JP5359657B2 (ja) | 2009-07-31 | 2013-12-04 | ソニー株式会社 | 画像符号化装置および方法、記録媒体、並びにプログラム |
JP5344238B2 (ja) | 2009-07-31 | 2013-11-20 | ソニー株式会社 | 画像符号化装置および方法、記録媒体、並びにプログラム |
CA2785036A1 (en) * | 2010-02-05 | 2011-08-11 | Telefonaktiebolaget L M Ericsson (Publ) | De-blocking filtering control |
US9185430B2 (en) * | 2010-03-15 | 2015-11-10 | Mediatek Singapore Pte. Ltd. | Deblocking filtering method and deblocking filter |
JP5914962B2 (ja) | 2010-04-09 | 2016-05-11 | ソニー株式会社 | 画像処理装置および方法、プログラム、並びに、記録媒体 |
CN102860009A (zh) | 2010-04-13 | 2013-01-02 | 松下电器产业株式会社 | 编码失真除去方法、编码方法、解码方法、编码失真除去装置、编码装置、及解码装置 |
TWI508534B (zh) | 2010-05-18 | 2015-11-11 | Sony Corp | Image processing apparatus and image processing method |
RU2616155C1 (ru) | 2010-06-04 | 2017-04-12 | Сони Корпорейшн | Устройство и способ обработки изображений |
BR122020013143B1 (pt) | 2010-12-07 | 2022-02-22 | Sony Corporation | Dispositivo e método de processamento de imagem |
BR112013013509B1 (pt) * | 2010-12-07 | 2021-12-28 | Sony Corporation | Dispositivo de processamento de imagem, e, método de processamento de imagem |
JP5741076B2 (ja) | 2010-12-09 | 2015-07-01 | ソニー株式会社 | 画像処理装置及び画像処理方法 |
JP5966932B2 (ja) | 2011-02-10 | 2016-08-10 | ソニー株式会社 | 画像処理装置、画像処理方法、プログラム及び媒体 |
US9135724B2 (en) | 2011-03-11 | 2015-09-15 | Sony Corporation | Image processing apparatus and method |
TWI530161B (zh) | 2011-06-07 | 2016-04-11 | Sony Corp | Image processing apparatus and method |
JP5907367B2 (ja) | 2011-06-28 | 2016-04-26 | ソニー株式会社 | 画像処理装置および方法、プログラム、並びに記録媒体 |
TWI644564B (zh) | 2012-06-29 | 2018-12-11 | 維洛思媒介國際公司 | 資訊處理設備及資訊處理方法 |
-
2011
- 2011-12-02 BR BR112013013509-3A patent/BR112013013509B1/pt active IP Right Grant
- 2011-12-02 CN CN201610833557.2A patent/CN106454358B/zh active Active
- 2011-12-02 MX MX2016005041A patent/MX355896B/es unknown
- 2011-12-02 RU RU2013125498/07A patent/RU2585662C2/ru active
- 2011-12-02 KR KR1020137013869A patent/KR101879890B1/ko active IP Right Grant
- 2011-12-02 CA CA2815819A patent/CA2815819C/en active Active
- 2011-12-02 CN CN201610833935.7A patent/CN106454359B/zh active Active
- 2011-12-02 MX MX2013006131A patent/MX2013006131A/es active IP Right Grant
- 2011-12-02 WO PCT/JP2011/077953 patent/WO2012077607A1/ja active Application Filing
- 2011-12-02 RU RU2016105120A patent/RU2691962C2/ru active
- 2011-12-02 KR KR1020187019829A patent/KR101963096B1/ko active IP Right Grant
- 2011-12-02 MY MYPI2013001873A patent/MY163146A/en unknown
- 2011-12-02 EP EP20185680.4A patent/EP3748963B1/en active Active
- 2011-12-02 AU AU2011339460A patent/AU2011339460B2/en active Active
- 2011-12-02 ES ES11846148T patent/ES2856823T3/es active Active
- 2011-12-02 EP EP20185688.7A patent/EP3748964A1/en not_active Withdrawn
- 2011-12-02 CN CN201610834002.XA patent/CN106385586A/zh active Pending
- 2011-12-02 EP EP11846148.2A patent/EP2651127B1/en active Active
- 2011-12-02 EP EP20185677.0A patent/EP3748962A1/en not_active Withdrawn
- 2011-12-02 JP JP2012547833A patent/JP6011341B2/ja active Active
- 2011-12-02 CN CN201180057815.8A patent/CN103229506B/zh active Active
- 2011-12-02 US US13/990,893 patent/US9973763B2/en active Active
- 2011-12-02 KR KR1020187019836A patent/KR101963097B1/ko active IP Right Grant
- 2011-12-05 TW TW104111379A patent/TWI580249B/zh active
- 2011-12-05 TW TW100144707A patent/TWI520504B/zh active
- 2011-12-05 TW TW104111385A patent/TWI569627B/zh active
- 2011-12-05 TW TW104111383A patent/TWI580250B/zh active
-
2013
- 2013-05-31 MX MX2014013389A patent/MX338737B/es unknown
-
2016
- 2016-07-21 JP JP2016142996A patent/JP6222305B2/ja active Active
-
2017
- 2017-09-11 JP JP2017173732A patent/JP6471787B2/ja active Active
-
2018
- 2018-02-22 US US15/902,870 patent/US10362318B2/en active Active
-
2019
- 2019-04-23 US US16/391,314 patent/US10582202B2/en active Active
- 2019-11-25 US US16/693,374 patent/US10931955B2/en active Active
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6471787B2 (ja) | 画像処理装置及び画像処理方法 | |
JP6471786B2 (ja) | 画像処理装置及び画像処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |