KR20150137081A - 복수의 입력 화상을 인코딩하는 방법, 프로그램을 격납하는 기억 매체 및 장치 - Google Patents

복수의 입력 화상을 인코딩하는 방법, 프로그램을 격납하는 기억 매체 및 장치 Download PDF

Info

Publication number
KR20150137081A
KR20150137081A KR1020157030237A KR20157030237A KR20150137081A KR 20150137081 A KR20150137081 A KR 20150137081A KR 1020157030237 A KR1020157030237 A KR 1020157030237A KR 20157030237 A KR20157030237 A KR 20157030237A KR 20150137081 A KR20150137081 A KR 20150137081A
Authority
KR
South Korea
Prior art keywords
image
unit
residual
macroblock
pixel value
Prior art date
Application number
KR1020157030237A
Other languages
English (en)
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 KR20150137081A publication Critical patent/KR20150137081A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/182Methods 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
    • 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

Landscapes

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

Abstract

서로 관련된 정보를 포함하는 복수의 입력 화상을 인코딩하는 방법이 제공된다. 당해 방법은, 선행하는 하나 이상의 입력 화상으로부터 후속의 입력 화상에 포함되는 변화 성분을 나타내는 움직임 화상을 추정하는 스텝과, 후속의 입력 화상으로 추정된, 움직임 화상과의 차분으로부터 잔차 화상을 생성하는 스텝과, 잔차 화상의 화소치에 의거하여, 잔차 화상 중 그 화소치를 잉여로 정의하여야 할 영역을 특정하는 스텝과, 특정된, 잉여로 정의하여야 할 영역에 관한 화소치를 잉여로 변환하는 스텝과, 변환 후의 잔차 화상과, 잉여로 정의하여야 할 영역을 특정하는 부가 정보를 인코딩하는 스텝을 포함한다.

Description

복수의 입력 화상을 인코딩하는 방법, 프로그램을 격납하는 기억 매체 및 장치{METHOD FOR ENCODING A PLURALITY OF INPUT IMAGES AND STORAGE MEDIUM AND DEVICE FOR STORING PROGRAM}
본 발명은, 서로 관련된 정보를 포함하는 복수의 입력 화상을 인코딩하는 방법, 프로그램을 격납하는 기억 매체 및 장치에 관한 것이다.
종래로부터, 시간 영역에 배치된 프레임열(列)로 구성되는 동화상에 대해, 그 프레임 사이의 용장성(冗長性)을 고려한 영상 부호화(video coding) 방법이 알려져 있다(예를 들면, 비특허 문헌 1을 참조). 전형적인 영상 부호화 방법에서는, 입력되는 오리지널 화상에 대신하여, P프레임(predicted frame) 및/또는 B프레임(bi-directional predicted frame)가 전송된다. P프레임은, 전(前)방향 예측에 의해 산출된 프레임이고, B프레임은, 전방향 예측, 후방향 예측, 및 양방향 예측 중 어느 하나에 의해 산출된 프레임이다.
비특허 문헌 2는, 이와 같은 영상 부호화의 기술을, 시간 영역 및 공간 영역으로 확장하여 적용하는 방법을 개시한다. 즉, 비특허 문헌 2의 교시(敎示) 내용에 의하면, 시간 영역 및 공간 영역에 배치된 복수의 프레임에 대해, P프레임 및/또는 B프레임을 생성할 수 있다.
공간 영역에 배치된 프레임열의 한 예로서, 다시점(多視点) 화상을 이용하여 고정밀 입체 영상을 제공하는 3차원 영상 기술에 이용되는 프레임열을 들 수 있다. 이와 같은 입체 영상은, 매우 다수의 시점(視点)(예를 들면, 200시점)으로 피사체를 각각 촬상하여 얻어지는 다시점 화상에 의해 실현된다. 거리(距離) 맵이라는 3차원 정보를 이용하여 P프레임 및/또는 B프레임을 생성한다는 시점 보간(補間)을 이용함으로써, 시간 영역에 배치된 프레임열에 대한 인코딩과 같은 방법을 공간 영역에 배치된 프레임열에 대해서도 적용할 수 있다.
또한, 본 명세서에서는, 데이터를 목적에 응한 부호로 압축(변환)하는 것을 인코딩(encoding)으로 기재하고, 변환된 부호를 원래의 데이터로 복원(복호)하는 것을 디코딩(decoding)으로 기재한다. 또한, 인코딩(coding)이라는 용어는, 인코딩 단체(單體), 및, 인코딩 및 디코딩의 양쪽을 의미하는 것으로 한다.
비특허 문헌 1 : Thomas Wiegand, Gary J. Sullivan, Gisle Bjontegaard, and Ajay Luthra, "Overview of the H.264/AVC Video Coding Standard", IEEE Transactions on Circuits and Systems for Video Technology, Vol. 13, No. 7, pp. 560-576, July 2003 비특허 문헌 2 : P. Merkle, K. Muller, A. Smolic, and T. Wiegand, "Efficient Compression of Multi-view Video Exploiting inter-view dependencies based on H.264/MPEG4-AVC," Proc. ICME 2006, pp. 1717-1720
비특허 문헌 1 및 2에 개시된 방법에 의하면, 생성된 P프레임 및 B프레임은, 잔차(殘差)(residual value)의 형으로 전송된다. 여기서, 잔차의 정보에 대해, 다시 데이터 압축 처리가 실행된다. 이 데이터 압축 처리에서는, 화상 변환(전형적으로는, 이산(離散) 코사인 변환), 양자화, 엔트로피 부호화(entropy coding) 등이 실행된다. 데이터 압축률이 높은 경우에는, 양자화를 실행함으로써, 데이터 사이즈 저감에 의한 데이터의 현저한 로스가 발생한다. 즉, 그 값이 작은 잔차의 정보는, 데이터 압축 처리에 의해 소실되어 버린다.
한편으로, 에지 정보(edge information)나 경계 정보(boundary information)라는 몇 가지의 화상의 특징량에 관해서는, 데이터 압축률이 높아졌다고 하여도, 소실되지 않도록 하여야 한다.
그 때문에, 서로 관련된 정보를 포함하는 복수의 입력 화상에 대해, 압축 효율 및 압축 품질의 양쪽의 밸런스가 취하여진 인코딩 기술이 요구되고 있다.
본 발명의 어느 국면에 따르면, 서로 관련된 정보를 포함하는 복수의 입력 화상을 인코딩하는 방법이 제공된다. 당해 방법은, 선행하는 하나 이상의 입력 화상으로부터 후속의 입력 화상에 포함되는 변화 성분을 나타내는 움직임 화상을 추정하는 스텝과, 후속의 입력 화상으로 추정된, 움직임 화상과의 차분(差分)으로부터 잔차(殘差) 화상을 생성하는 스텝과, 잔차 화상의 화소치에 의거하여, 잔차 화상을 구성하는 화소 중 그 화소치를 잉여(剩餘)로 정의하여야 할 영역을 특정하는 스텝과, 특정된, 잉여로 정의하여야 할 영역에 관한 화소치를 잉여로 변환하는 스텝과, 변환 후의 잔차 화상과, 잉여로 정의하여야 할 영역을 특정하는 부가 정보를 인코딩하는 스텝을 포함한다.
바람직하게는, 변환 후의 잔차 화상을 구성하는 화소 중, 잉여로 정의된 화소에 대해 역(逆)모듈로 연산을 실행함으로써, 잔차 화상을 디코딩하는 스텝을 또한 포함하고, 추정(推定)하는 스텝은, 디코딩된 잔차 화상에 의거하여, 움직임 화상을 추정하는 스텝을 포함한다.
바람직하게는, 특정하는 스텝은, 잔차 화상을 구성하는 각 화소의 화소치의 크기에 의거하여, 잉여로 정의하여야 할 영역을 화소 단위로 결정하는 스텝을 포함하고, 부가 정보는, 잔차 화상을 구성하는 화소 중, 잉여로 정의된 화소를 각각 특정하기 위한 정보를 포함한다.
바람직하게는, 특정하는 스텝은, 잔차 화상을 소정 사이즈의 분할한 각 블록에 관해, 당해 블록을 구성하는 각각의 화소의 화소치에 관한 평가를 결합한 결과에 의거하여, 잉여로 정의하여야 할 영역을 블록 단위로 결정하는 스텝을 포함하고, 부가 정보는, 잔차 화상에 포함되는 블록 중, 잉여로 정의된 블록을 특정하기 위한 정보를 포함한다.
바람직하게는, 변환하는 스텝은, 잉여로 정의하여야 할 영역에 관한 화소치에 대해 모듈로 연산을 실행하는 스텝과, 움직임 화상의 구배(勾配) 정보를 취득하는 스텝과, 구배 강도와 모듈로 연산의 법(法)이 되는 값과의 미리 정하여진 대응 관계를 참조하여, 취득한 구배 정보에 의거하여 모듈로 연산의 법이 되는 값을 결정하는 스텝을 포함한다.
바람직하게는, 부가 정보는, 잔차 화상을 구성하는 화소 중 그 화소치를 잉여로 정의하여야 할 영역을 특정하기 위한 판단 기준을 포함한다.
본 발명의 다른 국면에 따르면, 서로 관련된 정보를 포함하는 복수의 입력 화상을 인코딩하는 프로그램을 격납하는 기억 매체가 제공된다. 당해 프로그램은, 컴퓨터에, 선행하는 하나 이상의 입력 화상으로부터 후속의 입력 화상에 포함되는 변화 성분을 나타내는 움직임 화상을 추정하는 스텝과, 후속의 입력 화상으로 추정된, 움직임 화상과의 차분으로부터 잔차 화상을 생성하는 스텝과, 잔차 화상의 화소치에 의거하여, 잔차 화상을 구성하는 화소 중 그 화소치를 잉여로 정의하여야 할 영역을 특정하는 스텝과, 특정된, 잉여로 정의하여야 할 영역에 관한 화소치를 잉여로 변환하는 스텝과, 변환 후의 잔차 화상과, 잉여로 정의하여야 할 영역을 특정하는 부가 정보를 인코딩하는 스텝을 실행시킨다.
본 발명의 또 다른 국면에 따르면, 서로 관련된 정보를 포함하는 복수의 입력 화상을 인코딩하는 장치가 제공된다. 당해 장치는, 선행하는 하나 이상의 입력 화상으로부터 후속의 입력 화상에 포함되는 변화 성분을 나타내는 움직임 화상을 추정하는 수단과, 후속의 입력 화상으로 추정된, 움직임 화상과의 차분으로부터 잔차 화상을 생성하는 수단과, 잔차 화상의 화소치에 의거하여, 잔차 화상을 구성하는 화소 중 그 화소치를 잉여로 정의하여야 할 영역을 특정하는 수단과, 특정된, 잉여로 정의하여야 할 영역에 관한 화소치를 잉여로 변환하는 수단과, 변환 후의 잔차 화상과, 잉여로 정의하여야 할 영역을 특정하는 부가 정보를 인코딩하는 수단을 포함한다.
본 발명에 의하면, 서로 관련된 정보를 포함하는 복수의 입력 화상에 대해, 압축 효율 및 압축 품질의 양쪽의 밸런스가 취하여진 인코딩 기술을 실현할 수 있다.
도 1은 본 발명의 실시의 형태에 관한 인코딩/디코딩 시스템을 포함하는 입체 영상 재생 시스템을 도시하는 도면.
도 2는 본 발명의 관련 기술에 관한 인코더의 기능 블록도.
도 3은 본 발명의 관련 기술에 관한 디코더의 기능 블록도.
도 4는 본 발명의 실시의 형태에 관한 인코더의 기능 블록도.
도 5는 본 발명의 실시의 형태에 관한 잉여와 잔차와의 조합 수법을 설명하기 위한 도면.
도 6은 본 발명의 실시의 형태에 관한 데이터 포맷 변환부의 기능 블록도.
도 7은 본 발명의 실시의 형태에 관한 잉여의 산출에 이용되는 계수를 결정하기 위한 Lookup 테이블의 한 예를 도시하는 도면.
도 8은 본 발명의 실시의 형태에 관한 데이터 포맷 변환부의 다른 기능 블록도.
도 9는 본 발명의 실시의 형태에 관한 데이터 포맷 역변환부의 기능 블록도.
도 10은 본 발명의 실시의 형태에 관한 디코더의 기능 블록도.
도 11은 송신기로서 기능하는 정보 처리 장치의 하드웨어 구성을 도시하는 모식도.
도 12는 수신기로서 기능하는 정보 처리 장치의 하드웨어 구성을 도시하는 모식도.
본 발명의 실시의 형태에 관해, 도면을 참조하면서 상세히 설명한다. 또한, 도면 중의 동일 또는 상당 부분에 관해서는, 동일 부호를 붙이고 그 설명은 반복하지 않는다.
[A. 응용례]
우선, 본 발명의 실시의 형태에 관한 인코딩/디코딩 시스템에 관한 이해를 용이화하기 위해, 전형적인 응용례에 관해 설명한다. 본 발명의 실시의 형태에 관한 인코딩/디코딩 시스템의 응용 범위는, 이하에 나타내는 구성으로 한정되는 것이 아니고, 임의의 구성에 응용할 수 있다. 또한, 인코딩 및 디코딩의 어느 한쪽만을 실행하는 방법, 장치, 프로그램, 그 프로그램을 격납하는 기억 매체 등에 관해서도, 본원 발명의 범위에 포함될 수 있다.
도 1은, 본 발명의 실시의 형태에 관한 인코딩/디코딩 시스템을 포함하는 입체 영상 재생 시스템(1)를 도시하는 도면이다. 도 1을 참조하면, 입체 영상 재생 시스템(1)에서는, 복수의 카메라(10)로 이루어지는 카메라 어레이를 이용하여 피사체(2)를 촬상함으로써 다시점 화상이 생성된다. 다시점 화상은, 복수의 시점에서 각각 피사체(2)를 촬상하여 얻어진 화상군에 상당한다. 이 다시점 화상은, 송신기로서 기능하는 정보 처리 장치(100)에서 인코딩된 다음 전송된다. 그리고, 수신기로서 기능하는 정보 처리 장치(200)에서 인코딩에 의해 생성된 데이터가 디코딩되어, 입체 표시 장치(300)에서 그 피사체(2)가 재현된다. 즉, 입체 표시 장치(300)는, 피사체(2)의 입체 영상을 표시한다. 또한, 송신기로부터 수신기에의 데이터 전송에 관해서는, 유선 및 무선을 불문하고 임의의 매체를 이용할 수 있다.
송신기로서 기능하는 정보 처리 장치(100)는, 입력되는 화상에 대한 전처리를 실행한 프리 프로세서(110)와, 인코딩을 실행한 인코더(120)를 포함한다. 정보 처리 장치(100)에서 실행되는 인코딩은, 후술하는 바와 같이, 데이터 포맷 변환 및 데이터 압축의 처리를 포함한다. 즉, 본 발명의 실시의 형태에 관한 인코더는, 데이터 포맷 변환 및 데이터 압축을 병렬적으로 실행한다.
한편, 수신기로서 기능하는 정보 처리 장치(200)는, 수신한 데이터에 대해 디코딩을 실행하는 디코더(210)와, 후처리를 실행하는 포스트 프로세서(220)를 포함한다. 정보 처리 장치(200)에서 실행되는 디코딩은, 후술하는 바와 같이, 데이터 포맷 역변환 및 데이터 복원의 처리를 포함한다. 즉, 본 발명의 실시의 형태에 관한 디코더는, 데이터 포맷 역변환 및 데이터 복원을 병렬적으로 실행한다.
입체 표시 장치(300)는, 주로 확산 필름(312) 및 집광 렌즈(314)로 구성되는 표시 스크린(310)와, 표시 스크린(310)에 다시점 화상을 투영하는 프로젝터 어레이(302)를 포함한다. 프로젝터 어레이(302)를 구성하는 각 프로젝터는, 정보 처리 장치(200)로부터 출력되는 다시점 화상의 대응하는 시점의 화상을 표시 스크린(310)에 투영한다.
이와 같은 입체 영상 재생 시스템(1)에 의하면, 표시 스크린(310)의 앞에 있는 관찰자에게는 피사체(2)의 재생 입체상(立體像)이 제공된다. 이때, 표시 스크린(310)과 관찰자와의 상대적인 위치에 응하여, 관찰자의 시야에 들어가는 시점의 화상이 변화하도록 되어 있어, 관찰자는, 마치 피사체(2) 앞에 있는 것 같은 체험을 얻을 수 있다.
이와 같은 입체 영상 재생 시스템(1)은, 일반 용도로서는, 영화관이나 어뮤즈먼트 시설 등에서 이용되고, 산업 용도로서는, 원격 의료 시스템, 공업 디자인 설계 시스템, 퍼블릭 뷰잉 등의 전자 광고 시스템으로서 이용되는 것이 기대되고 있다.
[B. 관련 기술]
우선, 본 발명의 실시의 형태에 관한 인코딩/디코딩 시스템에 관련되는 기술에 관해 설명한다. 동화상의 압축 규격의 하나인, MPEG-4 AVC(ITU-T Recommendation H.264|ISO/IEC 14496-10 Advanced Video Coding)의 인코딩 및 디코딩에 관해 설명한다.
도 2는, 본 발명의 관련 기술에 관한 인코더(820)의 기능 블록도이다. 도 3은, 본 발명의 관련 기술에 관한 디코더(910)의 기능 블록도이다.
우선, 도 2를 참조하여 인코딩에 관해 설명한다. 도 2에 도시하는 인코더(820)에서는, 입력 소스로부터의 동화상(즉, 시간 영역에 배치된 프레임열)인 영상 신호의 각 프레임이 복수의 매크로 블록(Macroblock)으로 분할되고, 각 매크로 블록은, 인트라 프레임 예측(intra flame prediction), 또는, 인터 프레임 예측(inter flame prediction)를 이용하여 보간된다. 인트라 프레임 예측은, 동일 프레임의 다른 매크로 블록으로부터 대상의 매크로 블록을 보간하는 방법이다. 한편, 인터 프레임 예측은, 전(前)방향 예측, 후방향 예측, 및 양방향 예측의 어느 한쪽을 이용하여, 다른 프레임의 정보로부터 대상의 매크로 블록을 보간하는 방법이다.
즉, 인코더(820)는, 동일 또는 근사하는 프레임의 정보와의 관련성(즉, 용장성)에 주목하고, 데이터 압축을 행한다.
보다 구체적으로는, 인코더(820)는, 입력 버퍼(8202)와, 분할부(8204)와, 감산부(8206)와, 직교 변환·양자화부(8208)와, 로컬 디코더(8210)와, 제어부(8230)와, 움직임 추정부(8240)와, 출력 버퍼(8242)와, 엔트로피 부호화부(8250)를 포함한다.
입력 버퍼(8202)는, 입력 소스로부터의 영상 신호를 일시적으로 격납한다. 분할부(8204)는, 입력 버퍼(8202)에 격납된 영상 신호를 복수의 매크로 블록(N×N화소)으로 분할한다. 분할부(8204)로부터의 출력은, 감산부(8206), 제어부(8230), 및 움직임 추정부(8240)에 주어진다.
감산부(8206)는, 분할부(8204)로부터의 각 매크로 블록에 대해, 먼저 산출되어 있는 보간 정보(인트라 프레임 예측 또는 인터 프레임 예측)를 감(減)함으로써, 잔차(殘差)의 정보를 산출한다. 즉, 감산부(8206)는, 오리지널 화상(original image)로부터 예측 화상(predicted image)를 감함으로써, 잔차 화상(residual image)를 생성한다. 이 잔차 화상의 생성 처리는, 전형적으로는, 매크로 블록 단위로 실행된다.
직교 변환·양자화부(8208)는, 감산부(8206)로부터의 잔차 화상에 대해, 직교 변환(전형적으로는, 이산(離散) 푸리에 변환) 및 양자화를 실행한다. 직교 변환·양자화부(8208)는, 스케일링도 실행한다. 직교 변환·양자화부(8208)로부터의 양자화 후의 변환 계수는, 로컬 디코더(8210) 및 엔트로피 부호화부(8250)에 출력된다.
로컬 디코더(8210)는, 후속의 프레임(의 매크로 블록)에 대한 보간 정보를 산출한다. 보다 구체적으로는, 로컬 디코더(8210)는, 역직교 변환·스케일링부(8212)와, 가산부(8214)와, 디블록 필터(8216)와, 인트라 프레임 예측부(8218)와, 움직임 보상부(8220)와, 전환부(8222)를 포함한다.
역직교 변환·스케일링부(8212)는, 직교 변환·양자화부(8208)로부터의 양자화 후의 변환 계수에 대해, 역직교 변환 및 스케일링을 실행한다. 즉, 역직교 변환·스케일링부(8212)는, 감산부(8206)로부터 출력되는 잔차 화상을 복원한다. 가산부(8214)는, 역직교 변환·스케일링부(8212)로부터의 잔차 화상과, 먼저 산출되어 있는 예측 화상(보간 정보)를 가산한다. 디블록 필터(8216)는, 가산부(8214)로부터의 가산 결과에 대해, 블록 노이즈의 발생을 억제하기 위해 블록 경계를 평활화한다.
즉, 역직교 변환·스케일링부(8212), 가산부(8214), 및 디블록 필터(8216)에 의해, 입력 버퍼(8202)로부터 주어진 오리지널 화상이 복원된다. 그리고, 이 복원된 오리지널 화상의 정보가 인트라 프레임 예측부(8218) 및 움직임 보상부(8220)에 주어진다.
인트라 프레임 예측부(8218)는, 인접하는 매크로 블록에 의거하여 예측 화상을 생성한다.
움직임 보상부(8220)는, 인터 프레임 예측(프레임 사이 예측)를 이용하여, 예측 화상을 생성한다. 보다 구체적으로는, 움직임 보상부(8220)는, 복원된 오리지널 화상과 움직임 추정부(8240)로부터의 움직임 데이터에 의거하여, 예측 화상을 생성한다.
인트라 프레임 예측부(8218) 및 움직임 보상부(8220)의 각각에서 생성된 예측 화상은, 전환부(8222)에 의해 어느 한쪽이 적절히 선택되어, 감산부(8206)에 주어진다.
움직임 추정부(8240)는, 분할부(8204)로부터의 각 매크로 블록과, 복원된 오리지널 화상의 정보에 의거하여, 움직임 데이터(전형적으로는, 움직임 벡터(vector))를 산출한다. 이 산출되는 움직임 데이터는, 움직임 보상부(8220) 및 엔트로피 부호화부(8250)에 출력된다.
제어부(8230)는, 직교 변환·양자화부(8208), 역직교 변환·스케일링부(8212), 전환부(8222), 및, 움직임 추정부(8240)에서의 처리를 제어한다. 또한, 제어부(8230)는, 제어 데이터로서, 부호화에 관한 파라미터나 각 컴포넌트에 대한 부호화의 순서 등을 지시한다.
엔트로피 부호화부(8250)는, 직교 변환·양자화부(8208)로부터의 양자화 후의 변환 계수, 움직임 보상부(8220)로부터의 움직임 데이터, 및 제어부(8230)로부터의 제어 데이터에 대해, 엔트로피 부호화를 행하고, 그 결과로서 비트 스트림을 출력한다. 이 출력되는 비트 스트림이 입력된 영상 신호에 관한 인코딩 결과가 된다.
출력 버퍼(8242)는, 필수의 구성은 아니지만, 디블록 필터(8216)로부터의 복원된 오리지널 화상(영상 신호)를 일시적으로 격납한다.
다음에, 도 3을 참조하여 디코딩에 관해 설명한다. 도 3에 도시하는 디코더(910)에서는, 도 2에 도시하는 인코더(820)로부터의 비트 스트림으로부터 오리지널 화상을 복원한다. 기본적으로는, 도 2에 도시하는 인코더(820)에서의 인코딩의 역변환을 행한다. 보다 구체적으로는, 디코더(910)는, 입력 버퍼(9102)와, 엔트로피 복호부(9104)와, 역직교 변환·스케일링부(9112)와, 가산부(9114)와, 디블록 필터(9116)와, 인트라 프레임 예측부(9118)와, 움직임 보상부(9120)와, 전환부(9122)와, 제어부(9130)와, 출력 버퍼(9142)를 포함한다.
입력 버퍼(9102)는, 인코더(820)로부터의 비트 스트림을 일시적으로 격납한다. 엔트로피 복호부(9104)는, 입력 버퍼(9102)로부터의 비트 스트림에 대해 엔트로피 복호를 행하고, 그 결과로서, 움직임 데이터, 양자화 후의 변환 계수, 및 제어 데이터를 출력한다.
역직교 변환·스케일링부(9112)는, 엔트로피 복호부(9104)에서 복호된 양자화 후의 변환 계수에 대해, 역직교 변환(전형적으로는, 이산 푸리에 역변환) 및 스케일링을 실행한다. 이들의 처리에 의해, 잔차 화상이 복원된다.
가산부(9114)는, 역직교 변환·스케일링부(9112)로부터의 잔차 화상과, 먼저 산출되어 있는 예측 화상(보간 정보)를 가산한다. 디블록 필터(9116)는, 가산부(9114)로부터의 가산 결과에 대해, 블록 노이즈의 발생을 억제하기 위해 블록 경계를 평활화한다.
인트라 프레임 예측부(9118)는, 인접하는 매크로 블록에 의거하여 예측 화상을 생성한다.
움직임 보상부(9120)는, 인터 프레임 예측(프레임 사이 예측)를 이용하여, 예측 화상을 생성한다. 보다 구체적으로는, 움직임 보상부(9120)는, 복원된 오리지널 화상과, 엔트로피 복호부(9104)에서 복호된 움직임 데이터에 의거하여, 예측 화상을 생성한다.
인트라 프레임 예측부(9118) 및 움직임 보상부(9120)의 각각에서 생성된 예측 화상은, 전환부(9122)에 의해 어느 한쪽이 적절히 선택되어, 가산부(9114)에 주어진다.
제어부(9130)는, 엔트로피 복호부(9104)에서 복호된 제어 데이터에 의거하여, 역직교 변환·스케일링부(9112) 및 전환부(9122)에서의 처리를 제어한다.
출력 버퍼(9142)는, 디블록 필터(9116)로부터의 복원된 오리지널 화상(영상 신호)를 일시적으로 격납한다.
동화상의 압축 규격의 하나인 MPEG-4 AVC에서는, 상술한 바와 같은, 인코딩/디코딩 시스템에 의해, 데이터 압축한 상태로 동화상의 전송을 실현한다.
[C. 개요]
본 발명의 실시의 형태에 관한 인코딩/디코딩 시스템은, 상술한 바와 같은 기존의 규격에 조립할 수 있는 데이터 포맷 변환 처리를 포함한다. 본 발명의 실시의 형태에 관한 인코딩/디코딩 시스템에서는, 잉여 화상(remainder image)이라는 개념을 도입하여 데이터 압축 효율을 보다 높인다. 즉, 본 발명의 실시의 형태에서는, 기존의 규격에서 이용되는 잔차만이 아니고, 잉여를 이용함으로써, 데이터 압축의 효율을 높임과 함께, 그 품질도 향상시킬 수 있다.
본 발명의 실시의 형태에 관한 인코딩/디코딩 시스템은, 시간 영역 및/또는 공간 영역에 배치된 복수의 프레임으로 이루어지는 임의의 영상 신호에 대해 적용 가능하다. 즉, 본 발명의 실시의 형태에 관한 인코딩/디코딩 시스템은, 시간적 및/또는 공간적으로 서로 관련된 정보를 포함하는 복수의 입력 화상을 대상으로 한다.
한 예로서, (1) 도 1에 도시하는 카메라 어레이에 의해 피사체를 촬상함으로써 생성되는 복수의 정지화상(공간 영역에 배치), (2) 도 1에 도시하는 카메라 어레이에 의해 피사체를 촬상함으로써 생성되는 복수의 동화상(시간 영역 및 공간 영역에 배치), (3) 단일한 카메라에 의해 피사체를 연속적으로 촬상함으로써 생성되는 동화상(시간 영역에 배치), (4) 스테레오 카메라에 의해 피사체를 촬상함으로써 생성되는 휘도 정보와 거리 화상(공간 영역에 배치), (5) 스테레오 카메라에 의해 피사체를 연속적으로 촬상함으로써 생성되는 동화상(휘도 정보와 거리 화상)(시간 영역 및 공간 영역에 배치) 등을 들 수 있다.
이들의 처리 대상의 화상 사이에는, 시야(view)의 유사성에 수반하여, 용장성이 존재한다. 상술한 도 2 및 도 3에 도시하는 구성에서는, 이와 같은 용장성에 대처하여 데이터 압축을 실현하기 위해, 오리지널 화상과 예측 화상과의 사이의 차분에 상당하는 잔차로 각 화소치를 정의하는 데이터 포맷을 채용하고 있다.
이에 대해, 본 발명의 실시의 형태에서는, 「잉여」로 각 화소치를 정의하는 데이터 포맷을 채용한다. 이 잉여는, 어느 산출된 값을 소정의 정수치로 제산(除算)하여 얻어지는 나머지(정수치)로서 정의된다. 이때, 상(商)도 정수가 된다. 보다 구체적으로는, 잉여는, 모듈로(modulo) 연산에 의해 산출된다. 잉여의 산출 순서 등에 대해는, 후에 상세히 기술한다.
본 발명의 실시의 형태에서는, 대표적으로는, 잔차에 대신하여 잉여만으로 정의하는 데이터 포맷, 또는, 잉여와 잔차를 조합하여 정의하는 데이터 포맷을 채용할 수 있다.
이하, 전형례로서, 도 2 및 도 3에 도시하는 MPEG-4 AVC 규격에 따른 인코딩/디코딩 시스템에 본 발명의 실시의 형태에 관한 데이터 포맷 변환 및 데이터 압축의 처리를 조립한 구성을 나타낸다. 단, 본 발명의 실시의 형태에 관한 구성은, 이것으로 한하지 않고 임의의 인코더 및 디코더에 조립할 수 있다.
[D. 인코더(120)의 기능 구성]
우선, 본 발명의 실시의 형태에 관한 인코딩/디코딩 시스템을 구성하는 인코더(120)의 기능 구성에 관해 설명한다. 도 4는, 본 발명의 실시의 형태에 관한 인코더(120)의 기능 블록도이다. 도 4를 참조하면, 인코더(120)는, 입력 버퍼(1202)와, 분할부(1204)와, 데이터 포맷 변환부(1206)와, 직교 변환·양자화부(1208)와, 로컬 디코더(1210)와, 제어부(1230)와, 움직임 추정부(1240)와, 출력 버퍼(1242)와, 엔트로피 부호화부(1250)를 포함한다. 또한, 로컬 디코더(1210)는, 역직교 변환·스케일링부(1212)와, 데이터 포맷 역변환부(1214)와, 디블록 필터(1216)와, 인트라 프레임 예측부(1218)와, 움직임 보상부(1220)와, 전환부(1222)를 포함한다.
개략하면, 인코더(120)는, 도 2에 도시하는 인코더(820)에 비교하여, 잔차 화상을 생성하는 감산부(8206)에 대신하여 데이터 포맷 변환부(1206)가 마련되고, 오리지널 화상을 복원하기 위한 가산부(8214)에 대신하여 데이터 포맷 역변환부(1214)가 마련되어 있는 점이 주로 다르다. 단, 이 구조의 변경에 수반하여, 제어부(1230)의 동작도 제어부(8230)와는 다른 것으로 되어 있다.
즉, 입력 버퍼(1202), 분할부(1204), 직교 변환·양자화부(1208), 움직임 추정부(1240), 출력 버퍼(1242), 및, 엔트로피 부호화부(1250)의 기능은, 도 2에 도시하는 입력 버퍼(8202), 분할부(8204), 직교 변환·양자화부(8208), 움직임 추정부(8240), 출력 버퍼(8242), 및, 엔트로피 부호화부(8250)에 유사한 것으로 되어 있다. 또한, 로컬 디코더(1210)의 역직교 변환·스케일링부(1212), 디블록 필터(1216), 인트라 프레임 예측부(1218), 움직임 보상부(1220), 및, 전환부(1222)의 기능은, 도 2에 도시하는 로컬 디코더(8210)의 역직교 변환·스케일링부(8212), 디블록 필터(8216), 인트라 프레임 예측부(8218), 움직임 보상부(8220), 및, 전환부(8222)에 유사한 것으로 되어 있다.
[E. 인코더(120)에서의 처리 순서]
다음에, 인코더(120)에서의 처리 순서에 관해 설명한다. 도 4를 참조하면, 입력 소스로부터의 영상 신호가 입력 버퍼(1202)에 주어진다. 이 영상 신호로서는, 복수의 카메라(10)(카메라 어레이)에 의해 촬상된 다시점 화상, 복수의 Depth 카메라로부터 출력되는 다시점 거리 화상, 일련의 정지화상 또는 정지화상, 및, 임의의 형식의 화상 데이터를 포함한다. 입력 버퍼(1202)에는, 이들의 영상 신호가 일시적으로 격납되고, 이들의 전부 또는 일부가 입력 데이터로서 분할부(1204)에 주어진다. 이하에서는, 설명의 간략화를 위해, 시간 영역 및 공간 영역의 어느 한쪽의 영역에 배치된 프레임열(즉, 단일한 카메라로 촬상된 동화상이나 다시점의 정지화상 등)을 처리 대상으로 한다. 물론, 시간 영역 및 공간 영역의 양쪽에 배치된 프레임열에 대해서도 마찬가지로 적용할 수 있다. 단, 이 경우에는, 각 프레임(또는, 매크로 블록)에 관해, 시간 영역 및 공간 영역의 각각에서의 관련성을 고려하여, 보간 정보를 산출하게 된다.
분할부(1204)는, 입력 버퍼(1202)로부터 출력되는 영상 신호(입력 데이터)를 복수의 매크로 블록(N×N화소)으로 분할한다. 이것은, 적절한 사이즈의 부분 화상을 처리 단위로 함으로써, 예측 화상의 생성 처리 등을 고속화하는 것이다. 단, 정보 처리 장치의 연산 능력이나 요구되는 처리시간 등을 고려하여, 매크로 블록으로 분할하지 않고, 1프레임을 그대로 처리하여도 좋다. 분할된 각 매크로 블록은, 데이터 포맷 변환부(1206)에 주어진다.
데이터 포맷 변환부(1206)는, 분할부(1204)로부터의 매크로 블록과, 인트라 프레임 예측부(1218) 또는 움직임 보상부(1220)로부터의 움직임 보상 매크로 블록을 이용하여, 데이터 포맷 변환을 행한다.
보다 구체적으로는, 움직임 보상 매크로 블록은, 선행하는 하나 이상의 입력 화상으로부터 후속의 입력 화상에 포함되는 변화 성분을 나타내는 움직임 화상에 상당하고, 인트라 프레임 예측부(1218) 또는 움직임 보상부(1220)는, 이 움직임 화상을 추정한다. 우선, 데이터 포맷 변환부(1206)는, 후속의 입력 화상으로 추정된 움직임 화상과의 차분으로부터 잔차 화상을 생성한다. 그리고, 데이터 포맷 변환부(1206)는, 잔차 화상의 화소치에 의거하여, 잔차 화상을 구성하는 화소 중 그 화소치를 잉여로 정의하여야 할 영역을 특정한다. 데이터 포맷 변환부(1206)는, 특정된 잉여로 정의하여야 할 영역에 관한 화소치를 잉여로 변환한다. 이와 같은 순서에 의해, 변환 후의 잔차 화상이 데이터 포맷 변환 후의 화상으로서 출력된다.
이 데이터 포맷 변환에서, 일부 또는 전부의 화소치를 잉여로 정의한 매크로 블록이 생성된다. 이 데이터 포맷 변환의 상세한 순서에 관해서는, 후술한다.
인트라 프레임 예측부(1218) 또는 움직임 보상부(1220)로부터 주어지는 대응하는 움직임 보상 매크로 블록은, 데이터 포맷 변환부(1206)에 의해 생성된 매크로 블록으로부터 오리지널 매크로 블록을 재구성하기 위한 사이드 정보(side information)로서 이용된다.
데이터 포맷 변환 후의 매크로 블록이 직교 변환·양자화부(1208)에 주어진다. 직교 변환·양자화부(1208)는, 직교 변환, 양자화, 및 스케일링을 실행함으로써, 입력된 데이터 포맷 변환 후의 매크로 블록을 더욱 최적화한다. 직교 변환으로서는, 전형적으로는, 이산 푸리에 변환이 채용된다. 양자화에서 이용되는 양자화 테이블 및 스케일링에서 이용되는 스케일링 계수에 관해서는, 데이터 포맷 타입(type)에 응하여 최적화되어도 좋다. 직교 변환·양자화부(8208)로부터의 양자화 후의 변환 계수는, 로컬 디코더(1210)(역직교 변환·스케일링부(1212)) 및 엔트로피 부호화부(1250)에 출력된다.
역직교 변환·스케일링부(1212)는, 직교 변환·양자화부(1208)로부터의 양자화 후의 변환 계수에 대해, 역직교 변환 및 스케일링을 실행한다. 즉, 역직교 변환·스케일링부(1212)는, 직교 변환·양자화부(1208)에서의 변환 처리와는 반대의 처리를 실행하고, 데이터 포맷 변환 후의 매크로 블록을 복원한다. 또한, 데이터 포맷 역변환부(1214)는, 복원된 데이터 포맷 변환 후의 매크로 블록에 대해, 데이터 포맷 역변환을 실행하여, 분할된 각 매크로 블록을 복원한다.
디블록 필터(1216)는, 데이터 포맷 역변환부(1214)로부터의 복원된 매크로 블록에 대해, 블록 노이즈의 발생을 억제하기 위해 블록 경계를 평활화한다.
즉, 역직교 변환·스케일링부(1212), 데이터 포맷 역변환부(1214), 및 디블록 필터(1216)에 의해, 입력 버퍼(1202)로부터 주어진 오리지널 화상이 복원된다. 그리고, 이 복원된 오리지널 화상이 인트라 프레임 예측부(1218) 및 움직임 보상부(1220)에 주어진다.
인트라 프레임 예측부(1218)는, 인접하는 매크로 블록에 의거하여 예측 화상(이하 「인트라 매크로 블록」이라고도 칭한다.)을 생성한다. 움직임 보상부(1220)는, 인터 프레임 예측(프레임 사이 예측)을 이용하여, 예측 화상(이하 「인터 매크로 블록」이라고도 칭한다.)를 생성한다. 이들의 예측 화상이 움직임 보상 매크로 블록이 된다. 움직임 추정부(1240)는, 분할부(1204)로부터의 각 매크로 블록과, 복원된 오리지널 화상에 의거하여, 움직임 데이터(전형적으로는, 움직임 벡터(vector))를 산출한다. 이 산출되는 움직임 데이터는, 움직임 보상부(1220) 및 엔트로피 부호화부(1250)에 출력된다.
제어부(1230)는, 데이터 포맷 변환부(1206), 직교 변환·양자화부(1208), 역직교 변환·스케일링부(1212), 데이터 포맷 역변환부(1214), 전환부(8222), 및, 움직임 추정부(8240)에서의 처리를 제어한다. 또한, 제어부(1230)는, 제어 데이터로서, 부호화에 관한 파라미터나 각 컴포넌트에 대한 부호화의 순서 등을 출력한다. 또한, 제어부(1230)는, 데이터 포맷 변환에 관한 파라미터(데이터 포맷 타입(type), 임계치, 플래그(flag1, flag2) 등)를 엔트로피 부호화부(1250)에 출력한다.
엔트로피 부호화부(1250)는, 변환 후의 잔차 화상과, 잉여로 정의하여야 할 영역을 특정하는 부가 정보를 인코딩한다. 보다 구체적으로는, 엔트로피 부호화부(1250)는, 직교 변환·양자화부(1208)로부터의 양자화 후의 변환 계수, 움직임 추정부(1240)로부터의 움직임 데이터, 및 제어부(1230)로부터의 제어 데이터 및 파라미터에 대해, 엔트로피 부호화를 행하고, 그 결과로서 비트 스트림을 출력한다. 이 출력된 비트 스트림이 입력된 영상 신호에 관한 인코딩 결과가 된다.
출력 버퍼(1242)는, 필수의 구성은 아니지만, 디블록 필터(1216)로부터의 복원된 오리지널 화상(영상 신호)를 일시적으로 격납한다.
이하, 상술한 기능 구성 중 주요한 컴포넌트에 관해, 보다 상세히 설명한다.
[F. 데이터 포맷 변환부(1206)에서의 처리]
다음에, 본 발명의 실시의 형태에 관한 데이터 포맷 변환부(1206)(도 4)에서의 처리에 관해 상세히 기술한다.
(f1 : 데이터 포맷 타입)
상술한 바와 같이, 본 발명의 실시의 형태에서는, 잉여만으로 정의하는 구성, 및 잉여와 잔차를 조합하여 정의하는 구성의 양쪽을 채용할 수 있다. 후자의 경우에는, 또한, (1) 화소 단위로의 잉여와 잔차와의 조합, 및, (2) 매크로 블록 단위로의 잉여와 잔차(또는, 모두 제로)와의 조합의 양쪽을 채용할 수 있다.
도 5는, 본 발명의 실시의 형태에 관한 잉여와 잔차와의 조합 수법을 설명하기 위한 도면이다. 도 5(a)에는, 화소 단위로 잉여와 잔차와의 조합을 행하는 수법을 도시하고, 도 5(b)에는, 매크로 블록 단위로 잉여와 잔차와의 조합을 행하는 수법을 도시한다. 또한, 도 5에서, 「Rem」는 잉여를 나타내고, 「Res」는 잔차를 나타낸다.
도 5(a)에 도시하는 바와 같이, 각 프레임은 복수의 매크로 블록으로 분할되어 처리된다. 각 매크로 블록을 구성하는 복수의 화소의 각각에 관해, 소정의 판단 기준(전형적으로는, 후술하는 바와 같은 임계치(TH1))을 적용하여, 잉여 및 잔차의 어느 것으로 정의하여야 하는지가 판단된다.
한편, 도 5(b)에 도시하는 바와 같이, 프레임을 구성하는 복수의 매크로 블록의 각각에 관해, 소정의 판단 기준(전형적으로는, 후술하는 바와 같은 임계치(TH1 및 TH2))를 적용하여, 잉여(잉여 매크로 블록) 및 잔차(잔차 매크로 블록)의 어느 것을 이용하는지가 판단된다.
잉여로 정의하여야 할 것으로 판단된 화소 또는 매크로 블록에 관해서는, 후술하는 바와 같은 모듈로 연산을 이용하여, 그 화소치가 산출된다.
또한, 잉여만으로 정의된 경우에는, 상술한 바와 같은 판단 기준의 적용을 생략하여, 각 화소/매크로 블록에 관해 잉여가 산출된다.
(f2 : 데이터 포맷 변환부에서의 처리 개요)
상술한 바와 같이, 데이터 포맷 변환부(1206)로부터 출력되는 데이터 포맷 변환 후의 매크로 블록에는 복수의 타입이 있기 때문에, 사이드 정보의 일부로서, 이 데이터 포맷 변환의 순서를 나타내는 정보(데이터 포맷 타입(type))가 이용된다. 단, 잔차로 정의되는 영역에 관해서는, 사이드 정보를 포함하지 않도록 하여도 좋다. 즉, 대응하는 사이드 정보가 존재하는 영역(화소 또는 매크로 블록)에 관해 잉여로 정의되어 있는 것이 암시된다.
데이터 포맷 변환부(1206)는, 동일 프레임에서의, 오리지널 매크로 블록과 움직임 보상 매크로 블록(인트라 프레임 예측부(1218)에서 생성되는 인트라 매크로 블록, 또는, 움직임 보상부(1220)에서 생성되는 인터 매크로 블록)과의 차분(즉, 잔차 화상)에 대해, 데이터 포맷 변환을 실행한다. 잉여로 정의된 영역에 관해서는, 움직임 보상 매크로 블록도 사이드 정보로서 이용된다.
또한, 잉여를 산출하는 모듈로 연산에 이용하는 계수(분모)를 결정하기 위해, 움직임 보상 매크로 블록(인트라 매크로 블록, 또는, 인터 매크로 블록)에 관한 의사 구배 매크로 블록, 또는 그것에 유사한 정보를 갖는 매크로 블록이 생성된다. 또한, 구배의 정보에 관해서는, 프레임 단위로 산출하여도 좋다.
이하, 화소 단위로 잉여와 잔차를 조합하는 데이터 포맷(이하 「제1 데이터 포맷」이라고도 칭한다.), 및, 매크로 블록 단위로 잉여와 잔차를 조합하는 데이터 포맷(이하 「제2 데이터 포맷」이라고도 칭한다.)에 관해, 각각 그 상세한 처리에 관해 설명한다. 또한, 이하의 설명에서, 잔차의 산출에 관한 처리를 제외함으로써, 잉여만으로 화소치를 정의하는 데이터 포맷을 실현할 수 있음은 자명하다.
(f3 : 데이터 포맷 변환부(1206)(제1 데이터 포맷용))
도 6은, 본 발명의 실시의 형태에 관한 데이터 포맷 변환부(1206)의 기능 블록도이다. 도 6을 참조하면, 데이터 포맷 변환부(1206)는, 감산부(1260)와, 비교부(1262)와, 마스크 생성부(1264)와, 처리 선택부(1266)와, 구배 화상 생성부(1270)와, 계수 선택부(1272)와, Lookup 테이블(1274)과, 모듈로 연산부(1278)와, 합성부(1280)를 포함한다.
감산부(1260)는, 분할부(1204)(도 4)로부터 입력되는 오리지널 매크로 블록(도 6에서는 「Original MB」로 표기된다.)로부터, 움직임 보상 매크로 블록(인트라 매크로 블록, 또는, 인터 매크로 블록)(도 6에서는 「Inter/Intra MB」로 표기된다.)를 감산함으로써, 잔차 매크로 블록(도 6에서는 「Res MB」로 표기된다.)를 생성한다.
비교부(1262) 및 마스크 생성부(1264)는, 대상의 매크로 블록에서 잔차로 정의된 화소를 특정한다. 즉, 비교부(1262)는, 잔차 화상(잔차 매크로 블록)을 구성하는 각 화소의 화소치의 크기에 의거하여, 잉여로 정의하여야 할 영역을 화소 단위로 결정한다. 마스크 생성부(1264)는, 잔차 화상을 구성하는 화소 중, 잉여로 정의된 화소를 각각 특정하기 위한 정보를 부가 정보로서 출력한다.
보다 구체적으로는, 비교부(1262)는, 대상의 매크로 블록을 구성하는 각 화소의 화소치와 사이드 정보의 일부인 임계치(TH1)를 비교한다. 마스크 생성부(1264)는, 그 화소치가 임계치(TH1) 미만인 화소에 관해 잉여로 정의하여야 할 것으로 결정하고, 그 밖의 화소에 관해 잔차로 정의하여야 할 것으로 결정한다. 즉, 잔차 매크로 블록 중, 그 화소치가 작은 영역의 정보는 크게 소실되는 일이 있기 때문에, 잔차가 아니라, 잉여로 정의하는 데이터 포맷으로 변환한 다음, 데이터 압축이 행하여진다.
이 각 화소에 관한 잉여 및 잔차의 어느 것으로 정의하는지라는 정보는, 플래그(flag1)로서 사이드 정보에 포함된다. 마스크 생성부(1264)는, 대상의 프레임 내에서, 각 화소에 관한 플래그(flag1)의 값을 전개(展開)한 마스크(맵)를 생성하고, 처리 선택부(1266)에 출력함과 함께, 제어부(1230)에 출력한다. 마스크 생성부(1264)로부터의 플래그(flag1)의 값에 의거하여, 인코딩 및 디코딩에서, 각 화소에 적용되는 순서가 결정된다.
데이터 포맷 변환부(1206)에서는, 처리 선택부(1266)가 플래그(flag1)의 값에 의거하여, 대상의 매크로 블록을 구성하는 각 화소에 대한 처리를 선택한다. 구체적으로는, 처리 선택부(1266)는, 잔차(도 6에서는 「Residual」로 표기된다.)로 정의하여야 할 것으로 판단된 화소에 관해서는, 그 화소치를 그대로 합성부(1280)에 출력하는 한편으로, 잉여(도 6에서는 「Remainder」로 표기된다.)로 정의하여야 할 것으로 판단된 화소에 관해서는, 그 화소치를 모듈로 연산부(1278)에 출력한다.
모듈로 연산부(1278)는, 잉여로 정의하여야 할 영역에 관한 화소치에 대해 모듈로 연산을 실행한다. 보다 구체적으로는, 모듈로 연산부(1278)는, 계수 선택부(1272)에 의해 설정된 계수(D)(정수)를 분모로 하는 모듈로 연산을 행하여, 잉여를 산출한다. 이 산출된 잉여가 합성부(1280)에 출력된다. 합성부(1280)는, 화소마다 입력된 잉여 또는 잔차를 결합하여, 데이터 포맷 변환 후의 매크로 블록(도 6에서는 「Converted MB」로 표기된다.)를 출력한다.
데이터 포맷 변환부(1206)에서는, 움직임 보상 매크로 블록에 의거하여, 모듈로 연산부(1278)에서의 모듈로 연산에 이용되는 계수(분모)(D)를 동적으로 변화시켜도 좋다. 움직임 보상 매크로 블록 중 그 화소치가 큰 영역은, 프레임 사이의 용장성이 상대적으로 낮은 영역을 의미하고, 이와 같은 영역에 관해서는, 데이터 포맷 변환 후에도 그것에 포함되는 정보가 유지되는 것이 바람직하다. 그 때문에, 프레임 사이의 용장성의 크기에 응하여, 적절한 계수(D)가 선택된다.
이와 같은 계수(D)를 동적으로 변화시키는 방법으로서는 임의의 방법을 채용할 수 있다. 도 6에는, 움직임 보상 매크로 블록(움직임 화상)의 구배 정보를 취득하고, 취득한 구배 정보에 의거하여 모듈로 연산의 법이 되는 값을 결정하는 처리례를 나타낸다. 보다 구체적으로는, 움직임 보상 매크로 블록에 관한 의사 구배 매크로 블록(gradient-like macro-block)을 생성하고, 이 의사 구배 매크로 블록의 각 화소에서의 화소치의 크기에 응하여, 법이 되는 계수(D)를 결정한다.
구체적으로는, 구배 화상 생성부(1270)는, 움직임 보상 매크로 블록에 관한 의사 구배 매크로 블록을 생성한다. 그리고, 구배 강도와 모듈로 연산의 법이 되는 값과의 미리 정하여진 대응 관계를 참조하여, 모듈로 연산의 법이 되는 값을 결정하여도 좋다. 보다 구체적으로는, 계수 선택부(1272)는, 생성된 의사 구배 매크로 블록의 각 화소의 화소치(구배 강도)에 의거하여, Lookup 테이블(1274)을 참조함으로써, 각 화소에 관한 계수(D)를 결정한다. Lookup 테이블(1274)을 이용함으로써, 의사 구배 매크로 블록에 대해 계수(D)를 비선형으로 결정할 수 있다. 이와 같이, 계수(D)를 비선형으로 결정함으로써, 디코드 후의 화상 품질을 향상시킬 수 있다.
도 7은, 본 발명의 실시의 형태에 관한 잉여의 산출에 이용되는 계수(D)를 결정하기 위한 Lookup 테이블(1274)의 한 예를 도시하는 도면이다. 도 7에 도시하는 바와 같이, 구배 강도에 응하여 복수의 단계(Gradient Range)로 이산화(離散化)되어 있고, 각 단계에 관한 계수(D)가 정의된다. 구배 화상 생성부(1270)는, Lookup 테이블(1274)을 참조하여, 대상의 매크로 블록의 각 화소에 대응하는 계수(D)를 선택한다. 여기서, 계수(D)는, 대상의 매크로 블록에 포함되는 각 컬러 컴포넌트의 각 화소에 관해 결정된다.
도 7에 도시하는 Lookup 테이블(1274)에서는, 모듈로 연산의 법이 되는 값(계수(D))가 2의 멱승(冪乘)이 되도록 설계되어 있다. 이와 같이 계수(D)의 할당을 행함으로써, 모듈로 연산을 고속화할 수 있다. Lookup 테이블(1274)은, 임의로 설계할 수 있기 때문에, 단계수가 보다 적은, 또는, 단계수가 보다 많은 Lookup 테이블을 채용하여도 좋다.
또는, Lookup 테이블을 반드시 사용할 필요는 없고, 미리 정하여진 함수 등을 이용하여 계수(D)를 결정하여도 좋다. 예를 들면, 의사 구배 매크로 블록의 각 화소에서 화소치를 그대로 계수(D)로 하여도 좋다.
모듈로 연산부(1278)는, 처리 선택부(1266)로부터 순차적으로 출력되는 화소에 대해, 대응하는 계수(D)를 법으로 하여 그 화소치에 대한 모듈로 연산을 행한다. 보다 구체적으로는, 각 화소의 화소치(Value)=q×D+m(단, q≥0, D>0)가 성립하는 최소의 m이 결정된다. 여기서, q는 상(商)이고, m는 잉여이다.
후술하는 매크로 블록의 재구성 처리(디코딩)에서는, 「화소치(P)=k×D+m」가 산출되기 때문에, 각 화소에 관해 산출된 컬러 컴포넌트별(別)의 잉여(m)(Remainder)가 출력된다.
여기서, 구배 화상 생성부(1270)에서의 의사 구배 매크로 블록의 생성 방법에 관해 설명한다. 보다 구체적으로는, 구배 화상 생성부(1270)는, 사이드 정보로서의 움직임 보상 매크로 블록(인트라 매크로 블록, 또는, 인터 매크로 블록)으로부터 화상 공간상의 변화의 정도를 나타내는 의사 구배 매크로 블록을 생성한다. 의사 구배 매크로 블록은, 움직임 보상 매크로 블록 내에서, 그 텍스처 변화가 보다 큰 영역이 보다 큰휘도도 개 화상을 의미한다. 의사 구배 매크로 블록의 생성 처리로서는, 임의의 필터링 처리를 이용할 수 있다. 또한, 의사 구배 매크로 블록을 구성하는 각 화소치는, 소정 범위 내(예를 들면, 0∼255)의 어느 하나의 정수치를 취하도록 정규화된다. 전형적으로는, 이하와 같은 처리 순서로 의사 구배 매크로 블록이 생성된다.
(i) 의사 구배 매크로 블록에 대해 노이즈 제거를 위해 가우시안 필터를 적용한다(가우시안 스무징 처리).
(ⅱ) 필터 후의 사이드 정보를 컬러 컴포넌트별로 분리한다(즉, 컬러 컴포넌트별로 그레이 스케일 화상을 생성한다).
(ⅲ) 각 컬러 컴포넌트의 그레이 스케일 화상에 관해, (c1)∼(c4)의 처리를 실행한다.
(ⅲ-1) 에지 검출 처리
(ⅲ-2) (1회 이상의) 가우시안 스무징 처리(또는, 미디언 필터 처리)
(ⅲ-3) 일련의 모르폴로지컬 처리(예를 들면, (1회 이상의) 팽창 처리, (1회 이상의) 수축 처리, (1회 이상의) 팽창 처리)
(ⅲ-4) (1회 이상의) 가우시안 스무징 처리
이상과 같은 처리에 의해, 움직임 보상 매크로 블록을 구성하는 컬러 컴포넌트별로 의사 구배 매크로 블록이 생성된다.
여기에 나타낸 처리 순서는 한 예이고, 가우시안 스무징 처리나 모르폴로지컬 처리의 처리 내용이나 처리 순서 등은 적절히 설계할 수 있다.
또한, 움직임 보상 매크로 블록 내에서 보다 큰휘도 변화가 생기고 있는 영역에 대해, 보다 큰 화소치(휘도)를 할당하는 매크로 블록을 생성할 수 있다면, 어떤 방법을 채용하여도 좋다. 한 예로서, x방향 및 y방향의 각각에 관해 sobel 필터를 적용하여, 그 적용 결과의 평균치를 매크로 블록으로 하여도 좋다.
(f4 : 데이터 포맷 변환부(1206)(제2 데이터 포맷용))
도 8은, 본 발명의 실시의 형태에 관한 데이터 포맷 변환부(1206)의 다른 기능 블록도이다. 도 8을 참조하면, 데이터 포맷 변환부(1206)는, 도 6에 도시하는 데이터 포맷 변환부(1206)에 비교하여, 마스크 생성부(1264), 처리 선택부(1266), 및 합성부(1280)에 대신하여, 적산부(1265), 평가부(1267), 및 전환부(1269)를 마련한 것이다. 그 밖의 컴포넌트의 상세에 관해서는, 상술하였기 때문에 그 내용은 반복하지 않는다.
비교부(1262), 적산부(1265), 및 평가부(1267)는, 대상의 매크로 블록에 대해, 잔차 및 잉여의 어느 것으로 정의하여야 하는지를 결정한다. 즉, 비교부(1262), 적산부(1265), 및 평가부(1267)는, 잔차 화상(잔차 매크로 블록)을 소정 사이즈의 분할한 각 블록에 관해, 당해 블록을 구성하는 각각의 화소의 화소치에 관한 평가를 결합한 결과에 의거하여, 잉여로 정의하여야 할 영역을 블록 단위로 결정한다. 평가부(1267)는, 잔차 화상에 포함되는 블록 중, 잉여로 정의된 블록을 특정하기 위한 정보를 부가 정보로서 출력한다.
보다 구체적으로는, 비교부(1262)는, 잔차 매크로 블록을 구성하는 각 화소의 화소치와 사이드 정보의 일부인 임계치(TH1)를 비교한다. 그리고, 비교부(1262)는, 그 화소치가 임계치(TH1)를 초과하는 화소에 관해서는, 그 화소치와 임계치(TH1)와의 차분을 적산부(1265)에 출력한다. 즉, 적산부(1265)는, 각 잔차 매크로 블록에 관해, 그 화소치가 임계치(TH1)를 초과하는 화소에 관한 「화소치-임계치(TH1)」의 총합(Σ(화소치-임계치(TH1)))을 산출한다.
평가부(1267)는, 산출된 총합과 임계치(TH2)를 비교하여, 대상의 잔차 매크로 블록에 대해, 잔차 및 잉여의 어느 것으로 정의하여야 하는지를 결정한다. 구체적으로는, 산출된 총합이 임계치(TH2) 이상이라면, 평가부(1267)는, 그 대상의 잔차 매크로 블록을 그대로 출력한다고 결정한다. 한편, 산출된 총합이 임계치(TH2) 미만이면, 평가부(1267)는, 그 대상의 잔차 매크로 블록을 잉여 매크로 블록으로 변환한 다음 출력한다고 결정한다. 즉, 잔차 매크로 블록이 상대적으로 화소치가 작은 화소로 구성되어 있다고 판단되는 경우에는, 당해 매크로 블록의 정보는 크게 소실될 가능성이 있기 때문에, 잔차가 아니라, 잉여로 정의하는 데이터 포맷으로 변환된다.
또한, 평가부(1267)는, 이 결정에 의거하여, 전환부(1269)에 지령을 준다. 보다 구체적으로는, 대상의 잔차 매크로 블록을 그대로 출력한다고 결정된 경우에는, 전환부(1269)는, 모듈로 연산부(1278)를 바이패스하는 경로를 유효화한다. 이에 대해, 대상의 잔차 매크로 블록을 잉여 매크로 블록으로 변환한 다음 출력한다고 결정된 경우에는, 전환부(1269)는, 잔차 매크로 블록을 모듈로 연산부(1278)에 주는 경로를 유효화한다.
이 매크로 블록에 관한 잉여 및 잔차의 어느 것으로 정의하는지라는 정보는, 플래그(flag2)로서 사이드 정보에 포함된다. 마스크 생성부(1264)로부터의 플래그(flag2)의 값에 의거하여, 인코딩 및 디코딩에서, 각 매크로 블록에 적용되는 순서가 결정된다.
또한, 데이터 포맷 변환 후의 매크로 블록으로서, 잉여 매크로 블록을 이용한 경우에는, 불가역 압축의 형식이 되기 때문에, 이 매크로 블록을 로컬 디코더(1210)(도 4)에서 복원할 때에는, 디블록 필터(1216)에서의 처리를 바이패스하도록 하여도 좋다. 이에 의해, 노이즈의 발생을 저감할 수 있다.
[G. 직교 변환·양자화부(1208)]
다음에, 본 발명의 실시의 형태에 관한 직교 변환·양자화부(1208)(도 4)에서의 처리에 관해 상세히 기술한다. 직교 변환·양자화부(1208)는, 데이터 포맷 변환부(1206)로부터의 데이터 포맷 변환 후의 매크로 블록에 대해, 직교 변환, 양자화, 및 스케일링을 실행한다.
이 직교 변환 및 양자화의 타입에 관해서는, 데이터 포맷 변환부(1206)로부터 출력되는 매크로 블록의 데이터 포맷 타입에 응하여, 동적으로 변경되어도 좋다. 예를 들면, 잔차로 정의된 영역에 관해서는, 관련 기술에서 이용되는 것과 같은 수법을 적용하는 한편으로, 잉여로 정의된 영역에 관해서는, 직교 변환, 양자화, 및 스케일링에 관한 파라미터를 다시 조정하여도 좋다.
[H. 데이터 포맷 역변환부(1214)에서의 처리]
다음에, 본 발명의 실시의 형태에 관한 데이터 포맷 역변환부(1214)(도 4)에서의 처리에 관해 상세히 기술한다.
(h1 : 데이터 포맷 역변환부에서의 처리 개요)
상술한 바와 같이, 데이터 포맷 변환부(1206)로부터 출력되는 데이터 포맷 변환 후의 매크로 블록에는 복수의 타입이 있기 때문에, 사이드 정보에 포함되는 데이터 포맷 타입에 의거하여, 데이터 포맷 역변환의 순서가 선택된다.
데이터 포맷 역변환부(1214)는, 잔차로 정의된 영역에 관해서는, 동일 프레임에서의, 움직임 보상 매크로 블록(인트라 프레임 예측부(1218)에서 생성되는 인트라 매크로 블록, 또는, 움직임 보상부(1220)에서 생성되는 인터 매크로 블록)을 가산함으로써, 오리지널 매크로 블록을 복원한다.
한편, 잉여로 정의된 영역에 관해서는, 움직임 보상 매크로 블록도 사이드 정보로서 이용된다. 보다 구체적으로는, 잉여로부터 본래의 화소치를 추정하기 위한 역모듈로 연산에 이용하는 계수(분모)를 결정하기 위해, 움직임 보상 매크로 블록에 관한 의사 구배 매크로 블록, 또는 그것에 유사한 정보를 갖는 매크로 블록이 생성된다.
상술한 바와 같이, 데이터 포맷 변환 후의 매크로 블록으로서는, 화소 단위로 잉여와 잔차를 조합한 제1 데이터 포맷, 및, 매크로 블록 단위로 잉여와 잔차를 조합한 제2 데이터 포맷이 존재할 수 있는데, 어느 매크로 블록에 대해서도, 기본적으로는 같은 데이터 포맷 역변환(복원 처리)이 적용되다. 또한, 이하의 설명에서, 잔차의 산출에 관한 처리를 제외함으로써, 잉여만으로 정의된 데이터 포맷 변환 후의 매크로 블록에 대한 데이터 포맷 역변환(복원 처리)를 실현할 수 있음은 자명하다.
(h2 : 데이터 포맷 역변환부(1214))
도 9는, 본 발명의 실시의 형태에 관한 데이터 포맷 역변환부(1214)의 기능 블록도이다. 도 9를 참조하면, 데이터 포맷 역변환부(1214)는, 처리 선택부(1290)와, 가산부(1292)와, 구배 화상 생성부(1270)와, 계수 선택부(1272)와, Lookup 테이블(1274)과, 역모듈로 연산부(1298)와, 합성부(1294)를 포함한다. 또한, 도 6에 도시하는 데이터 포맷 변환부(1206)를 구성하는 컴포넌트와 같은 처리를 실행하는 컴포넌트에 관해서는, 같은 참조 부호를 붙이고 있다.
처리 선택부(1290)는, 사이드 정보의 일부인 플래그(flag1) 및/또는 플래그(flag2)에 의거하여, (역직교 변환·스케일링부(1212)에 의해 복원된) 데이터 포맷 변환 후의 매크로 블록에 관한 데이터 포맷 타입을 판단함과 함께, 잉여 및 잔차의 각각에 의해 정의되어 있는 영역(화소/매크로 블록)을 특정한다. 그리고, 처리 선택부(1290)는, 잔차에 의해 정의되어 있는 영역에 포함되는 화소치를 가산부(1292)에 출력함과 함께, 잉여에 의해 정의되어 있는 영역에 포함되는 화소치를 역모듈로 연산부(1298)에 출력한다.
가산부(1292)는, 처리 선택부(1290)로부터 화소치가 출력된 화소의 화소 위치에 대응하는 움직임 보상 매크로 블록에서의 화소치를, 출력된 화소치에 가산한다. 이 가산 처리에 의해, 오리지널 매크로 블록의 대응하는 화소치가 복원된다. 가산부(1292)는, 이 산출 결과를 합성부(1294)에 출력한다.
한편, 역모듈로 연산부(1298)는, 처리 선택부(1290)로부터 출력되는 화소치(잉여)와, 그 잉여를 산출할 때에 이용된 계수(D)로부터, 오리지널 매크로 블록의 대응하는 화소치를 역모듈로 연산에 의해 추정한다. 이 역모듈로 연산에 필요한 계수(D)는, 데이터 포맷 변환부(1206)에서의 잉여의 산출 처리와 같은 처리에 따라 결정된다. 즉, 구배 화상 생성부(1270)가 움직임 보상 매크로 블록에 관한 의사 구배 매크로 블록을 생성하고, 계수 선택부(1272)가 생성된 의사 구배 매크로 블록의 각 화소의 화소치(구배 강도)에 의거하여, Lookup 테이블(1274)를 참조함으로써, 각 화소에 관한 계수(D)를 결정한다. 이 구배 화상 생성부(1270), 계수 선택부(1272), 및 Lookup 테이블(1274)에 관한 처리는, 도 6을 참조하여 설명하였기 때문에, 상세한 설명은 반복하지 않는다.
역모듈로 연산부(1298)는, 각 화소에 관해 선택된 계수(D) 및 잉여(Remainder), 및 움직임 보상 매크로 블록의 대응하는 화소치(SI)를 이용하여, 역모듈로 연산을 행한다. 보다 구체적으로는, 역모듈로 연산부(1298)는, 오리지널 매크로 블록의 대응하는 화소치에 관한 후보치(C(q'))의 리스트를 C(q')=q'×D+Remainder(단, q'≥0, C(q')<256)에 따라 산출하고, 이 산출된 후보치(C(q')) 중, 움직임 보상 매크로 블록의 대응하는 화소치(SI)에 대한 차이가 가장 작은 것을, 오리지널 매크로 블록의 대응하는 화소치로서 결정한다.
예를 들면, 계수(D)=8, 잉여(m)=3, 움직임 보상 매크로 블록의 대응하는 화소치(SI)=8인 경우를 생각하면, 후보치(C(q'))로서는, 이하와 같이 된다.
후보치(C(0))=0×8+3=3 (SI와의 차=5)
후보치(C(1))=1×8+3=11 (SI와의 차=3)
후보치(C(2))=2×8+3=19 (SI와의 차=11)
이들의 후보치(C(q')) 중, 움직임 보상 매크로 블록의 대응하는 화소치(SI)와의 차가 가장 작아지는 후보치(C(1))가 선택되어, 오리지널 매크로 블록의 대응하는 화소치는 「11」로 결정된다. 이와 같이 하여, 오리지널 매크로 블록의 각 화소의 화소치가 컬러 컴포넌트별로 각각 결정된다. 이 산출된 화소치가 합성부(1294)에 출력된다. 합성부(1294)는, 화소마다 입력되는 잉여 또는 잔차를 결합하여, 오리지널 매크로 블록(Original MB)을 출력한다.
[I. 디코더(210)의 기능 구성]
다음에, 본 발명의 실시의 형태에 관한 인코딩/디코딩 시스템을 구성하는 디코더(210)(도 1)의 기능 구성에 관해 설명한다.
도 10은, 본 발명의 실시의 형태에 관한 디코더(210)의 기능 블록도이다. 도 10을 참조하면, 디코더(210)는, 입력 버퍼(2102)와, 엔트로피 복호부(2104)와, 역직교 변환·스케일링부(2112)와, 데이터 포맷 역변환부(2114)와, 디블록 필터(2116)와, 인트라 프레임 예측부(2118)와, 움직임 보상부(2120)와, 전환부(2122)와, 제어부(2130)와, 출력 버퍼(2142)를 포함한다.
개략하면, 디코더(210)는, 도 3에 도시하는 디코더(910)에 비교하여, 잔차 화상과 먼저 산출되어 있는 예측 화상(보간 정보)를 가산하는 가산부(9114)에 대신하여 데이터 포맷 역변환부(2114)가 마련되어 있는 점이 주로 다르다. 단, 이 구조의 변경에 수반하여, 제어부(2130)의 동작도 제어부(9130)와는 다른 것으로 되어 있다.
즉, 입력 버퍼(2102), 엔트로피 복호부(2104), 역직교 변환·스케일링부(2112), 디블록 필터(2116), 인트라 프레임 예측부(2118), 움직임 보상부(2120), 전환부(2122), 제어부(2130), 및, 출력 버퍼(2142)의 기능은, 도 3에 도시하는 입력 버퍼(9102), 엔트로피 복호부(9104), 역직교 변환·스케일링부(9112), 디블록 필터(9116), 인트라 프레임 예측부(9118), 움직임 보상부(9120), 전환부(9122), 제어부(9130), 및, 출력 버퍼(9142)에 유사한 것으로 되어 있다.
[J. 디코더(210)에서의 처리 순서]
다음에, 디코더(210)에서의 처리 순서에 관해 설명한다. 디코더(210)에서는, 도 4에 도시하는 인코더(120)로부터의 비트 스트림으로부터 오리지널 화상을 복원한다. 도 10을 참조하면, 비트 스트림이 입력 버퍼(2102)에 주어진다. 입력 버퍼(2102)는, 주어진 비트 스트림을 일시적으로 격납한다. 엔트로피 복호부(2104)는, 입력 버퍼(2102)로부터의 비트 스트림에 대해 엔트로피 복호를 행하고, 그 결과로서, 움직임 데이터, 양자화 후의 변환 계수, 및, 제어 데이터 및 파라미터를 출력한다. 움직임 데이터는, 움직임 보상부(2120)에 주어진다.
역직교 변환·스케일링부(2112)는, 엔트로피 복호부(2104)에서 복호된 양자화 후의 변환 계수에 대해, 역직교 변환(전형적으로는, 이산 푸리에 역변환) 및 스케일링을 실행한다. 이들의 처리에 의해, 데이터 포맷 변환 후의 매크로 블록이 복원된다. 그리고, 데이터 포맷 역변환부(2114)에 의해, 데이터 포맷 변환 후의 매크로 블록에 대해, 데이터 포맷 역변환이 실행됨과 함께, 디블록 필터(2116)가 그 결과에 대해, 블록 노이즈의 발생을 억제하기 위해 블록 경계를 평활화한다. 이들의 처리에 의해, 오리지널 화상이 복원된다.
인트라 프레임 예측부(2118)는, 인접하는 매크로 블록에 의거하여 예측 화상을 생성한다.
움직임 보상부(2120)는, 인터 프레임 예측(프레임 사이 예측)를 이용하여, 예측 화상을 생성한다. 보다 구체적으로는, 움직임 보상부(2120)는, 복원된 오리지널 매크로 블록과, 엔트로피 복호부(2104)에서 복호된 움직임 데이터에 의거하여, 예측 화상을 생성한다.
인트라 프레임 예측부(2118) 및 움직임 보상부(2120)의 각각에서 생성된 예측 화상은, 전환부(2122)에 의해 어느 한쪽이 적절히 선택되어, 데이터 포맷 역변환부(2114)에 주어진다.
제어부(2130)는, 엔트로피 복호부(2104)에서 복호된 제어 데이터 및 파라미터에 의거하여, 역직교 변환·스케일링부(2112), 데이터 포맷 역변환부(2114) 및 전환부(2122)에서의 처리를 제어한다.
출력 버퍼(2142)는, 디블록 필터(2116)로부터의 복원된 오리지널 화상(영상 신호)를 일시적으로 격납한다.
[K. 파라미터 및 사이드 정보]
다음에, 본 발명의 실시의 형태에 관한 인코딩/디코딩 시스템에서 이용되는 파라미터 및 사이드 정보에 관해 상세히 기술한다.
우선, 상술한 바와 같이, 본 발명의 실시의 형태에서는, 플래그(flag1) 및/또는 플래그(flag2)를 이용하여, 데이터 포맷 변환 후의 매크로 블록에서 잉여로 정의되는 영역이 특정된다. 환언하면, 플래그(flag1) 및 플래그(flag2)를 모두 무효화함으로써, 모든 영역이 잔차로 정의되는 것이 특정된다. 이와 같은 모든 영역이 잔차로 정의되는, 즉 데이터 포맷 변환이 실시되지 않는 경우에는, 인코더(120)(보다 구체적으로는, 제어부(1230)) 및 디코더(210)(보다 구체적으로는, 제어부(2130))는, 예를 들면, MPEG-4 AVC와 같은 규격에 따른 동작을 행한다.
한편, 본 발명의 실시의 형태에 관한 데이터 포맷 변환이 실시된 경우에는, 상술한 플래그(flag1, flag2)에 더하여, 타입(type), 임계치(TH1, TH2), 잉여 연산용 파라미터(a) 등의 파라미터가 이용된다.
우선, 타입(type)은, 화소 단위로 잉여와 잔차를 조합하는 제1 데이터 포맷(도 5(a))와, 매크로 블록 단위로 잉여와 잔차를 조합하는 제2 데이터 포맷(도 5(b))의 어느것이 선택되어 있는지를 나타내는 파라미터에 상당한다.
타입(type)은, 어느 하나의 데이터 포맷이 선택되어 있는지를 특정할 수 있으면 좋기 때문에, 단일 비트(1비트)의 정보가 할당되면 충분한다. 선택되는 데이터 포맷에 응하여, 이하와 같은 파라미터가 이용된다.
(i) 제1 데이터 포맷
(A) 플래그(flag1)
매크로 블록을 구성하는 화소마다 플래그(flag1)가 할당되고, 플래그(flag1)의 각각은, 대응하는 화소가 잉여 및 잔차의 어느 것으로 정의되는 것인지를 나타낸다. 대체(代替)의 구성으로서, 잉여 및 잔차의 한편에만 플래그(flag1)를 할당하고, 다른편에는 플래그(flag1)를 할당하지 않도록 함으로써, 각 화소에 관해, 잉여 및 잔차의 어느 것으로 정의되는 것인지를 특정할 수 있다.
(B) 임계치(TH1)
임계치(TH1)는, 각 매크로 블록을 구성하는 복수의 화소의 각각에 관해, 잉여 및 잔차의 어느 것으로 정의하여야 하는지를 판단하기 위한 판단 기준으로서 이용된다. 즉, 임계치(TH1)는, 잔차 화상(잔차 매크로 블록)을 구성하는 화소 중 그 화소치를 잉여로 정의하여야 할 영역을 특정하기 위한 판단 기준이고, 이 임계치(TH1)는, 부가 정보로서 디코더측에 송신된다.
(C) 잉여 연산용 파라미터(a)
잉여 연산용 파라미터(a)는, 모듈로 연산부(1278)(도 6)에서 이용되는 계수(D)를 결정하기 위한 파라미터이다. 한 예로서, 구배 화상 생성부(1270)(도 4)에서 생성되는 의사 구배 매크로 블록에 대한 임계치를, 잉여 연산용 파라미터(a)로 하여도 좋다. 즉, 도 7에 도시하는 바와 같은 Lookup 테이블(1274)에서의 각 계조를 결정하는 임계치가 잉여 연산용 파라미터(a)가 된다.
또는, 도 7에 도시하는 바와 같은 Lookup 테이블을 복수 준비하여 두고, 어느 Lookup 테이블을 선택하는지를 나타내는 식별자를 잉여 연산용 파라미터(a)로 하여도 좋다.
(ⅱ) 제1 데이터 포맷
(A) 플래그(flag2)
매크로 블록마다 플래그(flag2)가 할당되고, 플래그(flag2)의 각각은, 대응하는 매크로 블록이 잉여 및 잔차의 어느 것으로 정의되는 것인지를 나타낸다. 대체의 구성으로서, 잉여 및 잔차의 한편에만 플래그(flag2)를 할당하고, 다른편에는 플래그(flag2)를 할당하지 않도록 함으로써, 각 매크로 블록에 관해, 잉여 및 잔차의 어느 것으로 정의되는 것인지를 특정할 수 있다.
(B) 임계치(TH2)
임계치(TH2)는, 매크로 블록의 각각에 관해, 잉여 및 잔차의 어느 것으로 정의하여야 하는지를 판단하기 위한 판단 기준으로서 이용된다. 이 판단에서는, 임계치(TH1)도 이용된다.
(C) 잉여 연산용 파라미터(a)
상술한 제1 데이터 포맷에 대해 이용되는 잉여 연산용 파라미터(a)와 마찬가지로, 의사 구배 매크로 블록에 대한 임계치, 또는, 사용하는 Lookup 테이블을 선택하는지를 나타내는 식별자를 포함한다.
또한, 인코더(120)에서는, 속도 왜곡에 응한 최적화(rate-distortion optimization)가 실행되어도 좋다. 이 때, 잉여 및 잔차의 어느 것으로 정의하여야 하는지를 판단하기 위한 임계치(TH1) 및/또는 임계치(TH2)에 대해서도, 이 최적화의 대상으로 하는 것이 바람직하다. 이 최적화에 의해, 성능을 보다 향상시킬 수 있다.
[L. 하드웨어 구성]
다음에, 상술한 송신기 및 수신기를 실현하기 위한 하드웨어 구성의 한 예에 관해 설명한다. 도 11은, 송신기로서 기능하는 정보 처리 장치(100)의 하드웨어 구성을 도시하는 모식도이다. 도 12는, 수신기로서 기능하는 정보 처리 장치(200)의 하드웨어 구성을 도시하는 모식도이다.
도 11을 참조하면, 정보 처리 장치(100)는, 프로세서(104)와, 메모리(106)와, 카메라 인터페이스(108)와, 통신 인터페이스(112)와, 하드 디스크(114)와, 입력부(116)와, 표시부(118)를 포함한다. 이들의 각 컴포넌트는, 버스(122)를 통하여 서로 데이터 통신 가능하게 구성되어 있다.
프로세서(104)는, 하드 디스크(114) 등에 격납되어 있는 프로그램을 판독하여 메모리(106)에 전개하여 실행함으로써, 본 발명의 실시의 형태에 관한 인코딩 처리를 실현한다. 메모리(106)는, 프로세서(104)가 처리를 실행하기 위한 워킹 메모리로서 기능한다.
카메라 인터페이스(108)는, 복수의 카메라(10)와 접속되고, 각각의 카메라(10)가 촬상한 화상을 취득한다. 취득된 화상은, 하드 디스크(114)나 메모리(106)에 격납되어도 좋다. 하드 디스크(114)는, 상술한 인코딩 처리를 실현하기 위한 인코딩 프로그램(114a)을 불휘발적으로 유지하고 있다.
입력부(116)는, 전형적으로는, 마우스나 키보드 등을 포함하고, 유저로부터의 조작을 접수한다. 표시부(118)는, 처리 결과 등을 유저에게 통지한다.
통신 인터페이스(112)는, 무선 전송 장치(102) 등과 접속되고, 프로세서(104)에 의한 처리의 결과 출력되는 데이터를 무선 전송 장치(102)에 출력한다.
도 12를 참조하면, 정보 처리 장치(200)는, 프로세서(204)와, 메모리(206)와, 프로젝터 인터페이스(208)와, 통신 인터페이스(212)와, 하드 디스크(214)와, 입력부(216)와, 표시부(218)를 포함한다. 이들의 각 컴포넌트는, 버스(222)를 통하여 서로 데이터 통신 가능하게 구성되어 있다.
프로세서(204), 메모리(206)와, 입력부(216), 및, 표시부(218)는, 도 11에 도시하는 프로세서(104), 메모리(106)와, 입력부(116), 및, 표시부(118)와 각각 마찬가지이기 때문에, 상세한 설명은 반복하지 않는다.
프로젝터 인터페이스(208)는, 입체 표시 장치(300)와 접속되고, 프로세서(204)에 의해 복원된 다시점 화상 등을 입체 표시 장치(300)에 출력한다.
통신 인터페이스(212)는, 무선 전송 장치(202) 등과 접속되고, 정보 처리 장치(100)로부터 전송되는 비트 스트림을 수신하고, 프로세서(204)에 출력한다.
하드 디스크(214)는, 디코딩을 실현하기 위한 디코딩 프로그램(214a)과, 복원된 오리지널 화상을 포함하는 화상 데이터(214b)를 불휘발적으로 유지하고 있다.
도 10 및 도 11에 각각 도시하는 정보 처리 장치(100 및 200)의 하드웨어 자체 및 그 동작 원리는 일반적인 것이고, 본 발명의 실시의 형태에 관한 인코딩/디코딩을 실현하기 위한 본질적인 부분은, 하드 디스크 등의 기억 매체에 격납된 인코딩 프로그램(114a)이나 디코딩 프로그램(214a) 등의 소프트웨어(명령 코드)이다. 이와 같은 인코딩 프로그램(114a)이나 디코딩 프로그램(214a)은, 광학 기억 매체, 자기 기억 매체, 반도체 기억 매체라는 기억 매체에 격납되어 유통된다. 이와 같은 프로그램을 격납하는 기억 매체에 관해서도 본원 발명의 범위에 포함될 수 있다.
인코딩 프로그램(114a) 및/또는 디코딩 프로그램(214a)은, OS(Operating System)가 제공하는 모듈을 이용하여 처리를 실행하도록 구성하여도 좋다. 이 경우에는, 인코딩 프로그램(114a) 및/또는 디코딩 프로그램(214a)은, 일부의 모듈을 포함하지 않는 것으로 되지만, 이와 같은 경우라도, 본원 발명의 기술적 범위에 포함된다.
정보 처리 장치(100) 및/또는 정보 처리 장치(200)의 전부 또는 일부의 기능을 ASIC(Application Specific Integrated Circuit) 등의 전용의 집적 회로를 이용하여 실현하여도 좋고, FPGA(Field-Programmable Gate Array)나 DSP(Digital Signal Processor) 등의 프로그램 가능한 하드웨어를 이용하여 실현하여도 좋다.
[M. 기타의 실시의 형태]
본 발명의 실시의 형태에서는, 오리지널 매크로 블록으로부터 움직임 보상 매크로 블록(인트라 매크로 블록, 또는, 인터 매크로 블록)을 감(減)한 잔차 매크로 블록에 대해, 임계치가 적용됨으로써, 잉여 및 잔차의 각각으로 정의되는 영역이 결정된다. 이 임계치 및 데이터 포맷 변환에 필요한 다른 파라미터는, 속도 최적화 루프를 이용하여 동적 또는 정적으로 최적화되어도 좋다.
본 발명의 실시의 형태에서는, 잉여를 산출하기 위해 모듈로 연산을 행한다. 이 모듈로 연산에서 분모(법)가 되는 계수(D)는, 대상의 매크로 블록과 동일한 움직임 보상 매크로 블록(또는, 움직임 보상 프레임)의 구배 화상에 의거하여, 결정된다. 이 구배 화상((의사) 구배 매크로 블록, 또는, (의사) 구배 프레임)는, 인트라 매크로 블록(또는, 인트라 프레임), 또는, 인터 매크로 블록(또는, 인터 프레임)으로부터 생성된다. 이 때, 복수의 프레임에 걸치는 매크로 블록 사이에서 구배를 산출하여도 좋다. 즉, 구배 화상은, 시간 영역 및/또는 공간 영역에 걸쳐서 산출되어도 좋다. 이와 같이 산출된 구배 화상에 응하여, 모듈로 연산에서 이용되는 계수(D)가 결정된다.
본 발명의 실시의 형태에서는, 모듈로 연산에서 이용되는 계수(D)는, 각 영역을 잉여 및 잔차의 어느 것으로 정의하여야 하는지를 판단하기 위한 (의사) 구배 매크로 블록(또는, 구배 프레임)에 적용되는 임계치와 같이 설정하여도 좋다.
상술한 실시의 형태에서는, 매크로 블록 또는 프레임에 관한 데이터 포맷으로서, (1) 잉여만으로 각 영역이 정의되는 데이터 포맷, 및, (2) 잉여와 잔차와의 조합으로 각 영역이 정의되는 데이터 포맷에 관해 설명하였지만, 또 다른 데이터 포맷을 채용할 수도 있다. 그 때문에, 매크로 블록 또는 프레임은, 모두 제로, 잔차와 제로와의 조합, 모두 잔차, 잉여와 제로와의 조합, 모두 잉여, 잉여와 잔차와의 조합, 잉여와 잔차와 제로와의 조합, 이라는 다양한 컴포넌트를 포함할 수 있다.
상술한 실시의 형태에서는, 동화상의 압축 규격의 하나인, MPEG-4 AVC에 적용한 구성례를 나타냈다. 이 구성례에서, 데이터 포맷 변환 후의 데이터 압축의 처리에 관해서는, 규격에 따른 순서로 실행된다. 한편, 데이터 포맷 변환의 처리에 관해서는, 데이터 압축에 관한 파라미터에 따라 최적화된다. 인코딩의 최종 단계에서, 정지화상/동화상/다시점 화상에 대한 임의의 데이터 압축 툴을 적용할 수도 있다.
디코딩 처리에 있어(즉, 데이터 복원 처리)도, 본 발명의 실시의 형태에 관한 데이터 포맷에 응한 디코더가 이용된다. 예를 들면, 데이터 포맷 타입(type)에 관한 정보가 인코더로부터 디코더에 전송된다. 이와 같은 정보를 부가함에 의해, 종래의 장치 및 기존의 규격과의 호환성을 확보할 수 있다. 잉여와 잔차를 조합한 데이터 포맷의 데이터가 전송되는 경우에는, 그 비트 스트림에는, 규격상 필요한 파라미터에 더하여, 부호화에 관한 파라미터 및 데이터 포맷에 관한 파라미터가 포함된다.
MPEG-4 AVC 규격에 따라 인코딩된 경우에는, 시간 영역 및 공간 영역에서 인코드된 매크로 블록/프레임을 디코딩하기 위해서는, 각 포지션에서의 움직임 데이터(전형적으로는, 움직임 벡터(vector))가 필요해진다. 인코딩된 매크로 블록/프레임에서, 잉여로 정의되는 영역과 잔차로(또는, 제로로서) 정의된 영역을 구별하기 위해, 데이터 포맷 변환에 관한 파라미터가 이용된다.
디코딩에서도, 인트라 매크로 블록(또는, 인트라 프레임), 또는, 인터 매크로 블록(또는, 인터 프레임)으로부터 구배 화상이 생성된다. 이 구배 화상에 의거하여, 잉여로 정의되는 영역을 복원하기 위한 역모듈로 연산에 이용하는 계수(분모)가 결정된다.
디코딩에서, 잔차로 정의된 영역에 대해서는, 움직임 보상 매크로 블록/프레임 또는 합성 매크로 블록/프레임에 의거하여 또한 보상하도록 하여도 좋다.
제로가 설정되어 있는 영역에 대해서는, 움직임 보상 매크로 블록/프레임의 대응하는 값이 할당되어도 좋다. 잉여로 정의되는 영역에 관해서는, 상술한 바와 같은 역모듈로 연산에 의해 복원된다.
상술한 실시의 형태에서는, 불가역 압축(비가역 압축)의 인코딩/디코딩 시스템에의 적용례에 관해 설명하였지만, 가역 압축의 인코딩/디코딩 시스템에도 적용 가능하다. 이 경우에는, 도 4에 도시하는 직교 변환·양자화부(1208) 및 역직교 변환·스케일링부(1212), 및, 도 10에 도시하는 역직교 변환·스케일링부(2112) 등이 불필요해진다. 즉, 인코딩에서, 직교 변환이나 양자화라는 데이터 손실이 생기는 처리는 실행되지 않는다.
본 발명의 실시의 형태에 의하면, 화상의 데이터 압축 처리에서 이용되는 화상의 데이터 포맷 변환의 방법이 제공된다. 이 방법은, 복수의 카메라에 의해 촬상된 다시점 화상, 복수의 Depth 카메라에 의해 촬상된 다시점 거리 화상, 일련의 정지화상 또는 정지화상, 또는, 임의의 형식의 화상 데이터에 대해, 기존의 규격을 개량한 부호화 툴(정지화상/동화상/다시점 화상에 대한 개량된 데이터 압축 툴)로 데이터 압축하는 공정을 포함한다. 여기서, 데이터 포맷 변환은, 복수의 화소로 이루어지는 블록(매크로 블록) 단위로 실행된다. 데이터 포맷 변환의 처리는, 이하의 공정을 포함한다.
(a) 인터 매크로 블록(전방향 예측, 후방향 예측, 및 양방향 예측 중 어느 하나를 이용하여 인코딩된 매크로 블록), 또는, 인트라 매크로 블록에 의거하여, 블록 데이터 포맷의 각 화소를 소정의 파라미터에 따라, 잉여, 잔차, 제로의 어느 하나로 변환하는 공정
(b) 인터 매크로 블록, 또는, 인트라 매크로 블록, 및 오리지널 매크로 블록에 의거하여, 차분 블록, 즉 잔차 매크로 블록을 생성하는 공정
(c) 소정의 파라미터 및 잔차 매크로 블록에 의거하여, 그 값을 잉여로 변환하여야 할 것으로 판단된 화소에 플래그를 유효화하는 공정
(d) 소정의 파라미터에 의거하여, 잔차 매크로 블록을 구성하는 화소 중, 그 값을 제로로 하여야 할 것으로 판단된 화소에 관해, 제로로 변환하는 공정(이들의 화소는, 잔차가 제로인 화소로서 취급된다)
(e) 인터 매크로 블록, 또는, 인트라 매크로 블록에 의거하여, 의사 구배 화상을 생성하는 공정
(f) 당해 의사 구배 화상에 의거하여, 모듈로 연산에 의해 잉여를 결정하기 위한 파라미터를 설정하는 공정
(g) 오리지널 매크로 및 모듈로 연산에 관해 설정된 파라미터 세트에 의거하여, 그 값을 잉여로 변환하여야 할 것으로 판단된 화소에 관해, 잉여로 변환하는 공정
(h) 정지화상/동화상/다시점 화상에 대한 데이터 압축에 관한 기존의 규격에 유사한 데이터 압축에 관한 처리를, 새로운 데이터 포맷 변환 후의 매크로 블록에 대해 실행하는 공정
(i) 데이터 포맷 변환을 위한 파라미터를 규격에 따른 최적화 처리에 추가하여, 당해 파라미터의 데이터 압축을 실행하는 공정
(j) 새로운 데이터 포맷의 규격에 따른 데이터 압축 파라미터 및 데이터 포맷 변환을 위한 파라미터에 대해, 기존의 최적화 처리를 이용하여, 그 압축 효율 및 압축 품질을 보다 높게 하기 위한 최적화 처리를 실행하는 공정
(k) 정지화상/동화상/다시점 화상에 대한 개량된 데이터 압축 툴을 이용하여 압축된 화상 데이터의 비트 스트림, 각 압축된 매크로 블록에 관한 정보, 및, 데이터 포맷 역변환을 위한 대응하는 파라미터를 데이터 복원 툴에 제공하는 공정
(l) 인터 매크로 블록, 또는, 인트라 매크로 블록, 및 잔차 및 제로 화소에 의거하여, 플래그가 유효화되지 않은 화상에 관해, 잔차로부터 오리지널의 화소치를 복원하는 공정
(m) 인터 매크로 블록, 또는, 인트라 매크로 블록, 및 플래그에 의해 나타나는 잉여의 화소에 의거하여, 역모듈로 연산을 실행하는 공정(역모듈로 연산의 실행에서, 수신한 비트 스트림으로부터 추출된 모듈로 연산을 위한 대응하는 파라미터가 이용된다)
상술한 설명에서는, 데이터 포맷 변환 및 데이터 포맷 역변환을 매크로 블록 단위로 실행하는 경우에 관해 설명하였지만, 화상 전체에 적용할 수 있음은 말할 것도 없다. 구체적으로는, 오리지널 화상 전체에 관한 잔차 화상을 먼저 생성하고, 당해 생성한 잔차 화상에 대해, 상술한 처리를 화상 단위로 실행하여도 좋다.
[N. 이점]
본 발명의 실시의 형태는, 데이터 포맷 변환 및 데이터 압축의 양쪽이 단일한 시스템에 조립된 구성을 제공한다. 이와 같은 구성을 채용함으로써, 시스템의 복잡화를 회피할 수 있다. 또한, 기존의 압축 규격과의 호환성을 유지할 수 있기 때문에, 본 발명의 실시의 형태에 관한 새로운 데이터 포맷 변환(인코딩)의 조립이 용이화할 수 있다. 상술한 바와 같이, 본 발명의 실시의 형태에 관한 인코딩/디코딩 시스템에서는, 잉여의 정보를 이용하지 않는다면, 기존의 규격으로의 처리와 동일한 처리를 실현할 수도 있다. 그 때문에, 호환성을 유지할 수 있다.
본 발명의 실시의 형태에 관한 인코딩/디코딩 시스템은, 예를 들면, 분산 소스 인코딩(distributed source coding), 분산 영상 부호화(distributed video coding), 정지화상/동화상/다시점 화상에 대한 데이터 압축이라는, 각종의 화상 시스템에 적용 가능하다.
본 발명의 실시의 형태에 관한 인코딩/디코딩 시스템에 의하면, 정지화상/동화상/다시점 화상에 대한 데이터 압축에 관한 기존의 규격의 틀 내에서, 새로운 데이터 포맷을 이용함으로써, 데이터 압축 효율을 보다 높일 수 있다.
본 발명의 실시의 형태에 관한 인코딩/디코딩 시스템의 실장에 있어서, 기존의 규격에 따른 정지화상/동화상/다시점 화상에 대한 데이터 압축 툴에 대한 변경은 약간으로 끝난다. 또한, 본 발명의 실시의 형태에 관한 인코딩/디코딩 시스템을 실장한, 정지화상/동화상/다시점 화상에 대한 데이터 압축 툴은, 본 발명의 실시의 형태에 관한 처리를 무효화함으로써, 기존의 규격과의 호환성을 여전히 유지할 수 있다.
금회 개시된 실시의 형태는, 모든 점에서 예시이고 제한적인 것이 아니라고 생각되어야 할 것이다. 본 발명의 범위는, 상기한 실시의 형태의 설명이 아니라 청구의 범위에 의해 나타나고, 청구의 범위와 균등한 의미 및 범위 내에서의 모든 변경이 포함되는 것이 의도된다.
1 : 입체 영상 재생 시스템
2 : 피사체
10 : 카메라
100, 200 : 정보 처리 장치
102, 202 : 무선 전송 장치
104, 204 : 프로세서
106, 206 : 메모리
108 : 카메라 인터페이스
110 : 프리 프로세서
112, 212 : 통신 인터페이스
114, 214 : 하드 디스크
114a : 인코딩 프로그램
116, 216 : 입력부
118, 218 : 표시부
120, 820 : 인코더
122, 222 : 버스
208 : 프로젝터 인터페이스
210, 910 : 디코더
214a : 디코딩 프로그램
214b : 화상 데이터
220 : 포스트 프로세서
300 : 입체 표시 장치
302 : 프로젝터 어레이
310 : 표시 스크린
312 : 확산 필름
314 : 집광 렌즈
1202, 2102, 8202, 9102 : 입력 버퍼
1204, 8204 : 분할부
1206 : 데이터 포맷 변환부
1208, 8208 : 직교 변환·양자화부
1210, 8210 : 로컬 디코더
1212, 2112, 8212, 9112 : 역직교 변환·스케일링부
1214, 2114 : 데이터 포맷 역변환부
1216, 2116, 8216, 9116 : 디블록 필터
1218, 2118, 8218, 9118 : 인트라 프레임 예측부
1220, 2120, 8220, 9120 : 움직임 보상부
1222, 1269, 2122, 8222, 9122 : 전환부
1230, 2130, 8230, 9130 : 제어부
1240, 8240 : 움직임 추정부
1242, 2142, 8242, 9142 : 출력 버퍼
1250, 8250 : 엔트로피 부호화부
1260, 8206 : 감산부
1262 : 비교부
1264 : 마스크 생성부
1265 : 적산부
1266, 1290 : 처리 선택부
1267 : 평가부
1270 : 구배 화상 생성부
1272 : 계수 선택부
1274 : Lookup 테이블
1278 : 모듈로 연산부
1280, 1294 : 합성부
1292, 8214, 9114 : 가산부
1298 : 역모듈로 연산부
2104, 9104 : 엔트로피 복호부

Claims (7)

  1. 서로 관련된 정보를 포함하는 복수의 입력 화상을 인코딩하는 방법으로서,
    선행하는 하나 이상의 입력 화상으로부터 후속의 입력 화상에 포함되는 변화 성분을 나타내는 움직임 화상을 추정하는 스텝과,
    상기 후속의 입력 화상으로 추정된 상기 움직임 화상과의 차분으로부터 잔차 화상을 생성하는 스텝과,
    상기 잔차 화상의 화소치에 의거하여, 상기 잔차 화상을 구성하는 화소 중 그 화소치를 잉여로 정의하여야 할 영역을 특정하는 스텝과,
    특정된 상기 잉여로 정의하여야 할 영역에 관한 화소치를 잉여로 변환하는 스텝과,
    변환 후의 잔차 화상과, 상기 잉여로 정의하여야 할 영역을 특정하는 부가 정보를 인코딩하는 스텝을 포함하는 것을 특징으로 하는 방법.
  2. 제1항에 있어서,
    상기 변환 후의 잔차 화상을 구성하는 화소 중 상기 잉여로 정의된 화소에 대해 역모듈로 연산을 실행함으로써, 상기 잔차 화상을 디코딩하는 스텝을 또한 포함하고,
    상기 추정하는 스텝은, 디코딩된 잔차 화상에 의거하여, 상기 움직임 화상을 추정하는 스텝을 포함하는 것을 특징으로 하는 방법.
  3. 제1항 또는 제2항에 있어서,
    상기 특정하는 스텝은, 상기 잔차 화상을 구성하는 각 화소의 화소치의 크기에 의거하여, 상기 잉여로 정의하여야 할 영역을 화소 단위로 결정하는 스텝을 포함하고,
    상기 부가 정보는, 상기 잔차 화상을 구성하는 화소 중, 잉여로 정의된 화소를 각각 특정하기 위한 정보를 포함하는 것을 특징으로 하는 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 특정하는 스텝은, 상기 잔차 화상을 소정 사이즈의 분할한 각 블록에 관해, 당해 블록을 구성하는 각각의 화소의 화소치에 관한 평가를 결합한 결과에 의거하여, 상기 잉여로 정의하여야 할 영역을 블록 단위로 결정하는 스텝을 포함하고,
    상기 부가 정보는, 상기 잔차 화상에 포함되는 블록 중, 잉여로 정의된 블록을 특정하기 위한 정보를 포함하는 것을 특징으로 하는 방법.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서,
    상기 변환하는 스텝은,
    상기 잉여로 정의하여야 할 영역에 관한 화소치에 대해 모듈로 연산을 실행하는 스텝과,
    상기 움직임 화상의 구배 정보를 취득하는 스텝과,
    구배 강도와 모듈로 연산의 법이 되는 값과의 미리 정하여진 대응 관계를 참조하여, 취득한 상기 구배 정보에 의거하여 모듈로 연산의 법이 되는 값을 결정하는 스텝을 포함하는 것을 특징으로 하는 방법.
  6. 서로 관련된 정보를 포함하는 복수의 입력 화상을 인코딩하는 프로그램을 격납하는 기억 매체로서, 당해 프로그램은, 컴퓨터에,
    선행하는 하나 이상의 입력 화상으로부터 후속의 입력 화상에 포함되는 변화 성분을 나타내는 움직임 화상을 추정하는 스텝과,
    상기 후속의 입력 화상으로 추정된 상기 움직임 화상과의 차분으로부터 잔차 화상을 생성하는 스텝과,
    상기 잔차 화상의 화소치에 의거하여, 상기 잔차 화상을 구성하는 화소 중 그 화소치를 잉여로 정의하여야 할 영역을 특정하는 스텝과,
    특정된 상기 잉여로 정의하여야 할 영역에 관한 화소치를 잉여로 변환하는 스텝과,
    변환 후의 잔차 화상과, 상기 잉여로 정의하여야 할 영역을 특정하는 부가 정보를 인코딩하는 스텝을 실행시키는 것을 특징으로 하는 기억 매체.
  7. 서로 관련된 정보를 포함하는 복수의 입력 화상을 인코딩하는 장치로서,
    선행하는 하나 이상의 입력 화상으로부터 후속의 입력 화상에 포함되는 변화 성분을 나타내는 움직임 화상을 추정하는 수단과,
    상기 후속의 입력 화상으로 추정된 상기 움직임 화상과의 차분으로부터 잔차 화상을 생성하는 수단과,
    상기 잔차 화상의 화소치에 의거하여, 상기 잔차 화상을 구성하는 화소 중 그 화소치를 잉여로 정의하여야 할 영역을 특정하는 수단과,
    특정된 상기 잉여로 정의하여야 할 영역에 관한 화소치를 잉여로 변환하는 수단과,
    변환 후의 잔차 화상과, 상기 잉여로 정의하여야 할 영역을 특정하는 부가 정보를 인코딩하는 수단을 구비하는 것을 특징으로 하는 장치.
KR1020157030237A 2013-03-27 2014-03-12 복수의 입력 화상을 인코딩하는 방법, 프로그램을 격납하는 기억 매체 및 장치 KR20150137081A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2013066313A JP2014192701A (ja) 2013-03-27 2013-03-27 複数の入力画像をエンコーディングする方法、プログラムおよび装置
JPJP-P-2013-066313 2013-03-27
PCT/JP2014/056483 WO2014156647A1 (ja) 2013-03-27 2014-03-12 複数の入力画像をエンコーディングする方法、プログラムを格納する記憶媒体および装置

Publications (1)

Publication Number Publication Date
KR20150137081A true KR20150137081A (ko) 2015-12-08

Family

ID=51623630

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157030237A KR20150137081A (ko) 2013-03-27 2014-03-12 복수의 입력 화상을 인코딩하는 방법, 프로그램을 격납하는 기억 매체 및 장치

Country Status (6)

Country Link
US (1) US20160057414A1 (ko)
EP (1) EP2981082A1 (ko)
JP (1) JP2014192701A (ko)
KR (1) KR20150137081A (ko)
CN (1) CN105075256A (ko)
WO (1) WO2014156647A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014082541A (ja) * 2012-10-12 2014-05-08 National Institute Of Information & Communication Technology 互いに類似した情報を含む複数画像のデータサイズを低減する方法、プログラムおよび装置
WO2017217191A1 (ja) * 2016-06-14 2017-12-21 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置及び三次元データ復号装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2765268B2 (ja) * 1991-05-21 1998-06-11 松下電器産業株式会社 高能率符号化方法と高能率符号の復号方法
KR100365555B1 (ko) * 1994-10-19 2003-08-27 마츠시타 덴끼 산교 가부시키가이샤 화상부호화/복호화장치
CN1258925C (zh) * 2003-06-27 2006-06-07 中国科学院计算技术研究所 多视角视频编解码预测补偿方法及装置
JP4662171B2 (ja) * 2005-10-20 2011-03-30 ソニー株式会社 符号化装置および方法、復号化装置および方法、プログラム、並びに記録媒体
US7706619B2 (en) * 2005-11-30 2010-04-27 Brother Kogyo Kabushiki Kaisha Image processing device that produces high-quality reduced image at fast processing speed
WO2009092455A2 (en) * 2008-01-21 2009-07-30 Telefonaktiebolaget Lm Ericsson (Publ) Prediction-based image processing
CN102239640B (zh) * 2008-12-09 2015-01-07 日本电信电话株式会社 编码方法、解码方法、使用这些方法的装置
AU2011201336B2 (en) * 2011-03-23 2013-09-05 Canon Kabushiki Kaisha Modulo embedding of video parameters

Also Published As

Publication number Publication date
WO2014156647A1 (ja) 2014-10-02
EP2981082A1 (en) 2016-02-03
US20160057414A1 (en) 2016-02-25
JP2014192701A (ja) 2014-10-06
CN105075256A (zh) 2015-11-18

Similar Documents

Publication Publication Date Title
KR20150055005A (ko) 수정된 참조를 가진 차세대 비디오 코딩용 콘텐츠 적응적 예측 및 기능적 예측 픽처
WO2014050830A1 (ja) 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置、画像符号化プログラム、画像復号プログラム及び記録媒体
JP2017512440A (ja) ステレオビデオのための深度認識向上
JP5902814B2 (ja) 映像符号化方法および装置、映像復号方法および装置、及びそれらのプログラム
KR20120000485A (ko) 예측 모드를 이용한 깊이 영상 부호화 장치 및 방법
CN112789851B (zh) 视频解码方法、装置、电子设备及可读存储介质
US20090201991A1 (en) Method for intra prediction coding of image data
KR20150135457A (ko) 복수의 입력 화상을 인코딩하는 방법, 프로그램을 격납하는 기억 매체 및 장치
JP6039178B2 (ja) 画像符号化装置、画像復号装置、並びにそれらの方法及びプログラム
EP2920970A1 (en) Method and apparatus for prediction value derivation in intra coding
JP5894301B2 (ja) 映像符号化装置および方法、映像復号装置および方法、及びそれらのプログラム
JP2010081498A (ja) 画像圧縮符号化方法、及び装置
WO2015056712A1 (ja) 動画像符号化方法、動画像復号方法、動画像符号化装置、動画像復号装置、動画像符号化プログラム、及び動画像復号プログラム
JP4874578B2 (ja) 画像符号化装置
KR20150137081A (ko) 복수의 입력 화상을 인코딩하는 방법, 프로그램을 격납하는 기억 매체 및 장치
JP5706291B2 (ja) 映像符号化方法,映像復号方法,映像符号化装置,映像復号装置およびそれらのプログラム
JP2015128252A (ja) 予測画像生成方法、予測画像生成装置、予測画像生成プログラム及び記録媒体
JP6386466B2 (ja) 映像符号化装置及び方法、及び、映像復号装置及び方法
KR20070075354A (ko) 비디오 신호의 디코딩/인코딩 방법 및 장치
WO2016047250A1 (ja) 信号処理装置、撮像装置および信号処理方法
KR20090078114A (ko) 가변적 화면 그룹 예측 구조를 이용한 다시점 영상 부호화방법 및 장치, 영상 복호화 장치 그리고 상기 방법을수행하는 프로그램이 기록된 기록 매체
JP6232117B2 (ja) 画像符号化方法、画像復号方法、及び記録媒体
JP2009095066A (ja) 動画像復号化装置、動画像復号化方法、動画像符号化装置、および動画像符号化方法
JP2018050150A (ja) 画像符号化装置、画像符号化方法及びコンピュータプログラム
JP2018082250A (ja) 画像符号化装置及びその制御方法

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid