KR101172983B1 - 화상 압축 장치, 화상 복원 장치, 화상 압축 방법, 화상 복원 방법 및 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체 - Google Patents

화상 압축 장치, 화상 복원 장치, 화상 압축 방법, 화상 복원 방법 및 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체 Download PDF

Info

Publication number
KR101172983B1
KR101172983B1 KR20107022260A KR20107022260A KR101172983B1 KR 101172983 B1 KR101172983 B1 KR 101172983B1 KR 20107022260 A KR20107022260 A KR 20107022260A KR 20107022260 A KR20107022260 A KR 20107022260A KR 101172983 B1 KR101172983 B1 KR 101172983B1
Authority
KR
South Korea
Prior art keywords
pixel
value
prediction
line
processing
Prior art date
Application number
KR20107022260A
Other languages
English (en)
Other versions
KR20100122947A (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 KR20100122947A publication Critical patent/KR20100122947A/ko
Application granted granted Critical
Publication of KR101172983B1 publication Critical patent/KR101172983B1/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/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • 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
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • 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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

압축 대상 화상의 처리 대상 라인의 적어도 직전 1 라인분의 화소값을 유지하는 라인 메모리부와, 상기 처리 대상 라인의 화소를, 2n 화소를 1 블록으로 하는 블록 단위로 분할하는 분할부와, 제1 계층 처리로서, 상기 분할부에 의해 분할된 블록 내의 각 화소 중, 2n-1번째와 2n번째의 화소에 대하여, 상기 라인 메모리부 내의 그 2n-1번째와 2n번째의 화소 각각의 직상의 화소값을 참조값으로서 외삽 예측을 수행하여 예측값을 구하는 제1 예측값 산출부와, 제2 계층 처리로부터 제n 계층 처리로서, 미리 정해진 화소에 대하여, 상기 라인 메모리부 내의 직전 1 라인의 화소값 및 1개 앞의 계층 처리까지 구한 예측값을 참조값으로서 내삽 예측을 수행하여 예측값을 구하는 제2 예측값 산출부와, 상기 제1 계층 처리로부터 상기 제n 계층 처리까지의 처리에서 구해진 상기 예측값으로부터 예측 오차를 구하고, 그 예측 오차를 양자화 번호로 변환하며, 그 양자화 번호를 가변 길이 부호로 변환하여 압축 부호를 구하는 예측 부호화부를 포함하는 것을 특징으로 하는 화상 압축 장치.

Description

화상 압축 장치, 화상 복원 장치, 화상 압축 방법, 화상 복원 방법 및 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체{IMAGE DATA COMPRESSION APPARATUS, DECOMPRESSION APPARATUS, COMPRESSION METHOD, DECOMPRESSION METHOD, AND COMPUTER-READABLE RECORDING MEDIUM HAVING PROGRAM}
본 발명은 화상 데이터를 압축, 복원하는 기술에 관한 것이며, 더 자세하게는 화소 단위로 화소 레벨값을 예측하는 예측 부호화 방식(Differential Pulse Code Modulation: DPCM)에 의한 화상 데이터의 압축 복원 기술에 관한 것이다.
현재 데이터의 압축/복원 기술은 여러가지 분야의 기기에 이용되고 있고, 그 분야의 하나로서, 차량 탑재용 기기에 채용되고 있다.
도 1은 차량 탑재용 화상 데이터 압축/복원 장치의 탑재예를 나타내는 도면이다.
도 1에서, 차(1) 외측에 복수의 카메라(2-1~2-6)를 설치하고, 차(1) 내에는 복수의 모니터(3), 후방 모니터(4-1~4-2)를 설치하여 이들을 차량 탑재 LAN(5)에 의해 접속시킨다. 또한, 각 카메라(2-1~2-6)에는 각각 화상 데이터 압축 장치(6-1~6-6)가 접속되고, 모니터(3) 및 리어 모니터(4-1~4-2)에는 화상 데이터 복원 장치(7-1~7-3)가 접속되게 구성된다. 그리고 각 카메라(2-1~2-6)로 촬영한 화상의 화상 데이터나 도시하지 않은 카 내비게이션에 의한 화상의 화상 데이터를 화상 데이터 압축 장치(6-1~6-6)로 데이터 압축하고, 차량 탑재 LAN(5)을 통해 전송된 압축 데이터를 화상 데이터 복원 장치(7-1~7-3)에 의해 신장한 후, 모니터(3)나 리어 모니터(4-1~4-2) 상에 표시한다.
이렇게 차량을 위해 동화상 데이터의 압축/복원을 적용하는 데에는, 이하의 과제를 만족해야 한다.
(1) 고화질일 것[원화상이 자연 화상일 때와 CG(Computer Graphics) 화상일 때의 양쪽 모두 고화질일 것]
차량에서 취급하는 화상 정보로서는, 일반 텔레비젼 화상이나 영화 등으로 대표되는 자연 화상과, 카 내비게이션의 지도 등으로 대표되는 CG 화상(디지털 화상)이 알려져 있고, 일반적으로 자연 화상에는 저주파 성분이, 또한 디지털 화상에는 고주파 성분이 많이 포함되어 있다. 최근의 차량 탑재 단말이나 휴대 전화를 포함하는 휴대 단말에서는, 지도 등의 디지털 화상과, TV나 영화 등의 자연 화상 양쪽을 취급하도록 되어 있고, 양쪽의 화상 데이터를 효율적으로 전송하기 위해서는, 저주파 성분과 고주파 성분 양쪽에 효과적인 데이터 압축 방식이 요구되고 있다.
(2) 저지연일 것(압축, 복원에 시간이 걸리지 않는 차량 탑재 카메라용)
차량에서 취급하는 화상 정보로서는, 주변 감시 카메라로부터의 영상이 있다. 실시간 감시를 위해서는 압축 및 복원 처리에 시간이 걸리지 않고 저지연일 것이 요구된다.
(3) 장치가 경량일 것[회로 규모 소(小)]
영상 정보는 통상 차량 탑재 LAN에 의해 전송되지만, 다중 전송의 경우에는 LAN 단말마다 압축, 복원 장치가 필요하기 때문에, 개개의 회로 규모가 작아야 한다.
(4) 고속 처리가 가능할 것
동화상인 경우는, 1초 사이에 30~60 프레임 정도의 화상 데이터가 송수신되기 때문에, 단위 시간당 고속으로 데이터 압축이 가능해야 한다. 특히, 최근에는 하이비젼 영상 등 고해상도화가 진행되고 있어, 더 고속으로 데이터 압축을 실행해야 한다.
이하에, 현재 실행되고 있는 화상 압축 기술을 전술한 과제와 대비하여 설명한다.
(1) JPEG, MPEG(변환 부호화)
JPEG, MPEG에서는, 원화상에 대하여 DCT(Discrete Cosine Transfer) 변환을 실행하여, 얻어진 DCT 계수에 대하여 양자화를 실행한다.
DCT 변환이란, 화상 데이터를 주파수 변환하는 수법이다. 인간의 눈은 저주파 성분(화상 중 평탄한 부분)에 민감하기 때문에, 저주파에 관한 DCT 계수는 조밀하게, 고주파에 관한 DCT 계수는 성기게 양자화함으로써, 자연 화상에 대해서는 화질 열화가 눈에 띄지 않도록 높은 압축율로 화상 압축을 실행하는 것이 가능하다.
그러나 이 수법은 CG에 의한 지도 화상 중 선, 문자와 같은 고주파 성분에 대해서는 화질 열화가 눈에 띄기 때문에, CG 화상의 압축에는 부적합하다.
도 2에 종래 기술인 JPEG 등에 이용되는 DCT에 의한 부호화의 방법을 나타낸다.
DCT 변환에서는, 우선 원화상 데이터를 주파수 변환하여, 고주파 성분과 저주파 성분으로 구분한다. 그리고, 저주파 성분은 조밀하게, 고주파는 성기게 양자화하고, 양자화 성분을 Golomb 부호 등의 가변 길이 부호에 의해 부호화한다. 이에 따라 화상 데이터의 고압축화를 실현할 수 있지만, 이 압축화 방법은 선, 문자 등의 고주파 성분에 대해서는 화질 열화가 눈에 띈다.
또한, 압축율과 회로 규모에 대해서는, JPEG에서는 8×8의 블록 단위로 변환 부호화를 수행함으로써 이차원의 상관을 취하는 것이 가능하여 고압축율(1/10 정도)을 실현할 수 있지만, 적어도 8 라인분의 메모리가 필요하기 때문에 회로 규모가 커져 버린다. 또한 MPEG에서는, 프레임 사이에서의 상관을 취하기 때문에 상당한 압축율(1/20 이상)을 기대할 수 있지만, 1 프레임분의 데이터를 유지하기 위한 메모리가 필요하기 때문에, 회로 규모가 더욱 커진다.
(2) JPEG-LS(Lossless)
JPEG-LS는 가역 압축이 가능한 정지 화상 데이터의 압축 방식으로, 주변 화소의 레벨값으로부터 MED(Median Edge Detector: MAP, DPCM의 일종)를 바탕으로 세로 방향과 가로 방향의 엣지를 고려하여 타당한 레벨값을 예측하고, 그 예측 오차를 직접 부호화한다.
도 3에 종래 기술인 JPEG-LS에 의한 압축 방식을 나타낸다.
JPEG-LS에서는, 원화상 데이터를 예측기로써 도 3의 화소 A, B, C로부터 화소 X를 예측한다. 그리고 예측값 X'와 실측값 X와의 오차(X-X')를 구하고, 이것을 부호화함으로써 데이터 압축을 수행한다.
이 JPEG-LS에 의한 압축 기술의 과제를 이하에 기술한다.
과제 (1): 화질 조정이 곤란
JPEG-LS는 무손실 압축이기 때문에, 로시 압축(lossy compression) 시에 서서히 화질을 떨어뜨리는 것이 쉽지 않다.
또한, 양자화 오차의 전파가 라인 방향으로 발생하여, 양자화 오차를 포함하는 화소를 바탕으로 다음 화소를 예측하기 때문에, 양자화 단계가 성길수록 예측 정밀도가 악화된다.
예컨대 도 4에 있어서, 화소 A의 데이터가 오차를 포함하는 경우, 그 오차는 화소 X1, 화소 X2로 전파된다. 따라서 양자화 단계가 성길수록, 예측 정밀도가 나빠진다.
과제 (2): 동화상의 실시간 압축 복원이 매우 곤란
로시 압축에서는, 라인 방향으로 1 화소씩 예측, 양자화, 복원 화소 레벨값의 산출을 실행하지만, JPEG-LS에 의한 압축에서는, 다음 화소를 예측하는 데 직전 화소의 복원 화소 레벨값이 필요하다. 따라서 고속 처리가 어렵다.
예컨대 도 5a와 같은 순서로 화소를 처리할 때에, 1 화소가 전송되는 시간(1 클록)에 1 화소를 압축해야 하기 때문에, 예측, 양자화, 복원 화소 레벨값의 산출에서 각각 1 클록씩 처리 시간이 걸린다고 하면, 1 화소 압축에 3 클록이 걸린다. 그리고 앞의 화소를 이용하여 다음 화소를 예측하므로, 앞의 화소의 복원이 완료되지 않으면 다음 화소의 예측 처리에 착수할 수 없기 때문에, 압축 복원의 처리 타이밍은 도 5b에 나타낸 바와 같이, 실시간에서의 압축 복원은 불가능하다.
(3) 계층 부호화 또는 순차 재생 부호화 방식(특허문헌 1, 특허문헌 2)
예측 부호화 방식을 고화질화, 고압축화(화질 조정)하기 위해서는, 계층적으로 예측을 이용하는 방법이 자주 채용된다. 이하에 종래 기술에 의한 계층 예측의 예를 도 6을 이용하여 설명한다.
1) 비트 플레인(각 비트 심도에 있어서 0과 1의 흑백 화상, 8 bit이면 8개의 플레인)을 생성한다. 도 6에서는, 간략화를 위해 최상단의 외삽 처리에서 구한 플레인과, 그것에 계속되는 내삽 처리에서 구한 2개의 플레인의 총 3개의 플레인만 나타내고 있다.
2) 각 플레인 내의 화소를 계층적으로 2치 부호화한다. 제2 계층 이후는 이미 부호화된 주위 화소의 상태를 바탕으로 부호화 순서, 수단을 변경한다.
3) 경우에 따라서는 전체 화소를 부호화?복원하지 않고, 이미 복원한 주위 4 화소의 단순 평균을 미복원 화소의 화소 레벨값으로 한다.
이 계층 예측을 그대로 적용하면, 순서가 복잡하기 때문에 회로 규모가 커져, LSI 조립용으로서는 비용?성능이 맞지 않는다. 또한, 블록 라인 상당(도 6의 경우 5 라인분)의 큰 버퍼 메모리를 필요로 하여, 회로 규모가 커진다.
일본 특허 공개 소화 60-127875호 공보 일본 특허 공개 평성 10-84548호 공보
본 발명은 고속, 저지연 또한 고화질이고 회로 규모가 작은 화상 압축 장치/복원 장치, 압축 방법/복원 방법, 및 프로그램을 제공하는 것을 목적으로 한다.
본 화상 압축 장치는 라인 메모리부, 분할부, 제1 예측값 산출부, 제2 예측값 산출부 및 예측 부호화부를 구비한다.
라인 메모리부는 압축 대상 화상의 처리 대상 라인의 적어도 직전 1 라인분의 화소값을 유지한다.
분할부는 상기 처리 대상 라인의 화소를, 2n 화소를 1 블록으로 하는 블록 단위로 분할한다.
제1 예측값 산출부는 제1 계층 처리로서, 상기 분할부에 의해 분할된 블록 내의 각 화소 중, 2n-1번째와 2n번째의 화소에 대하여, 상기 라인 메모리부 내의 그 2n-1번째와 2n번째의 화소 각각의 직상(直上)의 화소값을 참조값으로서 외삽 예측을 수행하여 예측값을 구한다.
제2 예측값 산출부는 제2 계층 처리로부터 제n 계층 처리로서, 미리 정해진 화소에 대하여, 상기 라인 메모리부 내의 직전 1 라인의 화소값 및 1개 앞의 계층 처리까지 구한 예측값을 참조값으로서 내삽 예측을 수행하여 예측값을 구한다.
예측 부호화부는 상기 제1 계층 처리로부터 상기 제n 계층 처리까지의 처리에서 구해진 상기 예측값으로부터 예측 오차를 구하고, 그 예측 오차를 양자화 번호로 변환하며, 그 양자화 번호를 가변 길이 부호로 변환하여 압축 부호를 구한다.
이 구성에 의해 메모리는 라인 메모리부만 구비하면 되기 때문에 회로 규모를 작게 할 수 있다.
또한, 각 계층 처리를 병렬로 실행할 수 있기 때문에, 고속으로 압축 처리를 수행할 수 있다.
본 화상 복원 장치는 라인 메모리부, 제1 예측값 산출부, 제2 예측값 산출부 및 복원 화소값 산출부를 구비한다.
라인 메모리부는 복원 대상 화상의 처리 대상 라인의 적어도 직전 1 라인분의 화소값을 유지한다.
분할부는 상기 처리 대상 라인의 화소를, 2n 화소를 1 블록으로 하는 블록 단위로 분할한다.
제1 예측값 산출부는 제1 계층 처리로서, 상기 분할부에 의해 분할된 블록 내의 각 화소 중, 2n-1번째와 2n번째의 화소에 대하여, 상기 라인 메모리부 내의 그 2n-1번째와 2n번째의 화소 각각의 직상의 화소값을 참조값으로서 외삽 예측을 수행하여 예측값을 구한다.
제2 예측값 산출부는 제2 계층 처리로부터 제n 계층 처리로서, 미리 정해진 화소에 대하여, 상기 라인 메모리부 내의 직전 1 라인의 화소값 및 1개 앞의 계층 처리까지 구한 예측값을 참조값으로서 내삽 예측을 수행하여 예측값을 구한다.
복원 화소값 산출부는 압축 부호로부터 양자화 번호를 구하고, 그 양자화 번호로부터 예측 오차 양자화값을 구하며, 그 예측 오차 양자화값 및 상기 제1 예측값 산출부가 구한 예측값 또는 상기 제2 예측값 산출부가 구한 예측값을 이용하여 복원 화소의 화소값을 구한다.
이 구성에 의해 메모리는 라인 메모리부만 구비하면 되기 때문에 회로 규모를 작게 할 수 있다.
또한, 각 계층 처리를 병렬로 실행할 수 있기 때문에, 고속으로 복원 처리를 수행할 수 있다.
또한, 데이터 압축 방법, 데이터 복원 방법 및 프로그램도 본 발명의 범위에 포함된다.
도 1은 차량 탑재용 화상 데이터 압축/복원 장치의 탑재예를 나타내는 도면이다.
도 2는 종래 기술인 DCT에 의한 부호화의 방법을 나타내는 도면이다.
도 3은 종래 기술인 JPEG-LS에 의한 압축 방식을 나타내는 도면이다.
도 4는 종래 기술인 JPEG-LS에 의한 압축 기술의 설명을 나타내는 도면이다.
도 5a는 화소 단위의 처리 순서를 나타내는 도면이다.
도 5b는 종래 기술인 JPEG-LS에 의한 압축 복원의 처리 타이밍을 나타내는 도면이다.
도 6은 종래 기술에 의한 계층 예측의 예를 나타내는 도면이다.
도 7은 본 실시형태의 예측 방법을 개략적으로 나타내는 도면이다.
도 8은 n=3으로 한 경우의 본 실시형태의 처리를 나타내는 도면이다.
도 9는 도 8의 각 계층 처리를 보다 구체적으로 나타내는 도면이다.
도 10은 1 블록을 8 화소(n=3)로 했을 때의 화소 복원 처리의 타이밍 차트를 개략적으로 나타내는 도면이다.
도 11은 본 실시형태에 있어서의 화상 데이터 압축 장치의 구성예를 나타내는 도면이다.
도 12는 각 화소의 참조값을 나타내는 도면이다.
도 13은 참조 중간값과 그에 대응하는 예측값을 나타내는 도면이다.
도 14는 예측 오차와 예측 오차 양자화값 및 양자화 번호의 대응 관계를 나타내는 도면이다.
도 15는 본 실시형태의 화상 데이터 압축 장치의 화상 데이터 압축시의 동작 처리를 나타내는 흐름도이다.
도 16은 본 실시형태에 있어서의 화상 데이터 복원 장치의 구성예를 나타내는 도면이다.
도 17은 양자화 번호와 예측 오차 양자화값의 관계를 나타내는 도면이다.
도 18은 본 실시형태에 있어서의 화상 데이터 복원 장치의 압축 데이터의 복원 처리시의 동작 처리를 나타내는 흐름도이다.
도 19는 본 실시형태에 있어서의 화상 데이터 압축 처리 및 복원 처리에서 예외 처리를 수행하는 화상 데이터의 1 프레임 내의 위치를 나타내는 도면이다.
도 20은 도 19의 좌단의 (3)의 위치의 예외 처리에 있어서의 예측값을 나타내는 도면이다.
도 21은 도 19의 좌단의 (3)의 위치의 화소의 예측값을 구할 때의 대체 화소의 예를 나타내는 도면이다.
도 22는 본 실시형태에 있어서의 데이터 압축 프로그램의 프로그램 구성예를 나타내는 도면이다.
도 23은 화상 데이터를 압축할 때의 데이터 압축 프로그램(300)의 동작 처리를 나타내는 흐름도이다.
도 24a는 도 19의 (2)의 위치의 경우의 예측값의 산출을 나타내는 도면이다.
도 24b는 도 19의 (3)의 위치의 경우의 예측값의 산출을 나타내는 도면이다.
도 25는 본 실시형태에 있어서의 데이터 복원 프로그램의 프로그램 구성예를 나타내는 도면이다.
도 26은 화상 데이터를 복원할 때의 데이터 복원 프로그램(400)의 동작 처리를 나타내는 흐름도이다.
도 27은 데이터 압축 프로그램이나 데이터 복원 프로그램이 실행되는 정보 처리 장치의 시스템 환경을 나타내는 도면이다.
도 28은 기억 매체의 예를 나타내는 도면이다.
이하, 본 발명의 일 실시형태를 도면을 참조하면서 상세히 설명한다.
본 실시형태의 화상 압축 장치 및 화상 복원 장치는 고화질, 저지연, 경량, 고속 처리를 만족시키기 위해, 화상의 약 1 라인분의 메모리를 구비하고, MAP(Median Adaptive Predictor) 예측을 1 블록 내에서 계층적으로 교대로 실행함으로써 예측 처리에 있어서의 처리 속도 상의 보틀넥(bottleneck)을 해소한다.
또한, 예측 정밀도를 향상시켜 고화질화를 도모하기 위해, 고해상도 성분 화소에 대하여 내삽 예측을 고려한 MAP 예측을 실행한다. 예측 방식으로서는, 어떤 데이터 계열 외측의 데이터를 예측하는 외삽 예측과, 어떤 데이터 계열의 도중을 예측하는 내삽 예측이 있지만, 내삽 예측 쪽이 미리 데이터 계열의 경향을 파악하기 쉽기 때문에, 예측 정밀도가 높아진다.
도 7은 본 실시형태의 예측 방법을 개략적으로 나타내는 도면이다.
본 실시형태의 화상 압축 장치 및 화상 복원 장치에서는, 화상 데이터를 2n 단위(이하, 이것을 1 블록이라 함)로 처리한다.
도 7에 있어서 X1부터 X2n의 화소가 처리 대상 화소이고, X'1부터 X'2n이 이미 처리가 끝난 X1부터 X2n의 1개 앞의 라인, 즉 직전 라인의 화소라고 한다.
본 실시형태에서는, 제1 계층 처리로서, 우선 X1부터 X2n의 화소 내, 정확히 중간의 화소 X2n -1과 가장 최후의 X2n을, 인접하는 즉 직상(直上) 화소인 X'2n -1과 X'2n을 이용하여 외삽 처리로 구한다.
다음에 제2 계층 처리로서, 화소 X1의 왼쪽 옆의 화소 X0(즉 1개 앞 블록에 대한 처리에서 구한 1개 앞의 블록에서의 X2n), 제1 계층 처리에서 구한 화소 X2n -1, 및 직전 라인 내의 복원 화소값을 이용하여, 화소 X2n의 정확히 중간의 화소를 화소 X2n-2, X2n -1+X2n -2의 순서로 MAP 예측으로 구한다.
제3 계층 처리에서는, 화소 X0 및 제2 계층 처리까지 구한 화소 X2n -2, X2n -1, X2n-1+X2n-2를 이용하여, 화소 X2n의 정확히 중간의 화소를 화소 X2n -3, X2n -2+X2n -3, X2n -1+X2n -3 및 X2n -1+X2n -2+X2n -3의 순서로 MAP 예측으로 구한다.
이후 마찬가지로 지금까지 구한 화소의 중간 화소를 MAP 예측으로 구하고, 마지막으로 제n 계층 처리로서, 중간의 화소를 화소 X1, X3, …, X2n-1의 순서로 MAP 예측으로 구한다.
이러한 처리에 의해, 어떤 계층 처리가 전부 완료되기 전에, 다음 계층 처리를 개시할 수 있어, 2개의 계층 처리를 평행하게 수행할 수 있기 때문에, 처리를 고속화할 수 있다.
또한 처리에 필요한 화소의 데이터는 처리 대상 화소의 직전 라인의 화소와 처리 대상 블록의 화소의 데이터뿐이기 때문에, 이만큼의 화소 데이터를 유지하는, 화상의 약 1 라인분의 메모리를 구비하면 되므로, 화상 압축 장치 및 화상 복원 장치의 회로를 소규모로 억제할 수 있다.
다음으로, 상기한 본원의 개요를 n=3으로 해서, 보다 구체적으로 설명한다.
도 8은 n=3으로 한 경우의 본 실시형태의 처리를 나타내는 도면이다.
n=3이기 때문에 처리를 3 계층으로 분류하여, 제1, 제2, 제3 계층의 순서로 예측 부호화를 실행한다.
도 8에서는, 처리 라인(2)의 화소 데이터에 대하여, 우선 제1 계층 처리에서 화소 X3 및 X8을 직전 라인(1)의 화소 데이터를 이용해 외삽 처리로 예측하여 구한다. 다음에, 제2 계층 처리에서 직전 라인(1)의 화소 데이터 및 제1 계층 처리에서 구한 화소 데이터를 이용해 내삽 처리로 예측하여 화소 X2 및 X6을 구한다. 그리고 마지막으로 제3 계층 처리에 의해 직전 라인의 화소 데이터 및 제1 계층과 제2 계층 처리에서 구한 화소 데이터를 이용해 내삽 처리로 예측하여 화소 X1, X3, X5 및 X7을 구한다.
예측 부호화의 처리를 주목 화소 블록(3)의 X1~X8의 8 화소 전부에 대하여 종료하면, 다음 블록에 대하여도 마찬가지로 3 계층으로 나누어 예측 부호화의 처리를 실행한다.
도 9는 도 8의 각 계층 처리를 보다 구체적으로 나타낸 도면이다.
실제의 예측 부호화 처리에서는, 라인 메모리에 저장된 처리 라인의 직전 라인(1)분의 화소 데이터 및 이미 처리가 종료된 앞의 계층에서 예측하여 구한 화소 데이터를 바탕으로 실행된다.
라인 메모리에는 직전 라인(1)분의 각 화소 레벨값의 복원 화소가 저장된다.
도 9에 있어서, 주목 화소 블록(3) 내의 8 화소의 처리 순서는 이하와 같이 (1), (2), …, (8)의 순서가 된다.
우선 제1 계층 처리로서 도 8의 X4에 해당하는 (1)을, 라인 메모리 내의 직전 라인(1)의 X'4로부터 외삽 처리로 예측하여 구한다. 다음에, 도 8의 X8에 해당하는 (2)를, 라인 메모리 내의 직전 라인(1)의 X'8로부터 외삽 처리로 예측하여 구한다.
다음에 제2 계층 처리에서는, 도 8의 X2에 해당하는 (3)을, 라인 메모리 내의 직전 라인(1)의 화소 X'0, X'2, X'4 및 처리 라인(2)의 제1 계층 처리까지 구한 화소 X0, X4로부터 MAP 예측으로 구한다. 또한, 다음에 도 8의 X6에 해당하는 (4)를, 라인 메모리 내의 직전 라인(1)의 화소 X'4, X'6, X'8 및 처리 라인(2)의 제1 계층 처리까지 구한 화소 X4, X8로부터 MAP 예측으로 구한다.
마지막으로 제3 계층 처리로서, 도 8의 X1에 해당하는 (5)를, 라인 메모리 내의 직전 라인(1)의 화소 X'0, X'1, X'2 및 처리 라인(2)의 제2 계층 처리까지 구한 화소 X0, X2로부터 MAP 예측으로 구한다. 또한 도 8의 X3에 해당하는 (6)을, 라인 메모리 내의 직전 라인(1)의 화소 X'2, X'3, X'4 및 처리 라인(2)의 제1 계층 처리까지 구한 화소 X2, X4로부터 MAP 예측으로 구한다. 이하 마찬가지로, 도 8의 X5에 해당하는 (7)을, 라인 메모리 내의 직전 라인(1)의 화소 X'4, X'5, X'6 및 처리 라인(2)의 제2 계층 처리까지 구한 화소 X4, X6으로부터 MAP 예측으로 구하고, 또한 도 8의 X7에 해당하는 (8)을, 라인 메모리 내의 직전 라인(1)의 화소 X'6, X'7, X'8 및 처리 라인(2)의 제2 계층 처리까지 구한 화소 X6, X8로부터 MAP 예측으로 구한다.
이들 처리는 라인 방향(4)의 블록 내에서 계층적으로 교대로 실행함으로써 앞의 예측 결과를 기다리지 않고 진행된다.
통상 MAP은 세로 방향과 가로 방향의 상관성을 고려한 3가지 예측값 후보 중에서 1개를 예측값으로 함으로써 고성능의 예측 처리를 수행하지만, 본 실시형태에서도, 제2 계층 이후는 이전 계층의 복원 화소를 참조함으로써, 세로 방향과 가로 방향의 상관성을 고려한 3가지 예측값 후보를 산출하는 것이 가능하다. 이 때문에, 예측 정밀도를 더 높이는 것이 가능해져 고화질의 압축을 수행할 수 있다.
도 10은 1 블록을 8 화소(n=3)로 했을 때의 화소 복원 처리의 타이밍 차트를 개략적으로 나타내는 도면이다.
도 10에 있어서 우선 화소 X4 및 X8은 1개 앞의 라인의 화소 데이터값을 사용하는 것만으로, 이전 블록 중 전체 화소의 처리를 완료하기 전에 다음 블록의 처리를 시작할 수 있게 된다. 도 10에서는, 이전 블록의 화소 X6까지 복원된 시점에서, 다음 블록의 화소 X4의 예측 처리가 시작된다.
또한, 화소 X2, X6, X1, X3, X5, X7의 화소 데이터값은 다음 블록의 예측 처리에는 사용되지 않기 때문에, 지연시켜 처리할 수도 있다. 이 때문에, 고성능의 예측이 가능한 내삽 처리를 수반하는 MAP에 처리 시간을 더 들일 수도 있다.
이들 실시간 동화상 전송에 있어서는, 1 클록에 매회 1 화소가 전송되기 때문에, 화소 단위의 예측 부호화 방식에서는 1 클록당 1 화소를 처리해야 한다. 이 때문에, 예측, 양자화, 복원 화소 레벨값 산출에서 각각 1 클록이 걸린다고 하면, 도 10과 같이 화소 X4 및 X8을 먼저 8 클록 이내에 처리하고, 다른 화소는 타이밍을 더 어긋나게 하여 처리함으로써 순차적으로 블록을 처리해 나가는 것이 가능하다.
또, 도 10에서는, 예측, 양자화, 복원 화소 레벨값 산출을 위한 회로를 각각 1개만 구비하도록, 각 처리를 동일 클록 내에서 중복하지 않는 타이밍으로 처리하지만, 물론 각 회로를 복수개 구비하고, 타이밍을 중복시켜 처리할 수 있도록 함으로써 블록마다 처리 기간을 더욱 단축하게 구성하는 것도 가능하다.
다음으로 본 실시형태에 있어서의 화상 데이터 압축 장치의 구성에 대해 설명한다.
도 11은 본 실시형태에 있어서의 화상 데이터 압축 장치(100)의 구성예를 나타내는 도면이다.
도 11의 화상 데이터 압축 장치(100)는 전술한 바와 같이 연속적으로 입력되는 화상 데이터(11)를 8 화소(n=3)마다 처리하는 구성을 나타내고 있다.
도 11에 있어서, 화상 데이터 압축 장치(100)에 입력되는 화상 데이터(11)는 압축 대상이 되는 화소의 집합이며, 라인 방향으로 화소 데이터가 입력된다. 순서 제어 회로(12a)는 압축 대상 블록의 8 화소의 처리 순서를 제어하는 회로이며, 화상 데이터 압축 장치(100) 내의 멀티플렉서로부터 출력되는 화소 데이터를 제어 신호에 따라 제어한다.
본 실시형태의 화상 데이터 압축 장치(100) 및 후술하는 화상 데이터 복원 장치(200)에 의한 화소의 처리 타이밍을 도 10을 이용하여 설명한다.
1 블록 내의 화소의 처리 순서는 도 10과 같고, 제3 클록에서 화소 X4, 제4 클록에서 화소 X8, 제5 클록에서 화소 X5, 제6 클록에서 화소 X2, 제7 클록에서 X6, 제8 클록에서 X7, 제9 클록에서 X1, 제10 클록에서 화소 X3의 처리를 완료한다. 단, 타이밍 관계상, 화소 X5, X7에 대한 처리는 이전 블록의 화소에 대한 처리가 된다.
멀티플렉서(MUX1)(13)는 화상 데이터 압축 장치(100)에 1 화소씩 입력되는 화상 데이터(11)의 화소를 블록 단위로 처리하기 위해 압축 대상 화소 블록으로 순차적으로 분류하는 멀티플렉서이다. 압축 대상 화소 블록(14)은 현재 단계에서 압축 대상이 되는 화소의 화소 데이터(레벨값)를 유지한다. 또, 화소 X5, X7에 대해서는 처리 지연의 관점에서 1개 앞의 블록의 화소 데이터도 유지한다. 디멀티플렉서(DMUX1)(15)는 압축 대상 블록(14) 중 화소 레벨값을 계층 순으로 후단의 처리에 전달하는 디멀티플렉서이다. 예측용 라인 버퍼(16)는 적어도 처리 대상 블록의 직전 1 라인분의 복원 화소 레벨값을 유지하는 버퍼이며, 압축 대상 블록(14)의 바로 위쪽에 있는 직상(直上) 블록 라인 메모리(17)에 값을 전달한다. 직상 블록 라인 메모리(17)는 압축 대상 화소 블록(14) 내의 화소의 1개 위의 라인의 화소 레벨값을 유지하는 라인 메모리이다. 이 직상 블록 라인 메모리(17) 중 화소 X'-4, X'-3, X'-2, X'-1, X'0는 이전 블록의 화소 X'4, X'5, X'6, X'7, X'8의 화소를 나타낸다. 압축 대상 화소 블록(18)은 압축 대상 화소 블록(14)의 화소 중에서 처리가 종료된 복원 화소 레벨값을 유지하는 버퍼이다. 이 압축 대상 화소 블록(18) 내의 화소 레벨값은 예측값 산출에 사용된다. 압축 대상 화소 블록(18) 중 화소 X-4, X-2, X0는 이전 블록의 화소 X4, X6, X8을 나타내는 것이며, 이전 블록의 화소 X5, X7을 처리하기 위해 이용된다.
디멀티플렉서(DMUX2)(19)는 압축 대상 화소 바로 위쪽의 화소의 레벨값을 예측값 산출?선택 모듈(26)에 출력하는 디멀티플렉서이다. 디멀티플렉서(19)가 출력하는, 예측 대상 화소에 대응하는 직상 화소는 도 12의 C와 같다.
디멀티플렉서(DMUX3)(20)는 압축 대상 화소의 직상 2치 평균을 산출할 때에 사용되는 화소 레벨값을 직상 2치 평균 산출 모듈(24)에 출력하는 디멀티플렉서이다. 예측 대상 화소에 대응하는 직상 2치 평균은 도 12의 B와 같이 되고, 디멀티플렉서(20)는 평균값 산출에 사용되는 2개의 화소 중, 숫자가 작은 쪽의 화소 레벨값을 출력한다. 또, 예측 대상 화소가 제1 계층 처리에서 처리되는 화소 X4, X8인 경우는 디멀티플렉서(20)는 동작하지 않는다.
디멀티플렉서(DMUX4)(21)는 압축 대상 화소의 직상 2치 평균을 산출할 때에 사용되는 화소 레벨값을 직상 2치 평균 산출 모듈(24)에 출력하는 디멀티플렉서이다. 예측 대상 화소에 대응하는 직상 2치 평균은 도 2의 B에 나타내는 바와 같고, 디멀티플렉서(21)는 평균값 산출에 사용되는 2개의 화소 중, 숫자가 큰 쪽의 화소 레벨값을 출력한다. 이 디멀티플렉서(DMUX4)(21)도 예측 대상 화소가 제1 계층 처리에서 처리되는 화소 X4, X8인 경우는 동작하지 않는다.
디멀티플렉서(DMUX5)(22)는 압축 대상 화소의 현재 라인 2치 평균을 산출할 때에 사용되는 화소의 화소 레벨값을 현재 라인 2치 평균 산출 모듈(25)에 출력하는 디멀티플렉서이다. 예측 대상 화소에 대응하는 현재 라인 2치 평균은 도 12의 A에 나타내는 바와 같고, 디멀티플렉서(22)는 평균값 산출에 사용되는 2개의 화소 중, 숫자가 작은 쪽의 화소를 출력한다. 예측 대상 화소가 제1 계층 처리에서 처리되는 화소 X4, X8인 경우는 동작하지 않는다.
디멀티플렉서(DMUX6)(23)는 압축 대상 화소의 현재 라인의 2치 평균을 산출할 때에 사용되는 화소 레벨값을, 현재 라인 2치 평균 산출 모듈(25)에 출력하는 디멀티플렉서이다. 예측 대상 화소에 대응하는 현재 라인 2치 평균은 도 12의 A에 나타내는 바와 같고, 디멀티플렉서(23)는 평균값 산출에 사용되는 2개의 화소 중, 숫자가 큰 쪽의 화소 레벨을 출력한다. 또한, 디멀티플렉서(23)는 예측 대상 화소가 제1 계층 처리에서 처리되는 화소 X4, X8의 경우는 동작하지 않는다.
직상 2치 평균 산출 모듈(24)은 압축 대상 화소의 바로 위쪽 근처에 있는 2개 값의 평균값을 산출하는 모듈이다. 예측 대상 화소에 대응하는 현재 라인 2치 평균은 도 12의 A에 나타내는 바와 같다. 이 직상 2치 평균 산출 모듈(24)은 예측 대상 화소가 제1 계층 처리에서 처리되는 화소 X4, X8의 경우는 동작하지 않는다. 일반적으로 예측 방식은 압축 대상 화소 및 이미 복원한 화소 레벨의 외측 화소 레벨값을 예측하는 외삽 예측보다, 이미 복원한 화소가 예측 대상 화소를 둘러싸는 형태로 예측하는 내삽 예측 쪽이 예측 정밀도가 좋다. 이 때문에, 이전 라인 상에서의 참조값 A도 내삽 처리를 실행하면 예측 정밀도를 더 높일 수 있다.
현재 라인 2치 평균 산출 모듈(25)은 압축 대상 화소와 그 양 옆에 있는 화소의 2개 값의 평균값을 산출하는 모듈이다. 이 현재 라인 2치 평균 산출 모듈(25)은 예측 대상 화소가 제1 계층 처리에서 처리되는 화소 X4, X8의 경우는 동작하지 않는다. 일반적으로 예측 방식은 압축 대상 화소 및 이미 복원한 화소 레벨값의 외측 화소 레벨값을 예측하는 외삽 예측보다, 이미 복원한 화소가 예측 대상 화소를 둘러싸는 형태로 예측하는 내삽 예측 쪽이 예측 정밀도가 좋다. 이 때문에, 동일 라인 상에서의 참조값 A도 내삽 처리를 실행하면 예측 정밀도를 더 높일 수 있다.
예측값 산출?선택 모듈(26)은 압축 대상 화소의 직상 화소, 직상 2치 평균 및 현재 라인 2치 평균에 기초해서, 순서 제어 회로(12a)로부터의 제어 신호에 따라 예측값을 산출, 선택하는 모듈이다.
도 13은 참조 중간값과 그에 대응하는 예측값을 나타내는 도면이다. 예측값 산출?선택 모듈(26)에 의한 예측값 산출은 제1 계층 처리에서는 압축 대상 화소의 직상 화소 밖에 사용하지 않는다. 그러나, 제2 계층 처리 이후의 처리에서는, 예측값 산출?선택 모듈(26)은 현재 라인 2치 평균을 A, 직상 2치 평균을 B, 직상 화소를 C로 한 경우에, 이들의 중간값을 산출하여, 도 13에 대응하도록 A, C, A+C-B 중에서 사용하는 예측값을 결정한다.
예측값(27)은 예측값 산출?선택 모듈(26)에 의해 산출된 예측값이다. 감산기(28)는 디멀티플렉서(DMUX1)(15)로부터 출력되는 압축 대상 화소로부터 예측값(27)을 감산하여, 예측 오차를 산출하는 연산기이다.
양자화기(29)는 압축 대상 화소와 예측값의 차분값인 예측 오차를 양자화하는 것이다. 양자화기(29)는 예측 오차를 입력으로 해서, 양자화값과 양자화 번호를 출력한다. 예측 오차와 예측 오차 양자화값 및 양자화 번호는 도 14와 같이 대응한다. 이 도 14의 표에 기초하여 양자화기(29)는 입력된 예측 오차로부터 대응하는 예측 오차 양자화값 및 양자화 번호를 출력한다.
가산기(30)는 예측값(27)과 양자화기(29)가 출력한 예측 오차 양자화값을 가산해서 복원 화소 레벨값을 산출하여 멀티플렉서(MUX2)(31) 및 멀티플렉서(MUX3)(32)에 출력하는 연산기이다.
멀티플렉서(MUX2)(31)는 복원 화소 레벨값 X2, X4, X6, X8을 압축 대상 화소 블록(18)에 출력하는 멀티플렉서이다.
멀티플렉서(MUX3)(32)는 복원 화소 레벨값을 예측용 라인 버퍼(16)에 순차적으로 출력하는 멀티플렉서이다.
가변 길이 부호화기(33)는 양자화기(29)로부터 출력된 양자화 번호를 입력으로 해서, 이것을 허프만 부호(Huffman code) 등의 가변 길이 부호로 변환하여 출력한다.
압축 부호 버퍼(34)는 가변 길이 부호화기(33)로부터 출력된 가변 길이 부호를 축적하는 버퍼이다.
다음으로 도 11의 화상 데이터 압축 장치(100)의 동작 처리에 대해 설명한다.
도 15는 본 실시형태의 화상 데이터 압축 장치(100)의 화상 데이터 압축시의 동작 처리를 나타내는 흐름도이다.
도 15에 있어서, 처리가 시작되어 화상 데이터 압축 장치(100)에 화상 데이터(11)가 입력되기 시작하면, 우선 단계 S1로서, 화상 데이터 압축 장치(100)는, 입력된 화상 데이터(11) 중 8 화소분을 압축 대상 화소 블록(14)에 저장한다.
다음에 화상 데이터 압축 장치(100)는 단계 S2로서 예측용 라인 버퍼(16)로부터 직상 블록 라인 메모리에 화소 X'-4, X'-3, X'-2, X'-1, X'0, X'1, X'2, X'3, X'4, X'5, X'6, X'7, X'8에 해당하는 화소 레벨값을 저장한다.
그리고 다음에 단계 S3에 있어서, 압축 대상 화소 블록(14)에서, 순서 제어 회로부터의 제어 신호에 기초하여 이전 블록의 화소 X4, X6, X8의 화소 레벨값을 화소 X-4, X-2, X0에 덮어쓴다.
그리고 단계 S4에서, 압축 대상 화소가 제1 계층 처리 대상인 화소 X4 또는 X8이면(단계 S4, Yes), 단계 S5로서 제1 계층 처리, 즉 예측값 산출?선택 모듈(26)이 디멀티플렉서(DMUX2)(19)로부터 출력되는, 처리 대상 화소 X4 및 X8의 바로 위쪽의 화소 X'4, X'8의 화소 레벨값을 예측값(27)으로서 출력한다.
또한 단계 S4에 있어서, 압축 대상 화소가 제1 계층 처리 대상인 화소 X4 및 X8이 아니면(단계 S4, No), 제2 계층 이후의 처리 대상의 화소이기 때문에, MAP 예측을 수행하기 위해, 단계 S6에서 디멀티플렉서(DMUX3)(20) 및 디멀티플렉서(DMUX4)(21)로부터 선택하여 출력된 값에 기초해서 직상 2치 평균값 산출 모듈(24)에 의해 직상 2치 평균값을 산출하고, 단계 S7에서 현재 라인 2치 평균값 산출 모듈(25)에 의해 디멀티플렉서(DMUX5)(22) 및 디멀티플렉서(DMUX6)(23)로부터 선택하여 출력된 값에 기초해서 현재 라인 2치 평균값을 산출한다. 그리고 단계 S8에서 예측값 산출?선택 모듈(26)에 의해 직상 화소, 단계 S6, S7에서 구한 직상 2치 평균값 및 현재 라인 2치 평균값을 이용하여 예측값(27)을 산출한다.
다음으로 화상 데이터 압축 장치(100)에서는, 단계 S9로서, 감산기(28)에 의해 압축 대상 화소 블록(14)으로부터 디멀티플렉서(DMUX1)에 의해 선택하여 출력된 압축 대상 화소의 화소 레벨값으로부터 예측값(27)을 감산하여, 예측 오차를 산출한다. 그리고 단계 S10으로서, 단계 S9에서 산출한 예측 오차를 양자화기(29)에서 양자화하여, 예측 오차 양자화값과 양자화 번호를 출력한다. 그리고 화상 데이터 압축 장치(100)는 단계 S11로서 예측 오차 양자화값과 예측값(27)을 가산기(30)에서 가산해서 복원 화소를 구하여 이것을 멀티플렉서(MUX2)(31) 및 멀티플렉서(MUX3)(32)에 출력한다.
그리고 압축 대상 화소가 X2, X4, X6, X8인 경우는(단계 S12, Yes), 단계 S13으로서 멀티플렉서(MUX2)(31)에 의해 화소 X2, X4, X6, X8의 복원 화소를 압축 대상 화소 블록(18)에 유지한다. 또한 이 단계 S12에 있어서 압축 대상 화소가 X2, X4, X6, X8 이외인 경우에는(단계 S12, No), 단계 S13의 처리는 스킵한다. 그리고 다음에 화상 데이터 압축 장치(100)는 단계 S14에서 복원 화소를 멀티플렉서(MUX3)(32)를 통해 예측용 라인 버퍼(16)에 전달한다.
그리고 마지막으로 화상 데이터 압축 장치(100)는 가변 길이 부호화기(33)에서 양자화 번호에 기초해서 부호를 생성한다. 또 이 때 이용되는 부호의 종류는 Golomb 부호이거나 산술 부호일 수도 있다.
상기한 단계 S1에서부터 S15의 처리를 이전 화상 데이터에 대하여 수행하고, 전체 화상 데이터에 대하여 처리가 완료되면 본 처리는 종료된다.
이와 같이 본 실시형태의 화상 데이터 압축 장치(100)에 의한 화상 압축에서는, 라인 내의 화소를 2n(상기 예에서는 n=3)마다 블록으로 나누고, 블록 내에서 계층 단위로 처리 타이밍을 어긋나게 함으로써 예측 처리에 의한 처리 속도 상의 보틀넥을 해소한다. 또한, 고해상도 성분(제2, 제3 계층)에 대해서는, 이전 라인 및 이전 계층의 복원값을 참조해서, 내삽하는 중간값 산출을 실행하기 때문에, 고정밀도의 예측이 가능하다.
다음으로 본 실시형태에 있어서의 화상 데이터 복원 장치에 대해 설명한다.
도 16은 본 실시형태에 있어서의 화상 데이터 복원 장치(200)의 구성예를 나타내는 도면이다.
도 16의 구성 요소에 있어서, 예측값(27)을 구하는 부분의 구성 요소는 도 11의 화상 데이터 압축 장치(100)의 구성 요소와 기본적으로 동일하게 동작하는 것이며, 이들에 대해서는 동일한 부호가 붙여져 있다. 그래서 이들 구성 요소에 대해서는 상세한 설명은 생략한다.
도 16에 있어서, 압축 부호(41)는 화상 데이터를 부호화한 것이며, 본 실시형태의 화상 데이터 복원 장치(200)에 의해 복원 대상이 되는 데이터이다. 역부호화기(42)는 압축 부호(41)를 입력으로 하여, 그 압축 부호(41)에 해당하는 양자화 번호를 출력하는 것이다. 역양자화기(43)는 역부호화기(42)로부터 출력된 양자화 번호를 입력으로 하여, 예측 오차 양자화값(44)을 출력한다. 양자화 번호와 예측 오차 양자화값은, 도 17에 나타낸 바와 같은 관계에 있고, 당연하지만, 도 14에 나타내는 예측 오차 양자화값과 양자화 번호의 관계와 동일하다. 역양자화기(43)는 입력된 양자화 번호에 대응하는 예측 오차 양자화값(44)을 출력한다. 예측 오차 양자화값(44)은 역양자화기(43)로부터 출력된 예측 오차의 양자화값이다.
순서 제어 회로(12b)는 복원 대상 블록의 8 화소의 처리 순서를 제어하는 회로이며, 제어 신호를 출력하여 각 멀티플렉서(MUX), 디멀티플렉서(DMUX)의 출력을 제어한다. 화상 데이터 복원 장치(200)에서는, 화소의 처리 순서가 도 10에 나타낸 바와 같이 화소 X4, X8, X5, X2, X6, X7, X1, X3이다. 단, 타이밍 관계상, 화소 X5, X7은 1개 앞의 블록의 화소에 대한 처리가 된다.
가산기(45)는 예측값(27)과 예측 오차 양자화값(44)을 가산하여 복원 화소 레벨값을 산출하는 것이다. 멀티플렉서(MUX1)(46)는 1 화소씩 복원된 화소를 복원 완료 화소 블록(47)으로 순차적으로 분류하는 멀티플렉서이다. 복원 완료 화소 블록(47)은 현재 진행되는 복원 처리에서 복원이 완료된 화소 레벨값을 유지하는 것이다. 디멀티플렉서(DMUX1)(48)는 복원 완료 화소 블록(47) 내의 화소 데이터를 압축 전의 순서(X1, X2, X3, X4, X5, X6, X7, X8)로 다시 배열하여 출력하는 디멀티플렉서이다. 복원 화상 데이터(49)는 화상 데이터 복원 장치(200)에 의한 복원 결과의 화상 데이터이다.
다음으로 도 16의 화상 데이터 복원 장치(200)의 압축 데이터의 복원 처리시의 동작을 설명한다.
도 18은 본 실시형태에서의 화상 데이터 복원 장치(200)의 압축 데이터의 복원 처리시의 동작 처리를 나타내는 흐름도이다.
도 18에 있어서 화상 데이터 복원 장치(200)에 압축 부호(41)가 입력되어 처리가 시작되면, 우선 단계 S21로서, 입력된 압축 부호(41)에 기초해서 역부호화기(42)에서 양자화 번호를 구한다.
다음에 화상 데이터 복원 장치(200)는 단계 S22로서, 단계 S21에서 구한 양자화 번호에 기초해서 역양자화기(43)에서 예측 오차 양자화값(44)을 구한다.
그리고 단계 S23에서, 직상 블록 라인 메모리(17)에 예측용 라인 버퍼(16)로부터 출력되는 화소 X'-4, X'-3, X'-2, X'-1, X'0, X'1, X'2, X'3, X'4, X'5, X'6, X'7, X'8에 해당하는 화소 레벨값을 유지한다. 또한 단계 S24로서, 압축 대상 화소 블록(18)에 있어서, 순서 제어 회로(12b)로부터의 제어 신호에 기초하여 이전 블록의 화소 X4, X6, X8의 값을 X-4, X-2, X0에 덮어쓴다.
다음에 화상 데이터 복원 장치(200)는 단계 S25에서 복원 처리 대상 화소가 X4 또는 X8인지 여부를 판단하여, 이들 화소이면(단계 S25, Yes), 단계 S26의 처리로서, 예측값 산출?선택 모듈(26)은 디멀티플렉서(DMUX2)(19)로부터 출력된 압축 처리 대상 화소의 직상 화소의 화소 레벨값을 예측값(27)으로서 출력한다.
또한 단계 S25에 있어서 복원 대상 화소가 X4 또는 X8이 아니면(단계 S25, No), 단계 S27로서 직상 2치 평균값 산출 모듈(24)이 디멀티플렉서(DMUX3)(20) 및 디멀티플렉서(DMUX4)(21)에 의해 선택하여 출력된 값으로부터 선택 직상 2치 평균값을 산출하여 예측값 산출?선택 모듈(26)에 출력한다. 다음에 단계 S28로서 현재 라인 2치 평균값 산출 모듈(25)이 디멀티플렉서(DMUX5)(22) 및 디멀티플렉서(DMUX6)(33)가 선택하여 출력한 값으로부터 참조값을 산출하여, 예측값 산출?선택 모듈(26)에 출력한다. 그리고 단계 S29로서 예측값 산출?선택 모듈(26)은 단계 S27에서 구한 직상 2치 평균값 및 단계 S28에서 구한 현재 라인 2치 평균값에 기초해서 도 12 및 도 13에 따라 예측값(27)을 구한다.
단계 S26 또는 단계 S29에서 예측값(27)이 구해지면, 화상 데이터 복원 장치(200)에서는, 단계 S30로서, 단계 S22에서 구한 예측 오차 양자화값(44)과 예측값(27)을 가산기(45)에서 가산하여 복원 화소를 산출한다.
그리고 단계 S30에서 산출한 복원 화소가, 화소 X2, X4, X6, X8의 복원 화소인 경우에는(단계 S31, Yes), 단계 S32로서, 멀티플렉서(MUX2)(31)를 통해 복원 대상 화소 블록(18)에 입력되고, 그 이외의 화소의 복원 화소인 경우에는(단계 S31, No), 단계 S32는 스킵한다.
다음에 화상 데이터 복원 장치(200)에서는, 멀티플렉서(MUX3)(32)를 통해 복원 화소가 예측용 라인 버퍼(16)에 입력된다.
그리고 다음에 화상 데이터 복원 장치(200)는 단계 S34로서 모든 복원 화소를 복원 완료 블록(47)에 입력한다. 그리고 단계 S35로서 복원 완료 블록(47) 내의 복원 화소를 디멀티플렉서(DMUX1)(48)에 의해 압축 전의 순서(X1, X2, X3, X4, X5, X6, X7, X8)로 하여 복원 화소를 출력한다.
이후 상기 단계 S21부터 S35까지의 처리를 모든 화상 데이터만큼 반복하고, 모든 화상 데이터에 대하여 복원 처리가 완료되면, 본 처리를 종료한다.
이상과 같이 본 실시형태에 있어서의 화상 데이터 복원 장치(200)에 의한 복원 처리에서는, 상기한 바와 같이, 라인 내의 화소를 블록으로 나누고, 블록 내에서 계층 단위로 처리 타이밍을 어긋나게 함으로써, 예측 처리에 의한 처리 속도 상의 보틀넥을 해소할 수 있다. 또한, 고해상도 성분(제2, 제3 계층)에 대해서는 이전 라인 및 이전 계층의 복원값을 참조, 내삽하는 중간값 산출을 실행하기 때문에, 고정밀도의 예측이 가능하다.
다음으로 본 실시형태에서의 화상 데이터 압축 처리 및 복원 처리에 있어서의 예외 처리에 대해 설명한다.
도 19는 본 실시형태에서의 화상 데이터 압축 처리 및 복원 처리에서 예외 처리가 수행되는 화상 데이터의 1 프레임 내의 위치를 나타내는 도면이다.
1 프레임의 가장자리에 대응하는 도 19의 (1)~(4)의 위치에서는 참조값 모두가 갖춰지지 않기 때문에 예외 처리를 수행하여 예측한다.
화상 데이터의 제1 라인에 대응하는 (1)과 (2)는 바로 위쪽의 로컬 디코드값이 존재하지 않기 때문에, 참조값 A~C의 Median을 취하는 것이 아니라 도 21에 나타낸 값을 예측값으로 한다.
도 20에 있어서, 0x80은 16진법 표기로 80이며 10진법 표기로는 128이다. 이 128은 화소의 계조 수를 256 계조로 했을 때의 절반값이다.
도 19의 (1)의 위치의 화소에서는, 제1 계층 처리를 수행하는 데 있어서, 외삽 처리를 수행하기 위한 직전의 화소가 없기 때문에 이 128의 값(0x80)의 화소가 있는 것으로 하고 외삽 처리를 수행하여 예측값을 구한다. 또한, 도 19의 (2)에서는 이전 블록의 대응 화소의 값을 예측값으로서 이용한다.
제2 계층 및 제3 계층 처리에서는, 원래 없는 부분의 위치에 0x80의 계조 수(이것은 10진수 표기로 128을 나타내고, 계조 수를 256으로 한 경우의 절반값)를 갖는 화소가 존재하는 것으로 하고 내삽 처리를 수행하여 예측값을 구한다.
또한, 제2 라인 이후의 선두 블록에 해당하는 (3)의 위치의 화소에서는 도 21에 나타내는 대체 화소를 사용함으로써 참조값을 구성한다.
도 21은 도 19의 좌단의 (3)의 위치의 화소의 예측값을 구할 때에, 대체 화소의 예를 나타내는 것이며, 주목 화소 블록(51)의 예측값을 구할 때에 직상 화소(52)의 화소 X'0의 위치와 처리 라인(53)의 화소 X0의 위치에 화소 X'1의 값을 대체 화소로서 이용한다.
마찬가지로 도 19의 최종 블록에 해당하는 (4)의 위치의 화소의 예측값을 구할 때는, X'9 및 X9의 위치에 대체 화소를 사용함으로써 참조값을 구성한다.
이와 같이 본 실시형태에서의 화상 데이터 압축 처리 및 복원 처리에서는, 화상 데이터의 프레임 단부에 대해서도 대응할 수 있다.
다음으로 본 실시형태에서의 화상 데이터 압축 처리를 프로그램에 의해 수행한 경우에 대해 설명한다.
도 22는 본 실시형태에 있어서의 데이터 압축 프로그램(300)의 프로그램 구성예를 나타내는 도면이다. 도 22에서 데이터 압축 프로그램(300)의 구성 유닛은 CPU가 메모리 상의 데이터 압축 프로그램(300)을 실행함으로써 실현된다.
또 데이터 압축 프로그램(300)은 1개의 프로그램으로서 구성되거나, 복수의 프로그램으로 이루어지는 프로그램군으로서 구성될 수도 있다.
도 22에 있어서, 화상 데이터(61)는 본 실시형태의 데이터 압축 프로그램(300)에 의한 데이터 압축 대상이 되는 화소의 데이터(계조값)이다. 이 화소 데이터(61)는 데이터 압축 프로그램(300)에 라인 방향으로 입력된다. 화상 포맷(62)은 화상 데이터(61)의 가로 화상 사이즈를 나타내는 정보이며, 데이터 압축 처리가 이루어질 때에, 데이터 압축 프로그램(300)에 입력된다.
계층별 액세스 유닛(63)은 화상의 프레임의 가로 화소 사이즈에 기초해서 각 화소를 계층별로 분류하여, 계층별로 부호화 처리를 실행하도록 각 화소 데이터에 액세스하는 프로그램 유닛이다.
계층이 N인 경우는 이하와 같이 분류된다. 본 실시형태에서는 전술한 하드웨어에 의해 압축 처리를 수행하는 경우와 달리, 처리를 병렬로 수행하거나 수행하지 않을 수 있기 때문에, 블록 분류 방법 및 각 계층에서의 화소의 선택 방법이 이하와 같이 지금까지와 다르다.
? 각 블록 내의 화소 수: 2N-1 개(1 블록의 크기는 지금까지의 절반)
? 제1 계층: 각 블록당 1개 존재하고, 블록 우단의 화소가 선택된다.
? 제2 계층: 각 블록당 1개 존재하고, 좌단으로부터 2N-2번째의 화소가 선택된다.
? 제i 계층: 각 블록당 2i-2개 존재하고, 좌단으로부터 2N-i번째의 화소로부터 선택되어, 우단을 향해 2N-i+1개 걸러 선택된다.
? 제n 계층: 각 블록당 2N-2개 존재하고, 좌단에서 첫번째 화소로부터 선택되어, 우단을 향해 2개 걸러 선택된다.
압축 대상 라인용 메모리 영역(64)은 현재 단계에서 압축 대상이 되는 라인의 화소의 레벨값을 유지하는 메모리 영역이며, 데이터 압축 프로그램(300)에 의해 정보 처리 장치의 메모리 영역 상에 마련된다.
예측용 라인 메모리 영역(66)은 처리 라인의 1개 앞의 라인의 복원 화소 레벨값을 유지하는 메모리 영역이며, 데이터 압축 프로그램(300)에 의해 정보 처리 장치의 메모리 영역 상에 마련된다.
현재 라인 2치 평균 산출 유닛(67)은 압축 대상 화소와 양 옆에 있는 2개 값의 평균값을 산출하는 프로그램 유닛이다. 이 산출 처리는 제2 계층 이후에 이루어지고, 산출 방법은 이하와 같다.
제i 계층, 화소 Xj의 현재 라인 2치 평균 "C": (Xk+Xl)/2 ※ k=j+2N-2, l=j-2N-2
직상 2치 평균 산출 유닛(68)은 압축 대상 화소의 바로 위쪽 근처에 있는 2개 값의 평균값을 산출하는 프로그램 유닛이다. 이 산출도 제2 계층 이후에 이루어지고, 산출 방법은 이하와 같다.
제i 계층, 화소 Xj의 직상 라인 2치 평균 "B": (X'k+X'l)/2 ※ k=j+2N-2, l=j-2N-2
예측값 산출?선택 유닛(69)은 직상 화소, 직상 2치 평균 및 현재 라인 2치 평균에 기초해서, 예측값을 산출, 선택하는 프로그램 유닛이다. 제1 계층은 직상 화소밖에 사용하지 않지만, 제2 계층 이후에는 현재 라인 2치 평균을 A, 직상 2치 평균을 B, 직상 화소를 C로 한 경우에, 이들의 중간값을 산출하여, 도 12에 대응하도록 A, C, A+C-B 중에서 사용하는 예측값을 결정한다.
예측값 산출?선택 유닛(69)에 의한 제2 계층 이후의 산출 방법은 이하와 같다.
제i 계층, 화소 Xj의 직상 화소 "A": X'j
제i 계층, 화소 Xj의 직상 라인 2치 평균 "B": (X'k+X'l)/2 ※ k=j+2N-2, l=j-2N-2
제i 계층, 화소 Xj의 현재 라인 2치 평균 "C": (Xk+Xl)/2 ※ k=j+2N-2, l=j-2N-2
감산 유닛(65)은 압축 대상 라인용 메모리 영역(64)으로부터 판독된 압축 대상 화소의 화소 레벨값으로부터 예측값 산출?선택 유닛(69)이 산출한 예측값을 감산하여 예측 오차를 산출하는 프로그램 유닛이다.
양자화 유닛(71)은 압축 대상 화소와 예측값의 차분값인 "예측 오차"를 양자화하는 프로그램 유닛이다. 양자화 유닛(71)은 예측 오차를 입력으로 해서 예측 오차 양자화값과 양자화 번호를 출력한다. 이 예측 오차와 예측 오차 양자화값 및 양자화 번호의 관계는 도 14와 같다.
가변 길이 부호화 유닛(72)은 양자화 번호를 입력으로 해서, 가변 길이 부호를 출력하는 프로그램 유닛이다.
압축 부호 메모리 영역(73)은, 가변 길이 부호화 유닛(72)으로부터 출력된 가변 길이 부호를 압축 부호로서 축적하는 버퍼이다. 이 압축 부호 메모리 영역(73)은 데이터 압축 프로그램(300)에 의해, 데이터 압축 프로그램(300)이 실행되는 정보 처리 장치의 메모리 상에 확보된다.
다음으로 이 데이터 압축 프로그램(300)이 화상 데이터를 압축할 때의 동작 처리에 대해 설명한다.
도 23은 화상 데이터를 압축할 때의 데이터 압축 프로그램(300)의 동작 처리를 나타내는 흐름도이다. 도 23의 처리는 정보 처리 장치의 CPU가 메모리 상의 데이터 압축 프로그램(300)을 실행함으로써 실현된다.
도 23의 처리가 시작되면 우선 단계 S41로서, 화상 데이터(61) 중 1 라인분을 압축 대상 라인용 메모리 영역(64)에 저장한다.
다음으로 단계 S42로서 1 블록분의 압축 대상 화소를, 제1 계층 처리로부터 제n 계층 처리의 대상 화소로 분류한다.
그리고 다음에 단계 S43로서 예측값 산출?선택 유닛(69)은 예측용 라인 메모리 영역(66)으로부터 해당하는 화소를 판독한다.
그리고 현재의 처리가 제1 계층 처리이면(단계 S44, Yes), 제1 계층 처리로서, 단계 S45에서 예측값 산출?선택 유닛(69)이 압축 대상 화소의 바로 위쪽의 화소의 화소 레벨값을 예측값으로 한다.
또한, 단계 S44에서, 현재의 처리가 제2 계층 이후의 처리이면(단계 S44, No), 단계 S46에서 직상 2치 평균 산출 유닛(68)은 직상 2치 평균값을 산출하고, 단계 S47에서 현재 라인 2치 평균값 산출 유닛(67)은 현재 라인 2치 평균값을 산출하며, 단계 S49에서는 단계 S46에서 산출한 직상 2치 평균값과 단계 S47에서 산출한 현재 라인 2치 평균값을 이용하여 압축 대상 화소의 예측값을 구한다.
단계 S45 또는 단계 S48에서 예측값이 구해지면, 단계 S49로서 감산 유닛(65)에서 압축 대상 화소의 화소 레벨값으로부터 예측값을 감산하여, 예측 오차를 산출한다. 그리고 단계 S50으로서 단계 S49에서 구한 예측 오차를 양자화 유닛(71)에 의해 양자화하여, 양자화값과 양자화 번호를 구한다.
그리고 다음으로 단계 S51에 있어서, 가산 유닛(70)에 의해 단계 S50에서 구한 양자화값과 단계 S45, S48에서 구한 예측값을 가산하여 복원 화소를 산출한다. 그리고 단계 S52로서 이 복원 화소를 예측용 라인 메모리 영역(66)에 저장한다.
그리고 마지막으로 단계 S53로서 가변 길이 부호화 유닛(72)에 의해, 가변 길이 부호로 변환하고, 압축 부호를 생성하여 압축 부호 메모리 영역(73)에 저장한다. 이 압축 부호는 Golomb 부호이거나 산술 부호일 수도 있다.
이 단계 S43부터 S53까지의 처리를 우선 1 라인 중 모든 블록의 제1 계층 처리에 대해 수행하고, 다음에 각 계층 순으로 처리를 진행한다.
그리고 단계 S41부터 S53까지의 처리를 모든 화상 데이터에 대하여 수행하고, 압축 부호가 생성되었으면, 본 처리를 종료한다.
이 처리에 의해, 하드웨어가 아니라, 소프트웨어에 의해 본 실시형태의 화상 데이터의 압축을 수행할 수 있다.
도 23의 처리에 있어서, 압축 처리의 대상 화소가 도 19의 (1), (2), (3), (4) 부분에 해당하는 경우에는, 예외 처리를 수행한다.
이 예외 처리에서는, 제1 라인의 (1)과 (2) 부분의 화소인 경우에는, 바로 위쪽의 로컬 디코드값이 존재하지 않기 때문에, 도 12의 참조값 A~C의 중앙값을 취하는 것은 아니라, 이하에 나타낸 값을 예측값으로 한다. 또한 제2 라인 이후의 선두, 및 최종 블록에 해당하는 (3)과 (4)는 이하에 나타내는 대체 화소를 사용함으로써 참조값을 구성한다. (1)과 (2)에 대해서는, 전술한 바와 같이 도 21을 이용하여 설명했다.
도 24a는 도 19의 (3)의 위치인 경우의 예측값의 산출을 나타내는 도면이다.
이 경우, 이전 라인(81)과 현재 라인(82)의 좌단에 이전 라인(81)의 좌단 종단 화소의 화소 레벨값을 갖는 화소가 더 존재하는 것으로 하여 각 블록(83)의 예측값을 구한다.
도 24b는 도 19의 (4)의 위치에서의 예측값의 산출을 나타내는 도면이다.
이 경우, 이전 라인(81)과 현재 라인(82)의 우단의 1 블록에 있어서 부족한 만큼의 화소 수만큼, 그 위치에 1개 앞의 블록의 우단의 화소의 화소 레벨값의 화소가 존재하는 것으로 하여 각 블록(83)의 예측값을 구한다.
다음으로 본 실시형태에 있어서의 화상 데이터 복원 처리를 프로그램에 의해 수행한 경우에 대해 설명한다.
도 25는 본 실시형태에 있어서의 데이터 복원 프로그램(400)의 프로그램 구성예를 나타내는 도면이다. 도 25에서 데이터 복원 프로그램(400)의 구성 유닛은 CPU가 메모리 상의 데이터 압축 프로그램(300)을 실행함으로써 실현된다.
데이터 복원 프로그램(400)은 1개의 프로그램으로서 구성되거나, 복수의 프로그램으로 이루어지는 프로그램군으로서 구성될 수도 있다.
도 25의 구성 요소에 있어서, 예측값을 구하는 부분의 구성 요소는 도 22의 화상 데이터 압축 프로그램(300)의 구성 요소와 기본적으로 동일한 동작을 수행하는 것이며, 이들에 대해서는 동일한 부호가 붙여진다. 그리고 이들 구성 요소에 대해서는 상세한 설명은 생략한다.
도 25에 있어서, 압축 부호(91)는, 화상 데이터를 부호화한 것이며, 본 실시형태의 화상 데이터 복원 프로그램(400)에 의해 복원 대상이 되는 데이터이다. 역부호화 유닛(92)은 압축 부호(91)를 해당하는 양자화 번호로 변환하는 프로그램 유닛이다. 역양자화 유닛(93)은 역부호화 유닛(92)이 변환한 양자화 번호를 예측 오차 양자화값으로 변환한다. 양자화 번호와 예측 오차 양자화값은 전술한 바와 같이 도 17에 나타낸 바와 같은 관계에 있고, 역양자화 유닛(93)은 양자화 번호를 대응하는 예측 오차 양자화값으로 변환한다. 가산 유닛(94)은 예측 오차 양자화값과 예측값을 가산하여 복원 화소를 구하는 프로그램 유닛이다. 복원 완료 화소 블록 영역(95)은 1 블록분의 복원 화소의 화소 레벨값을 기억하는 메모리 영역이며, 데이터 복원 프로그램(400)을 실행하는 정보 처리 장치의 메모리 상에 데이터 복원 프로그램(400)에 의해 확보된다. 순서 변환 유닛(96)은 복원 완료 화소 블록 영역(95)으로부터 화소 레벨값을 압축 전의 순서로 판독하는 프로그램 유닛이다.
다음으로 도 25의 데이터 복원 프로그램(400)이 화상 데이터를 복원할 때의 동작 처리에 대해 설명한다.
도 26은 화상 데이터를 복원할 때의 데이터 복원 프로그램(400)의 동작 처리를 나타내는 흐름도이다. 도 26의 처리는 정보 처리 장치의 CPU가 메모리 상의 데이터 복원 프로그램(400)을 실행함으로써 실현된다.
도 26의 처리가 시작되면, 우선 단계 S61로서 압축 부호(91)를 역부호화 유닛(92)에 의해 양자화 번호로 변환한다.
다음에 단계 S62로서, 단계 S61에서 구한 양자화 번호에 기초해서 역양자화 유닛(93)에 의해 예측 오차 양자화값을 취득한다.
그리고 다음에 단계 S63으로서, 예측값 라인 메모리 영역으로부터 복원 대상 블록의 직상 블록의 화소 레벨값을 예측값 산출?선택 유닛(69)이 판독한다.
그리고 현재의 처리 대상 화소가 제1 계층 처리 대상의 화소이면(단계 S64, Yes), 단계 S65로서 예측값 산출?선택 유닛(69)은 처리 대상 화소의 직상 화소의 화소 레벨값을 예측값으로서 출력한다.
또한, 현재의 처리 대상 화소가 제1 계층 처리 대상 이외의 화소이면(단계 S64, No), 단계 S65에서 직상 2치 평균 산출 유닛(68)은 직상 2치 평균값을 산출하고, 단계 S66에서 현재 라인 2치 평균값 산출 유닛(67)은 현재 라인 2치 평균값을 산출하며, 단계 S68에서는 단계 S66에서 산출한 직상 2치 평균값과 단계 S67에서 산출한 현재 라인 2치 평균값을 이용하여 압축 대상 화소의 예측값을 구한다.
단계 S65 또는 단계 S68에서 예측값이 구해졌으면, 단계 S69로서 가산 유닛(94)이 압축 대상 화소의 화소 레벨값과 예측값을 가산하여, 복원 화소를 산출한다.
그리고 단계 S70으로서, 단계 S69에서 산출한 복원 화소를 예측용 라인 메모리 영역(66)에 보존하고, 또한 단계 S71에서는 복원 화소를 복원 완료 화소 블록 영역(95)에 보존한다.
그리고 마지막으로 순서 변환 유닛(96)이 복원 완료 화소 블록 영역(95)으로부터 복원 화소의 화소 레벨값을 압축 전의 화상 데이터의 순서로 판독하여 출력한다. 이 출력이 복원 화상 데이터가 된다.
이상의 단계 S61부터 S72까지의 처리를 전체 압축 화상 데이터만큼 반복함으로써 데이터 복원 프로그램(400)에 의한 복원 처리가 완료된다.
이와 같이 본 실시형태의 화상 데이터 복원 방법은 데이터 복원 프로그램(400)을 실행함으로 소프트웨어적 수법에 의해서도 실현될 수 있다.
도 27은 데이터 압축 프로그램(300)이나 데이터 복원 프로그램(400)이 실행되는 정보 처리 장치의 시스템 환경을 나타내는 도면이다.
도 27에 있어서 정보 처리 장치는 CPU(101), RAM 등의 주 기억 장치(102), 하드 디스크 등의 보조 기억 장치(103), 디스플레이, 키보드, 포인팅 디바이스(pointing device) 등의 입출력 장치(I/O)(104), 통신 인터페이스나 모뎀 등의 네트워크 접속 장치(105), 및 디스크, 자기 테이프 등의 가반 기억 매체로부터 기억 내용을 판독하는 매체 판독 장치(106)를 구비하고, 이들이 서로 버스(108)에 의해 접속되는 구성을 갖는다. 그리고 각 구성 요소는 버스(108)를 통해 서로 데이터를 교환한다.
CPU(101)는 보조 기억 장치(103) 상의 프로그램이나 네트워크 접속 장치(105)를 통해 설치한 프로그램을, 주 기억 장치(102)를 작업 영역으로서 실행함으로써, 도 22 및 도 25에 나타낸 데이터 압축 프로그램(300) 및 데이터 복원 프로그램(400)의 각 구성 요소의 기능을 실현하고, 또한 도 23 및 도 26에 나타낸 흐름도의 처리를 실현한다.
도 27에 나타낸 정보 처리 장치에서는, 매체 판독 장치(106)를 통해, 자기 테이프, 플렉서블 디스크, CD-ROM, MO, DVD 등의 기억 매체(107)에 기억되어 있는 프로그램, 데이터를 판독하고, 이것을 버스(108)를 통해 본 실시형태에 있어서의 접속 관리 서버(도시 생략)에 로드한다. 그리고 이 프로그램이나 데이터를 주 기억 장치(102)나 보조 기억 장치(103)에 기억하고, CPU(101)가 실행하거나 이용함으로써, 전술한 흐름도의 처리를 소프트웨어적으로 실현한다.
또한, 도 27에 나타낸 정보 처리 장치에서는, CD-ROM 등의 기억 매체(107)를 이용하여 애플리케이션 소프트웨어가 교환되는 경우가 있다. 따라서, 본 발명은 화상 데이터 압축 장치, 복원 장치, 압축 방법, 복원 방법 및 프로그램에 한정되지 않고, 컴퓨터에 의해 사용되었을 때에, 전술한 본 발명의 실시형태의 기능을 컴퓨터에 수행하게 하기 위한 컴퓨터 판독 가능한 기억 매체(107)나 프로그램으로서 구성할 수도 있다.
이 경우, 「기억 매체」에는, 예컨대 도 28에 나타난 바와 같이, CD-ROM, 플렉서블 디스크(또는 MO, DVD, 메모리 카드, 착탈 가능형 하드 디스크 등일 수도 있음) 등의 매체 구동 장치(117)에 탈착 가능한 가반 기억 매체(116)나, 네트워크 회선(113)을 경유하여 송신되는 외부 장치(서버 등) 내의 기억부(데이터베이스 등)(112), 또는 정보 처리 장치(111)의 본체(114) 내의 메모리(RAM 또는 하드 디스크 등)(115) 등이 포함된다. 가반 기억 매체(116)나 기억부(데이터베이스 등)(112)에 기억되어 있는 프로그램은 본체(114) 내의 메모리(RAM 또는 하드 디스크 등)(115)에 로드되어, 실행된다.
또한, 이미 설명한 CD-ROM이나 DVD-ROM 등의 기억 매체에는, 상기에 예로서 열거한 것 외에도, 예컨대, Blu-ray Disc(등록 상표)나 AOD(Advanced Optical Disc) 등의 청색 레이저를 이용한 차세대 광 디스크 기억 매체, 적색 레이저를 이용하는 HD-DVD 9, 청보라색 레이저를 이용하는 Blue Laser DVD, 홀로그램 등, 금후 개발되는 여러가지 대용량 기억 매체를 이용하여 본 발명을 실시하는 것도 가능하다.
이상과 같이 본 발명에 따르면 라인 내의 화소를 블록으로 나누고, 블록 내에서 계층 단위로 처리 타이밍을 어긋나게 함으로써, 예측 처리에 의한 처리 속도 상의 보틀넥을 해소할 수 있다.
또한, 고해상도 성분(제2 계층 이후의 처리)에 대해서는, 이전 라인 및 이전 계층의 복원값을 참조, 내삽하는 중간값 산출을 실행하기 때문에, 고정밀도의 예측이 가능하다.

