KR20130135311A - 화상 부호화 방법, 화상 복호 방법, 화상 부호화 장치, 화상 복호 장치, 화상 부호화 프로그램 및 화상 복호 프로그램 - Google Patents

화상 부호화 방법, 화상 복호 방법, 화상 부호화 장치, 화상 복호 장치, 화상 부호화 프로그램 및 화상 복호 프로그램 Download PDF

Info

Publication number
KR20130135311A
KR20130135311A KR20137023849A KR20137023849A KR20130135311A KR 20130135311 A KR20130135311 A KR 20130135311A KR 20137023849 A KR20137023849 A KR 20137023849A KR 20137023849 A KR20137023849 A KR 20137023849A KR 20130135311 A KR20130135311 A KR 20130135311A
Authority
KR
South Korea
Prior art keywords
subject
map
image
encoding
subject map
Prior art date
Application number
KR20137023849A
Other languages
English (en)
Other versions
KR101592535B1 (ko
Inventor
신야 시미즈
히데아키 기마타
노리히코 마츠우라
Original Assignee
니폰덴신뎅와 가부시키가이샤
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 니폰덴신뎅와 가부시키가이샤 filed Critical 니폰덴신뎅와 가부시키가이샤
Publication of KR20130135311A publication Critical patent/KR20130135311A/ko
Application granted granted Critical
Publication of KR101592535B1 publication Critical patent/KR101592535B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/001Model-based coding, e.g. wire frame
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/40Tree coding, e.g. quadtree, octree
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/20Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

화상 부호화 장치는, 부호화 대상 블록마다 블록 내에서 유사한 화상 신호를 갖는 영역을 피사체로서 취급하고, 각 피사체를 대표하는 하나의 화소값을 피사체 화소값으로서 피사체 식별자에 대응지어 설정한다. 피사체 맵 생성부는, 블록 내의 각 화소가 어느 피사체에 속하는지를 피사체 식별자로 나타내는 피사체 맵을 생성한다. 이를 이용하여 예측 화상 생성부가 부호화 대상 블록의 예측에 이용하는 예측 화상을 생성한다. 피사체 맵 부호화부는, 부호화 완료한 참조 영역을 부호화할 때에 사용된 피사체 맵을 참조하여 피사체 맵을 부호화한다.

Description

화상 부호화 방법, 화상 복호 방법, 화상 부호화 장치, 화상 복호 장치, 화상 부호화 프로그램 및 화상 복호 프로그램{Image encoding method, image decoding method, image encoding device, image decoding device, image encoding program, and image decoding program}
본 발명은 거리 화상의 부호화 및 그 복호 기술에 관한 것이다.
본원은 2011년 3월 14일에 일본 출원된 일본특허출원 2011-055238호에 기초하여 우선권을 주장하고, 그 내용을 여기에 원용한다.
거리 화상이란, 카메라부터 피사체까지의 거리를 화소값으로서 표현한 화상의 것이다. 카메라부터 피사체까지의 거리는 신의 깊이라고도 할 수 있기 때문에, 거리 화상은 깊이 화상이라고 불리기도 한다. 또한, 깊이는 뎁스(Depth)라고도 불리기 때문에, 뎁스 맵(Depth Map)이라고 불리기도 한다. 컴퓨터 그래픽스 분야에서는, 뎁스는 Z버퍼에 축적된 정보가 되기 때문에 Z화상이나 Z맵이라고 불리기도 한다. 또, 카메라부터 피사체까지의 거리 이외에 표현 대상 공간 상에 퍼진 3차원 좌표계의 Z축에 대한 좌표값을 거리(뎁스)로서 이용할 수도 있다. 일반적으로 촬영된 화상에 대해 수평 방향을 X축, 수직 방향을 Y축으로 하기 때문에, Z축은 카메라의 방향과 일치하지만, 복수의 카메라에 대해 공통 좌표계를 이용하는 경우 등 Z축이 카메라의 방향과 일치하지 않는 경우도 있다. 이하에서는, 거리·깊이·Z값을 구별하지 않고 거리 정보라고 부르고, 거리 정보를 화소값으로서 나타낸 화상을 거리 화상이라고 부른다.
거리 정보를 화소값으로서 나타낼 때에, 물리량에 대응하는 값을 그대로 화소값으로 하는 방법과, 최소값과 최대값의 사이를 어떤 수로 양자화하여 얻어지는 값을 이용하는 방법과, 최소값으로부터의 차이를 어떤 단계 폭으로 양자화하여 얻어지는 값을 이용하는 방법이 있다. 표현하고자 하는 범위가 제한되어 있는 경우에는, 최소값 등의 부가 정보를 이용하는 것이 거리 정보를 고정밀도로 표현할 수 있다.
또한, 등간격으로 양자화할 때에 물리량을 그대로 양자화하는 방법과 물리량의 역수를 양자화하는 방법이 있다. 일반적으로 거리 정보의 역수는 시차에 비례한 값이 되기 때문에, 거리 정보를 고정밀도로 표현할 필요가 있는 경우에는 전자를, 시차 정보를 고정밀도로 표현할 필요가 있는 경우에는 후자가 사용되는 경우가 많다. 이하에서는, 거리 정보의 화소값화의 방법이나 양자화의 방법에 관계없이 거리 정보가 화상으로서 표현된 것을 전부 거리 화상이라고 부른다.
거리 화상의 이용 용도 중 하나로서 입체 화상이 있다. 일반적인 입체 화상의 표현으로는 관측자의 우안용 화상과 좌안용 화상으로 이루어지는 스테레오 화상인데, 어떤 카메라에서의 화상과 그 거리 화상을 이용하여 입체 화상을 표현할 수 있다(자세한 기술은 비특허문헌 1을 참조).
이러한 1시점에서의 영상과 거리 화상을 이용하여 표현된 입체 영상을 부호화하는 방식에는 MPEG-C Part.3(ISO/IEC 23002-3)을 사용하는 것이 가능하다(자세한 내용은 비특허문헌 2를 참조).
영상과 거리 화상을 복수 시점에 대해 가짐으로써, 단시점의 경우에 표현 가능한 입체 영상보다 큰 시차를 갖는 입체 영상을 표현하는 것이 가능하게 된다(자세한 것은 비특허문헌 3을 참조).
또한, 이러한 입체 영상을 표현하는 용도 이외에, 거리 화상은 감상자가 촬영 카메라의 배치를 마음에 두지 않고 자유롭게 시점을 이동할 수 있는 자유 시점 영상을 생성하는 데이터의 하나로서도 사용된다. 이러한 촬영 카메라와는 다른 카메라로부터 신을 보고 있다고 하였을 때의 합성 화상을 가상 시점 화상이라고 부르는 경우가 있고, Image-based Rendering 분야에서 활발히 그 생성법이 검토되고 있다. 다시점 영상과 거리 화상으로부터 가상 시점 영상을 생성하는 대표적인 수법으로서는 비특허문헌 4에 기재된 수법이 있다.
거리 화상은 하나의 컴포넌트로 구성되어 있기 때문에, 그레이 스케일 화상으로 간주할 수 있다. 또한, 피사체가 실공간 상에서 연속적으로 존재하고 순간적으로 떨어진 위치로 이동할 수 없기 때문에, 화상 신호와 같이 공간적 상관 및 시간적 상관을 갖는다고 할 수 있다.
따라서, 통상의 화상 신호나 영상 신호를 부호화하기 위해 이용되는 화상 부호화 방식이나 동화상 부호화 방식에 의해, 거리 화상이나 거리 동화상은 공간적 리던던시나 시간적 리던던시를 제거하면서 효율적으로 부호화하는 것이 가능하다. 실제로 MPEG-C Part.3에서는 기존의 동화상 부호화 방식을 이용하여 부호화를 행하고 있다.
여기서, 종래의 일반적인 영상 신호의 부호화 방식에 대해 설명한다. 일반적으로 피사체가 실공간 상에서 공간적 및 시간적 연속성을 가지기 때문에, 그 외관은 공간적 및 시간적으로 높은 상관을 갖는다. 영상 신호의 부호화에서는 이러한 상관성을 이용하여 높은 부호화 효율을 달성하고 있다.
구체적으로 부호화 대상 블록의 영상 신호를 이미 부호화 완료한 영상 신호로부터 예측하여, 그 예측 잔차만을 부호화함으로써, 부호화할 필요가 있는 정보의 양을 줄이고 높은 부호화 효율을 달성한다. 대표적인 영상 신호의 예상 수법으로서는 인접하는 블록으로부터 공간적으로 예측 신호를 생성하는 화면 내 예측이나, 다른 시각으로 촬영된 부호화 완료 프레임으로부터 피사체의 움직임을 추정하여 시간적으로 예측 신호를 생성하는 움직임 보상 예측이 있다.
또한, 예측 잔차 신호라고 불리는 예측의 오차도 공간적인 상관과 인간의 시각 특성을 이용하기 위해 DCT 등을 이용하여 예측 잔차 신호를 주파수 공간에서의 데이터로 변환하고, 저주파 영역에 잔차 신호의 에너지를 집중함으로써 효율적으로 부호화를 행한다. 각 수법의 자세한 것은 동화상 국제 표준 규격의 MPEG-2나 H.264/MPEG-4 AVC(비특허문헌 5)를 참조하기 바란다.
비특허문헌 1: C.Fehn, P.Kauff, M.Op de Beeck, F.Emst, W.IJsse lsteijn, M.Pollefeys, L.Van Gool, E.Ofek and I.Sexton, "An Evolutionary and Optimised Approach on 3D-TV," Proceedings of International Broadcast Conference, pp.357-365, Amsterdam, The Netherlands, September 2002. 비특허문헌 2: W.H.A.Bruls, C.Varekamp, R.Klein Gunnewiek, B.Barenbrug and A.Bourge, "Enabling Introduction of Stereoscopic(3D) Video: Formats and Compression Standards," Proceedings of IEEE International Conference on Image Processing, pp.I-89-I-92, San Antonio, USA, September 2007. 비특허문헌 3: A.Smolic, K.Mueller, P.Merkle, N.Atzpadin, C.Fehn, M.Mueller, O.Schreer, R.Tanger, P.Kauff and T.Wiegand, "Multi-view video plus depth(MVD) format for advanced 3D video systems," Joint Video Team of IS0/IEC JTC1/SC29/WG11 and ITU-T SG16 Q.6, Doc.JVT-W100, San Jose, USA, April 2007. 비특허문헌 4: C.L.Zitnick, S.B.Kang, M.Uyttendaele, S.A.J.Winder, and R.Szeliski, "High-quality Video View Interpolation Using a Layered Representation," ACM Transactions on Graphics, vol.23, no.3, pp.600-608, August 2004. 비특허문헌 5: Recommendation ITU-T H.264, "Advanced video coding for generic audiovisual services," March 2009.
피사체는 실공간 상에서 연속이기 때문에 높은 공간 상관을 가지고, 순간적으로 떨어진 위치로 이동하는 것이 불가능하기 때문에 높은 시간 상관을 갖는다. 따라서, 공간 상관과 시간 상관을 이용하는 기존의 동화상 부호화 방식을 이용함으로써, 그레이 스케일 화상으로서 나타낸 거리 화상을 효율적으로 부호화하는 것이 가능하다.
그러나, 거리 정보는 피사체 내부에서는 변화가 적고 피사체 간에는 매우 큰 차이가 있기 때문에, 공간적 또는 시간적인 예측 결과, 정확한 예측을 달성할 수 있어 예측 잔차가 매우 작아지거나 전혀 유효한 예측을 할 수 없어 예측 잔차가 매우 커져 버리게 된다. 즉, 예측 잔차 신호에 강한 엣지가 생성되게 된다. 이러한 강한 엣지는 DCT 등을 이용하여 주파수 공간에서의 데이터로 변환되면, 저주파 영역에 잔차 신호의 에너지를 집중시킬 수 없고 많은 고주파 성분을 생성하게 된다. 그 결과, 잔차 신호를 효율적으로 부호화할 수 없다.
도 1에 어떤 거리 화상의 9×9화소의 블록의 일례를 나타내었다. 이 블록에는 2개의 피사체가 존재하고, 한쪽의 화소값이 50 전후이고 다른 한쪽의 화소값이 200 전후이다. 공간적인 예측에서는, 이 블록의 1행째와 1열째의 정보를 이용하여 나머지 8×8화소를 예측한다. 즉, 8×8화소의 처리 대상 블록의 화소값을 상측 및 좌측에 인접하는 인접 화소의 화소값으로 예측한다.
예측 방법에는 여러 가지 것이 있지만, 여기서는 H.264에 채용되어 있는 대표적인 2가지 예측 방법, 수평 예측과 수직 예측 2가지의 예를 나타내었다. 도면의 중앙열에 나타나는 바와 같이, 예측 잔차에는 크게 나누어 -150 전후, 0 전후, 150 전후의 3종류의 값밖에 존재하지 않고 매우 큰 엣지가 발생한다.
이 예측 잔차에 8×8의 2차원 DCT(이산 코사인 변환)를 곱한 결과가 가장 우측 열이다. 직류(DC) 성분은 도면의 가장 안쪽이 되고, 좌우로 갈수록 고주파를 나타내고 있다. 도면에서 알 수 있는 바와 같이, 두 경우 모두 대부분의 고주파 영역에 큰 신호가 발생하고 잔차 신호의 컴팩트화에 실패한 것을 알 수 있다.
예측을 행하지 않고 DCT 등의 변환만을 이용하여 부호화하는 것도 가능한데, 다른 블록과의 공간적 상관을 제거할 수 없어 부호화 효율이 더 악화되어 버린다. 또한, DCT 등의 변환을 행하지 않고 부호화하는 것도 가능한데, 그 경우에는 블록 내의 국소적인 상관을 이용할 수 없어 효율적인 부호화를 달성할 수 없다.
본 발명은 이러한 사정을 감안하여 이루어진 것으로, 거리 화상과 같은 화소값이 오브젝트에 크게 의존하는 화상에 대해 오브젝트마다의 대표 화소값과 오브젝트 식별 정보를 이용함으로써, 거리 화상과 같은 화소값이 오브젝트에 크게 의존하는 화상을 효율적으로 부호화하는 화상 부호화에 관한 기술 및 그 비트 스트림을 복호하는 화상 복호에 관한 기술을 제공하는 것을 목적으로 한다.
본 발명의 화상 부호화에서는 이하의 처리를 행한다.
(1) 블록 내에 존재하는 피사체의 수를 피사체수로서 설정한다.
(2) 블록 내에 피사체수만큼의 피사체가 존재한다고 가정하여 피사체마다 하나의 화소값을 피사체 화소값으로서 설정한다.
(3) 피사체를 식별하는 피사체 식별자와 피사체 화소값을 대응지어, 블록 내의 각 화소의 화소값과 피사체 화소값으로부터 블록 내의 각 화소에 어느 피사체가 촬영되어 있는지를 피사체 식별자로 나타내는 피사체 맵을 생성한다.
(4) 블록 주변의 부호화 완료 블록의 화상(영상) 신호를 부호화할 때에 사용한 피사체 맵을 참조 피사체 맵으로서 설정한다.
(5) 피사체 맵에 따라 각 화소에 피사체 화소값의 값을 할당함으로써 블록에 대한 예측 화상을 생성한다.
(6) 참조 피사체 맵을 이용하여 예측을 행하면서 피사체 맵을 부호화한다.
(7) 예측 화상을 이용하여 블록에 대한 화상 신호를 예측 부호화한다.
(8) 피사체수에 대해서는 부호화하는 경우와 부호화하지 않는 경우가 있다. 상기 (1)의 피사체수를 설정하는 단계에 있어서, 복호측이 참조 가능한 정보만을 이용하여 피사체수를 설정한 경우에는 부호화를 행하지 않는다. 그 이외의 경우에는 부호화를 행한다. 부호화를 행하지 않는 경우로서는, 예를 들면 미리 정해진 피사체수를 설정하는 경우나 블록 주변의 부호화 완료한 블록의 화상 정보나 피사체수로부터 예측하여 설정하는 경우 등이 있다. 부호화를 행하는 경우로서는, 예를 들면 블록 내의 화소값을 해석하여 설정한 경우가 있다. 또, 부호화에 있어서는 피사체수를 그대로 부호화하는 방법과, 피사체수의 부호량을 줄이기 위해 복호측이 참조 가능한 정보만을 이용하여 예측값을 생성하고 그 예측값과의 차분값을 부호화하는 방법이 있다.
(9) 피사체 화소값에 대해서도 부호화하는 경우와 부호화하지 않는 경우가 있다. 상기 (2)의 피사체 화소값을 설정하는 단계에 있어서, 복호측이 참조 가능한 정보만을 이용하여 피사체 화소값을 설정한 경우에는 부호화를 행하지 않는다. 그 이외의 경우에는 부호화를 행한다. 부호화를 행하지 않는 경우로서는, 예를 들면 블록 주변의 부호화 완료한 블록의 화상 정보나 피사체 화소값으로부터 예측하여 설정하는 경우 등이 있다. 부호화를 행하는 경우로서는, 예를 들면 블록 내의 화소값을 해석하여 설정한 경우가 있다. 또, 부호화에 있어서는 피사체 화소값을 그대로 부호화하는 방법과, 피사체 화소값의 부호량을 줄이기 위해 복호측이 참조 가능한 정보만을 이용하여 예측값을 생성하고 그 예측값과의 차분값을 부호화하는 방법이 있다. 예측값의 생성에는, 블록 주변의 부호화 완료한 블록의 화상 정보나 피사체 화소값, 부호화 순으로 먼저 부호화되는 피사체 화소값을 이용할 수 있다.
(10) 이상의 피사체 맵의 부호 데이터, 화상 신호의 부호 데이터, 또 피사체수를 부호화한 경우에는 그 부호 데이터, 또한 피사체 화소값을 부호화한 경우에는 그 부호 데이터를 다중화하여 출력한다.
이상과 같이, 본 발명에서는 예측 화상을 생성하기 위해 피사체의 대표적인 화소값인 피사체 화소값 및 어느 피사체 화소값을 이용하여 예측 화상을 생성하는지를 화소마다 나타내는 피사체 맵의 2가지 부가 정보를 이용한다. 예측 화상의 생성에 「예측 방향」이라는 정보를 이용하였던 종래 기술과 비교하여, 본 발명은 부가 정보의 부호량이 증가하지만, 정확한 예측 화상을 생성함으로써 예측 잔차의 부호화에 필요한 부호량을 대폭적으로 줄이고 전체적으로 블록당 필요한 부호량을 삭감할 수 있다.
또, 피사체가 공간적으로 연속되어 있기 때문에, 각 화소에는 인접하는 화소와 같은 피사체가 찍혀 있을 가능성이 높다. 그 때문에, 피사체의 종류를 표현하는 피사체 맵을 부호화할 때에, 주변 블록을 부호화할 때에 이용한 피사체 맵을 참조하여 블록에 대한 피사체 맵의 각 화소에서의 피사체를 예측하거나 피사체의 존재 확률을 제어함으로써 필요한 부호량을 삭감하는 것이 가능하게 된다.
또한, 본 발명은 블록 주변의 부호화 완료 블록을 부호화할 때에 사용한 피사체 화소값과 상기 (2)에서 설정한 피사체 화소값을 비교하여, 블록 주변의 부호화 완료 블록을 부호화할 때에 사용한 피사체 식별자를 상기 (3)에서 사용한 피사체 식별자로 치환하는 치환 행렬을 생성하고, 상기 (4)의 참조 피사체 맵을 설정하는 단계에 있어서, 블록 주변의 부호화 완료 블록을 부호화할 때에 사용한 피사체 맵 내의 피사체 식별자를 생성한 치환 행렬을 이용하여 치환함으로써 참조 피사체 맵을 생성해도 된다. 참조 피사체 맵에서 이용된 피사체 식별자에 대응하는 피사체와 피사체 맵에서 이용된 피사체 식별자에 대응하는 피사체를 일치시킴으로써, 블록 간에 다른 피사체가 존재하는 경우에서도 올바르게 피사체 맵에서의 공간적 상관을 이용할 수 있다.
또한, 본 발명은 예측 화상을 이용하여 상기 (7)에서 생성된 부호 데이터를 복호하여 얻어지는 복호 화상을 축적하고, 상기 (4)의 참조 피사체 맵을 설정하는 단계에 있어서, 블록 주변의 부호화 완료 블록에 대해 축적되어 있는 복호 화상을 이용하여 각 화소의 화소값에 가장 가까운 피사체 화소값에 대해 상기 (3)에서 대응지어진 피사체 식별자를 할당함으로써 참조 피사체 맵을 생성해도 된다. 주변 블록을 부호화할 때에 피사체 맵을 사용하지 않은 경우, 부호화 대상의 블록에 대한 피사체 화소값을 이용하여 주변 블록에 대해 피사체 식별자를 할당함으로써 참조 피사체 맵을 생성하고, 블록 간의 피사체의 존재에 대한 상관을 이용하여 피사체 맵을 효율적으로 부호화할 수 있다.
또한, 본 발명은 참조 피사체 맵의 엣지 정보를 이용하여 블록을 분할하는 방법을 설정하고, 그 분할 방법에 따라 피사체 맵을 나무 구조로 나타난 것으로 변환하며, 상기 (6)의 피사체 맵을 부호화하는 단계에 있어서, 참조 피사체 맵을 이용하여 나무 구조로 나타난 피사체 맵을 부호화해도 된다. 주변 블록에서의 피사체 분포에 따라 분할 방법을 결정함으로써, 공간 상관을 이용한 나무 구조를 구축할 수 있고, 보다 적은 부호량으로의 부호화를 실현할 수 있다.
본 발명의 복호 처리에서는 이하의 처리를 행한다.
(1) 블록 내에 존재하는 피사체의 수를 피사체수로서 설정한다. 이 피사체수의 설정에서는, 부호 데이터를 복호하여 얻어진 피사체수를 설정하는 경우와 주변 블록 등에서 이미 복호 완료한 정보만을 이용하여 피사체수를 설정하는 경우가 있다. 부호 데이터로부터 복호를 행하지 않는 경우로서는, 예를 들면 미리 정해진 피사체수를 설정하는 경우나 블록 주변의 복호 완료한 블록의 화상 정보나 피사체수로부터 예측하여 설정하는 경우 등이 있다. 또, 피사체수를 복호함에 있어서는 부호 데이터로부터 피사체수 그 자체를 복호하는 경우와, 주변 블록 등에서 이미 복호 완료한 정보만을 이용하여 예측값을 생성하고 그 예측값과의 차분값만을 부호 데이터로부터 복호하는 경우가 있다.
(2) 각 피사체 식별자마다 하나의 피사체 화소값을 설정한다. 이 피사체 화소값의 설정에서는, 부호 데이터를 복호하여 얻어진 피사체 화소값을 설정하는 경우와 주변 블록 등에서 이미 복호 완료한 정보만을 이용하여 피사체 화소값을 설정하는 경우가 있다. 부호 데이터로부터 복호를 행하지 않는 경우로서는, 예를 들면 블록 주변의 복호 완료한 블록의 화상 정보나 피사체 화소값으로부터 예측하여 설정하는 경우 등이 있다. 또, 복호함에 있어서는 피사체 화소값 그 자체를 복호하여 직접적으로 얻는 경우와, 주변 블록 등에서 이미 복호 완료한 정보만을 이용하여 예측값을 생성하고 그 예측값과의 차분값을 복호하여 간접적으로 취득하는 경우가 있다. 예측값의 생성에는, 블록 주변의 복호 완료한 블록의 화상 정보나 피사체 화소값과 복호 중의 블록에 있어서 복호 순으로 먼저 복호된 피사체 화소값을 이용할 수 있다.
(3) 블록 주변의 복호 완료 블록을 복호할 때에 사용한 피사체 맵을 참조 피사체 맵으로서 설정한다.
(4) 참조 피사체 맵을 이용하여 예측을 행하면서 복호 대상이 되는 부호 데이터로부터 피사체 맵을 복호한다.
(5) 피사체 맵에 따라 각 화소에 피사체 화소값의 값을 할당함으로써 블록에 대한 예측 화상을 생성한다.
(6) 예측 화상을 이용하여 블록에 대한 화상 신호를 부호 데이터로부터 복호한다.
이에 의해, 상기 화상 부호화에 의해 부호화된 화상을 복호할 수 있다.
또한, 본 발명은 블록 주변의 복호 완료 블록을 복호할 때에 사용한 피사체 화소값과 상기 (2)에서 설정한 피사체 화소값을 비교하여, 블록 주변의 복호 완료 블록을 복호할 때에 사용한 피사체 식별자를 복호하는 블록에 대한 피사체 식별자로 치환하는 치환 행렬을 생성하고, 상기 (3)의 참조 피사체 맵을 설정하는 단계에 있어서, 블록 주변의 복호 완료 블록을 복호할 때에 사용한 피사체 맵 내의 피사체 식별자를 생성한 치환 행렬을 이용하여 치환함으로써 참조 피사체 맵을 생성해도 된다.
또한, 본 발명은 상기 (6)에서 얻어지는 복호 화상을 축적하고, 상기 (3)의 참조 피사체 맵을 설정하는 단계에 있어서, 블록 주변의 블록에 대해 축적되어 있는 복호 화상을 이용하여 각 화소의 화소값에 가장 가까운 피사체 화소값의 피사체 식별자를 할당함으로써 참조 피사체 맵을 생성해도 된다.
또한, 본 발명은 참조 피사체 맵의 엣지 정보를 이용하여 블록을 분할하는 방법을 설정하고, 상기 (4)의 피사체 맵을 복호하는 단계에 있어서, 참조 피사체 맵을 이용하여 설정한 분할 방법에 따라 나무 구조로 나타난 피사체 맵을 복호해도 된다.
본 발명에 따르면, 거리 화상과 같은 화소값이 오브젝트에 크게 의존하고, 국소적으로는 제한된 수의 피사체밖에 존재하지 않는 화상에 대해 화상 전체를 분할하여 영역마다 피사체의 존재의 공간적인 연속성을 이용하여 각 화소에 찍혀 있는 피사체의 종류를 예측함으로써, 피사체마다의 대표 화소값과 각 화소에서의 피사체의 종류를 식별하기 위한 정보를 이용한 화상 신호 예측에 있어서 필요하게 되는 부가 정보의 부호량을 삭감하고 효율적인 화상 부호화를 실현할 수 있다.
도 1은 본 발명의 과제를 설명하는 도면이다.
도 2는 본 발명의 제1 실시형태에 따른 화상 부호화 장치의 구성예를 도시한 블록도이다.
도 3은 제1 실시형태에 따른 화상 부호화 장치의 처리 흐름도이다.
도 4는 피사체 맵의 예를 도시한 도면이다.
도 5는 각 화소의 피사체 식별자를 부호화하는 처리 흐름도이다.
도 6은 나무 구조 피사체 맵을 부호화하는 처리 흐름도이다.
도 7은 나무 구조 피사체 맵의 예를 도시한 도면이다.
도 8은 나무 구조 피사체 맵의 예를 도시한 도면이다.
도 9는 피사체 식별자의 정보를 이용하여 가변의 블록 분할을 설정하는 예를 설명하는 도면이다.
도 10은 엣지의 방향에 따른 형태로 블록 분할을 설정하는 예를 설명하는 도면이다.
도 11은 화상 부호화 장치의 다른 구성예를 도시한 블록도이다.
도 12a는 참조 피사체 맵을 설정하는 처리 흐름도이다.
도 12b는 참조 피사체 맵을 설정하는 처리 흐름도이다.
도 13은 화상 부호화 장치의 또 다른 구성예를 도시한 블록도이다.
도 14는 화상 부호화 장치의 처리 흐름도이다.
도 15는 본 발명의 제2 실시형태에 따른 화상 복호 장치의 구성예를 도시한 블록도이다.
도 16은 제2 실시형태에 따른 화상 복호 장치의 처리 흐름도이다.
도 17은 피사체수가 부호화되어 있는 경우의 화상 복호 장치의 구성예를 도시한 블록도이다.
도 18은 피사체 화소값이 부호화되어 있는 경우의 화상 복호 장치의 구성예를 도시한 블록도이다.
도 19는 피사체 식별자가 부호화되어 있는 경우의 복호 처리 흐름도이다.
도 20은 피사체 맵의 각 노드의 정보가 부호화되어 있는 경우의 복호 처리 흐름도이다.
도 21은 화상 복호 장치의 다른 구성예를 도시한 도면이다.
도 22는 화상 복호 장치의 다른 구성예를 도시한 도면이다.
도 23은 화상 부호화 장치를 컴퓨터와 소프트웨어 프로그램에 의해 구성하는 경우의 하드웨어 구성예를 도시한 도면이다.
도 24는 화상 복호 장치를 컴퓨터와 소프트웨어 프로그램에 의해 구성하는 경우의 하드웨어 구성예를 도시한 도면이다.
본 발명의 일 실시형태는, 상기 과제를 해결하기 위해, 화상을 전송 또는 축적함에 있어서 화상 프레임을 미리 정해진 크기의 처리 영역(이하, 블록이라고도 함)으로 분할하고, 블록마다 각 화소의 화소값을 예측하면서 부호화를 행하는 화상 부호화에 있어서, 블록 내에 고정수의 피사체 또는 블록마다 가변수의 피사체가 존재한다고 가정하고, 각 블록의 화상을 「각 피사체를 대표하는 화소값(이하, 피사체 화소값이라고 함)」, 「각 화소의 피사체 식별 정보」라는 정보로 표현한다. 즉, 블록 내의 하나의 화소에 대해 어느 피사체인지를 나타내는 하나의 피사체 식별 정보가 할당되고, 하나의 피사체 식별 정보에는 하나의 피사체 화소값이 대응지어진다. 이 정보에 따라 화소마다 가장 유사한 값을 할당하기 때문에, 복잡한 엣지 형상을 보유지지한 예측 화상을 생성할 수 있다. 또, 블록 내에 포함되는 피사체의 수는 기껏해야 수개에 제한되기 때문에, 이 정보의 양은 제한된다.
여기서 말하는 피사체란, 촬영되어 있는 개개의 물체나 인물 그 자체를 의미하는 것이 아니라 정보를 부여하는 대상이고, 예를 들면 유사한 화상 신호(휘도, 색채, 뎁스 등)를 갖는 영역이다. 즉, 단일 물체이어도 장소에 따라 다른 색을 갖는 경우에는 복수의 피사체라고 간주한다. 또한, 화상 신호를 부호화할 필요가 없는 물체나 물체의 일부분은 피사체라고는 간주하지 않는다. 즉, 피사체는 프레임 내의 실제 오브젝트(피사체)와는 관계없고, 정보가 부여되지 않은 실제 오브젝트는 본 발명에서 말하는 "피사체"가 아니다. 또한, 하나의 실제 오브젝트에 대해 2가지 정보가 부여되는 경우에는 각각 다른 피사체로서 취급된다.
본 발명 및 그 실시형태의 설명에서 사용하는 용어를 설명한다.
「피사체수」: 피사체수는 블록 내에 존재하는 "피사체"의 수로서, 정보를 부여하는 대상의 개수이다. 피사체수는 블록 내의 화소값을 해석함으로써 생성할 수 있다. 예를 들면, 블록 내의 화소를 화소값이나 위치 등의 정보를 이용하여 클러스터링하고, 각 클러스터의 평가값 (예를 들면, 화소값의 분산)이 일정 값 이하가 되는 클러스터수의 최대값을 피사체수로 하는 것이 가능하다. 또한, 경험 등에 기초하여 외부로부터 주거나 미리 정해진 값을 이용하는 것도 가능하다. 피사체수는 부가 정보의 하나인 피사체 화소값의 개수를 표현하기 위해 이용된다. 또한, 피사체 맵에 등장하는 피사체 식별자의 최대값을 표현하기 위해서도 이용된다.
「피사체 화소값」: 피사체 화소값은 "피사체"에 대해 하나 정의되는 값으로, 그 "피사체"를 대표하는 화소값이다. 화소값으로서는 휘도값이나 색차값, R값 등을 이용할 수 있다. 또한, RGB값 등의 복수의 색 컴포넌트값의 집합을 이용하는 경우도 있다. 피사체 화소값은 블록 내의 화소값을 해석함으로써 생성한다. 구체적으로는 블록 내의 화소를 화소값이나 위치 등의 정보를 이용하여 "피사체수"의 클러스터에 클러스터링하고, 각 클러스터마다 포함되는 화소의 화소값에 대한 평균값이나 중앙값을 계산함으로써 얻는다. 블록 내의 각 화소에 대해 그 화소의 "피사체"에 대응하는 피사체 화소값을 할당함으로써, 그 블록의 예측 화상을 생성하기 위해 이용된다.
「피사체 맵」: 피사체 맵은 블록 내의 각 화소에 어느 "피사체"가 존재하는지를 나타낸 것이다. 구체적으로는 각 화소를 "피사체"(피사체 화소값)에 대응지어진 피사체 식별자로 표현한 것이다. 가장 단순한 표현으로는 2차원 정보로서 표현할 수 있지만, 나무 구조를 이용하여 표현할 수도 있다. 피사체 맵은 블록 내의 각 화소에 대해 그 화소값에 가장 가까운 피사체 화소값에 대응하는 피사체 식별자를 할당함으로써 생성한다. 또, 화소값과 피사체 화소값의 유사도뿐만 아니라 피사체 맵 자체의 표현에 필요한 비트수도 감안하여 생성할 수도 있다. 피사체 맵은 예측 화상을 생성할 때에 블록 내의 각 화소에 대해 어느 피사체 화소값을 할당하였는지를 나타내기 위해 이용된다.
「부가 정보」: 본 발명에서 처리 대상 프레임의 화상(영상) 신호를 예측하기 위해 이용하는 정보를 부가 정보라고 부른다. 부가 정보는 처리를 행하는 블록 단위로 생성된다. 부가 정보는 기본적으로 피사체수·피사체 화소값·피사체 맵의 3가지 정보로 구성된다.
본 발명에서는, 화상 전체를 분할하여 영역마다 화상 신호를 예측하면서 부호화하는 경우에, 물체가 화소의 크기에 대해 어느 정도의 부피를 갖고 공간적으로 연속하여 존재하는 성질을 이용함으로써, 처리 영역 주변의 이미 처리가 종료된 영역의 각 화소에서의 피사체의 종류 정보로부터 처리 영역 내의 각 화소에 찍혀 있는 피사체의 종류를 예측한다. 이에 의해, 처리 영역 내의 각 피사체를 대표하는 화소값과 처리 영역 내의 각 화소의 피사체의 종류를 식별하기 위한 정보를 이용한 임의의 피사체 형상에 대응한 고정밀도의 화상 신호 예측을 행할 때에 필요하게 되는 「처리 영역 내의 각 화소의 피사체의 종류를 식별하기 위한 정보」의 부호화에 필요한 부호량을 줄이고, 효율적인 화상 부호화를 실현하는 것이 가능하게 된다.
이하, 본 발명의 일 실시형태를 도면을 참조하여 설명한다.
실시예 1
(화상 부호화 장치)
우선, 제1 실시형태에 대해 설명한다. 도 2는 본 발명의 제1 실시형태에 따른 화상 부호화 장치의 구성예를 도시한 블록도이다. 화상 부호화 장치(100)는, 도 2에 도시된 바와 같이 부호화 대상 프레임 입력부(101), 부호화 대상 프레임 기억부(102), 피사체수 설정부(103), 피사체 화소값 설정부(104), 피사체 맵 생성부(105), 피사체 맵 기억부(106), 피사체 맵 부호화부(107), 예측 화상 생성부(108), 화상 신호 부호화부(109) 및 다중화부(110)를 구비하고 있다.
부호화 대상 프레임 입력부(101)는 부호화 대상이 되는 화상 프레임을 입력한다. 부호화 대상 프레임 기억부(102)는 입력된 부호화 대상 프레임을 축적한다. 피사체수 설정부(103)는 미리 정해진 크기의 처리 영역에 포함되는 피사체수를 설정한다. 피사체 화소값 설정부(104)는, 처리 영역에 주어진 수의 피사체가 존재한다고 가정하여 피사체마다 피사체 화소값을 설정한다.
피사체 맵 생성부(105)는 처리 영역에 대한 피사체 맵을 생성한다. 피사체 맵 기억부(106)는 사용된 피사체 맵을 축적한다. 피사체 맵 부호화부(107)는 처리 영역에 대한 피사체 맵을 부호화한다. 예측 화상 생성부(108)는, 처리 영역에 대해 생성된 피사체 화소값과 피사체 맵으로부터 처리 영역에 대한 예측 화상을 생성한다. 화상 신호 부호화부(109)는, 처리 영역마다 예측 화상을 이용하여 부호화 대상 프레임의 화상 신호를 부호화한다. 다중화부(110)는, 피사체 맵의 부호 데이터와 부호화 대상 프레임의 화상 신호의 부호 데이터를 다중화하여 출력한다.
도 3은 제1 실시형태에 따른 화상 부호화 장치(100)의 동작을 설명하기 위한 흐름도이다. 이 흐름도에 따라 화상 부호화 장치(100)가 실행하는 처리에 대해 상세하게 설명한다.
우선, 부호화 대상 프레임 입력부(101)에 의해 부호화 대상 프레임을 입력하고, 부호화 대상 프레임 기억부(102)에 저장한다(단계 S101). 부호화 대상 프레임의 저장이 종료되면, 부호화 대상 프레임을 분할하고, 분할한 영역마다 부호화 대상 프레임의 화상 신호를 부호화한다(단계 S102~S112). 즉, 부호화 대상 블록 인덱스를 blk, 총 부호화 대상 블록수를 numBlks로 나타낸다고 하면, blk를 0에서 초기화하고(단계 S102), 그 후 blk에 1을 가산하면서(단계 S111) blk가 numBlks가 될 때까지(단계 S112) 이하의 처리(단계 S103~S110)를 반복한다.
부호화 대상 블록마다 반복하는 처리에서는, 우선, 피사체수 설정부(103)에서 블록(blk)에 포함되는 피사체의 수(numObjs)를 설정한다(단계 S103). 피사체수는 복호측과 같은 처리이면, 어떠한 처리를 이용하여 결정해도 상관없다. 예를 들면, 항상 미리 정해진 수를 설정해도 상관없다.
또한, 부호화 대상 블록마다 다른 값을 피사체수로서 설정해도 상관없다. 부호화 대상 블록마다 다른 값을 설정하는 방법으로서는, 부호화 대상 블록의 화소값에 따라 피사체수를 설정하는 방법이 있다. 구체적으로 부호화 대상 블록의 화소에 대해 k-means법이나 Affinity Propagation 등의 클러스터링 수법을 이용하여 각 클러스터 내의 화소값 분산이 미리 정해진 값 이하가 되는 클러스터링 결과 중에서 최소의 클러스터수를 피사체수로 하는 방법이 있다. 클러스터링에 이용하는 척도로서는 화소값만을 이용해도 되고, 화소값과 화소 위치로 이루어지는 값을 이용해도 된다. 다른 방법으로서는, 피사체수의 후보마다 그 피사체수를 설정하여 부호화한 경우의 부호량과 왜곡량의 중량부여 합으로 주어지는 레이트 왜곡 비용을 계산하고, 그 비용이 최소가 되는 피사체수를 설정하는 방법이 있다.
다른 방법으로서, 부호화 대상 블록 주변의 이미 부호화 완료한 블록의 정보를 이용하여 피사체수를 설정하는 방법이 있다. 구체적으로 복수의 미리 정해진 주변 블록을 부호화할 때에 설정된 피사체수의 평균값이나 중앙값을 부호화 대상 블록의 피사체수로 하는 방법이나, 부호화 대상 블록 주변의 이미 부호화 완료한 화소군에 대해 전술한 클러스터링 수법을 적용하고, 각 클러스터 내의 화소값 분산이 미리 정해진 값 이하가 되는 클러스터링 결과 중에서 최소의 클러스터수를 부호화 대상 블록의 피사체수로 하는 방법이 있다.
블록마다 다른 피사체수를 설정할 때에, 피사체수가 커지면 부호화 효율이 저하되는 경우가 있다. 그 때문에, 피사체수의 최대값을 미리 정해 놓고, 피사체수가 일정 값 이상이 되는 것을 막아도 상관없다.
또, 부호화 대상 블록의 화소에 대한 화소값 등의 정보를 이용하여 블록마다 다른 피사체수를 설정하는 경우에는, 피사체수를 부호화하여 출력하는 부호 데이터에 포함시킬 필요가 있다. 피사체수를 부호화하는 경우, 설정한 피사체수를 그대로 부호화해도 되고, 부호화 대상 블록 주변의 이미 부호화 완료한 블록에 대한 화소값 등의 정보를 이용하여 예측한 피사체수와의 차분값을 부호화해도 된다.
피사체수를 부호화하는 경우, 블록마다 부호화하는 것은 아니고 프레임이나 슬라이스라고 불리는 복수 블록의 집합마다 피사체수를 설정·부호화해도 상관없다. 이와 같이 함으로써, 피사체수가 영역에 의존하여 변화하는 것과 같은 경우에 효율적으로 피사체수를 부호화하는 것이 가능하게 된다. 또, 프레임 또는 슬라이스 단위의 피사체수의 설정·부호화와 블록마다의 피사체수의 설정·부호화를 조합하는 것도 가능하다. 그 경우, 프레임 또는 슬라이스 단위로는 그 프레임 또는 슬라이스에 포함되는 복수 블록의 대부분에 적합하다고 생각되는 피사체수를 설정·부호화하고, 블록마다 그 피사체수로부터의 변화량을 설정·부호화한다. 블록마다 설정·부호화하는 변화량은 인접하는 이미 부호화 완료한 영역의 정보를 이용하여 예측하고, 변화량의 예측 차분으로서 부호화하는 것도 가능하다.
피사체수의 설정이 종료되면, 다음에 피사체 화소값 설정부(104)에서 블록(blk) 내의 피사체마다 하나의 화소값을 설정하고, 피사체 화소값(Value(i))으로 한다(단계 S104). 여기서, i는 피사체를 식별하기 위한 피사체 식별자라고 하고, O이상 numObjs미만의 정수이다. 또한, 피사체 식별자는 미리 정해진 규칙에 따라 할당한다. 여기서는 피사체 화소값이 작은 순으로 피사체 식별자의 i의 값이 할당되어 있다고 한다.
피사체마다 하나의 화소값을 설정하는 방법에는 어떠한 방법을 이용해도 상관없다. 예를 들면, 화소값의 치역을 피사체수로 균일 양자화하고, 각 범위의 중앙값을 설정해도 상관없다. 다른 방법으로서는, 블록(blk)의 화소를 전술한 바와 같은 클러스터링 수법을 이용하여 numObjs개의 클러스터로 분할하고, 각 클러스터에 포함되는 화소의 화소값의 평균값이나 중앙값을 피사체 화소값으로 하는 방법이 있다. 또, 피사체수를 설정할 때에 블록(blk)의 화소를 클러스터링하고 있는 경우에는 피사체수와 피사체 화소값을 동시에 설정해도 상관없다.
또 다른 방법으로서는, numObjs개 이하의 클러스터수에서 클러스터 내의 화소값 분산값의 최대값이 별도 정해진 문턱값보다 작아지는 최소의 클러스터수로 분할하여 클러스터마다의 평균값이나 중앙값을 피사체 화소값으로 설정하고, numObjs개에 부족한 만큼은 적당히 피사체 화소값을 설정하는 방법이 있다. 항상 피사체수가 일정한 경우, 본래는 단일 오브젝트만 존재하는 경우에도 복수의 피사체가 존재한다고 가정함으로써 과도하게 고정밀도의 예측을 제공하고, 후술하는 피사체 맵의 부호량이 증대할 가능성이 있다. 그러나, 타겟이 되는 비트 레이트에 따라 문턱값을 정하고, numObjs에 따르지 않고 피사체 식별자를 정함으로써 부호량이 너무 많아지는 것을 막는 것이 가능하게 된다.
또 다른 방법으로서, 부호화 대상 블록 주변의 이미 부호화 완료한 블록을 부호화할 때에 사용된 피사체 화소값을 이용하여 설정하는 방법이 있다. 구체적으로 주변 블록에서 같은 피사체 식별자에 대해 할당된 피사체 화소값의 평균값이나 중앙값을 부호화 대상 블록의 피사체 식별자로서 설정하는 방법이나, 주변 블록에서 사용된 피사체 화소값의 집합을 구하여 이를 numObjs개의 클러스터로 분할하고, 각 클러스터 내의 평균값이나 중앙값을 부호화 대상 블록의 피사체 식별자로서 설정하는 방법이 있다.
또 다른 방법으로서, 부호화 대상 블록 주변의 이미 부호화 완료한 화소에 대한 화소값을 이용하여 설정하는 방법이 있다. 구체적으로 부호화 대상 블록 주변의 이미 부호화 완료한 화소군을 전술한 바와 같은 클러스터링 수법을 이용하여 numObjs개의 클러스터로 분할하고, 각 클러스터에 포함되는 화소의 화소값의 평균값이나 중앙값을 피사체 화소값으로 하는 방법이 있다.
또, 부호화 대상 블록의 화소에 대한 화소값 등의 정보를 이용하여 블록마다 다른 피사체 화소값을 설정하는 경우에는, 피사체 화소값을 부호화하여 출력하는 부호 데이터에 포함시킬 필요가 있다. 피사체 화소값을 부호화하는 경우, 설정한 피사체 화소값을 그대로 부호화해도 되고, 부호화 대상 블록 주변의 이미 부호화 완료한 블록에 대한 화소값 등의 정보를 이용하여 예측한 피사체 화소값과의 차분값을 부호화해도 된다.
피사체 화소값이 얻어지면, 다음에, 피사체 맵 생성부(105)에서 블록(blk)에 대해 피사체 맵을 생성한다(단계 S105). 생성된 피사체 맵은 피사체 맵 기억부(106)에 블록 위치와 대응지어 축적됨과 동시에 피사체 맵 부호화부(107)로 보내진다. 여기서, 피사체 맵이란, 블록(blk)의 각 화소에 대해 피사체 식별자를 할당한 것이다. 예를 들면, 도 4와 같은 2차원 정보이다. 도 4에서, 0, 1, 2의 값이 각각의 화소에 대해 할당된 피사체 식별자이다.
각 화소에 대해 피사체 식별자를 할당하는 방법으로서는, 각 화소에 대해 그 화소값에 가장 가까운 피사체 화소값을 갖는 피사체 식별자를 할당하는 방법이 있다. 또한, 다른 방법으로서는, 피사체 화소값을 설정할 때에 클러스터링을 행하고 있는 경우에는 그 결과를 이용하여 클러스터마다 할당된 피사체 식별자를 그 클러스터에 속한 화소에 대해 설정하는 방법이 있다.
또 다른 방법으로서는, 복수의 피사체 맵 후보를 생성하고, 피사체 맵 후보마다 그 피사체 맵 후보를 이용하여 부호화를 행하였을 때의 부호량과 왜곡량의 중량부여 합으로 주어지는 레이트 왜곡 비용을 계산하고, 그 값이 최소가 되는 것을 피사체 맵으로서 설정하는 방법이 있다. 그 경우, 가능성이 있는 모든 피사체 맵을 피사체 맵 후보로 해도 되고, 한정한 몇 개의 특징적인 피사체 맵만을 피사체 맵 후보로 해도 된다. 특징적인 피사체 맵으로서는, 각 화소에 대해 그 화소값에 가장 가까운 피사체 화소값을 갖는 피사체 식별자를 할당하여 생성한 피사체 맵이나, 모든 화소가 같은 피사체 식별자가 되는 피사체 맵, 수평이나 수직으로 2분할된 피사체 맵 등이 있다.
다음에, 피사체 맵 기억부(106)에 축적되어 있는 부호화 대상 블록 주변의 이미 부호화 완료한 블록을 부호화할 때에 사용된 피사체 맵을 참조 피사체 맵으로서 설정한다(단계 S106). 참조 피사체 맵의 선택 방법은 복호측과 같으면 어떠한 방법을 이용해도 상관없다. 예를 들면, 미리 정해진 위치 관계에 존재하는 블록군에 대한 피사체 맵으로 해도 되고, 프레임이나 블록군 등의 단위마다 선택 방법을 나타내는 정보를 부호화하여 부호 데이터의 일부로 해도 된다. 구체예로서는, 부호화 대상 블록에 대해 상·좌·좌상에 위치하는 블록에 대한 피사체 맵의 집합을 참조 피사체 맵으로서 설정하는 방법이 있다.
다음에, 참조 피사체 맵을 이용하여 생성된 피사체 맵을 피사체 맵 부호화부(107)에서 부호화한다(단계 S107). 2차원 맵 정보를 부호화함에 있어서는, 래스터 스캔 순이나 지그재그 스캔 순으로 각 화소의 피사체 식별자를 부호화하는 방법과 4분 나무(쿼드 트리)나 2분 나무(바이너리 트리) 등의 나무 구조 데이터로 변환한 후에, 깊이 우선 탐색이나 폭 우선 탐색에 의한 주사 순으로 각 노드의 정보를 부호화하는 방법이 있다.
래스터 스캔 순이나 지그재그 스캔 순으로 각 화소의 피사체 식별자를 부호화하는 경우의 처리를 도 5의 흐름에 따라 자세하게 설명한다. 여기에서의 처리는 부호화 대상 블록 내의 화소마다 행해지기 때문에, 부호화 대상 블록 내의 화소의 인덱스를 pix, 부호화 대상 블록 내의 화소수를 numPixs로 나타낸다고 하면, pix를 O에서 초기화하고(단계 S1701), 그 후 pix에 1을 가산하면서(단계 S1705) pix가 numPixs가 될 때까지(단계 S1706) 이하의 처리(단계 S1702~S1704)를 반복한다.
화소마다 반복되는 처리에서는, 우선, 화소(pix) 주위의 화소군을 참조 화소군으로 설정한다(단계 S1702). 참조 화소군은 참조 피사체 맵 내의 화소군 또는 pix보다 작은 인덱스 값의 화소군에서 선택한다. 참조 화소군의 선택 방법으로서는 복호측과 같으면 어떠한 선택 방법을 해도 상관없다. 예를 들면, 미리 정해진 위치 관계에 존재하는 화소군으로 해도 되고, 프레임이나 블록군 등의 단위마다 선택 방법을 나타내는 정보를 부호화하여 복호측에 전달해도 된다. 여기서는, 화소(pix)의 상·좌·좌상에서 인접하는 화소군을 참조 화소군으로서 설정하였다고 한다.
다음에, 참조 화소군에 대한 피사체 식별자로부터 화소(pix)의 피사체 식별자의 예측값을 생성한다(단계 S1703). 예측값으로서는, 하나의 피사체 식별자를 생성하는 경우와 각 피사체 식별자의 발생 확률을 생성하는 경우와 그 둘 다 생성하는 경우가 있다. 어느 예측값을 생성할지는 다음 부호화 방법에 따라 정해진다.
예측값으로서 하나의 피사체 식별자를 생성하는 방법으로서는, 참조 화소군 중에서 가장 많이 나타난 피사체 식별자를 예측값으로 하는 방법이 있다. 또, 가장 많이 나타난 피사체 식별자가 복수 존재하는 경우에는 미리 정해진 규칙에 따라 하나의 피사체 식별자를 선택한다. 예를 들면, 피사체 식별자 그 자체의 크기 등에 따라 순위 부여하거나 화소(pix)에 대한 위치 관계에 따라 순위 부여하는 방법이 있다.
각 피사체 식별자의 발생 확률을 생성하는 방법에서는, 참조 화소군 중에서 출현하는 횟수가 많을수록 높은 발생 확률이 되도록 한다. 단, 한 번도 나타나지 않은 피사체 식별자의 발생 확률이 제로가 되지 않도록 할 필요가 있다. 또, 출현 횟수에 따라 어느 정도의 발생 확률 차이를 부여할지는 고정이어도 되고 가변이어도 된다. 가변으로 하는 방법으로서는, 참조 화소군에 대한 피사체 식별자의 상태마다 다른 확률 테이블을 준비하고, 부호화 개시시에 초기화를 행하며, 피사체 화소값을 하나 부호화할 때마다 부호화한 데이터에 기초하여 이용한 확률 테이블을 갱신해 가는 방법이 있다. 이 경우, 복수의 블록을 넘어 확률 테이블을 변동시키면서 국소적인 변화에도 대응시킬 수 있기 때문에, 어긋남 값이 존재하는 경우에서도 강건하게 발생 확률을 예측하는 것이 가능하게 된다. 또, 부호 데이터에 랜덤 액세스성을 갖게 하기 위해서는 확률 테이블을 적당한 간격으로 다시 초기화할 필요가 있다.
둘 다 생성하는 방법에서는, 2가지 처리를 독립적으로 행해도 되고, 발생 확률을 생성한 후에 가장 큰 발생 확률을 갖는 피사체 식별자를 찾음으로써 2가지 정보를 모두 생성해도 된다.
예측값이 생성되면, 그 예측값을 이용하여 화소(pix)에 대한 피사체 식별자의 부호화를 행한다(단계 S1704). 하나의 예측 피사체 식별자가 주어진 경우에는, 우선, 그 예측이 올바른지를 나타내는 바이너리 정보를 부호화한다. 다음에, 예측이 올바르지 않은 경우에만 화소(pix)에 대한 피사체 식별자를 부호화한다. 발생 확률이 주어진 경우에는, 그 확률에 따라 화소(pix)에 대한 피사체 식별자를 엔트로피 부호화한다. 엔트로피 부호화에는 산술 부호화나 하프만 부호화 등을 이용할 수 있다. 2가지 정보가 모두 주어진 경우에는, 우선, 그 예측이 올바른지를 나타내는 바이너리 정보를 부호화하고, 그 후에 예측이 올바르지 않은 경우에 주어진 발생 확률에 따라 화소(pix)에 대한 피사체 식별자를 엔트로피 부호화한다. 또, 발생 확률을 부호화 이력에 따라 가변으로 하는 경우, 화소(pix)의 피사체 식별자의 부호화가 종료되면, 사용한 확률 테이블을 부호화한 피사체 식별자에 따라 갱신한다.
피사체 맵을 부호화함에 있어서, 피사체 맵을 나무 구조 데이터로 변환한 후에 깊이 우선 탐색의 주사 순으로 각 노드의 정보를 부호화하는 경우의 처리를 도 6의 흐름에 따라 자세하게 설명한다. 또, 나무 구조 데이터란, 블록(blk)을 루트로서 각 노드의 자노드에는 친노드의 블록을 분할한 복수의 서브 블록을 대응시켜 대응하는 영역의 정보를 노드에 부여함으로써 2차원 정보를 표현한 것이다. 이러한 나무 구조 표현을 이용함으로써, 하나로 뭉쳐 존재하는 단일 오브젝트의 화소 집합을 효율적으로 표현하는 것이 가능하게 되고, 부호화 효율을 향상시키는 것이 가능하게 된다.
또, 나무 구조 데이터의 정의로서는 임의의 것을 이용하는 것이 가능하다. 예를 들면, 각 노드에 대해 그 노드에 대응하는 블록 내의 모든 화소의 피사체 식별자가 같은지를 나타내는 바이너리 정보를 부가하고, 자노드로서 피사체 식별자가 모두 같은 경우에는 그 피사체 식별자의 번호를 갖는 리프(종단 노드), 피사체 식별자가 모두 같지 않은 경우에는 자신의 블록을 미리 정해진 방법으로 분할하여 생성한 서브 블록에 대응하는 노드를 정의하여 나무 구조 정보를 생성할 수 있다. 또, 이 정의를 이용하는 경우, 대응하는 블록이 1화소가 되었을 때에 모든 화소의 피사체 식별자가 같은지를 나타내는 바이너리 정보의 노드를 생략할 수 있다.
도 4의 피사체 맵에 대해 이상과 같이 생성한 나무 구조 데이터(나무 구조 피사체 맵)의 예를 도 7에 도시한다. 이 예는 블록 분할시에 가로세로 각각을 등분하는 4분 나무(쿼드 트리)에 의한 표현이다.
각 노드의 정의로서 다른 것을 사용할 수도 있다. 예를 들면, 각 노드에 대해 그 노드에 대응하는 블록 내의 모든 화소의 피사체 식별자가 동일한 경우에는 그 피사체 식별자의 번호에 1을 더한 수, 그렇지 않은 경우에는 0을 정보로서 부여하고, 정보 0이 부여된 노드에 대해서만 그 블록을 분할한 서브 블록에 대한 자노드를 정의하는 방법도 있다. 도 4의 피사체 맵에 대해, 이 정의와 가로세로 각각을 등분하여 블록 분할을 이용하여 생성한 나무 구조 피사체 맵이 도 8이다.
나무 구조 데이터로의 변환을 통해 피사체 맵을 부호화하는 처리에서는, 부호화 대상 블록부터 시작하여 블록에 대한 노드 정보의 생성·부호화를 행하고, 필요에 따라 그 블록을 분할하여 생성되는 서브 블록에 동일한 처리를 재귀적으로 실시함으로써 피사체 맵을 부호화한다. 즉, 미처리 블록의 집합을 N, 처리 완료 화소의 집합을 F, 블록(blk)을 b1이라고 나타낸다고 하면, N을 {b1}에서, F를 참조 피사체 맵에 포함되는 화소의 집합에서 초기화한 후(단계 S1711), N이 공집합이 될 때까지(단계 S1721) 이하의 처리(단계 S1712~S1720)를 반복한다.
N이 공집합이 될 때까지 반복되는 처리에서는, 우선, N에서 하나의 블록을 취출한다(단계 S1712). 이 때, 어느 블록을 취출할지는 미리 정해진 규칙에 따라 결정한다. 나무의 주사순을 깊이 우선 탐색으로 하는 경우에는 LIFO(Last In First Out), 즉 스택과 같이 나중에 들어간 것을 먼저 취출한다. 주사순을 폭 우선 탐색으로 하는 경우에는 FIFO(First In First Out), 즉 큐와 같이 먼저 들어간 것을 먼저 취출한다. 이하에서는, 여기서 취출된 블록을 bs라고 나타내는 것으로 한다.
다음에, 블록(bs)에 대한 정보(I(bs))를 생성한다(단계 S1713). 여기서는 전술한 예에 따라 블록(bs) 내의 모든 화소의 피사체 식별자가 동일한 경우에는 그 피사체 식별자의 번호에 1을 더한 수, 그렇지 않은 경우에는 O을 I(bs)라고 한다.
다음에, 화소군 F에 대한 피사체 식별자의 정보를 이용하여 I(bs)의 예측값 또는 생기 (生起) 확률 분포, 또는 그 둘 모두를 생성한다(단계 S1714). I(bs)의 예측값이나 생기 확률 분포의 생성 방법에는 임의의 방법을 이용하는 것이 가능하다.
예측값을 생성하는 방법으로서는, 예를 들면 F에 포함되는 화소군 중에서 블록(bs)에 인접하는 화소군에 대한 피사체 식별자 중에서 가장 많이 나타나는 피사체 식별자와 그 발생 빈도를 구하고, 발생 빈도가 미리 정해진 문턱값 이상이면, 그 피사체 식별자에 1을 더한 값을 예측값으로 하고, 문턱값 미만이면 0을 예측값으로 하는 방법이 있다. 또한, 문턱값 미만인 경우에 0을 제1 예측값으로 하고, 그 피사체 식별자에 1을 더한 값을 제2 예측값으로 하는 방법도 있다.
생기 확률 분포를 생성하는 방법으로서, 예를 들면 F에 포함되는 화소군 중에서 블록(bs)에 인접하는 화소군에 대한 피사체 식별자를 조사하고, 각 피사체 식별자의 발생 빈도에 따라 생기 확률을 설정하는 방법이 있다. 구체적으로는 우선 0에 대한 확률을 계산한다. 0은 블록 내의 피사체 식별자가 하나가 아닌 경우이므로, 계산한 발생 빈도의 최대값이 작을수록 큰 값이 되도록 설정한다. 그 후, 나머지 확률을 발생 빈도에 따라 분배함으로써 확률 분포를 생성한다. 단, 블록 크기가 1화소인 경우를 제외하고 생기 확률은 모든 값에 있어서 제로보다 큰 값일 필요가 있다.
또, 0에 대한 확률을 결정하는 방법이나 발생 빈도에 따른 분배를 행하는 방법은 고정이어도 되고 가변이어도 된다. 가변으로 하는 방법으로서는, 발생 빈도나 대상의 값, 블록 크기 등의 상태마다 다른 확률 테이블을 준비하고, 부호화 개시시에 초기화를 행하며, 값을 하나 부호화할 때마다 부호화한 데이터에 기초하여 이용한 확률 테이블을 갱신해 가는 방법이 있다. 이 경우, 복수의 블록을 넘어 확률 테이블을 변동시키면서 국소적인 변화에도 대응시킬 수 있기 때문에, 어긋남 값이 존재하는 경우에서도 강건하게 발생 확률을 예측하는 것이 가능하게 된다. 또, 복수의 상태마다 하나의 확률 테이블을 사용하도록 해도 상관없다. 부호 데이터에 랜덤 액세스성을 갖게 하기 위해서는, 확률 테이블을 적당한 간격으로 다시 초기화할 필요가 있다.
또한, 생기 확률 분포와 예측값 모두를 생성하는 경우에는 양자를 독립적으로 생성해도 되고, 생기 확률 분포를 생성한 후에 가장 높은 생기 확률을 갖는 값을 예측값으로 해도 된다.
I(bs)의 예측값이나 생기 확률 분포의 생성이 종료되면, 이들 정보를 이용하여 I(bs)를 부호화한다(단계 S1715). 단계 S1714에서 예측값을 생성한 경우에는 예측값이 올바른지를 나타내는 바이너리 정보를 부호화하고, 그 후에 예측이 올바르지 않은 경우에만 I(bs)를 부호화한다. 예측값을 생성하지 않은 경우에는 직접 I(bs)의 값을 부호화한다. 또, I(bs)를 부호화할 때에 단계 S1714에서 생기 확률 분포를 생성한 경우에는, 그 확률에 따라 I(bs)를 엔트로피 부호화한다. 또, 생기 확률 분포의 생성을 부호화 이력에 따라 가변으로 하는 경우, I(bs)의 부호화가 종료되면 사용한 확률 테이블을 부호화한 I(bs)에 따라 갱신한다.
I(bs)의 부호화가 종료되면, 블록(bs)에 복수의 피사체가 포함되어 있는지를 체크한다(단계 S1716). 나무 구조 데이터의 정의에 따라 체크 방법은 다르지만, 여기서는 I(bs)가 0인지를 체크한다. I(bs)가 0이 아닌 경우에는 블록(bs)에 포함되는 모든 화소가 같은 피사체 식별자를 가지기 때문에, 블록(bs)에 대해서는 충분한 정보가 주어지게 되기 때문에, 블록(bs)에 포함되는 화소를 F에 추가하고(단계 S1717), bs를 N에서 삭제하여 블록(bs)에 대한 처리를 종료한다(단계 S1720).
I(bs)가 0인 경우에는 블록(bs)에 포함되는 각 화소에 대한 피사체 식별자가 아직 얻어지지 않은 상황이기 때문에, 블록(bs)을 분할하여 보다 작은 서브 블록을 생성한다. 서브 블록의 생성에서는, 우선, 블록 분할을 설정한다(단계 S1718).
블록 분할의 설정 방법은 복호측과 같은 방식이면 어떠한 방법을 이용하여 결정해도 상관없다. 예를 들면, 미리 정해진 고정의 블록 분할을 설정하는 방법이 있다. 구체적으로 항상 가로세로 각각을 균등하게 분할하여 4개의 서브 블록을 생성하는 블록 분할을 설정하는 방법이 있다.
또한, 화소군 F에 대한 피사체 식별자의 정보를 이용하여 가변의 블록 분할을 설정하는 방법도 있다. 가장 단순한 방법으로서는, F에 포함되는 화소군 중에서 블록(bs)에 인접하는 화소군에 대한 피사체 식별자를 조사하고, F에 포함되는 인접하는 화소에서 피사체 식별자가 다른 부분에 서브 블록의 경계를 설정하는 방법이 있다. 구체적으로는 도 9와 같이 F의 화소군에 대해 피사체 식별자가 할당되어 있던 경우에는, 도 9의 우측과 같이 블록 분할을 설정한다. 이 때, 서브 블록의 개수도 고정일 필요는 없다. 약간 복잡한 방법으로서는, F에 포함되는 화소군에서의 피사체 식별자의 엣지 정보를 추출하고, 그 엣지의 방향에 따른 형태로 블록 분할을 설정하는 방법이 있다. 구체적으로는 도 10에서 나타나는 바와 같은 블록 분할을 설정하는 방법이 있다.
블록 분할의 설정이 완료되면, 그 블록 분할에 따라 블록(bs)을 분할하고 복수의 서브 블록을 생성한다. 이 때, 생성된 서브 블록을 래스터 스캔순이나 지그재그 스캔순 등의 미리 정해진 순으로 스캔하여 이 순서로 N에 추가한다(단계 S1719). 또, 여기서는 스캔된 서브 블록을 bs1, bs2, …, bsk라고 나타낸다. 또, k는 생성된 서브 블록수를 나타낸다. 그 후, bs를 N에서 삭제하여 블록(bs)에 대한 처리를 종료한다(단계 S1720).
피사체 맵의 부호화가 종료되면, 피사체 맵과 피사체 화소값을 이용하여 예측 화상 생성부(108)에서 블록(blk)에 대한 예측 화상을 생성한다(단계 S108). 구체적으로는 각 화소에 대해 피사체 맵으로부터 얻어지는 피사체 식별자에 대응하는 피사체 화소값을 할당함으로써 예측 화상을 생성한다. 또, 피사체 화소값을 부호화하여 전송하는 경우에, 피사체 화소값을 양자화한 후에 부호화하고 있는 경우에는 양자화·역양자화하여 복호 측에서 얻어지는 값을 이용하여 예측 화상을 생성할 필요가 있다.
또, 상기와 같이 만들어진 예측 화상에 대해 디서를 더 가해도 상관없다. 피사체 맵과 피사체 화소값을 이용한 예측 화상에서는, 피사체수와 같은 수의 화소값만 존재하기 때문에 자연 화상과는 다른 성질을 갖는 화상이 된다. 그 때문에, 디서를 가함으로써 보다 자연 화상에 가까운 변화를 부여할 수 있다. 디서 생성에는 임의의 방법을 이용하는 것이 가능하지만, 복호 측에서 같은 것을 발생할 수 있도록 할 필요가 있다. 초기화 등을 위해 파라미터가 필요한 경우에는, 그 파라미터를 부호화할 필요가 있다.
예측 화상이 얻어지면, 화상 신호 부호화부(109)에서 블록(blk)에 대한 화상 신호를 예측 부호화한다(단계 S109). 부호화에는 어떠한 방법을 이용해도 상관없다. MPEG-2나 H.264/AVC 등의 일반적인 부호화에서는, 블록(blk)의 화상 신호와 예측 화상과의 차분 신호에 대해 DCT 등의 주파수 변환, 양자화, 2치화, 엔트로피 부호화를 순서대로 실시함으로써 부호화를 행한다.
마지막으로, 다중화부(110)에서 피사체 맵의 부호 데이터와 화상 신호의 부호 데이터를 다중화하여 출력한다(단계 S110). 피사체수나 피사체 화소값을 부호화하고 있을 때에는, 피사체수나 피사체 화소값에 대한 부호 데이터도 다중화한다. 또, 여기서는 블록마다 다중화하고 있는데, 프레임 단위로 다중화해도 상관없다. 단, 그 경우에는 복호시에 1프레임분의 부호 데이터를 버퍼링하고 나서 복호할 필요가 있다.
또, 특수한 상황으로서 피사체수가 1인 경우, 피사체 맵은 1가지만 존재하기 때문에, 피사체 맵 설정 단계는 그 유일한 피사체 맵 후보를 설정하는 것만으로 되고, 피사체 맵을 부호화·다중화할 필요는 없다.
피사체는 공간적으로 크기를 갖고 있기 때문에, 그 존재와 종류를 나타내는 피사체 맵에는 공간적 상관이 있다. 본 실시예에서는, 각 블록을 부호화할 때에 사용한 피사체 맵을 축적해 둠으로써, 어떤 블록의 피사체 맵을 부호화할 때에 주변 영역의 피사체 맵으로부터 예측을 행함으로써 공간적 상관을 이용하여 필요하게 되는 부호량을 삭감하는 것이 가능하게 된다.
블록마다 다른 피사체수나 피사체 화소값을 설정하는 경우, 축적한 피사체 맵이나 부호화할 피사체 맵에 있어서 같은 피사체가 다른 피사체 식별자를 이용하여 나타나 있는 경우가 있다. 이 경우, 축적되어 있는 피사체 맵을 그대로 이용한 것으로는 부호화 대상 블록의 피사체 맵을 올바르게 예측할 수 없고, 공간적 상관을 이용한 부호량 삭감을 실현할 수 없다.
이러한 경우, 피사체 맵에 덧붙여 피사체 화소값도 축적해 두고, 단계 S106에서 참조 피사체 맵을 설정할 때에, 각 피사체 맵에 대응하는 블록을 부호화할 때에 사용한 피사체 화소값과 부호화 대상 블록에 대한 피사체 화소값을 비교하여, 축적되어 있는 피사체 맵의 피사체 식별자를 부호화 대상 블록에 대해 설정한 피사체 식별자로 변환하고, 변환된 피사체 맵을 참조 피사체 맵으로서 설정한다. 이에 의해, 동일한 피사체에 대해서는 같은 피사체 식별자로 나타난 참조 피사체 맵을 사용하는 것이 가능하게 되고, 공간적 상관을 이용하여 피사체 맵의 부호량을 삭감할 수 있다. 이 때의 화상 부호화 장치는 도 11에서 나타난다.
도 11에 도시된 화상 부호화 장치(100-1)에 있어서, 도 2의 화상 부호화 장치(100)와 같은 부호인 것은 도 2에서 설명한 것과 동등한 기능을 가진다. 피사체 화소값 기억부(120)는, 피사체 화소값 설정부(104)가 설정한 피사체 화소값을 기억한다. 피사체 맵 변환부(121)는, 참조 피사체 맵을 설정할 때에 각 피사체 맵에 대응하는 블록을 부호화할 때에 사용한 피사체 화소값과 부호화 대상 블록에 대한 피사체 화소값을 비교하여, 축적되어 있는 피사체 맵의 피사체 식별자를 부호화 대상 블록에 대해 설정한 피사체 식별자로 치환하는 치환 행렬을 생성하고, 참조 영역을 부호화할 때에 사용한 피사체 맵을 치환 행렬에 따라 변환함으로써 참조 피사체 맵을 생성한다.
또, 피사체 식별자를 변환하는 방법은 복호측과 같으면 임의의 수법을 이용하는 것이 가능하다. 예를 들면, 가장 단순한 방법으로서는, 주변 블록에서의 각 피사체 화소값에 대해 그 값에 가장 가까운 부호화 대상 블록의 피사체 화소값을 동정하고, 그 주변 블록의 피사체 화소값에 대한 피사체 식별자를 동정된 피사체 화소값에 대한 피사체 식별자로 치환하는 방법이 있다. 이 때의 단계 S106에서의 상세한 처리 흐름은 도 12a에서 나타난다.
우선, 가참조 피사체 맵을 설정한다(단계 S161). 다음에, 가참조 피사체 맵 내의 피사체 식별자로 나타나 있는 피사체와 피사체 맵에서 사용되고 있는 피사체 식별자의 대응 관계를 같게 정한다(단계 S162). 그 후, 대응 관계에 따라 가참조 피사체 맵을 변환하여 참조 피사체 맵을 생성한다(단계 S163).
다른 방법으로서는, 주변 블록에서의 피사체 맵과 피사체 화소값으로부터 주변 블록의 예측 화상을 생성하고, 그 예측 화상의 각 화소에 대해 그 화소값에 가장 가까운 피사체 화소값을 갖는 피사체 식별자를 할당함으로써 생성하는 방법이 있다. 이 때의 단계 S106에서의 상세한 처리 흐름은 도 12b에서 나타난다.
우선, 가참조 피사체 맵을 설정한다(단계 S161'). 가참조 피사체 맵에 대한 예측 화상을 복원한다(단계 S162'). 상기 예측 화상과 블록(blk)의 피사체 화소값으로부터 참조 피사체 맵을 생성한다(단계 S163'). 또, 이 경우, 피사체 맵이나 피사체 화소값 대신에 예측 화상을 축적해 둠으로써 예측 화상을 생성하는 처리를 생략하는 것이 가능하다.
또한, 주변 블록에는 존재하였지만 부호화 대상 블록에는 존재하지 않는 피사체도 존재한다. 그 때문에, 대응하는 피사체 화소값을 동정할 때에 그 차이가 일정 이내에 들어가는 것만을 대상으로 하고, 대응하는 피사체 화소값이 구해지지 않는 경우에는 부호화 대상 블록에서 사용되지 않는 피사체 식별자로 치환해도 상관없다. 이에 따라, 블록마다 다른 피사체가 존재해도 잘못된 예측에 의해 부호화 효율이 저하되어 버리는 것을 막을 수 있다.
H.264/AVC와 같이 다수 존재하는 예측 모드 중에서 블록마다 최적의 예측 모드를 선택하여 예측 부호화를 행하는 경우, 부호화 대상 블록의 주변 블록에서 피사체 맵을 이용하지 않는 예측 모드가 사용되고 있을 가능성이 있다. 이러한 경우, 피사체 맵 기억부(106) 등에는 주변 블록에 대한 정보가 축적되지 않았기 때문에, 공간적 상관을 이용한 부호량 삭감을 실현할 수 없다.
이러한 경우, 피사체 맵을 축적하는 대신에 부호화 결과를 복호하여 얻어지는 복호 화상을 축적해 두고, 주변 블록의 복호 화상의 각 화소에 대해 그 화소값에 가장 가까운 피사체 화소값을 갖는 피사체 식별자를 할당함으로써 참조 피사체 맵을 생성하는 방법이 있다. 이에 따라, 주변 블록의 예측 모드에 따르지 않고 참조 피사체 맵을 설정하는 것이 가능하게 되고, 공간적 상관을 이용하여 피사체 맵의 부호량을 삭감할 수 있다. 이 때의 화상 부호화 장치는 도 13에서 나타난다.
도 13에 도시된 화상 부호화 장치(100-2)가 도 2에 도시된 화상 부호화 장치(100)와 다른 점은, 피사체 맵 기억부(106) 대신에 화상 신호 복호부(131)와 복호 화상 메모리(132)와 참조 피사체 맵 생성부(133)가 이용되는 것이다. 화상 신호 복호부(131)는, 화상 신호 부호화부(109)가 부호화한 부호화 결과를 복호하고, 복호 화상을 복호 화상 메모리(132)에 축적한다. 참조 피사체 맵 생성부(133)는, 주변 블록의 복호 화상의 각 화소에 대해 그 화소값에 가장 가까운 피사체 화소값을 갖는 피사체 식별자를 할당함으로써 참조 피사체 맵을 생성한다.
화상 부호화 장치(100-2)의 처리 흐름을 도 14에 도시한다. 도 3에 도시된 처리 흐름과의 차이 부분만을 설명한다. 단계 S105에서 피사체 맵을 생성한 후, 단계 S113에서 주변 블록의 복호 화상을 참조하여 피사체 맵의 부호화에 이용하는 참조 피사체 맵을 생성한다. 또한, 단계 S109에서 화상 신호를 부호화한 후, 단계 S114에서 화상 신호 복호부(131)가 부호화 결과를 복호하여 복호 화상 메모리(132)에 축적한다.
실시예 2
(화상 복호 장치)
다음에, 본 발명의 제2 실시형태에 대해 설명한다. 도 15는 제2 실시형태에 따른 화상 복호 장치의 구성예를 도시한 블록도이다. 화상 복호 장치(200)는, 도 15에 도시된 바와 같이 부호 데이터 입력부(201), 부호 데이터 기억부(202), 분리부(203), 피사체수 설정부(204), 피사체 화소값 설정부(205), 피사체 맵 복호부(206), 피사체 맵 기억부(207), 예측 화상 생성부(208) 및 화상 신호 복호부(209)를 구비하고 있다.
부호 데이터 입력부(201)는 복호 대상이 되는 화상 프레임의 부호 데이터를 입력한다. 부호 데이터 기억부(202)는 입력된 부호 데이터를 축적한다. 분리부(203)는, 다중화된 부호 데이터를 복수의 다른 정보가 부호화되어 있는 부호 데이터로 분리한다. 피사체수 설정부(204)는 미리 정해진 크기의 처리 영역에 포함되는 피사체수를 설정한다. 피사체 화소값 설정부(205)는 피사체마다 피사체 화소값을 설정한다. 피사체 맵 복호부(206)는 부호 데이터로부터 피사체 맵을 복호한다. 피사체 맵 기억부(207)는 복호된 피사체 맵을 축적한다. 예측 화상 생성부(208)는, 처리 영역에 대해 얻어진 피사체 화소값과 피사체 맵으로부터 처리 영역에 대한 예측 화상을 생성한다. 화상 신호 복호부(209)는, 처리 영역마다 예측 화상을 이용하여 부호 데이터로부터 복호 대상 프레임의 화상 신호를 복호한다.
도 16은 제2 실시형태에 따른 화상 복호 장치(200)의 동작을 설명하기 위한 흐름도이다. 이 흐름도에 따라, 화상 복호 장치(200)가 실행하는 처리에 대해 상세하게 설명한다.
우선, 부호 데이터 입력부(201)에 의해 복호 대상 프레임에 대한 부호 데이터를 입력하고, 부호 데이터 기억부(202)에 저장한다(단계 S201). 부호 데이터의 저장이 종료되면, 복호 대상 프레임을 분할하고, 그 영역마다 복호 대상 프레임의 화상 신호를 복호한다(단계 S202~S211). 즉, 복호 대상 블록 인덱스를 blk, 총 복호 대상 블록수를 numBlks로 나타낸다고 하면, blk를 O에서 초기화하고(단계 S202), 그 후 blk에 1을 가산하면서(단계 S210) blk가 numBlks가 될 때까지(단계 S211) 이하의 처리(단계 S203~S209)를 반복한다.
복호 대상 블록마다 반복되는 처리에서는, 우선, 분리부(203)에서 입력된 부호 데이터를 복수 정보의 부호 데이터로 분리한다(단계 S203). 본 실시형태에서는 복수 정보의 부호 데이터가 블록 단위로 인터리브되어 있는 예로 설명하고 있지만, 프레임 등 다른 단위로 인터리브되어 있는 경우에는 이 부호 데이터의 분리를 블록 단위로 반복할 필요는 없다.
부호 데이터의 분리가 종료되면, 다음에, 피사체수 설정부(204)에서 블록(blk)에 포함되는 피사체의 수(numObjs)를 설정한다(단계 S204). 피사체수는 부호화측과 같은 처리를 이용하여 행한다. 예를 들면, 부호화 측에서 항상 미리 정해진 수를 설정하고 있는 경우에는 여기서도 같은 수를 설정한다.
다른 예로서는, 블록마다 다른 피사체수를 설정하기 위해 피사체수가 부호화되어 부호 데이터에 포함되어 있는 경우에는, 피사체수 설정부(204)는 피사체수의 부호 데이터를 수취하고, 복호한 결과의 값을 피사체수로서 설정한다.
도 17은 피사체수가 부호화되어 있는 경우의 화상 복호 장치의 블록도이다. 피사체수가 부호화되어 있는 경우에는, 도 17에 도시된 바와 같이 피사체수 설정부(204')는 분리부(203)에서 분리된 피사체수의 부호 데이터를 수취하고, 이를 복호하여 피사체수를 취득한다. 또, 피사체수가 블록(blk) 주변의 처리 완료 블록에 대한 화소값이나 피사체수 등의 정보를 이용하여 생성된 예측값과의 차분값으로서 부호화되어 있는 경우에는, 부호화측과 같은 방법으로 예측을 생성하고, 그 값에 부호 데이터를 복호하여 얻어진 값을 더하여 피사체수를 취득한다.
또, 예측값의 생성 방법으로서는, 블록(blk) 주변의 블록을 부호화할 때에 사용된 피사체수의 평균값 또는 중앙값을 이용하는 방법이나, 블록(blk) 주변의 복호 완료 화소군의 화소값을 해석하여 이들 화소군에 존재하는 피사체수를 예측값으로서 이용하는 방법이 있다. 다른 블록 복호시의 예측값 생성을 위해, 전자의 방법에서는 사용한 피사체수를, 후자의 방법에서는 복호 화상의 화소값을 축적할 필요가 있다.
또한, 블록마다가 아니라 프레임이나 슬라이스라고 불리는 복수의 블록의 집합마다 피사체수가 부호화되어 있는 경우도 있다. 이러한 경우에는, 프레임이나 슬라이스 단위로 한 번만 피사체수 부호 데이터를 복호하고, 그 결과를 일시적으로 축적함으로써, 다음 갱신 타이밍까지 반복하여 같은 값을 설정한다.
또, 프레임 또는 슬라이스 단위로 글로벌한 피사체수가 부호화되고, 블록마다 여기로부터의 변화량이 부호화되어 있는 경우도 있다. 이러한 경우에는, 프레임이나 슬라이스 단위로 한 번만 글로벌 피사체수 부호 데이터를 복호하고, 그 결과를 일시적으로 축적하며, 그 값에 블록마다 복호되는 변화량의 값을 더하여 그 블록에서 이용하는 피사체수를 얻는다. 또, 그 변화량이 인접하는 블록으로부터 예측되어 있는 경우에는, 블록마다 피사체 변화량 예측 차분을 복호하고, 그 값에 글로벌 피사체수와 인접 블록으로부터의 변화량의 예측값을 더함으로써 그 블록에서 이용하는 피사체수를 얻는다.
피사체수의 설정이 종료되면, 다음에, 피사체 화소값 설정부(205)에서 블록(blk) 내의 피사체마다 하나의 피사체 화소값(Value(i))을 설정한다(단계 S205). 여기서, i는 피사체를 식별하기 위한 피사체 식별자로 하고, O이상 numObjs미만의 정수이다. 또한, 피사체 식별자는 미리 정해진 규칙에 따라 할당한다. 여기서는, 피사체 화소값이 작은 순으로 할당되어 있다고 한다. 피사체 화소값은 부호화측과 같은 처리를 이용하여 행한다. 예를 들면, 부호화 측에서 화소값의 치역을 피사체수로 균일 양자화하고 각 범위의 중앙값을 설정하고 있는 경우에는 여기서도 같은 수를 설정한다.
다른 방법으로서, 복호 대상 블록 주변의 이미 복호 완료한 블록을 복호할 때에 사용한 피사체 화소값을 이용하여 설정하는 방법이 있다. 구체적으로 주변 블록에서 같은 피사체 식별자에 대해 할당된 피사체 화소값의 평균값이나 중앙값을 복호 대상 블록의 피사체 화소값으로서 설정하는 방법이나, 주변 블록에서 사용된 피사체 화소값의 집합을 구하여 이를 numObjs개의 클러스터로 분할하고, 각 클러스터 내의 평균값이나 중앙값을 복호 대상 블록의 피사체 화소값으로서 설정하는 방법이 있다. 이 경우, 다른 블록을 복호할 때를 위해 사용한 피사체 화소값을 축적해 갈 필요가 있다.
또 다른 방법으로서, 복호 대상 블록 주변의 이미 복호 완료한 화소에 대한 화소값을 이용하여 설정하는 방법이 있다. 구체적으로 복호 대상 블록 주변의 이미 복호 완료한 화소군을 전술한 바와 같은 클러스터링 수법을 이용하여 numObjs개의 클러스터로 분할하고, 각 클러스터에 포함되는 화소의 화소값의 평균값이나 중앙값을 피사체 화소값으로 하는 방법이 있다. 이 경우, 다른 블록을 복호할 때를 위해 복호된 화상의 화소값을 축적해 갈 필요가 있다.
또 다른 예로서는, 블록마다 다른 피사체 화소값을 설정하기 위해 피사체 화소값이 부호화되어 부호 데이터에 포함되어 있는 경우가 있다. 그 경우에는, 피사체 화소값 설정부(205)는 피사체 화소값의 부호 데이터를 수취하고, 복호한 결과의 값을 피사체 화소값으로서 설정한다.
도 18은 피사체 화소값이 부호화되어 있는 경우의 화상 복호 장치의 블록도이다. 피사체 화소값이 부호화되어 있는 경우에는, 도 18에 도시된 바와 같이 피사체 화소값 설정부(205')는 분리부(203)에서 분리된 피사체 화소값의 부호 데이터를 수취하고, 이를 복호하여 피사체 화소값을 취득한다. 또, 피사체 화소값이 블록(blk) 주변의 처리 완료한 블록에 대한 화소값이나 피사체 화소값 등의 정보를 이용하여 생성된 예측값과의 차분값으로서 부호화되어 있는 경우에는, 부호화측과 동일한 방법으로 예측값을 생성하고, 그 값에 부호 데이터를 복호하여 얻어진 값을 더하여 피사체 화소값을 취득한다. 또, 예측값의 생성 방법으로서는, 블록(blk) 주변의 블록을 복호할 때에 사용된 피사체 화소값의 평균값 또는 중앙값 등을 이용하는 방법이나, 블록(blk) 주변의 복호 완료 화소군의 화소값을 해석하여 이들 화소군에 대한 피사체 화소값을 예측값으로서 이용하는 방법이 있다. 다른 블록 복호시의 예측값 생성을 위해 전자의 방법에서는 사용한 피사체 화소값을, 후자의 방법에서는 복호 화상의 화소값을 축적할 필요가 있다.
피사체 화소값의 설정이 종료되면, 다음에, 피사체 맵 기억부(207)에 축적되어 있는 복호 대상 블록 주변의 이미 복호 완료한 블록을 복호할 때에 사용한 피사체 맵을 참조 피사체 맵으로서 설정한다(단계 S206). 참조 피사체 맵의 선택 방법은 부호화측과 같은 처리를 이용한다. 예를 들면, 미리 정해진 위치 관계에 존재하는 블록군에 대한 피사체 맵으로서 설정한다. 구체예로서는, 복호 대상 블록에 대해 상·좌·좌상에 위치하는 블록에 대한 피사체 맵의 집합을 참조 피사체 맵으로서 설정하는 방법이 있다. 또, 프레임이나 블록군 등의 단위마다 참조 피사체 맵의 선택 방법을 나타내는 정보가 부호화되어 있는 경우에는, 그 데이터를 복호하여 얻어지는 정보에 따라 설정한다.
다음에, 설정한 피사체 참조 맵을 이용하여 피사체 맵 복호부(206)에서 분리된 부호 데이터로부터 피사체 맵을 복호한다(단계 S207). 2차원 정보의 피사체 맵은 래스터 스캔이나 지그재그 스캔 등의 화소 스캔 순으로 각 화소의 피사체 식별자가 부호화되어 있는 경우와, 4분 나무(쿼드 트리)나 2분 나무(바이너리 트리) 등의 나무 구조 데이터로 변환한 후에 깊이 우선 탐색이나 폭 우선 탐색에 의한 주사 순으로 각 노드의 정보가 부호화되어 있는 경우가 있다. 그 때문에, 피사체 맵의 복호 처리는 부호화시에 이용된 방법에 따라 다르다.
래스터 스캔이나 지그재그 스캔 등의 화소 스캔 순으로 각 화소의 피사체 식별자가 부호화되어 있는 경우의 복호 처리를 도 19의 흐름에 따라 자세하게 설명한다. 여기서의 처리는 복호 대상 블록 내의 화소마다 행해지기 때문에, 복호 대상 블록 내의 화소의 인덱스를 pix, 복호 대상 블록 내의 화소수를 numPixs로 나타낸다고 하면, pix를 O에서 초기화하고(단계 S2701), 그 후 pix에 1을 가산하면서(단계 S2705) pix가 numPixs가 될 때까지(단계 S2706) 이하의 처리(단계 S2702~S2704)를 반복한다.
화소마다 반복되는 처리에서는, 우선, 화소(pix) 주위의 화소군을 참조 화소군으로 설정하고(단계 S2702), 참조 화소군에 대한 피사체 식별자로부터 화소(pix)의 피사체 식별자의 예측값을 생성한다(단계 S2703). 예측값으로서는, 하나의 피사체 식별자를 생성하는 경우와 각 피사체 식별자의 발생 확률을 생성하는 경우와 그 둘 다 생성하는 경우가 있는데, 부호화측과 같은 것을 생성한다. 여기서의 처리는 도 5의 흐름의 단계 S1702 및 단계 S1703에서 부호화시에 행해지는 것과 같다.
예측값이 생성되면, 그 예측값을 이용하여 화소(pix)에 대한 피사체 식별자를 부호 데이터로부터 복호한다(단계 S2704). 하나의 예측 피사체 식별자가 주어진 경우에는, 우선, 그 예측이 올바른지를 나타내는 바이너리 정보를 부호 데이터로부터 복호한다. 그 결과, 예측이 올바른 것이 판명된 경우에는 예측값을 화소(pix)에 대한 피사체 식별자로 하고, 예측이 올바르지 않은 것이 판명된 경우에는 화소(pix)에 대한 피사체 식별자를 부호 데이터로부터 복호한다. 발생 확률이 주어진 경우에는, 그 확률에 따라 화소(pix)에 대한 피사체 식별자를 부호 데이터로부터 복호한다. 2가지 정보가 모두 주어진 경우에는, 우선, 그 예측이 올바른지를 나타내는 바이너리 정보를 부호 데이터로부터 복호하고, 그 후에 예측이 올바른 것이 판명된 경우에는 예측값을 화소(pix)에 대한 피사체 식별자로 하고, 예측이 올바르지 않은 것이 판명된 경우에는 주어진 발생 확률에 따라 화소(pix)에 대한 피사체 식별자를 부호 데이터로부터 복호한다. 구체적인 복호 처리는 부호화 처리에 대한 방법을 이용한다. 또, 발생 확률을 부호화 이력에 따라 가변으로 하면서 산술 부호화되어 있는 경우, 화소(pix)의 피사체 식별자의 복호가 종료되면, 사용한 확률 테이블을 복호한 피사체 식별자에 따라 갱신한다. 갱신 방법은 부호화시와 같은 방법을 이용함으로써 올바르게 복호를 행할 수 있다.
피사체 맵이 나무 구조 데이터로 변환된 후에 깊이 우선 탐색의 주사 순으로 각 노드의 정보가 부호화되어 있는 경우의 처리를 도 20의 흐름에 따라 자세하게 설명한다. 또, 나무 구조 데이터란, 블록(blk)을 루트로서 각 노드의 자노드에는 친노드의 블록을 분할한 복수의 서브 블록을 대응시켜 대응하는 영역의 정보를 노드에 부여함으로써 2차원 정보를 표현한 것이다. 나무 구조의 정의에는 임의의 것을 이용하는 것이 가능하지만, 부호화 측에서 이용한 정의와 같은 것을 이용할 필요가 있다.
나무 구조 데이터로의 변환을 통해 부호화된 부호 데이터를 복호하는 처리에서는, 복호 대상 블록에서 시작하여 블록에 대한 노드 정보를 복호하고, 그 복호된 노드 정보에 따라 그 블록을 분할하여 서브 블록을 생성하며, 서브 블록에 대해 동일한 처리를 재귀적으로 실시함으로써 피사체 맵을 복호한다. 즉, 미처리 블록의 집합을 N, 처리 완료 화소의 집합을 F, 블록(blk)을 b1이라고 나타낸다고 하면, N을 {b1}에서, F를 참조 피사체 맵에 포함되는 화소의 집합에서 초기화한 후(단계 S2711), N이 공집합이 될 때까지(단계 S2721) 이하의 처리(단계 S2712~S2720)를 반복한다.
N이 공집합이 될 때까지 반복되는 처리에서는, 우선, N에서 하나의 블록을 취출한다(단계 S2712). 이 때, 어느 블록을 취출할지는 미리 정해진 규칙에 따라 결정한다. 나무의 주사순을 깊이 우선 탐색으로 하는 경우에는 LIFO(Last In First Out), 즉 스택과 같이 나중에 들어간 것을 먼저 취출한다. 주사순을 폭 우선 탐색으로 하는 경우에는 FIFO(First In First Out), 즉 큐와 같이 먼저 들어간 것을 먼저 취출한다. 이하에서는, 여기서 취출된 블록을 bs라고 나타내는 것으로 한다. 또, 취출하는 순서는 부호화시와 같은 순서가 아니면 안 된다.
다음에, 화소군 F에 대한 피사체 식별자의 정보를 이용하여 블록(bs)에 대한 정보(I(bs))의 예측값 또는 생기 확률 분포, 또는 그 둘 다 생성한다(단계 S2713). 본 실시예에서는, 블록(bs) 내의 모든 화소의 피사체 식별자가 동일한 경우에는 그 피사체 식별자의 번호에 1을 더한 수, 그렇지 않은 경우에는 0을 I(bs)라고 한다. 여기서의 처리는 도 6의 흐름의 단계 S1714에서 부호화시에 행해지는 것과 같다.
I(bs)의 예측값이나 생기 확률 분포의 생성이 종료되면, 이들 정보를 이용하여 I(bs)를 부호 데이터로부터 복호한다(단계 S2714). 단계 S2713에서 예측값을 생성한 경우에는, 우선, 예측값이 올바른지를 나타내는 바이너리 정보를 복호한다. 얻어진 바이너리 정보에 따라 예측이 올바른 것이 판명된 경우에는, 예측값을 I(bs)라고 한다. 얻어진 바이너리 정보에 따라 예측이 잘못된 것이 판명된 경우에는, I(bs)를 부호 데이터로부터 복호한다. 또, 단계 S2713에서 생기 확률 분포를 생성한 경우에는, I(bs)를 복호할 때에 그 확률에 따라 I(bs)를 엔트로피 복호한다. 구체적인 복호 처리는 부호화 처리에 대응한 방법을 이용한다. 또, 생기 확률 분포의 생성을 이력에 따라 가변으로 한 부호화가 행해지고 있는 경우에는, I(bs)의 복호가 종료되면, 사용한 확률 테이블을 얻어진 I(bs)에 따라 갱신한다. 갱신 방법은 부호화시와 같은 방법을 이용함으로써 올바르게 복호를 행할 수 있다.
다음에, 복호하여 얻어진 I(bs)를 체크하고, 블록(bs)에 복수의 피사체가 포함되어 있는지를 체크한다(단계 S2715). 나무 구조 데이터의 정의에 따라 체크 방법은 다르지만, 여기서는 I(bs)가 0인지를 체크한다. I(bs)가 0이 아닌 경우에는, 피사체 맵 상의 블록(bs)에 포함되는 모든 화소에 피사체 식별자(I(bs)-1)를 할당하고(단계 S2716), 블록(bs)에 포함되는 화소를 F에 추가하며(단계 S2717), bs를 N에서 삭제하여 블록(bs)에 대한 처리를 종료한다(단계 S2720).
I(bs)가 0인 경우에는, 우선, 블록(bs)의 분할 방법을 설정한다(단계 S2718). 분할 방법의 설정은 어떻게 행해도 상관없지만, 부호화시에 행해지는 것과 같을 필요가 있다. 또, 여기서의 처리는 도 6의 흐름의 단계 S1718과 같다. 블록 분할의 설정이 완료되면, 그 블록 분할에 따라 블록(bs)을 분할하고 복수의 서브 블록을 생성한다. 이 때, 생성된 서브 블록을 래스터 스캔순이나 지그재그 스캔순 등의 미리 정해진 순으로 스캔하여 이 순서로 N에 추가한다. 이 처리는 도 6의 흐름의 단계 S1719와 같다. 그 후, bs를 N에서 삭제하여 블록(bs)에 대한 처리를 종료한다(단계 S2720).
또, 여기서 나타낸 나무 구조의 정의 등은 일례이고, 부호화측과 정의를 공유하는 것이 가능하면 어떠한 방법을 이용해도 상관없다.
피사체 맵의 복호가 종료되면, 다음에, 예측 화상 생성부(208)에서 블록(blk)에 대한 예측 화상을 생성한다(단계 S208). 구체적으로 각 화소에 대해 피사체 맵으로부터 얻어지는 피사체 식별자에 대응하는 피사체 화소값을 할당함으로써 예측 화상을 생성한다.
또, 상기와 같이 만들어진 예측 화상에 대해 디서를 더 가해도 상관없다. 피사체 맵과 피사체 화소값을 이용한 예측 화상에서는, 피사체수와 같은 수의 화소값만 존재하기 때문에 자연 화상과는 다른 성질을 갖는 화상이 된다. 그 때문에, 디서를 가함으로써 보다 자연 화상에 가까운 변화를 부여할 수 있다. 디서 생성에는 임의의 방법을 이용하는 것이 가능하지만, 부호화측과 같은 수법을 이용할 필요가 있다. 또, 부호 데이터에 디서 생성 장치의 초기화 등에 필요한 파라미터가 포함되어 있는 경우에는 이를 복호하여 이용한다.
예측 화상이 얻어지면, 화상 신호 복호부(209)에서 블록(blk)에 대한 화상 신호를 복호한다(단계 S209). 화상 신호의 복호는 부호화시에 이용된 방법에 따라 다르다. 예를 들면, MPEG-2나 H.264/AVC 등의 일반적인 부호화가 이용되고 있는 경우에는, 부호 데이터에 대해 엔트로피 복호, 역2치화, 역양자화, IDCT 등의 주파수 역변환을 행함으로써 예측 잔차를 복호하고, 그 결과에 예측 화상을 가함으로써 블록(blk)의 화상 신호를 복원한다.
특수한 상황으로서 피사체수가 1인 경우, 피사체 맵은 1가지만 존재하기 때문에, 그 블록에 대한 피사체 맵을 부호화하지 않음으로써 부호량을 삭감하는 경우가 있다. 이러한 경우에는, 피사체 맵 부호 데이터를 복호하지 않고 그 유일한 피사체 맵 후보를 그 블록에 대한 피사체 맵으로 설정하는 것만으로 된다. 또, 피사체수가 1인 경우에 피사체 맵을 복호할지는 부호화시의 처리와 동일하게 할 필요가 있다.
블록마다 다른 피사체수나 피사체 화소값을 이용하여 부호화되어 있는 경우, 축적한 피사체 맵과 복호할 피사체 맵에서 같은 피사체가 다른 피사체 식별자를 이용하여 나타나 있거나 다른 피사체가 같은 피사체 식별자를 이용하여 나타나 있는 경우가 있다. 이 경우, 축적한 피사체 맵을 그대로 이용한 것으로는 복호 대상 블록의 피사체 맵을 올바르게 예측할 수 없다.
이러한 경우, 피사체 맵에 덧붙여 피사체 화소값도 축적해 두고, 단계 S206에서 참조 피사체 맵을 설정할 때에, 각 피사체 맵에 대응하는 블록을 복호할 때에 사용한 피사체 화소값과 복호 대상 블록에 대한 피사체 화소값을 비교하여, 축적되어 있는 피사체 맵의 피사체 식별자를 복호 대상 블록에 대해 설정한 피사체 식별자로 변환하고, 변환된 피사체 맵을 참조 피사체 맵으로서 설정한다. 이에 따라, 동일한 피사체에 대해서는 같은 피사체 식별자로 나타난 참조 피사체 맵을 사용하는 것이 가능하게 되고, 공간적 상관을 이용하여 올바른 예측을 행하는 것이 가능하게 된다. 이 때의 화상 복호 장치는 도 21에서 나타난다.
도 21에 도시된 화상 복호 장치(200-3)에서는, 피사체 화소값 기억부(220)에 각 피사체 맵에 대응하는 블록을 복호할 때에 사용한 피사체 화소값을 축적해 두고, 피사체 맵 변환부(221)는 피사체 화소값 기억부(220)에 축적하고 있는 피사체 화소값과 복호 대상 블록에 대한 피사체 화소값을 비교하여, 축적되어 있는 피사체 맵의 피사체 식별자를 복호 대상 블록에 대해 설정한 피사체 식별자로 변환한다. 즉, 피사체 맵 변환부(221)는 참조 피사체 맵을 설정할 때에 참조 영역을 복호할 때에 사용한 피사체 화소값과 처리 영역에 대해 설정한 피사체 화소값을 비교하여, 축적되어 있는 피사체 맵의 피사체 식별자를 복호 대상 블록에 대해 설정한 피사체 식별자로 치환하는 치환 행렬을 생성하고, 참조 영역을 부호화할 때에 사용한 피사체 맵을 치환 행렬에 따라 변환함으로써 참조 피사체 맵을 생성한다. 다른 구성은 전술한 예와 같다.
또, 피사체 식별자를 변환하는 방법은 부호화측과 같으면 임의의 수법을 이용하는 것이 가능하다. 도 12a 및 도 12b에 구체적인 변환 처리 흐름의 예를 나타낸다.
H.264/AVC와 같이 다수 존재하는 예측 모드 중에서 블록마다 최적의 예측 모드를 선택하여 예측 부호화가 행해지고 있는 경우, 복호 대상 블록의 주변 블록에 있어서 피사체 맵을 이용하지 않는 예측 모드가 사용되고 있을 가능성이 있다. 이러한 경우, 피사체 맵 기억부(207) 등에는 주변 블록에 대한 정보가 축적되지 않았기 때문에, 공간적 상관을 이용한 부호량 삭감을 실현할 수 없다.
이러한 경우, 피사체 맵을 축적하는 대신에 복호 결과의 복호 화상을 축적해 두고, 주변 블록의 복호 화상의 각 화소에 대해 그 화소값에 가장 가까운 피사체 화소값을 갖는 피사체 식별자를 할당함으로써 피사체 맵을 생성하는 방법이 있다. 이에 따라, 주변 블록의 예측 모드에 따르지 않고 참조 피사체 맵을 설정하는 것이 가능하게 되고, 공간적 상관을 이용한 올바른 예측을 행할 수 있다. 이 때의 화상 복호 장치는 도 22에서 나타난다.
도 22에 도시된 화상 복호 장치(200-4)에서는, 복호 화상 기억부(231)에 화상 신호 복호부(209)가 복호한 복호 화상을 축적해 두고, 참조 피사체 맵 설정부(232)가 주변 블록의 복호 화상의 각 화소에 대해 그 화소값에 가장 가까운 피사체 화소값을 갖는 피사체 식별자를 할당함으로써, 주변 블록의 예측 모드에 따르지 않고 참조 피사체 맵을 설정한다. 다른 부분은 전술한 예와 같다.
상술한 제1, 제2 실시형태에서는, 1프레임 중의 모든 블록을 본 발명에 의해 부호화 및 복호하는 처리를 설명하였지만, 일부 블록에만 적용하고, 그 밖의 블록에서는 H.264/AVC 등에서 이용되는 화면 내 예측 부호화나 움직임 보상 예측 부호화 등을 이용하여 부호화를 행해도 상관없다. 그 경우에는, 블록마다 어느 방법을 이용하여 부호화하였는지를 나타내는 정보를 부호화 및 복호할 필요가 있다.
상술한 제1, 제2 실시형태에서는 1프레임을 부호화 및 복호하는 처리를 설명하였지만, 복수 프레임을 반복함으로써 동화상 부호화에도 적용할 수 있다. 또한, 동화상의 일부 프레임이나 일부 블록에만 적용할 수도 있다. 그 경우, 피사체의 존재에는 공간적 뿐만 아니라 시간적인 연속성이 있기 때문에, 피사체 맵의 부호화에 이용하는 참조 화소나 피사체 화소값의 예측에 이용하는 인접 블록의 정의를 공간 방향 뿐만 아니라 시간 방향으로도 확장하여 이용하는 것은 용이하게 유추 가능하다.
이상 설명한 화상 부호화 및 화상 복호 처리는 컴퓨터와 소프트웨어 프로그램에 의해서도 실현할 수 있고, 그 프로그램을 컴퓨터 판독 가능한 기록 매체에 기록하여 제공하는 것도 가능하며 네트워크를 통해 제공하는 것도 가능하다.
도 23에 화상 부호화 장치를 컴퓨터와 소프트웨어 프로그램에 의해 구성하는 경우의 하드웨어 구성예를 나타낸다. 본 시스템은 프로그램을 실행하는 CPU(50)와, CPU(50)가 액세스하는 프로그램이나 데이터가 저장되는 RAM 등의 메모리(51)와, 카메라 등으로부터의 부호화 대상의 화상 신호를 입력하는 부호화 대상 프레임 입력부(52)(디스크 장치 등에 의한 화상 신호를 기억하는 기억부로도 됨)와, 제1 실시형태로서 설명한 화상 부호화 처리를 CPU(50)에 실행시키는 소프트웨어 프로그램인 화상 부호화 프로그램(531)이 저장된 프로그램 기억 장치(53)와, CPU(50)가 메모리(51)에 로드된 화상 부호화 프로그램(531)을 실행함으로써 생성된 다중화 부호 데이터를 예를 들면 네트워크를 통해 출력하는 다중화 부호 데이터 출력부(54)(디스크 장치 등에 의한 다중화 부호 데이터를 기억하는 기억부로도 됨)가 버스로 접속된 구성으로 되어 있다.
도면을 생략하지만, 그 밖에 피사체수 기억부, 피사체 맵 기억부, 피사체 화소값 기억부, 예측 화상 기억부, 피사체 맵 부호 데이터 기억부, 화상 정보 부호 데이터 기억부, 복호 화상 기억부 등의 하드웨어가 설치되고, 본 수법의 실시에 이용된다. 또한, 피사체 화소값 부호 데이터 기억부가 이용되기도 하며, 피사체수 부호 데이터 기억부, 피사체수 예측값 기억부, 피사체 화소값 예측값 기억부, 피사체 식별자 예측값 기억부, 피사체 생기 확률 분포 기억부, 변환 피사체 맵 기억부가 이용되기도 한다.
도 24에 화상 복호 장치를 컴퓨터와 소프트웨어 프로그램에 의해 구성하는 경우의 하드웨어 구성예를 나타낸다. 본 시스템은 프로그램을 실행하는 CPU(60)와, CPU(60)가 액세스하는 프로그램이나 데이터가 저장되는 RAM 등의 메모리(61)와, 화상 부호화 장치가 본 수법에 의해 부호화한 다중화 부호 데이터를 입력하는 다중화 부호 데이터 입력부(62)(디스크 장치 등에 의한 다중화 부호 데이터를 기억하는 기억부로도 됨)와, 제2 실시형태로서 설명한 화상 복호 처리를 CPU(60)에 실행시키는 소프트웨어 프로그램인 화상 복호 프로그램(631)이 저장된 프로그램 기억 장치(63)와, CPU(60)가 메모리(61)에 로드된 화상 복호 프로그램(631)을 실행함으로써 다중화 부호 데이터를 복호하여 얻어진 복호 화상 데이터를 재생 장치 등에 출력하는 복호 화상 데이터 출력부(64)가 버스로 접속된 구성으로 되어 있다.
도면을 생략하지만, 그 밖에 피사체수 기억부, 피사체 맵 기억부, 피사체 화소값 기억부, 예측 화상 기억부, 피사체 맵 부호 데이터 기억부, 화상 정보 부호 데이터 기억부 등의 하드웨어가 설치되고, 본 수법의 실시에 이용된다. 또한, 피사체 화소값 부호 데이터 기억부가 이용되기도 하며, 피사체수 부호 데이터 기억부, 피사체수 예측값 기억부, 피사체 화소값 예측값 기억부, 피사체 식별자 예측값 기억부, 피사체 생기 확률 분포 기억부, 변환 피사체 맵 기억부가 이용되기도 한다.
이상, 도면을 참조하여 본 발명의 실시형태를 설명하였지만, 상기 실시형태는 본 발명의 예시에 불과하며, 본 발명이 상기 실시형태에 한정되는 것이 아님은 명백하다. 따라서, 본 발명의 정신 및 범위를 벗어나지 않는 범위에서 구성 요소의 추가, 생략, 치환, 기타 변경을 행해도 된다.
예측 잔차가 적어지는 예측 화상을 생성하여 부호량 삭감 또는 화상 품질 향상을 실현할 수 있다.
100 화상 부호화 장치
101 부호화 대상 프레임 입력부
102 부호화 대상 프레임 기억부
103 피사체수 설정부
104 피사체 화소값 설정부
105 피사체 맵 생성부
106 피사체 맵 기억부
107 피사체 맵 부호화부
108 예측 화상 생성부
109 화상 신호 부호화부
110 다중화부
120 피사체 화소값 기억부
121 피사체 맵 변환부
131 화상 신호 복호부
132 복호 화상 메모리
133 참조 피사체 맵 생성부
201 부호 데이터 입력부
202 부호 데이터 기억부
203 분리부
204 피사체수 설정부
205 피사체 화소값 설정부
206 피사체 맵 복호부
207 피사체 맵 기억부
208 예측 화상 생성부
209 화상 신호 복호부
220 피사체 화소값 기억부
221 피사체 맵 변환부
231 복호 화상 기억부
232 참조 피사체 맵 설정부

Claims (18)

  1. 화상을 전송·축적함에 있어서 화상 프레임을 미리 정해진 크기의 처리 영역으로 분할하고, 처리 영역마다 각 화소의 화소값을 예측하면서 부호화를 행하는 화상 부호화 방법으로서,
    처리 영역 내에 존재하는 피사체의 수를 피사체수로서 설정하는 피사체수 설정 단계;
    처리 영역 내에 존재하는 피사체마다 그 피사체를 식별하는 피사체 식별자에 대응지어, 각 피사체를 대표하는 하나의 화소값을 피사체 화소값으로서 설정하는 피사체 화소값 설정 단계;
    상기 피사체 화소값을 이용하여 처리 영역 내의 각 화소에 어느 피사체가 촬영되어 있는지를 상기 피사체 식별자로 나타내는 피사체 맵을 생성하는 피사체 맵 생성 단계;
    처리 영역 주변의 이미 부호화 완료한 영역인 곳의 참조 영역을 부호화할 때에 사용된 피사체 맵을 참조 피사체 맵으로서 설정하는 참조 피사체 맵 설정 단계;
    상기 참조 피사체 맵을 이용하여 상기 피사체 맵을 부호화하는 피사체 맵 부호화 단계;
    상기 피사체 맵에 따라 각 화소에 상기 피사체 화소값의 값을 할당함으로써 처리 영역에 대한 예측 화상을 생성하는 예측 화상 생성 단계;
    상기 예측 화상을 이용하여 처리 영역에 대한 화상 신호를 예측 부호화하는 화상 신호 부호화 단계;를 포함하는 화상 부호화 방법.
  2. 청구항 1에 있어서,
    상기 참조 영역을 부호화할 때에 사용한 피사체 화소값과 처리 영역에 대해 설정한 상기 피사체 화소값을 비교하여, 상기 참조 영역을 부호화할 때에 사용한 피사체 식별자를 처리 영역에 대해 설정한 상기 피사체 식별자로 치환하는 치환 행렬을 생성하는 치환 행렬 생성 단계를 더 포함하고,
    상기 참조 피사체 맵 설정 단계는, 상기 참조 영역을 부호화할 때에 사용한 피사체 맵을 상기 치환 행렬에 따라 변환함으로써 상기 참조 피사체 맵을 생성하는 화상 부호화 방법.
  3. 청구항 1에 있어서,
    상기 예측 화상을 이용하여 상기 화상 신호 부호화 단계에 의해 작성한 화상 신호 부호 데이터를 복호함으로써, 처리 영역에 대한 복호 화상의 화상 신호를 생성하는 화상 신호 복호 단계를 더 포함하고,
    상기 참조 피사체 맵 설정 단계는, 처리 영역 주변의 이미 부호화 완료한 화소군에 대해 각 화소에 대한 복호 화상의 화소값에 가장 가까운 상기 피사체 화소값을 갖는 상기 피사체 식별자를 할당함으로써 상기 참조 피사체 맵을 생성하는 화상 부호화 방법.
  4. 청구항 1 내지 3 중 어느 한 항에 있어서,
    상기 참조 피사체 맵의 피사체 식별자의 엣지 정보에 따라 처리 대상 영역의 분할 방법을 설정하는 영역 분할 설정 단계;
    상기 분할 방법에 따라 상기 피사체 맵을 나무 구조로 나타낸 나무 구조 피사체 맵으로 변환하는 피사체 맵 변환 단계;를 더 포함하고,
    상기 피사체 맵 부호화 단계에서는, 상기 참조 피사체 맵을 이용하여 상기 나무 구조 피사체 맵을 부호화하는 화상 부호화 방법.
  5. 화상의 부호 데이터를 복호할 때에, 화상 프레임을 미리 정해진 크기의 처리 영역으로 분할하고, 처리 영역마다 각 화소의 화소값을 예측하면서 복호를 행하는 화상 복호 방법으로서,
    처리 영역 내에 존재하는 피사체의 수를 피사체수로서 설정하는 피사체수 설정 단계;
    처리 영역 내에 존재하는 피사체마다 그 피사체를 식별하는 피사체 식별자에 대응지어, 각 피사체를 대표하는 하나의 화소값을 피사체 화소값으로서 설정하는 피사체 화소값 설정 단계;
    처리 영역 주변의 이미 복호 완료한 영역인 곳의 참조 영역을 복호할 때에 사용된 피사체 맵을 참조 피사체 맵으로서 설정하는 참조 피사체 맵 설정 단계;
    상기 참조 피사체 맵을 이용하여 처리 영역 내의 각 화소에 촬영되어 있는 피사체를 상기 피사체 식별자에 의해 나타낸 피사체 맵을 상기 부호 데이터로부터 복호하는 피사체 맵 복호 단계;
    상기 피사체 맵에 따라 각 화소에 상기 피사체 화소값의 값을 할당함으로써 처리 영역에 대한 예측 화상을 생성하는 예측 화상 생성 단계;
    상기 예측 화상을 이용하여 처리 영역에 대한 복호 화상의 화상 신호를 상기 부호 데이터로부터 복호하는 화상 신호 복호 단계;를 포함하는 화상 복호 방법.
  6. 청구항 5에 있어서,
    상기 참조 영역을 복호할 때에 사용한 피사체 화소값과 처리 영역에 대해 설정한 상기 피사체 화소값을 비교하여, 상기 참조 영역을 복호할 때에 사용한 피사체 식별자를 처리 영역에 대해 설정한 상기 피사체 식별자로 치환하는 치환 행렬을 생성하는 치환 행렬 생성 단계를 더 포함하고,
    상기 참조 피사체 맵 설정 단계는, 상기 참조 영역을 복호할 때에 사용한 피사체 맵을 상기 치환 행렬에 따라 변환함으로써 상기 참조 피사체 맵을 생성하는 화상 복호 방법.
  7. 청구항 5에 있어서,
    상기 참조 피사체 맵 설정 단계는, 처리 영역 주변의 이미 복호 완료한 화소군에 대해 각 화소에 대한 복호 화상의 화소값에 가장 가까운 상기 피사체 화소값을 갖는 상기 피사체 식별자를 할당함으로써 상기 참조 피사체 맵을 생성하는 화상 복호 방법.
  8. 청구항 5 내지 7 중 어느 한 항에 있어서,
    상기 참조 피사체 맵의 피사체 식별자의 엣지 정보에 따라 처리 대상 영역의 분할 방법을 설정하는 영역 분할 설정 단계를 더 포함하고,
    상기 피사체 맵 복호 단계에서는, 상기 분할 방법에 따라 상기 피사체 맵을 나무 구조로 나타낸 나무 구조 피사체 맵을 상기 부호 데이터로부터 복호하고, 상기 나무 구조 피사체 맵을 변환하여 상기 피사체 맵을 복호하는 화상 복호 방법.
  9. 화상을 전송·축적함에 있어서 화상 프레임을 미리 정해진 크기의 처리 영역으로 분할하고, 처리 영역마다 각 화소의 화소값을 예측하면서 부호화를 행하는 화상 부호화 장치로서,
    처리 영역 내에 존재하는 피사체의 수를 피사체수로서 설정하는 피사체수 설정 수단;
    처리 영역 내에 존재하는 피사체마다 그 피사체를 식별하는 피사체 식별자에 대응지어, 각 피사체를 대표하는 하나의 화소값을 피사체 화소값으로서 설정하는 피사체 화소값 설정 수단;
    상기 피사체 화소값을 이용하여 처리 영역 내의 각 화소에 어느 피사체가 촬영되어 있는지를 상기 피사체 식별자로 나타내는 피사체 맵을 생성하는 피사체 맵 생성 수단;
    처리 영역 주변의 이미 부호화 완료한 영역인 곳의 참조 영역을 부호화할 때에 사용된 피사체 맵을 참조 피사체 맵으로서 설정하는 참조 피사체 맵 설정 수단;
    상기 참조 피사체 맵을 이용하여 상기 피사체 맵을 부호화하는 피사체 맵 부호화 수단;
    상기 피사체 맵에 따라 각 화소에 상기 피사체 화소값의 값을 할당함으로써 처리 영역에 대한 예측 화상을 생성하는 예측 화상 생성 수단;
    상기 예측 화상을 이용하여 처리 영역에 대한 화상 신호를 예측 부호화하는 화상 신호 부호화 수단;을 포함하는 화상 부호화 장치.
  10. 청구항 9에 있어서,
    상기 참조 영역을 부호화할 때에 사용한 피사체 화소값과 처리 영역에 대해 설정한 상기 피사체 화소값을 비교하여, 상기 참조 영역을 부호화할 때에 사용한 피사체 식별자를 처리 영역에 대해 설정한 상기 피사체 식별자로 치환하는 치환 행렬을 생성하는 치환 행렬 생성 수단을 더 포함하고,
    상기 참조 피사체 맵 설정 수단은, 상기 참조 영역을 부호화할 때에 사용한 피사체 맵을 상기 치환 행렬에 따라 변환함으로써 상기 참조 피사체 맵을 생성하는 화상 부호화 장치.
  11. 청구항 9에 있어서,
    상기 예측 화상을 이용하여 상기 화상 신호 부호화 수단에 의해 작성된 화상 신호 부호 데이터를 복호함으로써, 처리 영역에 대한 복호 화상의 화상 신호를 생성하는 화상 신호 복호 수단을 더 포함하고,
    상기 참조 피사체 맵 설정 수단은, 처리 영역 주변의 이미 부호화 완료한 화소군에 대해 각 화소에 대한 복호 화상의 화소값에 가장 가까운 상기 피사체 화소값을 갖는 상기 피사체 식별자를 할당함으로써 상기 참조 피사체 맵을 생성하는 화상 부호화 장치.
  12. 청구항 9 내지 11 중 어느 한 항에 있어서,
    상기 참조 피사체 맵의 피사체 식별자의 엣지 정보에 따라 처리 대상 영역의 분할 방법을 설정하는 영역 분할 설정 수단;
    상기 분할 방법에 따라 상기 피사체 맵을 나무 구조로 나타낸 나무 구조 피사체 맵으로 변환하는 피사체 맵 변환 수단;을 더 포함하고,
    상기 피사체 맵 부호화 수단에서는, 상기 참조 피사체 맵을 이용하여 상기 나무 구조 피사체 맵을 부호화하는 화상 부호화 장치.
  13. 화상의 부호 데이터를 복호할 때에, 화상 프레임을 미리 정해진 크기의 처리 영역으로 분할하고, 처리 영역마다 각 화소의 화소값을 예측하면서 복호를 행하는 화상 복호 장치로서,
    처리 영역 내에 존재하는 피사체의 수를 피사체수로서 설정하는 피사체수 설정 수단;
    처리 영역 내에 존재하는 피사체마다 그 피사체를 식별하는 피사체 식별자에 대응지어, 각 피사체를 대표하는 하나의 화소값을 피사체 화소값으로서 설정하는 피사체 화소값 설정 수단;
    처리 영역 주변의 이미 복호 완료한 영역인 곳의 참조 영역을 복호할 때에 사용된 피사체 맵을 참조 피사체 맵으로서 설정하는 참조 피사체 맵 설정 수단;
    상기 참조 피사체 맵을 이용하여 처리 영역 내의 각 화소에 촬영되어 있는 피사체를 상기 피사체 식별자에 의해 나타낸 피사체 맵을 상기 부호 데이터로부터 복호하는 피사체 맵 복호 수단;
    상기 피사체 맵에 따라 각 화소에 상기 피사체 화소값의 값을 할당함으로써 처리 영역에 대한 예측 화상을 생성하는 예측 화상 생성 수단;
    상기 예측 화상을 이용하여 처리 영역에 대한 복호 화상의 화상 신호를 상기 부호 데이터로부터 복호하는 화상 신호 복호 수단;을 포함하는 화상 복호 장치.
  14. 청구항 13에 있어서,
    상기 참조 영역을 복호할 때에 사용한 피사체 화소값과 처리 영역에 대해 설정한 상기 피사체 화소값을 비교하여, 상기 참조 영역을 복호할 때에 사용한 피사체 식별자를 처리 영역에 대해 설정한 상기 피사체 식별자로 치환하는 치환 행렬을 생성하는 치환 행렬 생성 수단을 더 포함하고,
    상기 참조 피사체 맵 설정 수단은, 상기 참조 영역을 복호할 때에 사용한 피사체 맵을 상기 치환 행렬에 따라 변환함으로써 상기 참조 피사체 맵을 생성하는 화상 복호 장치.
  15. 청구항 13에 있어서,
    상기 참조 피사체 맵 설정 수단은, 처리 영역 주변의 이미 복호 완료한 화소군에 대해 각 화소에 대한 복호 화상의 화소값에 가장 가까운 상기 피사체 화소값을 갖는 상기 피사체 식별자를 할당함으로써 상기 참조 피사체 맵을 생성하는 화상 복호 장치.
  16. 청구항 13 내지 15 중 어느 한 항에 있어서,
    상기 참조 피사체 맵의 피사체 식별자의 엣지 정보에 따라 처리 대상 영역의 분할 방법을 설정하는 영역 분할 설정 수단을 더 포함하고,
    상기 피사체 맵 복호 수단에서는, 상기 분할 방법에 따라 상기 피사체 맵을 나무 구조로 나타낸 나무 구조 피사체 맵을 상기 부호 데이터로부터 복호하고, 상기 나무 구조 피사체 맵을 변환하여 상기 피사체 맵을 복호하는 화상 복호 장치.
  17. 청구항 1 내지 4 중 어느 한 항에 기재된 화상 부호화 방법을 컴퓨터에 실행시키기 위한 화상 부호화 프로그램.
  18. 청구항 5 내지 8 중 어느 한 항에 기재된 화상 복호 방법을 컴퓨터에 실행시키기 위한 화상 복호 프로그램.
KR1020137023849A 2011-03-14 2012-03-13 화상 부호화 방법, 화상 복호 방법, 화상 부호화 장치, 화상 복호 장치, 화상 부호화 프로그램 및 화상 복호 프로그램 KR101592535B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2011055238A JP5357199B2 (ja) 2011-03-14 2011-03-14 画像符号化方法,画像復号方法,画像符号化装置,画像復号装置,画像符号化プログラムおよび画像復号プログラム
JPJP-P-2011-055238 2011-03-14
PCT/JP2012/056442 WO2012124698A1 (ja) 2011-03-14 2012-03-13 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置、画像符号化プログラムおよび画像復号プログラム

Publications (2)

Publication Number Publication Date
KR20130135311A true KR20130135311A (ko) 2013-12-10
KR101592535B1 KR101592535B1 (ko) 2016-02-05

Family

ID=46830765

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020137023849A KR101592535B1 (ko) 2011-03-14 2012-03-13 화상 부호화 방법, 화상 복호 방법, 화상 부호화 장치, 화상 복호 장치, 화상 부호화 프로그램 및 화상 복호 프로그램

Country Status (10)

Country Link
US (1) US9031339B2 (ko)
EP (1) EP2672709A4 (ko)
JP (1) JP5357199B2 (ko)
KR (1) KR101592535B1 (ko)
CN (1) CN103404150A (ko)
BR (1) BR112013023065A2 (ko)
CA (1) CA2829326A1 (ko)
RU (1) RU2013141447A (ko)
TW (1) TW201304554A (ko)
WO (1) WO2012124698A1 (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102714741B (zh) 2009-10-14 2016-01-20 汤姆森特许公司 深度图处理的方法和设备
JP5937212B2 (ja) * 2011-08-26 2016-06-22 トムソン ライセンシングThomson Licensing デプス符号化
JP2014075631A (ja) * 2012-10-02 2014-04-24 Samsung Display Co Ltd 圧縮器、駆動装置および表示装置
CN107318027B (zh) * 2012-12-27 2020-08-28 日本电信电话株式会社 图像编码/解码方法、图像编码/解码装置、以及图像编码/解码程序
JP6110724B2 (ja) * 2013-05-01 2017-04-05 日本放送協会 画像処理装置、符号化装置、及び符号化プログラム
WO2016090568A1 (en) * 2014-12-10 2016-06-16 Mediatek Singapore Pte. Ltd. Binary tree block partitioning structure
MX2018006642A (es) * 2015-12-14 2018-08-01 Panasonic Ip Corp America Metodo de codificacion de datos tridimencionales, metodos de decodificacion de datos tridimensionales, dispositivo de codificacion de datos tridimensionales y dispositivo de decodificacion de datos tridimensionales.
US20170271244A1 (en) * 2016-03-21 2017-09-21 Texas Instruments Incorporated Lead frame with solder sidewalls
US9972092B2 (en) 2016-03-31 2018-05-15 Adobe Systems Incorporated Utilizing deep learning for boundary-aware image segmentation
WO2020261313A1 (ja) * 2019-06-24 2020-12-30 日本電信電話株式会社 画像符号化方法、及び画像復号方法
WO2023026702A1 (ja) * 2021-08-25 2023-03-02 富士フイルム株式会社 撮像装置、撮像装置の駆動方法、及びプログラム

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5838455A (en) 1919-05-11 1998-11-17 Minolta Co., Ltd. Image processor with image data compression capability
JP3231618B2 (ja) * 1996-04-23 2001-11-26 日本電気株式会社 3次元画像符号化復号方式
US6055330A (en) 1996-10-09 2000-04-25 The Trustees Of Columbia University In The City Of New York Methods and apparatus for performing digital image and video segmentation and compression using 3-D depth information
JP3237582B2 (ja) 1997-08-28 2001-12-10 富士ゼロックス株式会社 画像処理装置及び画像処理方法
CN1173296C (zh) * 1997-12-05 2004-10-27 动力数字深度研究有限公司 改进的图像转换和编码技术
US6385337B1 (en) 1998-12-21 2002-05-07 Xerox Corporation Method of selecting colors for pixels within blocks for block truncation encoding
AUPQ416699A0 (en) * 1999-11-19 1999-12-16 Dynamic Digital Depth Research Pty Ltd Depth map compression technique
US6404814B1 (en) 2000-04-28 2002-06-11 Hewlett-Packard Company Transcoding method and transcoder for transcoding a predictively-coded object-based picture signal to a predictively-coded block-based picture signal
US8374237B2 (en) 2001-03-02 2013-02-12 Dolby Laboratories Licensing Corporation High precision encoding and decoding of video images
US20050063596A1 (en) 2001-11-23 2005-03-24 Yosef Yomdin Encoding of geometric modeled images
AUPS048802A0 (en) 2002-02-13 2002-03-07 Silverbrook Research Pty. Ltd. Methods and systems (ap48)
JP2003304562A (ja) * 2002-04-10 2003-10-24 Victor Co Of Japan Ltd オブジェクト符号化方法、オブジェクト符号化装置、及びオブジェクト符号化用プログラム
US20040022322A1 (en) 2002-07-19 2004-02-05 Meetrix Corporation Assigning prioritization during encode of independently compressed objects
US6954501B2 (en) * 2003-02-17 2005-10-11 Xvd Corporation Method and apparatus for object based motion compensation
KR100647294B1 (ko) * 2004-11-09 2006-11-23 삼성전자주식회사 화상 데이터 부호화 및 복호화 방법 및 장치
TWI323129B (en) 2006-05-17 2010-04-01 Novatek Microelectronics Corp Block truncation coding (btc) method and apparatus
RU2407220C2 (ru) * 2006-09-20 2010-12-20 Ниппон Телеграф Энд Телефон Корпорейшн Способ кодирования и способ декодирования изображений, устройства для них, программа для них и носитель информации для хранения программ
JP2009094828A (ja) 2007-10-10 2009-04-30 Hitachi Ltd 画像符号化装置及び画像符号化方法、画像復号化装置及び画像復号化方法
EP2255537B1 (fr) 2008-02-21 2019-06-19 Orange Codage et decodage d'une image ou d'une sequence d'images decoupees en blocs de pixels
JP4838275B2 (ja) * 2008-03-03 2011-12-14 日本電信電話株式会社 距離情報符号化方法,復号方法,符号化装置,復号装置,符号化プログラム,復号プログラムおよびコンピュータ読み取り可能な記録媒体
JP4964827B2 (ja) * 2008-06-05 2012-07-04 日本電信電話株式会社 多視点距離情報符号化方法,復号方法,符号化装置,復号装置,符号化プログラム,復号プログラムおよびコンピュータ読み取り可能な記録媒体
JP4821846B2 (ja) * 2008-12-26 2011-11-24 日本ビクター株式会社 画像符号化装置、画像符号化方法およびそのプログラム
US8798158B2 (en) * 2009-03-11 2014-08-05 Industry Academic Cooperation Foundation Of Kyung Hee University Method and apparatus for block-based depth map coding and 3D video coding method using the same
JP5310247B2 (ja) 2009-05-13 2013-10-09 ソニー株式会社 画像処理装置および方法、並びにプログラム
CN102714741B (zh) * 2009-10-14 2016-01-20 汤姆森特许公司 深度图处理的方法和设备
EP2360927A3 (en) * 2010-02-12 2011-09-28 Samsung Electronics Co., Ltd. Image encoding/decoding system using graph based pixel prediction and encoding system and method
JP5281623B2 (ja) * 2010-09-29 2013-09-04 日本電信電話株式会社 画像符号化方法,画像復号方法,画像符号化装置,画像復号装置およびそれらのプログラム
JP5281624B2 (ja) * 2010-09-29 2013-09-04 日本電信電話株式会社 画像符号化方法,画像復号方法,画像符号化装置,画像復号装置およびそれらのプログラム

Also Published As

Publication number Publication date
US9031339B2 (en) 2015-05-12
JP2012191553A (ja) 2012-10-04
CA2829326A1 (en) 2012-09-20
JP5357199B2 (ja) 2013-12-04
EP2672709A4 (en) 2014-11-19
KR101592535B1 (ko) 2016-02-05
US20140003511A1 (en) 2014-01-02
EP2672709A1 (en) 2013-12-11
CN103404150A (zh) 2013-11-20
RU2013141447A (ru) 2015-04-20
TW201304554A (zh) 2013-01-16
WO2012124698A1 (ja) 2012-09-20
BR112013023065A2 (pt) 2016-12-13

Similar Documents

Publication Publication Date Title
KR101550283B1 (ko) 화상 부호화 방법 및 장치, 화상 복호 방법 및 장치, 및 그 프로그램
KR101592535B1 (ko) 화상 부호화 방법, 화상 복호 방법, 화상 부호화 장치, 화상 복호 장치, 화상 부호화 프로그램 및 화상 복호 프로그램
KR101552664B1 (ko) 화상 부호화 방법 및 장치, 화상 복호 방법 및 장치, 및 그 프로그램
CN105814896A (zh) 3d视频译码中的大型块和深度建模模式(dmm)
CN107318027B (zh) 图像编码/解码方法、图像编码/解码装置、以及图像编码/解码程序
CN104025602A (zh) 三维视频译码中用信号通知视图合成预测支持
TWI499277B (zh) 多視點畫像編碼方法、多視點畫像解碼方法、多視點畫像編碼裝置、多視點畫像解碼裝置及這些程式
JP6571646B2 (ja) マルチビュービデオのデコード方法及び装置
JP5729825B2 (ja) 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置、画像符号化プログラム及び画像復号プログラム
JP2015128252A (ja) 予測画像生成方法、予測画像生成装置、予測画像生成プログラム及び記録媒体
JP5711636B2 (ja) 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置、画像符号化プログラム、画像復号プログラム
JP5876933B2 (ja) 動画像符号化方法、動画像復号方法、動画像符号化装置、動画像復号装置、動画像符号化プログラム、動画像復号プログラム及び記録媒体

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20200120

Year of fee payment: 5