Claims (19)

  1. 압축 대상 화상의 처리 대상 라인의 적어도 직전 1 라인분의 화소값을 유지하는 라인 메모리부와,
    상기 처리 대상 라인의 화소를, 2n 화소를 1 블록으로 하는 블록 단위로 분할하는 분할부와,
    제1 계층 처리로서, 상기 분할부에 의해 분할된 블록 내의 각 화소 중, 2n-1번째와 2n번째의 화소에 대하여, 상기 라인 메모리부 내의 그 2n-1번째와 2n번째의 화소 각각의 직상(直上)의 화소값을 참조값으로서 외삽 예측을 수행하여 예측값을 구하는 제1 예측값 산출부와,
    제2 계층 처리로부터 제n 계층 처리(n은 2 이상의 자연수)로서, 미리 정해진 화소에 대하여, 상기 라인 메모리부 내의 직전 1 라인의 화소값 및 1개 앞의 계층 처리까지 구한 예측값을 참조값으로서 내삽 예측을 수행하여 예측값을 구하는 제2 예측값 산출부와,
    상기 제1 계층 처리로부터 상기 제n 계층 처리까지의 처리에서 구해진 상기 예측값으로부터 예측 오차를 구하고, 그 예측 오차를 양자화 번호로 변환하며, 그 양자화 번호를 가변 길이 부호로 변환하여 압축 부호를 구하는 예측 부호화부
    를 포함하는 것을 특징으로 하는 화상 압축 장치.
  2. 복원 대상 화상의 처리 대상 라인의 적어도 직전 1 라인분의 화소값을 유지하는 라인 메모리부와,
    상기 처리 대상 라인의 화소를, 2n 화소를 1 블록으로 하는 블록 단위로 분할하는 분할부와,
    제1 계층 처리로서, 상기 분할부에 의해 분할된 블록 내의 각 화소 중, 2n-1번째와 2n번째의 화소에 대하여, 상기 라인 메모리부 내의 그 2n-1번째와 2n번째의 화소 각각의 직상의 화소값을 참조값으로서 외삽 예측을 수행하여 예측값을 구하는 제1 예측값 산출부와,
    제2 계층 처리로부터 제n 계층 처리(n은 2 이상의 자연수)로서, 미리 정해진 화소에 대하여, 상기 라인 메모리부 내의 상기 직전 1 라인분의 화소값 및 1개 앞의 계층 처리까지 구한 예측값을 참조값으로서 내삽 예측을 수행하여 예측값을 구하는 제2 예측값 산출부와,
    압축 부호로부터 양자화 번호를 구하고, 그 양자화 번호로부터 예측 오차 양자화값을 구하며, 상기 예측 오차 양자화값 및 상기 제1 예측값 산출부가 구한 예측값을 이용하거나 또는 상기 예측 오차 양자화값 및 상기 제2 예측값 산출부가 구한 예측값을 이용하여 복원 화소의 화소값을 구하는 복원 화소값 산출부
    를 포함하는 것을 특징으로 하는 화상 복원 장치.
  3. 압축 대상 화상의 처리 대상 라인의 적어도 직전 1 라인분의 화소값을 유지하고,
    상기 처리 대상 라인의 화소를, 2n 화소를 1 블록으로 하는 블록 단위로 분할하며,
    제1 계층 처리로서, 상기 분할한 블록 내의 각 화소 중, 2n-1번째와 2n번째의 화소에 대하여, 상기 직전 1 라인분의 화소값을 참조값으로서 외삽 예측을 수행하여 예측값을 구하고,
    제2 계층 처리로부터 제n 계층 처리(n은 2 이상의 자연수)로서, 미리 정해진 화소에 대하여, 직전 1 라인의 화소값 및 1개 앞의 계층 처리까지 구한 예측값을 참조값으로서 내삽 예측을 수행하여 예측값을 구하며,
    상기 제1 계층 처리로부터 상기 제n 계층 처리까지의 처리에서 구해진 상기 예측값으로부터 예측 오차를 구하고, 그 예측 오차를 양자화 번호로 변환하며, 그 양자화 번호를 가변 길이 부호로 변환하여 압축 부호를 구하는 것을 특징으로 하는 화상 압축 방법.
  4. 복원 대상 화상의 처리 대상 라인의 적어도 직전 1 라인분의 화소값을 라인 메모리에 유지하고,
    상기 처리 대상 라인의 화소를, 2n 화소를 1 블록으로 하는 블록 단위로 분할하며,
    제1 계층 처리로서, 상기 분할한 블록 내의 각 화소 중, 2n-1번째와 2n번째의 화소에 대하여, 상기 라인 메모리 내의 그 2n-1번째와 2n번째의 화소 각각의 직상의 화소값을 참조값으로서 외삽 예측을 수행하여 예측값을 구하고,
    제2 계층 처리로부터 제n 계층 처리(n은 2 이상의 자연수)로서, 미리 정해진 화소에 대하여, 상기 라인 메모리 내의 직전 1 라인분의 화소값 및 1개 앞의 계층 처리까지 구한 예측값을 참조값으로서 내삽 예측을 수행하여 예측값을 구하며,
    압축 부호로부터 양자화 번호를 구하고, 그 양자화 번호로부터 예측 오차 양자화값을 구하며, 상기 예측 오차 양자화값 및 상기 외삽 예측을 수행하여 구한 예측값을 이용하거나 또는 상기 예측 오차 양자화값 및 상기 내삽 예측을 수행하여 구한 예측값을 이용하여 복원 화소의 화소값을 구하는 것을 특징으로 하는 화상 복원 방법.
  5. 정보 처리 장치에 의해 실행되었을 때,
    압축 대상 화상의 처리 대상 라인의 적어도 직전 1 라인분의 화소값을 유지하고,
    상기 처리 대상 라인의 화소를, 2n 화소를 1 블록으로 하는 블록 단위로 분할하며,
    제1 계층 처리로서, 상기 분할한 블록 내의 각 화소 중, 2n-1번째와 2n번째의 화소에 대하여, 그 2n-1번째와 2n번째의 화소 각각의 직상의 화소값을 참조값으로서 외삽 예측을 수행하여 예측값을 구하고,
    제2 계층 처리로부터 제n 계층 처리(n은 2 이상의 자연수)로서, 미리 정해진 화소에 대하여, 상기 직전 1 라인분의 화소값 및 1개 앞의 계층 처리까지 구한 예측값을 참조값으로서 내삽 예측을 수행하여 예측값을 구하며,
    상기 제1 계층 처리로부터 상기 제n 계층 처리까지의 처리에서 구해진 상기 예측값으로부터 예측 오차를 구하고, 그 예측 오차를 양자화 번호로 변환하며, 그 양자화 번호를 가변 길이 부호로 변환하여 압축 부호를 구하는 것을 상기 정보 처리 장치에 실행시키는 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체.
  6. 삭제
  7. 삭제
  8. 삭제
  9. 삭제
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
KR20107022260A 2008-03-31 2008-03-31 화상 압축 장치, 화상 복원 장치, 화상 압축 방법, 화상 복원 방법 및 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체 KR101172983B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2008/000836 WO2009122463A1 (ja) 2008-03-31 2008-03-31 画像データ圧縮装置、復元装置、圧縮方法、復元方法及びプログラム

Publications (2)

Publication Number Publication Date
KR20100122947A KR20100122947A (ko) 2010-11-23
KR101172983B1 true KR101172983B1 (ko) 2012-08-09

Family

ID=41134885

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20107022260A KR101172983B1 (ko) 2008-03-31 2008-03-31 화상 압축 장치, 화상 복원 장치, 화상 압축 방법, 화상 복원 방법 및 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체

Country Status (5)

Country Link
US (1) US8411976B2 (ko)
EP (1) EP2273776A4 (ko)
JP (1) JP4756665B2 (ko)
KR (1) KR101172983B1 (ko)
WO (1) WO2009122463A1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201016017A (en) * 2008-10-08 2010-04-16 Univ Nat Taiwan Memory management method and system of video encoder
US8934028B2 (en) * 2011-12-15 2015-01-13 Samsung Electronics Co., Ltd. Imaging apparatus and image processing method
GB2578769B (en) 2018-11-07 2022-07-20 Advanced Risc Mach Ltd Data processing systems
GB2583061B (en) * 2019-02-12 2023-03-15 Advanced Risc Mach Ltd Data processing systems
US10971079B2 (en) * 2019-08-20 2021-04-06 Apple Inc. Multi-frame-history pixel drive compensation

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1084548A (ja) 1996-07-17 1998-03-31 Sony Corp 画像符号化装置および画像符号化方法、画像復号化装置および画像復号化方法、伝送方法、並びに記録媒体
JPH10136376A (ja) 1996-10-31 1998-05-22 Victor Co Of Japan Ltd ブロック間予測符号化復号化装置及びその方法

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6087570A (ja) * 1983-10-20 1985-05-17 Matsushita Graphic Commun Syst Inc 画信号内插方式
JPS60127875A (ja) 1983-12-15 1985-07-08 Kokusai Denshin Denwa Co Ltd <Kdd> 2値画像の符号化方式
JPS62264785A (ja) * 1986-05-13 1987-11-17 Fujitsu Ltd 並列処理回路
US5475501A (en) * 1991-09-30 1995-12-12 Sony Corporation Picture encoding and/or decoding method and apparatus
US6965644B2 (en) * 1992-02-19 2005-11-15 8×8, Inc. Programmable architecture and methods for motion estimation
US5960116A (en) * 1995-11-02 1999-09-28 Canon Kabushiki Kaisha Image processing apparatus and method for performing prediction data encoding
US6072830A (en) * 1996-08-09 2000-06-06 U.S. Robotics Access Corp. Method for generating a compressed video signal
JP3861957B2 (ja) * 1998-02-03 2006-12-27 ソニー株式会社 記憶装置、並びに書き込み方法および読み出し方法
US6633677B1 (en) * 1999-12-30 2003-10-14 Stmicroelectronics, Inc. Method and apparatus for processing an image in an image compression/decompression system that uses hierachical coding
KR20020030101A (ko) * 2000-06-30 2002-04-22 요트.게.아. 롤페즈 비디오 시퀀스의 압축을 위한 인코딩 방법
US6853755B2 (en) * 2001-03-28 2005-02-08 Sharp Laboratories Of America, Inc. Method and apparatus for adaptive compression of scanned documents
FR2852773A1 (fr) * 2003-03-20 2004-09-24 France Telecom Procedes et dispositifs de codage et de decodage d'une sequence d'images par decomposition mouvement/texture et codage par ondelettes
US7664184B2 (en) * 2004-07-21 2010-02-16 Amimon Ltd. Interpolation image compression
KR100727972B1 (ko) * 2005-09-06 2007-06-14 삼성전자주식회사 영상의 인트라 예측 부호화, 복호화 방법 및 장치
RU2369038C1 (ru) * 2005-11-30 2009-09-27 Кабусики Кайся Тосиба Способ кодирования изображения/декодирования изображения, устройство кодирования изображения/декодирования изображения
KR101246294B1 (ko) * 2006-03-03 2013-03-21 삼성전자주식회사 영상의 인트라 예측 부호화, 복호화 방법 및 장치
JP4709900B2 (ja) * 2006-05-17 2011-06-29 富士通株式会社 画像圧縮装置、圧縮方法及びプログラム並びに画像復元装置、復元方法及びプログラム
EP2056606A1 (en) * 2006-07-28 2009-05-06 Kabushiki Kaisha Toshiba Image encoding and decoding method and apparatus

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1084548A (ja) 1996-07-17 1998-03-31 Sony Corp 画像符号化装置および画像符号化方法、画像復号化装置および画像復号化方法、伝送方法、並びに記録媒体
JPH10136376A (ja) 1996-10-31 1998-05-22 Victor Co Of Japan Ltd ブロック間予測符号化復号化装置及びその方法

Also Published As

Publication number Publication date
US20110013854A1 (en) 2011-01-20
US8411976B2 (en) 2013-04-02
JPWO2009122463A1 (ja) 2011-07-28
EP2273776A1 (en) 2011-01-12
EP2273776A4 (en) 2014-07-16
WO2009122463A1 (ja) 2009-10-08
JP4756665B2 (ja) 2011-08-24
KR20100122947A (ko) 2010-11-23

Similar Documents

Publication Publication Date Title
RU2577207C2 (ru) Способ и устройство для видеокодирования
US8244048B2 (en) Method and apparatus for image encoding and image decoding
KR100809354B1 (ko) 복원된 프레임의 프레임율을 업컨버팅하는 장치 및 방법
TW201830972A (zh) 用於視訊寫碼之低複雜度符號預測
JP6593122B2 (ja) 動画像符号化装置、動画像符号化方法、及びプログラム
JPWO2006033227A1 (ja) 画像符号化装置
KR20130003718A (ko) 고속 코딩 단위(Coding Unit) 모드 결정을 통한 부호화/복호화 방법 및 장치
KR20010040570A (ko) 영상 압축 및 압축 해제 방법 및 그 시스템
KR101172983B1 (ko) 화상 압축 장치, 화상 복원 장치, 화상 압축 방법, 화상 복원 방법 및 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체
CN103650490A (zh) 用于运动补偿预测的方法和设备
WO2009087783A1 (ja) 符号化用データ生成装置、符号化用データ生成方法、復号装置および復号方法
KR0128881B1 (ko) 디지틀화상복호화장치
JP5093349B2 (ja) 画像圧縮装置及び画像復元装置
WO2012160626A1 (ja) 画像圧縮装置、画像復元装置、及びプログラム
US10469874B2 (en) Method for encoding and decoding a media signal and apparatus using the same
WO2013014693A1 (ja) 動画像復号化方法及び画像符号化方法
CN105519108A (zh) 量化矩阵编码的加权预测方法和装置
US8467619B2 (en) Image compressing apparatus, image compressing method, image decompressing apparatus, and storage medium
JP2009038740A (ja) 画像符号化装置
KR100303744B1 (ko) 화상 압축·신장 방법 및 화상 압축·신장 장치
JP2001128182A (ja) 画像符号化方法および画像符号化プログラムを格納したコンピュータで読取可能な記録媒体
JPH11103463A (ja) 画像符号化方法及び記憶媒体
KR100671998B1 (ko) 이동통신 단말기용 동영상 압축 방법
CN116320417A (zh) 视频编码方法和装置
KR20160067580A (ko) 영상 데이터의 인코딩 방법, 상기 방법을 이용한 인코더, 및 상기 인코더를 포함하는 애플리케이션 프로세서

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20150716

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160630

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170719

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee