KR20100056979A - 화상부호화장치 및 그 제어 방법 - Google Patents

화상부호화장치 및 그 제어 방법 Download PDF

Info

Publication number
KR20100056979A
KR20100056979A KR20090111873A KR20090111873A KR20100056979A KR 20100056979 A KR20100056979 A KR 20100056979A KR 20090111873 A KR20090111873 A KR 20090111873A KR 20090111873 A KR20090111873 A KR 20090111873A KR 20100056979 A KR20100056979 A KR 20100056979A
Authority
KR
South Korea
Prior art keywords
block
interest
pixel
data
unit
Prior art date
Application number
KR20090111873A
Other languages
English (en)
Other versions
KR101177799B1 (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 KR20100056979A publication Critical patent/KR20100056979A/ko
Application granted granted Critical
Publication of KR101177799B1 publication Critical patent/KR101177799B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/41Bandwidth or redundancy reduction
    • 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/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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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
    • 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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

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)
  • Editing Of Facsimile Originals (AREA)

Abstract

본 발명은, 축소 화상 데이터로부터 오리지널 화상 데이터를 복원하기 위한 효율적인 부호화 데이터를 생성한다. 입력부는 오리지널 화상 데이터로부터 2×2화소로 구성되는 블록 데이터를 입력한다. 해상도 변환부는, 입력한 블록 데이터내의, 미리 설정된 위치의 1개의 화소 데이터를 샘플링하여, 오리지널 화상 데이터보다도 작은 사이즈의 축소 화상 데이터를 생성한다. 생성부는, 상기 해상도 변환부에서 생성된 축소 화상 데이터로부터 상기 오리지널 화상 데이터를 복원하기 위해서, 각 블록 데이터중의 3개의 비샘플링 대상 화소 데이터를 복원하기 위한 부호화 데이터를 생성한다. 이를 행하기 위해서, 상기 생성부는, 주목 블록중의 비샘플링 대상의 화소의 모두가, 주목 블록중의 샘플링 대상의 화소로부터 복원할 수 있는지, 또는, 주목 블록에 인접하는 3개의 블록의 샘플링 대상 화소로부터 복원할 수 있는지를 판정하고, 그 판정 결과에 따라 3종류의 부가 데이터를 생성하고, 출력한다.
Figure P1020090111873
화상 부호화장치, 축소화상, 해상도 변환, 부가 데이터, 부호화 데이터.

Description

화상부호화장치 및 그 제어 방법{IMAGE ENCODING APPARATUS AND METHOD OF CONTROLLING THE SAME}
본 발명은 화상부호화장치 및 그 제어 방법에 관한 것이다.
고해상도이고 넓은 색 전범위의 화상 데이터는, 데이터 용량이 방대하고, 메모리 비용도 높아져, 화상처리나 데이터 전송에 시간이 걸린다. 이에 따라 데이터의 취급이 곤란해진다. 이러한 문제를 해결하기 위해서, 종래, 복수화소에 대하여, 1개의 색정보와, 색의 배치를 나타내는 정보를 유지함으로써, 오리지널 해상도의 화상을, 작은 용량의 데이터로 변환하는 방법이 제안되어 있다(예를 들면, 일본국 공개특허공보 특개2001-313834호).
또한, 화상 데이터를 문자화상부분과 사진화상부분으로 분리하고, 각각의 화상에 대하여, 축소 화상을 생성하는 다른 방법이 제안되어 있다. 이들 정보를 유지한다. 오리지널 해상도의 화상을 복원하기 위해서는, 주목 축소 화상의 화소와 그 주변화소에 의거하여, 복원 대상화소를 예측해서 복원한다(예를 들면, 일본국 공개특허공보 특개평10-173913호).
해상도 변환을 행해서 생성된 축소 화상과 아울러, 보간 데이터를 생성하는 방법에서, 보간 데이터에는, 적어도 오리지널 해상도의 화상을 재현하기 위한, 색정보와, 그 색을 배치하기 위한, 배치 정보가 필요하게 된다. 이 때문에, 오리지널 해상도의 화상의 1화소에 대하여, 적어도 1개의 배치 정보를 갖게 될 필요가 있다. 이에 따라서, 보간 데이터의 부호량의 삭감 효과는, 1/(1화소의 데이터 양)에 제한된다.
또한, 보간 데이터를 생성하지 않고 소정의 법칙에 의거해, 복원 대상화상을 보간하는 방식에 있어서는, 보간하는 데이터는, 추측된 값에 지나지 않는다. 이 때문에, 오리지널 해상도의 화상을 손실없이 재현하는 것은 불가능하다.
본 발명은, 상기의 문제점을 감안하여 이루어진 것이다. 본 발명은, 오리지널 화상 데이터로부터 축소 화상 데이터를 생성하고, 또한, 그 축소 화상 데이터에 효율적인 부호화 데이터를 부가시킴으로써, 그 축소 화상 데이터로부터 오리지널 화상 데이터를 복원하는 기술을 제공한다. 본 발명은, 보간 데이터를 제어함으로써 비손실 및 손실의 변환을 용이하게 하는 기술을 제공한다.
상기 문제점을 해결하기 위해서, 본 발명의 제 1 국면은 화상 데이터를 부호화하는 화상부호화장치를 제공하고, 이 화상부호화장치는,
부호화대상의 오리지널 화상 데이터로부터 2×2화소로 구성되는 블록을 입력하는 입력부와,
그 입력된 블록내의 미리 설정된 위치의 1개의 화소 데이터를 샘플링함으로 써 상기 오리지널 화상 데이터보다도 작은 사이즈의 축소 화상 데이터를 생성하고 출력하는 축소 화상 생성부와,
상기 축소 화상 생성부에서 생성된 상기 축소 화상 데이터로부터 상기 오리지널 화상 데이터를 복원하기 위해서, 각 블록중의 3개의 비샘플링 대상 화소 데이터를 복원하기 위한 부호화 데이터를 생성하는 부호화부를 구비하고,
상기 부호화부는,
주목 블록중의 상기 샘플링 대상의 화소를 Ⅹ, 상기 주목 블록중의 비샘플링 대상의 화소를 Ⅹa, Ⅹb, Ⅹc라고 나타냈을 때,
조건(a): 화소 Ⅹa, Ⅹb, Ⅹc의 모두가, 상기 주목 블록중의 상기 화소Ⅹ로부터 복원할 수 있는지,
조건(b): 상기 화소Ⅹa, Ⅹb, Ⅹc의 모두가, 상기 주목 블록에 인접한 3개의 블록의 샘플링 대상의 화소로부터 복원할 수 있는지를 판정하는 판정부; 및
상기 판정부에 의해 상기 주목 블록이 상기 조건(a)을 만족시킨다고 판정되었을 경우, 제1의 부가 정보를 상기 주목 블록의 부호화 데이터로서 생성하고,
상기 판정부에 의해, 상기 주목 블록이 상기 조건(a)을 충족시키지 않고, 상기 조건(b)을 충족시킨다고 판정되었을 경우, 상기 제1의 부가 정보와는 다른 제2의 부가 정보를 상기 주목 블록의 부호화 데이터로서 생성하고,
상기 판정부에 의해, 상기 주목 블록이 상기 조건(a), (b) 모두 만족시키지 않는다고 판정되었을 경우, 상기 제1 및 제2의 부가 정보와도 다른 제3의 부가 정보를 상기 주목 블록의 부호화 데이터로서 생성하는 부가 정보 생성부를 구비한다.
본 발명의 제 2 국면은, 화상 데이터를 부호화하는 화상부호화장치를 제공하고, 이 화상부호화장치는,
부호화 대상의 오리지널 화상 데이터의 2×2화소로 구성되는 블록내에서 미리 설정된 위치의 1개의 화소 데이터를 샘플링함으로써 상기 오리지널 화상 데이터보다도 작은 사이즈의 축소 화상 데이터를 생성하여 출력하는 축소 화상 생성부와,
상기 오리지널 화상 데이터내의 2M 수평방향 화소× 2N 수직방향 화소(M과 N 각각은 2이상의 정수)의 화소 데이터로 구성되는 타일을 입력하는 입력부와,
상기 입력된 타일중의 M×N개의 블록 각각에 있고, 상기 축소 화상 데이터를 생성하기 위한 샘플링 대상의 화소를 제외하는 3개의 비샘플링 대상의 화소 데이터를 복원하기 위한 부호화 데이터를, 타일 단위로 생성하는 타일 부호화부를 구비하고,
상기 타일 부호화부는
비샘플링 대상의 3화소 모두가 샘플링 대상의 화소로부터 복원가능한 블록을 플랫(flat) 블록으로서 정의하고, 비샘플링 대상의 3화소 중 적어도 1개가 샘플링 대상의 화소로부터 복원할 수 없는 블록을 논플랫(non-flat) 블록으로서 정의했을 때,
상기 주목 타일내의 전체 블록이 플랫 블록인지 또는 적어도 하나의 논플랫 블록을 포함하는지를 판정하고, 판정 결과를 나타내는 플래그 정보를 출력하는 제1의 판정부와,
상기 제1의 판정부에 의해, 상기 주목 타일내의 적어도 1개의 블록이 상기 논플랫 블록이라고 판정했을 경우, 상기 주목 타일내에 수평방향으로 배열된 M개의 블록으로 구성되는 각 블록 라인을 부호화하는 블록 라인 부호화부를 구비한다.
본 발명의 제 3 국면은, 화상 데이터를 부호화하는 화상부호화장치의 제어 방법을 제공하고, 이 제어 방법은,
부호화 대상의 오리지널 화상 데이터로부터 2×2화소로 구성되는 블록을 입력하는 단계와,
상기 입력된 블록내의 미리 설정된 위치의 1개의 화소 데이터를 샘플링함으로써 상기 오리지널 화상 데이터보다도 작은 사이즈의 축소 화상 데이터를 생성하여 출력하는 단계와,
상기 축소 화상 데이터 생성 및 출력 단계에서 생성된 상기 축소 화상 데이터로부터 상기 오리지널 화상 데이터를 복원하기 위해서, 각 블록중의 3개의 비샘플링 대상 화소 데이터를 복원하기 위한 부호화 데이터를 생성하는 단계를 포함하고,
상기 부호화 데이터를 생성하는 단계는,
주목 블록중의 샘플링 대상의 화소를 Ⅹ, 상기 주목 블록중의 비샘플링 대상의 화소를 Ⅹa, Ⅹb, Ⅹc라고 나타냈을 때,
조건(a): 화소 Ⅹa, Ⅹb, Ⅹc의 모두가, 상기 주목 블록중의 상기 화소Ⅹ로부터 복원할 수 있는지와,
조건(b): 상기 화소Ⅹa, Ⅹb, Ⅹc의 모두가, 상기 주목 블록에 인접한 3개의 블록의 샘플링 대상의 화소로부터 복원할 수 있는지를 판정하는 단계; 및
이 판정단계에 의해 상기 주목 블록이 상기 조건(a)을 만족시킨다고 판정되었을 경우, 제1의 부가 정보를 상기 주목 블록의 부호화 데이터로서 생성하고,
상기 판정단계에 의해, 상기 주목 블록이 상기 조건(a)을 충족시키지 않고, 상기 조건(b)을 충족시킨다고 판정되었을 경우, 상기 제1의 부가 정보와는 다른 제2의 부가 정보를 상기 주목 블록의 부호화 데이터로서 생성하고,
상기 판정단계에 의해, 상기 주목 블록이 상기 조건(a), (b) 모두 만족시키지 않는다고 판정되었을 경우, 상기 제1 및 제2의 부가 정보와도 다른 제3의 부가 정보를 상기 주목 블록의 부호화 데이터로서 생성하는 단계를 포함한다.
본 발명의 제 4 국면은, 화상 데이터를 부호화 하는 화상부호화장치의 제어 방법을 제공하고, 이 제어 방법은,
부호화 대상의 오리지널 화상 데이터의 2×2화소로 구성되는 블록내에서 미리 설정된 위치의 1개의 화소 데이터를 샘플링함으로써 상기 오리지널 화상 데이터보다도 작은 사이즈의 축소 화상 데이터를 생성하여 출력하는 단계와,
상기 오리지널 화상 데이터내의 2M 수평방향 화소× 2N 수직방향 화소(M과 N 각각은 2이상의 정수)의 화소 데이터로 구성되는 타일을 입력하는 단계와,
상기 입력된 타일중의 M×N개의 블록 각각에 있고, 상기 축소 화상 데이터를 생성하기 위한 샘플링 대상의 화소를 제외하는 3개의 비샘플링 대상의 화소 데이터를 복원하기 위한 부호화 데이터를, 타일 단위로 생성하는 단계를 포함하고,
상기 부호화 데이터를 생성하는 단계는,
비샘플링 대상의 3화소 모두가 샘플링 대상의 화소로부터 복원가능한 블록을 플랫 블록으로서 정의하고, 비샘플링 대상의 3화소 중 적어도 1개가 샘플링 대상의 화소로부터 복원할 수 없는 블록을 논플랫 블록으로서 정의하는 단계와,
상기 주목 타일내의 전체 블록이 플랫 블록인지 또는 적어도 하나의 논플랫 블록을 포함하는지를 판정하고, 판정 결과를 나타내는 플래그 정보를 출력하는 단계와,
이 판정단계에 의해, 상기 주목 타일내의 적어도 1개의 블록이 상기 논플랫 블록이라고 판정했을 경우, 상기 주목 타일내에 수평방향으로 배열된 M개의 블록으로 구성되는 각 블록 라인을 부호화하는 단계를 포함한다.
본 발명에 의하면, 축소 화상 데이터로부터 오리지널 화상 데이터를 복원하기 위한 효율적인 부호화 데이터를 생성하는 것이 가능하다.
본 발명의 또 다른 특징들은, 첨부된 도면들을 참조하여 아래의 예시적 실시예들의 설명으로부터 명백해질 것이다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예들을 상세하게 설명한다.
[제1의 실시예]
도 2는, 본 실시예에 따른 화상처리장치의 블록도다. 이하의 설명으로부터 밝혀진 것처럼, 아래에 설명된 화상처리장치의 예는, 화상 부호화 및 복호화에 관련된 구성을 일체로 한다. 그렇지만, 이들 구성은, 별도의 장치로서 형성되어도 된다.
본 실시예에 따른 화상처리장치는, 부호화 대상이 되는 화상 데이터를 외부에서 입력하고, 해상도 변환을 행하는 동시에, 축소 화상으로부터 오리지널 해상도의 화상을 복원하기 위한, 부가 정보를 생성하는 것이다. 이때, 화상 데이터의 입력원은, 화상 데이터를 파일로서 격납하고 있는 기억매체이다. 그렇지만, 그 입력원은, 화상 스캐너 등의 임의의 다른 종류이어도 된다.
또한, 본 실시예에 따른 부호화 대상의 화상 데이터는, 휘도성분만을 포함하는 흑백사진(monochrome) 다치화상 데이터이다. 휘도성분은 8비트(0내지 255의 256계조)로 가정하여서 설명한다. 그렇지만, 이들 가정은 실시예의 설명을 단지 간단하게 하는 있다. 그 화상 데이터는, 복수 성분(예를 들면, RGB나 CMYK)을 어떠한 종류의 색공간에도 포함하지 않아도 된다. 또한, 1성분의 비트수도 8비트에 한정하지 않는다. 그 비트의 수는, 8비트를 초과하여도 된다. 또한, 부호화 대상의 화상은 수평방향으로 2×W화소, 수직방향으로 2×H화소(양방향으로 짝수)로 구성된다고 가정한다. 이때, 실제의 화상의 수평 및 수직방향의 사이즈는 항상 2의 정수배에 해당하지 않는다. 이러한 경우에는, 가상적인 고정값을 갖는 화소가 수평 및 수직방향으로 끝에 존재하는 것으로 가정하여 처리한다.
이하, 도 2에 있어서의 화상부호화장치에 있어서의 부호화처리를 설명한다.
우선, 화상입력부(201)는, 부호화 대상 화상 데이터를 순차적으로 입력한다. 본 실시예의 처리 대상 화상 데이터는, PDL렌더링 화상이다. 그 화상 데이터는, 래스터(raster) 스캔 순으로 입력된다. 본 실시예의 경우, 1화소는 1컴포넌트이다. 그 컴포넌트는 8비트로 이루어진다. 그러므로, 화소값은, 0 내지 255의 범위내의 비부(nonnegative)의 정수값이다. 화상의 좌상측 모퉁이를 좌표(0, 0)로 하고, 수평우측 방향의 화소위치x, 수직하방의 화소위치y에 있는 화소값을 P(x, y)라고 나타낸다. 예를 들면, 위치(x, y)= (3, 4)에 있는 화소가, 휘도값 "128"을 가질 경우, P(3, 4)=128로서 표현된다. 또한, 이하의 설명에서는, 위치(x, y)의 “화소”을 "P(x, y)”로서 표현하겠다.
해상도 변환부(202)는, 입력 화상의 2×2개의 화소 데이터로 구성되는 블록 데이터로부터 1화소를 추출하는 서브샘플링을 행하여서, 축소 화상을 생성한다. 즉, 이 해상도 변환부(202)는 오리지널의 화상 데이터로부터, 그 오리지널의 화상보다 사이즈가 작은 축소 화상을 생성하는 축소 화상 생성부로서 기능한다.
도 3은 오리지널 화상과 그 중의 주어진 블록Bn에 포함되는 2×2화소를 보이고 있다. 도 3에 나타내는 바와 같이, 주목 블록Bn에서의 화소를 좌측위로부터 래스터 순으로 Bn(0, 0), Bn(0, 1), Bn(1, 0) 및 Bn(1, 1)으로 나타낸다.
주목 블록Bn의 바로 앞의 블록을 Bn -1로서 표현하고, 바로 다음의 블록을 Bn +1이라고 표현한다. 본 실시예에서는, 주목 블록Bn중, Bn(0, 0)의 위치, 즉, 주목 블록의 좌상측 모퉁이의 위치의 화소를 추출(서브샘플링)하고, 그것을 축소 화상의 1화소로서 사용한다. 화상중의 모든 블록B0∼BW*H-1에 대해서 샘플링을 행하여, 수평방향2W 및 수직방향2H 화소로 구성되는 오리지널 화상 데이터로부터, 수평방향W 및 수직방향H의 축소 화상을 생성한다. 즉, 축소 화상에 포함되는 화소수는, 오리지널 의 화상에 포함되는 화소수의 1/4이 된다. 생성된 축소 화상은, 격납부(204)에 출력되어 격납된다.
보간 데이터 생성부(203)는, 축소 화상으로부터 오리지널 화상을 복원하기 위해서 필요한 정보를 생성한다. 1개의 블록내의 1화소가 축소 화상의 1화소로서 샘플링되기 때문에, 그 블록을 복원하기 위해서는 나머지의, 비샘플링 대상인 3화소를 복원할 필요가 있다. 본 실시예의 보간 데이터 생성부(203)는, 블록 단위로, 각 블록내의 나머지의 비샘플링 대상의 3화소가 어떤 값을 갖는 것인지, 또는, 어떻게 하면 복원할 수 있는 것일지를 나타내는 정보를 부호화 데이터로서 생성한다.
도 4는 1개의 블록에 포함되는 4개의 화소를 보이고 있다. 도 4에 나타낸 화소Ⅹ는 축소 화상의 화소로서 그대로 이용된 화소를 나타낸다. 화소Ⅹa, Ⅹb, Ⅹc는 복원 대상 화소를 나타낸다. 이하, 주목 블록Bn의 Bn(0, 0)의 위치의 화소를 Ⅹ로서 표현하고, Bn(0, 1), Bn(1, 0), Bn(1, 1)의 위치를, 각각 Ⅹa, Ⅹb, Ⅹc로서 표현한다.
도 1은, 본 실시예에 따른 보간 데이터 생성부(203)의 처리 순서를 나타낸 흐름도다. 이하, 도 1의 흐름도를 참조하여 본 실시예에 따른 보간 데이터 생성부(203)의 처리 순서를 설명한다.
우선, 보간 데이터 생성부(203)는, 단계SlOl에 있어서, 주목 블록 Bn에 포함되는 2×2개의 화소와, 주목 블록Bn에 인접하는 3개의 블록으로부터 각각 1화소를 수신한다. 주목 블록Bn에 인접하는 3개의 블록은, 우측에 위치하는 블록Bn+1, 바로 아래에 위치하는 블록Bn+W, 및 우하의 블록Bn+W+1이다. 그리고, 이들 블록으로부터 입력된 화소들은, 우측의 블록으로부터의 화소Bn+1(0, 0), 바로 아래에 위치하는 블록으로부터의 화소Bn+W(0, 0), 및 우하의 블록으로부터의 화소Bn+W+1(0, 0)이다. 이때, 이것들 3개의 화소는, 축소 화상에 이용된다.
보간 데이터 생성부(203)는, 단계SlO2에서, 파라미터n을 “0”으로 초기화한다. 이 파라미터n은, 블록을 특정하는데 사용된다.
보간 데이터 생성부(203)는, 단계SlO3에서는, 주목 블록내의 4개의 화소가 서로 동일한 것인가 아닌가를 판정한다. 즉, 보간 데이터 생성부(203)는,
Bn(0, 0)=Bn(0, 1)=Bn(1, 0)=Bn(1, 1) … (1)
을 만족시키는 것인가 아닌가를 판정한다.
주목 블록Bn에서 식(1)이 성립하는 경우(YES)에, 축소 화상중의 화소Ⅹ의 값은, 복원 대상 화소Ⅹa, Ⅹb, Ⅹc의 값이다. 이 경우에는, 처리를 단계SlO5로 천이한다.
한편, 주목 블록Bn에 대해서 식(1)이 성립하지 않는다고 판정했을 경우(단계SlO3에서 NO의 경우), 즉, 주목 블록중의 화소Ⅹ로부터 나머지의 3화소Ⅹa, Ⅹb, Ⅹc 모두를 복원할 수 없다고 판정한 경우에는 단계SlO4로 천이한다.
단계SlO4에서는, 보간 데이터 생성부(203)는, 주목 블록에 인접하는 3개의 블록Bn+1, Bn+W, Bn+W+1에 있어서의 화소 Bn+1(0, 0), Bn+W(0, 0), Bn+W+1(0, 0)와, 주목 블록내의 화소Bn(0, 1), 화소Bn(1, 0), 화소Bn(1, 1)과를 비교하여, 다음식 (2)가 만족되는 것인가 아닌가를 판정한다.
Bn(0, 1)=Bn+1(0, 0), 및
Bn(1, 0)=Bn+W(0, 0), 및
Bn(0, 1)=Bn+W+1(0, 0) ···(2)
이때, 먼저 설명한 바와 같이, 화소 Bn+1(0, 0), Bn+W(0, 0), Bn+W+1(0, 0)은, 축소 화상을 생성하기 위해서, 각각의 블록Bn+1, Bn+W, Bn+W+1으로부터 샘플링된 화소이다.
식(2)에 나타나 있는 바와 같이, 페어{Bn(0, 1), Bn+1(0, 0)}, {Bn(1, 0), Bn+W(0, 0)}, 및 {Bn(1, 1), Bn+W+1(0, 0)}의 일치/불일치를 판정하는데는, 이유가 있다.
일반적으로, 주목 화소와, 그 주목 화소의 상, 하, 좌, 우의 인접에 위치하는 화소간의 상관도는 높고, 이것은 많은 화상에 적용한다. 그 때문에, 주목 화소의 화소값을 예측할 경우에는, 인접한 화소를 예측을 위한 참조 화소로서 사용하는 경우가 많다. 그렇지만, 단계SlO4의 판정에서는, "4개의 화소가 서로 동일한 주목 블록에 대해서 판정을 행하지 않는다. 이 경우에는 페어{Bn(0, 1), Bn+1(0, 0)}, {Bn(1, 0), Bn+W(0, 0)}, 및 {Bn(1, 1), Bn+W+1(0, 0)}의 상관도가 증가할 가능성이 높은 것을 실험에 의해 얻었다.
이 이유로, Bn(0, 1)과 Bn+1(0, 0)의 일치를 판정한다. 나머지 페어{Bn(1, 0), Bn+W(0, 0)} 및 {Bn(1, 1), Bn+W+1(0, 0)}는 동일한 이유로 비교된다. 상기 나타낸 식(2)가 만족시켜질 경우(3개의 페어가 서로 동일한 경우), 짧은 부호어를 할당하여 정보량을 삭감한다.
보간 데이터 생성부(203)가 단계SlO4에서, 식(2)가 성립한다고 판정했을 경우, 주목 블록Bn내의 화소Ⅹa, Ⅹb, Ⅹc는, 축소 화상의 화소로부터 그대로 재현할 수 있다. 화소Ⅹa는, 축소 화상의 화소Ⅹn+1(n=0, 1, …, X×H-1)을 사용하여 재현될 수 있다. 화소Ⅹb는, 축소 화상의 화소Ⅹn+W를 사용하여 재현될 수 있다. 그리고, 화소Ⅹc는, 축소 화상의 화소Ⅹn+W+1을 사용하여 재현될 수 있다.
그렇지만,, 주목 블록Bn이 화상의 우단에 위치할 때, 화소Bn(0, 1) 및 Bn(1, 1)과 비교하는 대상화소는 존재하지 않는다. 주목 블록Bn이 화상의 하단에 위치할 때, 화소Bn(1, 0) 및 Bn(1, 1)과 비교하는 대상화소는 존재하지 않는다. 특히, 주목 블록Bn이 화상의 우하측 모퉁이에 위치할 경우에는, 화소Bn(0, 1), Bn(1, 0) 및 Bn(1, 1)와 비교하는 대상화소가 존재하지 않는다. 이 경우들에 있어서, 존재하지 않는 화소의 값은 적당한 값, 예를 들면 "255"인 것으로 하여서 비교한다. 이때, 이 값은, 복호장치와 같은 값으로 되면 좋고, 0 내지 255의 범위내이면, 어떤 값이여도 개의치 않는다.
이상과 같이, 식(2)의 조건이 성립한다고 판정된 경우(YES)에는, 단계SlO6으로 처리를 천이한다.
주목 블록Bn에 관해서 식(1) 및 식(2) 모두 성립하지 않을 경우, 주목 블록의 Ⅹa, Ⅹb, Ⅹc을, 축소 화상으로부터는 복원할 수 없게 된다. 이 경우, 처리는 단계SlO7로 천이한다.
보간 데이터 생성부(203)는, 단계SlO5에서, 주목 블록에 대하여, 제1의 부가 정보를 부호화 데이터로서 출력한다. 제1의 부가 정보는, 오리지널 화상을 복원할 때에, 축소 화상의 주목 화소로부터 3개의 화소를 생성한다, 즉, "단순확대한다"라고 하는 정보를 나타내면 좋다. 도 5에 나타나 있는 바와 같이, 값 “1”의 1비트를 제1의 부가 정보로서 출력한다.
이때, 복호장치측에서, 실제로 축소 화상으로부터 오리지널 화상까지 확대한 화상을 생성할 경우, 축소 화상중의 주목 화소를 P(x, y)이라고 한다면, 확대된 주목 블록Bn의 화소Ⅹ, Ⅹa, Ⅹb, Ⅹc는 다음과 같이 해서 구한다.
Ⅹ=Ⅹa=Ⅹb=Ⅹc=P(x, y)
보간 데이터 생성부(203)는, 단계SlO6에서, 주목 블록에 대하여, 제2의 부가 정보를 부호화 데이터로서 출력한다. 제2의 부가 정보는, 오리지널 해상도를 복원 하는데, 축소 화상의 주목 화소에 인접한 3개의 화소를 이용하는 것을 나타내면 좋다. 이 경우, 도 5에 나타나 있는 바와 같이, "01"의 2비트의 데이터를 제2의 부가 정보(부호화 데이터)로서 출력한다.
실제로 축소 화상을 확대하여 오리지널 화상을 생성하기 위해서, 축소화상중의 주목 화소를 P(x, y)라고 한다면, 확대된 주목 블록Bn의 화소Ⅹ, Ⅹa, Ⅹb, Ⅹc은 다음과 같이 해서 구하면 좋다.
Ⅹ=Bn(0, 0)=P(x, y)
Ⅹa=Bn(0, 1)=P(x+1, y)
Ⅹb=Bn(1, 0)=P(x, y+1)
Ⅹc=Bn(1, 1)=P(x+1, y+1)
단계SlO7에 처리가 진행되었을 경우, 주목 블록Bn의 화소Ⅹa, Ⅹb, Ⅹc은 축소 화상으로부터 재현 가능하지 않다. 제1의 실시예에서, 이 경우에 보간 데이터 생성부(203)는 제3의 부가 정보를 출력한다. 제3의 부가 정보는, 도 5에 나타나 있는 바와 같이, 상기 제1, 제2의 부가 정보로부터 구별할 수 있도록, 2비트“00”에서 시작한 후, Bn(0, 1), Bn(1, 0), Bn(1, 1)의 화소값의 24비트를 출력한다.
이때, 본 실시예에서는 도 5에 나타낸 제1 내지 제3의 부가 정보를 사용한다. 그렇지만, 이들은 일례일 뿐이다. 제1의 부가 정보를 1비트라고 했을 때, 제2의 부가 정보는, 제1비트가 제1의 부가 정보와는 다른 값의 비트를 갖는 2비트로부 터 형성되면 좋다. 그리고, 제3의 부가 정보는, 제1비트가 제2의 부가 정보의 제1비트와 같은 값을 갖지만 제2비트가 서로 다른 값을 갖는 2비트와, 3화소를 나타내는 데이터로 구성되도록 하면 좋다.
이상의 처리의 순서에 의해, 보간 데이터 생성부(203)는, 주목 블록에 대하여, 제1, 제2 및 제3의 부가 정보 중 한쪽을 출력한다.
단계SlO8에서는, 보간 데이터 생성부(203)가, 주목 블록이 최종 블록(화상의 우하측 모퉁이의 블록)인지의 여부를 판단한다. 단계 S108에서 부일 경우에는, 단계SlO9에서 변수n을 "1" 증가시키고, 단계SlO3으로 처리를 되돌아간다. 또한, 단계SlO8에서, 주목 블록이 최종 블록(화상의 우하측 모퉁이의 블록)이라고 판단했을 경우에는, 본 처리를 종료한다.
이상의 방법으로, 오리지널 해상도의 화상을 복원가능한 부가 정보를 생성할 수 있다. 즉, 본 실시예의 보간 데이터 생성부(203)는, 상기의 제1내지 제3의 부가 정보를 생성하는 부가 정보 생성부이다.
구체적인 처리를, 도 6a 및 6b에 나타내는 화상의 예를 사용하여 설명한다.
도 6a의 화상의 경우, 우선, 블록B0에 착안한다. B0(0, 0)=B0(0, 1)=B0(1, 0)=B0(1, 1)이 성립하기 때문에, 제1의 부가 정보 “1”을 출력한다. 블록B1, B2, B3에서도, 블록B0와 같이, 식(1)이 성립한다. 이 때문에, 모든 블록에 대하여, 제1의 부가 정보를 출력한다. 4개의 블록에 대한 부가 정보의 열(보간 데이터)은 "1111"의 4비트로 나타내어진다.
이 때문에, 도 6a의 화상의 경우, 축소 화상은 2×2화소가 되고, 축소 화상의 데이터 사이즈는 4×8비트다. 따라서, 축소 화상과 그 부가 정보의 데이터량은 4×8+4=36비트가 된다. 오리지널 화상의 사이즈가 128비트(=4×4×8)이기 때문에, 압축비가 36/128=9/32가 된다.
도 6b의 화상 데이터의 경우, 블록B0에 착안한다. B0(0, 0)≠B0(0, 1)≠B0(1, 0)≠B0(1, 1)이며, 식(1)은 성립하지 않는다.
그렇지만, B0(0, 1)=B1(0, 0), B0(1, 0)=B2(0, 0), B0(1, 1)=B3(0, 0)을 만족시킨다. 즉, 식(2)가 성립한다. 따라서, 주목 블록B0에 대하여는 제2의 부가 정보("01"의 2비트)를 출력한다.
주목 블록이 B1으로 옮겨졌을 경우에 대해서 고찰한다. 주목 블록B1에 대해서, B1(0, 0)=B1(0, 1)≠B1(1, 0)=B1(1, 1)이다. 그러므로, 처리를 주위화소와의 일치/불일치 판정으로 천이된다. 즉, 식(2)를 검증한다.
주목 블록B1이 화상의 우단에 위치하기 때문에, 주위화소를 참조할 경우에는, 미리 정해진 화소값(실시예에서는 "255")과의 비교를 행한다. 비교를 행한 결과, B1(0, 1)≠255, B1(1, 0)=B3(0, 0), B1(1, 1)≠255이다. 제2의 부가 정보에서는 화소들을 재현할 수 없기 때문에, 제3의 부가 정보를 출력한다. 보다 구체적으로, 제3의 부가 정보로서, 2비트 “00”과, 거기에 후속해서 3화소의 화소 데이터를 나타내는 24비트의 데이터가 출력된다.
블록B2, B3에 관해서도 같은 처리를 행한다. 블록B2은 식(1), (2) 모두 만족시키지 않기 때문에, 제3의 부가 정보가 출력된다. 그리고, 블록 B3가 식(1)을 충족시키므로, 제1의 부가 정보가 출력된다.
도 6b의 화상의 모든 블록을 처리한 후, 보간 데이터 생성부(203)의 보간 데이터는 도 7에 나타나 있는 바와 같은 데이터 구조가 된다. 도 7에 나타낸 데이터구조는, 어디까지나 일례이다. 보간 데이터는, 적어도, 1블록에 대하여, 제1, 제2, 제3의 부가 정보 중 하나를 포함하면 좋다.
격납부(204)에는, 상기한 바와 같이, 해상도 변환부(202)에 의해 생성된 축소 화상 데이터, 및 보간 데이터 생성부(203)에 의해 생성된 보간 데이터가 격납된다.
화상전개부(205)는, 격납부(204)에 격납된 축소 화상 데이터와 보간 데이터로부터, 오리지널 해상도 화상을 복원한다. 화상의 전개는, 보간 데이터의 생성 처리와 반대의 처리를 행한다. 보다 구체적으로, 보간 데이터를 해석하고, 해석한 부가 정보에 의거하여, 다음 3개의 방법 중 하나에 근거하여, 축소 화상의 주목 화소로부터 블록내의 미지의 3화소Ⅹa, Ⅹb, Ⅹc을 얻는다:
(1) 그 화소들은, 축소 화상중의 주목 화소를 단순확대해서 얻고,
(2) 그 화소들은, 축소 화상중의 주목 화소의 인접화소로부터 얻고,
(3) 그 화소들은, 보간 데이터에 포함된 화소값으로부터 얻는다.
구체적으로는, 축소 화상중의 주목 화소P(x, y)에 대한 부가 정보가 “1”이 었을 경우에는, 축소 화상의 주목 화소를 그대로 화소Ⅹa, Ⅹb, Ⅹc으로서 사용해서 블록을 복원한다.
축소 화상중의 주목 화소P(x, y)에 대한 부가 정보가 “01”이었을 경우에는, 화소Ⅹa를 화소P(x+1, y)로 재현하고, 화소Ⅹb를 화소P(x, y+1)로 재현하며, 화소Ⅹc을 화소P(x+1, y+1)로 재현한다. 그렇지만, 주목 화소P(x, y)가 화상의 우단에 위치할 경우, Ⅹa=255, Ⅹc=255이다. 또한, 주목 화소P(x, y)가 화상의 하단에 위치할 경우, Ⅹb=255, Ⅹc=255이다. 특히, 주목 화소P(x, y)가 화상의 우하측 모퉁이에 위치할 경우, Ⅹa=Ⅹb=Ⅹc=255이다.
축소 화상중의 주목 화소P(x, y)에 대한 부가 정보가 “00”이었을 경우에는, 그 부가 정보에 후속하는 3바이트(24비트)가, 화소Ⅹa, Ⅹb, Ⅹc의 순으로 나열하는 것으로 하여 화소들을 재현한다.
상기의 처리를 반복함으로써, 오리지널 해상도의 화상 데이터를 복원할 수 있다. 그 복원된 오리지널 해상도의 화상은, 화상출력부(206)에 입력된다.
화상출력부는, 화상전개부(205)로부터 출력된 화상을 받고, 본 화상처리장치의 외부(예를 들면, 프린터나 표시장치)에 복원된 화상 데이터를 출력한다.
이상과 같이, 본 실시예에 따른 화상처리 장치는, 입력 화상을 해상도 변환함과 동시에, 축소 화상으로부터 오리지널 해상도의 화상을 복원하기 위한 보간 데이터를 생성한다. 본 실시예의 부호화 처리에 의하면, 오피스계의 문서화상(문자나 선으로만 구성하는 화상)에 대하여, 보간 데이터의 데이터량이 보다 적고, 간단하게 생성하는 것이 가능하다. 이에 따라 오리지널 해상도의 화상을 완전하게 비손실 복원이 가능하다.
본 실시예에서, 본 발명은, 화상의 부호화와 복호의 양쪽의 기능을 갖는 1개의 장치에 적용된다. 그렇지만, 이들 기능은, 별도의 장치로 구현되어도 된다. 1개의 화상부호화장치에 적용할 경우, 축소 화상 데이터와 보간 데이터를 1개의 파일로서 출력한다. 단일의 복호장치는, 그 파일로부터 우선 축소 화상을 메모리에 전개하고 나서, 보간 데이터에 의거해 오리지널 화상을 복원(복호)한다. 더 이상의 상세한 설명은 생략하겠다.
여기서, 제1의 실시예의 설명을 마치겠다. 본 실시예에서는, 오리지널 화상으로부터 샘플링에 의해, 수평 및 수직방향으로 1/2 사이즈의 축소 화상을 생성한다. 동시에, 보간 데이터를 생성한다. 이 축소 화상을 오리지널 화상으로서 재귀적으로 입력하는 것을 반복해도 좋다. 이 경우, 오리지널 화상의 제1단계의 축소 화상과 제1단계의 보간 데이터를 얻는다. 그리고, 그 제1단계의 축소 화상으로부터 제2단계의 축소 화상(수평 및 수직방향 양쪽으로의 오리지널 화상에 대하여 1/4의 사이즈)과 제2단계의 보간 데이터를 얻고, …, 제n단계의 축소 화상과 제n단계의 보간 데이터를 얻는다. 결국, 제n단계의 축소 화상+제n단계의 보간 데이터+제n-1단계의 보간 데이터+···+제1단계의 보간 데이터가 생성된다. 이러한 방법은, 여러 가지 사이즈의 화상을 손실없이 재현가능한 부호화 데이터를 생성할 수 있기 때문에 주목할만 하다.
이때, 상기 실시예에서는 축소 화상의 생성을 위한 샘플링 대상을 각 블록의 좌상측 모퉁이의 화소이다. 그렇지만, 샘플링 대상은, 2×2화소의 어느 한쪽에 대 해 설정되어도 된다.
제1의 부가 정보에 관해서는 설명할 필요까지도 없을 것이다. 제2의 부가 정보를 생성할 때, 가령, 상기와 같이, 주목 블록중의 우하측 모퉁이의 화소Ⅹ을 샘플링 대상으로 하고, 나머지의 3화소를 Ⅹa, Ⅹb, Ⅹc로서 표현한다. 그리고, 화소Ⅹa를 복원하기 위해서 참조하는 인접 블록내의 상기 화소Ⅹa에 인접하는 샘플링 대상 화소를 Ⅹ1, 화소Ⅹb를 복원하기 위해서 참조하는 인접 블록내의 상기 화소Ⅹb에 인접하는 샘플링 대상 화소를 Ⅹ2, 화소Ⅹc를 복원하기 위해서 참조하는 인접 블록내의 상기 화소Ⅹc에 인접하는 샘플링 대상 화소를 Ⅹ3이라고 한다. 이 경우에,
Ⅹa=Ⅹ1,
Ⅹb=Ⅹ2, 및
Ⅹc=Ⅹ3을 만족시킬 경우, 제2의 부가 정보를 생성한다.
[제1의 실시예의 변형 예]
상기 제1의 실시예와 같은 처리를, 컴퓨터 프로그램에 의해 실현하는 예를 제1의 실시예의 변형 예로서 이하에 설명한다.
도 14는, 본 변형 예에 따른 정보처리장치(예를 들면, 퍼스널 컴퓨터)의 블록도다.
도 14를 참조하면, CPU(1401)는, RAM(1402)과 ROM(1403)에 기억되어 있는 프로그램과 데이터를 사용해서 본 장치 전체의 제어를 행하고, 후술하는 화상부호화처리 및 복호처리를 실행한다. RAM(1402)은, 외부기억장치(1407)나 기억매체 드라 이브(1408)로부터, 혹은 I/F(1409)를 거쳐서 외부장치로부터 다운로드된 프로그램과 데이터를 기억하기 위한 에어리어를 구비한다. 또한, RAM(1402)은, CPU(1401)가 각종의 처리를 실행할 때에 사용하는 워크 에어리어도 구비한다. ROM(1403)은, 부트 프로그램과 본 장치의 설정 프로그램과 데이터를 격납한다. 키보드(1404) 및 마우스(1405)는 CPU(1401)에 대하여 각종의 지시를 입력할 수 있다.
표시장치(1406)는, CRT나 액정화면 등에 의해 구성되고, 화상이나 문자등의 정보를 표시할 수 있다. 외부기억장치(1407)는 하드디스크 드라이브 드라이브 등의 대용량의 스토리지다. 이 외부기억장치(1407)에는, OS(오퍼레이팅 시스템), 후술하는 화상부호화 및 복호처리를 위한 프로그램, 부호화 대상의 화상 데이터, 복호 대상 화상의 부호화 데이터 등이 파일로서 보존되어 있다. 또한, CPU(1401)는, 그 프로그램들과 데이터를 RAM(1402)상의 소정의 에어리어에 로드하여, 실행하게 된다.
기억매체 드라이브(1408)는, CD-ROM이나 DVD-ROM등의 기억매체로부터 프로그램과 데이터를 판독해서 RAM(1402)이나 외부기억장치(1407)에 출력한다. 이때, 이 기억매체에 후술하는 화상부호화 및 복호처리를 위한 프로그램, 부호화 대상의 화상 데이터, 복호대상의 화상의 부호화 데이터 등을 격납하여도 된다. 이 경우, 기억매체 드라이브(1408)는, CPU(1401)의 제어에 의해, 이 프로그램과 데이터를 RAM(1402)상의 소정의 에어리어에 로드한다.
I/F(1409)는, 외부장치를 본 장치에 접속하여, 본 장치와 외부장치와의 사이에서 데이터통신을 가능하게 한다. 예를 들면, 부호화 대상의 화상 데이터나 복호 대상의 화상의 부호화 데이터 등을 본 장치의 RAM(1402), 외부기억장치(1407), 혹 은 기억매체 드라이브(1408)에 입력할 수 있다. 버스(1410)는 상기의 각부를 접속한다.
상기 구성에 있어서, 본 장치의 전원이 ON이 되면, CPU(1401)는 ROM(1403)의 부트 프로그램에 따라, 외부기억장치(1407)로부터 OS를 RAM(1402)에 로드한다. 이 결과, 키보드(1404) 또는 마우스(1405)의 입력이 가능해지고, 표시장치(1406)에 GUI를 표시하는 것이 가능하게 된다. 유저가, 키보드(1404)나 마우스(1405)를 조작하고, 외부기억장치(1407)에 격납된 화상부호화 처리용 애플리케이션 프로그램의 기동의 지시를 행하면, CPU(1401)는 그 프로그램을 RAM(1402)에 로드하여, 실행한다. 이에 따라 본 장치가 화상부호화 장치로서 기능하게 된다. 이 경우의 부호화 어플리케이션은, 지정된 화상 데이터로부터 먼저 설명한 블록 단위로 1화소를 샘플링해서 축소 화상을 생성하는 처리와, 보간 데이터 생성 처리(도 1의 흐름도)를 수행한다. 그 결과를 1개의 파일로서 하드디스크 등의 기억장치에 격납하거나, 외부장치 혹은 네트워크에 전송한다.
[제2의 실시예]
상기 제1의 실시예에서는 샘플링을 행하는 단위를 2×2화소로 구성되는 블록으로 해서 선택적으로 부가 정보를 결정하여, 보간 데이터를 생성한다. 이 경우, 최소의 경우에, 3화소에 대하여 1비트의 부호어(제1의 부가 정보)를 할당한다. 제2의 실시예에서는, 제1의 실시예를 더욱 발전시켜, 더욱 부호화 효율을 상승시키는 예를 설명한다.
이때, 제2의 실시예에 있어서도, 부호화 대상의 화상 데이터는, 설명을 간단 하게 하기 위해서, 흑백사진 다치화상 데이터로 해서 1화소당 8비트(256계조)로서 설명한다. 그렇지만, 부호화대상의 화상 데이터는, 복수의 색성분(RGB, YMCK 또는 Lab)을 포함하여도 된다. 1개의 성분을 나타내는 비트수는 8비트에 한정되지 않는다. 복수 색성분이 존재할 경우에는, 각 성분에 대해서 같은 처리를 행한다.
제2의 실시예에서, "블록"이란, 제1의 실시예와 같이, 2×2화소를 나타낸다. 그리고, "타일"이란, 수평방향으로 M개의 블록과 수직방향으로 N개(M과 N 각각은, 2이상의 정수)의 블록에 해당한 사이즈인 것으로 한다. 설명을 간단하게 하기 위해서, 1타일은 M=N=8이라고 한다. 즉, 1타일은 16×16화소로 구성한다. 설명을 간단하게 하기 위해서, 부호화 대상의 화상 데이터는, 16W 수평방향의 화소 × 16H 수직방향의 화소를 갖는다고 가정한다. 즉, 화소수는, 양방향으로 16의 정수배이다.
도 8은, 본 제2실시예에 따른 화상부호화장치의 블록도를 나타낸다. 도 2와 다른 점은, 보간 데이터 생성부(203)의 앞에 타일 분할부(801)를 설치하고, 보간 데이터 생성부(203)의 뒤에, 부가 정보 통합부(802)를 설치한 점이다. 이외는 제1의 실시예와 같으므로, 그 설명은 생략한다.
타일 분할부(801)는 화상입력부(201)로부터 수신한 화상 데이터를 16×16화소를 각각 갖는 타일들로 분할하고, 그 타일의 화상 데이터를 보간 데이터 생성부(203)에 출력한다. 이때, 보간 데이터 생성부(203)가 각 타일의 보간 데이터를 그 타일의 외측 화소 데이터를 참조하여 생성하므로, 타일 분할부(801)는, 타일의 오른쪽에 별도의 열과 타일의 하단에 별도의 라인을 갖는 화소 데이터를 보간 데이터 생성부(203)에 출력한다. 그리고, 이 1열, 1라인에 있어서의 화소 데이터는, 타 일 분할부(801)로부터 타일사이의 오버랩하는 부분으로서 출력된다.
보간 데이터 생성부(203)는, 입력한 타일중의 2×2화소를 단위로 수신하고, 제1실시예에서 설명한 순서에 따라 보간 데이터를 생성한다.
부가 정보 통합부(802)는, 보간 데이터 생성부(203)로부터의 부호화 데이터를 수신하는 부호화 데이터 입력부로서 기능한다. 이를 위해, 부가 정보 통합부(802)는 버퍼 메모리를 내장한다. 그리고, 부가 정보 통합부(802)는, 보간 데이터 생성부(203)에서 생성된 부호화 데이터(보간 데이터)를 수신하고, 그 내부 버퍼에 일시적으로 격납하고, 1타일분, 즉, 8×8개의 보간 데이터를 해석하여, 보간 데이터들을 통합한다. 이하, 이 부가 정보 통합부(802)의 처리 내용을 보다 자세하게 설명한다.
우선, 부가 정보 통합부(802)는, 입력된 주목 타일에 내포되는 8×8개의 부가 정보를 해석한다. 그 해석 결과에 근거하여, 부가 정보 통합부(802)는, 이하에 설명되는 제1통합 처리 및 제2통합 처리를 실행한다.
<제1의 통합 처리>
이 처리는, 주목 타일내의 8×8개의 부가 정보가 서로 같은 경우의 처리다. 부가 정보의 종류는, 제1의 실시예에서 설명한 바와 같이, 제1, 제2, 제3의 부가 정보의 3종류다. 8×8개의 부가 정보가 서로 같은 경우, 그것들을 통합한다. 예를 들면, 주목 타일내의 8×8개의 부가 정보가 동일할 경우에는, 선두에 그 정보가 서로 같은 것을 나타내는 1비트의 식별 비트 “1”을 출력한다. 그리고, 부가 정보 통합부(802)는, 거기에 후속해서 부가 정보를 출력하고, 주목 타일의 통합 처리를 마친다. 따라서, 이 식별 비트는 통합할 수 있었던 것인가 아닌가를 나타내는 플래그 정보로서 간주될 수도 있다.
따라서, 만약 주목 타일내의 8×8개의 블록의 부가 정보가 제1의 실시예에 있어서의 제1의 부가 정보인 "1"이었을 경우에는, 주목 타일의 통합 결과는 2비트의 “11”이 된다. 또한, 주목 타일내의 8×8개의 블록의 부가 정보가 제1의 실시예에 따른 제2의 부가 정보인 “01”이었을 경우에는, 주목 타일의 통합 결과는 3비트의 “101”이 된다. 그리고, 주목 타일내의 전체 블록이 제3의 부가 정보일 경우에는, 주목 타일의 통합 결과는 3비트의 “100”이 된다.
여기에서, 주목 타일내의 전체 블록의 부가 정보가 제3의 부가 정보이었을 경우, 통합 결과를 나타내는 3비트 “100”에 후속하고, 각 블록의 화소값을 출력한다(각 블록의 부가 정보는 불필요하다). 본 실시예에서는, 1타일=8×8개의 블록으로 한다. 각 블록의 복원 대상의 화소는 3개이므로(도 4), 8×8×3화소(바이트)가, 통합 결과의 3비트 “100”에 후속하게 된다.
상기와 같이, 주목 타일내의 8×8개의 블록의 부가 정보가 모두 동일할 경우에는, 상기의 처리로, 주목 타일의 부가 정보의 통합 처리를 마친다(다음에 설명하는 제2통합 처리는 행하지 않는다).
한편, 주목 타일내의 8×8개의 부가 정보중 적어도 1개가 다른 경우, 그 취지를 나타내는 식별 비트 "0"를 출력하고, 이하에 설명하는 제2통합 처리를 행한다.
<제2의 통합 처리>
이 제2통합 처리는, 타일내의 모든 부가 정보중에, 적어도 1개의 부가 정보가 기타와 다른 경우에 수행된다. 바꾸어 말하면, 상기 타일의 사이즈보다 작은 영역에서 부가 정보를 통합할 수 있을 가능성이 있게 된다. 본 제2의 실시예에서는, 1개의 타일에는 8×8개의 부가 정보가 포함되는 것에 착안하고, 이것을 수평방향으로 배열된 8개의 부가 정보의 선마다 통합 처리를 행하였다. 이하, 이 수평방향으로 배열된 8개의 부가 정보를 라인 부가 정보라고 한다.
본 제2의 통합 처리에서는, 주목 라인 부가 정보에 포함되는 8개의 부가 정보가 서로 같은 것인가 아닌가를 판정한다. 그리고, 그들이 서로 같은 경우에는, 부가 정보 통합부(802)는, 그것을 식별하는 1비트의 식별 비트 "1"을 출력하고, 그 후에, 같다고 판정된 부가 정보를 1개 출력한다. 한편, 주목 라인 부가 정보에 포함되는 8개의 부가 정보중, 적어도 1개가 서로 다른 경우, 부가 정보 통합부(802)는, 1비트의 식별 비트 "0"을 출력하고, 거기에 후속해서 8개의 부가 정보를 출력한다.
주목 타일이 8개의 라인 부가 정보로 구성되는 것이므로, 상기 처리를 최상 라인에서 최하 라인을 향해서 8회 행한다.
이상 본 제2의 실시예에 따른 부가 정보 통합부(802)의 처리를 설명했다.
도 9는, 본 제2의 실시예에 따른 부가 정보 통합부(802)의 통합 처리 순서를 나타내는 흐름도다. 이하, 도 9의 흐름도를 참조하여, 본 실시예의 부가 정보 통합부(802)의 처리를 설명한다.
우선, 부가 정보 통합부(802)는, 보간 데이터 생성부(203)에서 생성된 주목 타일에 포함되는 8×8개의 부가 정보를 수신한다(단계S901).
다음에, 부가 정보 통합부(802)는, 수신된 부가 정보를 해석하고, 8 ×8개의 전부의 부가 정보(전체 부호화 데이터)가 같은 종류(1종류)인지의 여부를 판정한다(단계S902). 모두 같은 종류의 부가 정보이라고 판정될 경우(YES), 단계S903으로 처리를 천이시킨다. 부가 정보 통합부(802)는, 단계S903에서, 주목 타일의 부가 정보를 통합한 것을 나타내는 1비트의 플래그 "1"을 출력한다. 그리고, 부가 정보 통합부(802)는, 단계S904에서, 그 플래그에 후속하고, 1개의 부가 정보를 출력한다. 이때, 모두 같다고 판정된 모든 부가 정보가 제3의 부가 정보일 경우에는, 부가 정보 통합부(802)는, 제3의 부가 정보에 후속하는 8×8×3개의 화소 데이터를 출력한다.
한편, 단계S902에서 NO인 경우, 즉, 주목 타일에 포함되는 8×8개의 부가 정보중에, 적어도 2종류의 부가 정보가 존재하는 경우, 처리는 단계S905로 진행된다. 부가 정보 통합부(802)는, 이 단계 S905에서, 주목 타일의 부가 정보의 비통합을 나타내는 1비트의 플래그 “0”을 출력한다. 그리고, 부가 정보 통합부(802)는, 단계S906 내지 S911에서, 주목 타일보다도 더욱 작은 각 영역에서의 통합 처리를 행한다. 실제로, 이것은, 수평방향으로 배열된 8개의 부가 정보로 구성되는 블록 라인마다의 블록 라인 통합 처리다.
우선, 부가 정보 통합부(802)는, 단계S906에서, 주목 라인 부가 정보(초기 단계에서는 주목 타일의 최상위의 라인의 부가 정보)에 포함되는 8개의 부가 정보가 모두 같은가 아닌가를 판단한다. 동일한 경우에는, 그 라인의 부가 정보를 통합 할 수 있다. 부가 정보 통합부(802)는, 단계S907에서 통합된 것을 나타내는 1비트의 플래그 “1”을 출력하고, 단계S908에서, 동일하다고 판정한 부가 정보를 1개 출력한다. 이때, 동일하다고 판정된 부가 정보가 제3의 부가 정보일 경우에는, 그 부가 정보에 후속해서 8×3화소 데이터를 출력한다.
또한, 단계S906에서, 주목 라인(초기 단계에서는 주목 타일의 최상위의 라인)의 전부가 정보중에 적어도 1개가 기타와 다른 부가 정보가 존재했다고 판단한 경우에는, 단계S909로 처리가 진행된다. 부가 정보 통합부(802)는, 이 단계S909에서, 그 라인의 부가 정보를 통합할 수 없었던 것을 나타내는 1비트의 플래그 “0”을 출력한 후, 단계S910에서, 8개의 부가 정보를 출력한다(제3의 부가 정보가 존재할 경우에는, 3개의 화소 데이터는 그 제3의 부가 정보에 후속한다).
부가 정보 통합부(802)는, 단계S911에서, 주목 타일의 최종 라인까지 통합 처리를 마친 것인가 아닌가를 판단한다. 단계S911에서, 부일 경우에는, 다음 라인의 통합 처리를 행하기 위해서, 단계S906로 처리를 되돌아간다.
상기한 바와 같이 해서 주목 타일에 관한 통합 처리를 끝내면, 부가 정보 통합부(802)는, 단계S912에서, 전체 타일에 관한 통합 처리를 마친 것인가 아닌가를 판단한다. 단계S912에서 부일 경우에는, 단계S901로 되돌아가 다음의 타일의 부가 정보에 관한 통합 처리를 행한다.
여기에서, 1개의 타일의 부가 정보의 통합 처리의 예를 도 10a 내지 10c를 참조하여 설명한다.
도 10a는 1개의 타일의 화상 데이터를 보이고 있다. 파선으로 둘러싸여진 1 개의 셀(cell)은 1화소를 나타낸다.
도 10a에서는, 제1라인으로부터 제9라인까지의 영역이 같은 값의 백화소로 구성되어 있는 것을 보이고 있다. 또한, 제10 및 제11라인의 영역이 같은 값의 흑화소로 구성된다. 제12라인으로부터 제16라인까지의 영역은 같은 값의 백화소로 구성되어 있다. 도 10a에 나타낸 패턴은, 문자나 선화에 많이 보여진다.
도 10b는 도 10a의 타일의 화상 데이터를 수신할 때에, 보간 데이터 생성부(203)가 생성하는 각 블록의 부가 정보의 값을 나타낸다.
도 10b에 도시된 것처럼, 이 타일내의 모든 부가 정보는 같지 않다. 따라서, 도 10c에 나타나 있는 바와 같이, 타일 통합이 불가능한 것을 나타내는 플래그 “0”을 출력한다(도 9의 단계S905).
최초의 라인 부가 정보를 참조한다. 8개의 부가 정보는 "1"이다. 따라서, 라인 통합이 가능하므로, 플래그 “1”을 출력하고, 그 후에 부가 정보 “1”을 출력한다. 이하, 이 처리를 반복한다.
도 10a의 타일 화상의 경우, 결국, 부가 정보 통합부(802)는 도 10c에 나타낸 부가 정보의 통합 결과를 출력한다. 비트 시퀀스는, "0;11;11;11;11;101;101;11;11"이다. 이때, 여기에서 세미콜론은, 이해를 쉽게 하기 위해서, 라인 부가 정보의 통합의 단락을 나타낸 것이지만, 실제로 존재하지 않는다.
도 10a의 타일에는 8×8개의 블록이 포함되고, 각 블록에는 복원해야 할 3화소가 존재하게 되므로, 1타일은 8×8×3복원 대상 화소로 구성된다. 즉, 1타일에 있어서의 복원 대상 화소의 총 비트수는 8×8×3×8비트=1536비트다.
도 10b의 부가 정보는, 1비트의 부가 정보가 전부 48개, 2비트의 부가 정보가 전부 16개이다. 따라서, 1타일의 부가 정보의 총 비트수는 48+16×2비트=80비트다(제1의 실시예에 해당한다).
그리고, 도 10c에서, 제2의 실시예에 따른 1타일의 부가 정보의 통합후의 총 비트수는 플래그 비트를 포함하는 19비트가 된다. 즉, 대폭 보간 데이터의 데이터량을 삭감 가능하다.
이상에서 설명한 바와 같이, 본 제2의 실시예에 의하면, 보간 데이터 생성부(203)에서 생성된 2×2화소의 블록마다의 부가 정보에 대하여, 미리 정해진 단위마다 연속하고 있는 것인가 아닌가의 판정을 행한다. 부가 정보가 연속하고 있으면, 연속하고 있는 부가 정보를 통합함으로써, 보간 데이터의 데이터량을 대폭 삭감하는 것이 가능하다. 또한, 부가 정보가 연속하지 않고 있으면, 보다 작은 단위마다 연속성을 판정하고, 같은 방식으로 통합 처리를 행한다. 또한 부가 정보의 연속성을 조사하는 것뿐이므로, 통합 처리를 위해 화상을 다시 스캔할 필요는 없다. 따라서, 보간 데이터 생성의 처리의 효율은 저하하지 않는다.
이때, 본 제2의 실시예와 동등한 처리를 컴퓨터 프로그램으로 실현되는 것은, 먼저 설명한 제1의 실시예의 변형 예로부터 명확하므로, 그 설명에 관해서는 생략한다.
[제3의 실시예]
상기 제1 및 제2의 실시예에서는, 1개의 블록(2×2화소)에 대하여, 제1, 제2 및 제3의 부가 정보 중 1개를 할당하여서, 그 블록의 보간 데이터를 생성했다. 본 제3의 실시예에서는 부가 정보의 종류를 3종류에 한정하지 않고, 보간 데이터를 생성하는 예를 설명한다.
이때, 본 제3의 실시예에서도, 부호화 처리 대상의 화상 데이터는 흑백사진 다치화상 데이터로 가정한다. 이러한 실시예는, RGB 화상 데이터나, CMYK칼라화상 데이터에 적용 가능하다. 화상은 16W 수평방향 화소 × 16H 수직방향 화소로 구성되는 것으로 한다(화소수는 수평 및 수직방향으로 16의 정수배이다).
도 11은, 본 제3의 실시예에 따른 화상부호화장치의 블록도를 나타낸다. 제1, 제2의 실시예에서 설명한 도 1 및 도 8과 같은 참조번호는 도 11의 같은 블록을 의미하고, 그에 대한 설명은 반복하지 않는다.
이하, 제2의 실시예와 동작의 다른 부분에 관하여 설명한다.
먼저 설명한 제2의 실시예에서는 2×2화소의 블록에 대한 부가 정보를 생성한 후에, 부가 정보의 통합 처리를 행하는 경우의 설명을 행했다. 제3의 실시예에 있어서는, 부가 정보의 생성부를 적절하게 변경하면서 보간 데이터를 생성하는 방법에 관하여 설명한다. 이를 위해, 도 8의 부가 정보 통합부(802)는 제거되고, 제1, 제2의 실시예의 보간 데이터 생성부(203) 대신에, 제3의 실시예의 보간 데이터 생성부(1101)를 설치했다.
도 12는, 제3의 실시예에 따른 보간 데이터 생성부(1101)의 블록도를 나타낸다. 이 보간 데이터 생성부(1101)는 플랫(flat) 판정부(1201), 논플랫 블록 해석부(1202)로 구성된다.
이하의 설명에서, 축소 화상중의 화소Ⅹ로부터, Ⅹa, Ⅹb, Ⅹc(도 4)로서 복원할 수 있는 블록을 “플랫 블록”이라고 부른다. 바꾸어 말하면, 2×2화소의 값이 서로 같은(동일한 색) 블록을 플랫 블록이라고 부른다. 또한, 2×2화소가 기타와는 다른 화소값을 갖는 것이 적어도 하나의 화소를 구비하는 블록을, 논플랫 블록이라고 한다. 플랫 블록만을 포함하는 타일을 플랫 타일이라고 부른다. 그리고, 적어도 1개의 논플랫 블록을 갖는 타일을, 논플랫 타일이라고 한다. 또한, 1개의 타일중의 수평방향으로 배열된 8개의 블록을 블록 라인이라고 부른다. 그리고, 8개의 플랫 블록으로 형성된 블록 라인을 플랫 블록 라인이라고 한다. 적어도 하나의 논플랫 블록을 포함한 블록 라인을, 논플랫 블록 라인이라고 한다. 제3의 실시예에서는, 타일외의 주위 참조 대상 화소는, 화소값 "255"를 갖는다고 가정한다.
플랫 판정부(1201)는, 2M 수평방향 화소× 2N 수직방향 화소로 형성된 각 타일의 화상 데이터를 수신해서 부호화하는 타일 부호화부로서 기능한다. 설명을 간단하게 하기 위해서, M=N=8. 그리고, 플랫 판정부(1201)는, 입력한 타일(16×16화소)중의 각각의 블록(2×2화소)에 착안하고, 축소 화상에 이용된 화소Ⅹ 이외의 화소Ⅹa, Ⅹb, Ⅹc가, 축소 화상중의 화소Ⅹ로부터 단순하게 복원할 수 있는 것인가 아닌가를 판정한다. 그리고, 플랫 판정부(1201)는, 이 판정 결과에 근거한 처리를 행한다.
논플랫 블록 해석부(1202)는, 플랫 판정부(1201)의 판정 결과에 근거하여, 블록내에 존재하는 컬러 수와 배치에 따라서 부가 정보를 생성하여, 출력한다.
이하, 플랫 판정부(1201)의 처리 내용을 설명한 후, 논플랫 블록 해석 부(1202)의 처리 내용을 설명한다.
<플랫 판정부의 설명>
도 13은 플랫 판정부(1201)의 처리 순서를 나타내는 흐름도다.
플랫 판정부(1201)는, 단계S1301에서, 1타일의 화상 데이터(타일 데이터)를 수신한다. 그리고, 플랫 판정부(1201)는, 수신된 타일 데이터중의 각 블록에 대해서, 그 블록이 플랫 블록인지 또는 논플랫 블록인지의 판정 처리를 행한다.
플랫 판정부(1201)는, 단계S1302에서, 수신한 주목 타일이 플랫 타일 인지의 여부를 판정한다(제1의 판정 처리). 즉, 수신한 타일의 8×8개의 전체 블록(각 블록은 2×2화소를 포함함)이 플랫 블록인지의 여부를 판정한다.
주목 타일이 플랫 타일이라고 판정했을 경우, 축소 화상의 8×8화소의 화상 데이터로부터 16×16화소의 화상 데이터를 단순하게 생성할 수 있다는 것을 의미한다. 이 경우, 플랫 판정부(1201)는, 단계S1303에 처리를 진행시키고, 주목 타일이 플랫 타일인 것을 나타내는 1비트의 플래그 "1"을 논플랫 블록 해석부(1202)에 출력한다.
한편, 단계S1302에서, 주목 타일이 논플랫 타일이라고 판정했을 경우, 처리는 단계S1304에 진행된다. 플랫 판정부(1201)는, 우선, 논플랫 타일인 것을 나타내는 플래그 “0”을 논플랫 블록 해석부(1202)에 출력한다. 단계S1305 이후에서는, 주목 타일내의 블록 라인 단위로 하는 블록 라인 부호화처리를 행한다. 이때, 이하에 설명하는 블록 라인 단위의 부호화처리는, 주목 타일의 최상위 블록 라인으로부터 최하위 라인까지 순차로 실행된다.
플랫 판정부(1201)는, 단계S1305에서, 타일의 최상위의 (제1의) 블록 라인이 플랫 블록 라인인지의 여부를 판정한다(제2의 판정 처리). 즉, 플랫 판정부(1201)는, 수평방향으로 배열된 8개의 블록의 모두가 플랫 블록인지의 여부를 판정한다.
주목 블록 라인이 플랫 블록 라인이라고 판단했을 경우, 축소 화상중의 수평방향으로 배열된 8개의 화소 데이터로부터, 16 수평방향 화소× 2수직방향 화소의 직사각형 영역의 화상 데이터가 단순하게 복원할 수 있는 것을 의미한다. 따라서, 플랫 판정부(1201)는, 단계S1306에서, 주목 블록 라인이 플랫 블록 라인이라고 나타내는 플래그 “1”을 논플랫 블록 해석부(1202)에 출력한다.
또한, 단계S1305에서, 주목 블록 라인이 논플랫 블록 라인이라고 판정했을 경우, 처리는 단계S1307에 진행된다. 이 단계 S1307에서, 플랫 판정부(1201)는, 주목 블록 라인이 논플랫 블록 라인인 것을 나타내는 플래그 “0”을 논플랫 블록 해석부(1202)에 출력한다. 그리고, 단계S1308에 처리를 진행시킨다.
단계S1308로 처리가 진행하는 것은, 주목 블록 라인에는 적어도 1개의 논플랫 블록이 포함되어 있는 것을 나타낸다. 따라서, 플랫 판정부(1201)는, 이 단계S1308에서, 주목 블록 라인에 있어서의 플랫 블록 및 논플랫 블록의 시퀀스가 주목 블록 라인 이전에 논플랫 블록 라인이라고 판정된 블록 라인의 그것과 일치하는 것인가 아닌가를 판정한다(제3의 판정 처리). 이때, 주목 블록 라인이 주목 타일의 최초의 블록 라인일 경우에는, 그 이전의 블록 라인은 존재하지 않는다. 이를 나타내기 위해서, 주목 타일의 블록 라인의 판정에 앞서, 블록 라인의 전체 블록이 논플랫 블록인 것을 나타내는 정보를 미리 준비해 둔다. 즉, 플랫 블록을 “1”, 논 플랫 블록을 “0”이라고 정의했을 때, 초기값으로서 8비트(8비트 데이터)의 “0”을 준비해둔다. 이후, 이 8비트 데이터를 "참조 논플랫 블록 라인 정보”라고 부른다. 물론, 복호장치에서도 1타일의 복원을 위해, "참조 논플랫 블록 라인 정보"를 준비해 둔다.
주목 블록 라인이, 논플랫 블록이라고 판정된 최초의 블록 라인이었다고 가정한다. 이 경우, 플랫 판정부(1201)는, 단계S1308에서, 주목 블록라인내의 8개의 플랫 블록 및 논플랫 블록의 판정 결과의 시퀀스가, 참조 논플랫 블록 라인 정보와 일치하는 것인가 아닌가를 판정한다.
그들이 일치했다고 판정했을 경우에는, 플랫 판정부(1201)는, 단계S1309에서, 주목 블록 라인내의 블록들의 판정 결과가, 참조 논플랫 블록 라인 정보와 일치한 것을 나타내는 1비트의 플래그 “1”을 논플랫 블록 해석부(1202)에 출력한다.
이것을 도 10b를 참조해서 설명한다. 최초에 논플랫이라고 판정된 주목 블록 라인은, 도 10b의 예에서는, 5번째의 블록 라인이다. 이것은, 5번째의 블록 라인에 포함되는 8개의 부가 정보가 논플랫 블록을 나타내는“01”이기 때문이다. 또한, 이 5번째의 블록 라인에 포함되는 8개의 블록은, 모두가 논플랫 블록이므로, 참조 논플랫 블록 라인 정보(초기의 8비트 데이터“00000000”)과 일치한다. 그 때문에, 플랫 판정부(1201)는, 단계S1309에서, 1비트의 플래그 "1"을 논플랫 블록 해석부(1202)에 출력한다.
한편, 단계S1308에서, 그 데이터가 불일치한다고 판정했을 경우, 처리는 단 계S1310으로 진행된다.
이 단계S1310으로 천이하는 것은, 주목 블록 라인의 판정 결과가, 참조 논플랫 블록 라인 정보와 일치하지 않은 경우 일어난다. 플랫 판정부(1201)는, 우선, 불일치를 나타내는 1비트의 플래그 “0”을 출력하고, 그 다음에, 주목 블록 라인의 8개(8비트)의 플랫 블록 및 논플랫 블록 각각의 판정 결과를 나타내는 정보를 논플랫 블록 해석부(1202)에 출력한다. 그리고, 플랫 판정부(1201)는, 단계S1311에서, 주목 블록 라인의 플랫 블록 및 논플랫 블록의 판정 결과(8비트)로, 참조 논플랫 블록 라인 정보를 갱신한다.
단계S1306, S1309 또는 S1311의 처리를 마친 후, 처리는 단계S1312로 진행된다. 이 단계S1312에서는, 플랫 판정부(1201)는, 주목 블록 라인이 주목 타일의 최후의 블록 라인인가 아닌가를 판정한다. 단계S1312에서 부(NO)일 경우에는, 단계S1313으로 진행되어, 판정 대상을 다음 블록 라인으로 이동시키고, 단계S1305 이후의 처리를 반복한다. 또한, 단계S1312에서, 주목 블록 라인이 주목 타일의 최후의 블록 라인이라고 판정했을 경우에는, 플랫 판정부(1201)는 1타일의 플랫 판정 처리를 끝낸다.
<논플랫 블록 해석부의 설명>
논플랫 블록 해석부(1202)는, 플랫 판정부(1201)와 마찬가지로, 1타일에 해당하는 처리를 개시시에, 1블록 라인의 8개의 블록의 모두가 논플랫 블록인 것을 나타내는 "참조 논플랫 블록 라인 정보"를 설정해둔다. 논플랫 블록 해석부(1202)는, 플랫 판정부(1201)로부터의 판정 결과를 그대로 통과시켜, 격납부(204)에 출력 한다. 이 때, 논플랫 블록 해석부(1202)는, 상술한 도 13의 단계S1310에서, 플래그 “0”이 출력된 블록 라인이 존재한다고 판정했을 경우, 그 플래그에 후속하는 플랫 블록들 및 논플랫 블록들을 나타내는 판정 결과로, 참조 논플랫 블록 라인 정보를 갱신한다. 만약에 주목 블록 라인에 대하여 도 13의 단계S1309의 처리가 행해졌을 경우에는, 참조논플랫 블록 라인을 참조함으로써 어느 블록이 논플랫 블록인지를 판정할 수 있다. 또한, 주목 블록 라인에 대하여, 도 13의 단계S1310의 처리가 행해지고 있다고 판단했을 경우에는 선두의 플래그 "0"에 후속하는 8비트의 값을 조사하여, 블록이 논플랫 블록인지를 판정할 수 있다. 즉, 논플랫 블록 해석부(1202)는, 주목 타일중의 모든 논플랫 블록의 개수와 위치를 판정할 수 있다.
논플랫 블록 해석부(1202)는, 논플랫 블록이라고 판정된 블록마다 도 15의 흐름도에 따른 논플랫 블록 부호화처리를 실행한다. 이하, 도 15를 참조하여 논플랫 블록 해석부(1202)의 처리를 설명한다.
우선, 논플랫 블록 해석부(1202)는, 단계S1501에서, 1개의 논플랫 블록을 나타내는 2×2화소 데이터를 수신한다. 단계S1502에서, 논플랫 블록 해석부(1202)는, 주목 블록이 제1의 실시예의 식(2)를 만족하는 것인가 아닌가를 판정한다(제4의 판정 처리).
식(2)를 만족한다고 판정했을 경우, 축소 화상중의 화소P(x, y)을 주목 블록의 좌상측 모퉁이의 화소Ⅹ로서 설정했을 때(도 4), 복호장치(본 실시예에서는 화상전개부(205))는, 주목 블록의 나머지의 3개의 화소Ⅹa, Ⅹb, Ⅹc은, 다음식으로부터 복원할 수 있다.
Ⅹa=P(x+1, y)
Ⅹb=P(x, y+1)
Ⅹc=P(x+1, y+1)
따라서, 논플랫 블록 해석부(1202)는, 단계S1503에서 1비트의 플래그 "1"을 격납부(204)에 출력한다.
주목 블록이 식(2)를 만족하지 않는다고 판정했을 경우, 논플랫 블록 해석부(1202)는, 단계S1504에서, 그 조건이 만족하지 않는 것을 나타내는 1비트의 플래그 “0”을 격납부(204)에 출력한다.
논플랫 블록 해석부(1202)는, 처리를 단계S1505로 진행하여, 주목 블록에 포함되는 컬러 수가 “2”이상(3 혹은 4)인가를 판정한다(제5의 판정 처리). 이때, 주목 블록은 논플랫 블록이기 때문에, 컬러 수가 “1”이 되는 일은 없다.
주목 블록에 포함되는 컬러 수가 “2”보다 크다(즉, 3 혹은 4)고 판정한 경우, 단계S1512에 진행된다. 논플랫 블록 해석부(1202)는, 그 주목 블록에 관해서는 1비트의 플래그 “0”을 격납부(204)에 출력한다. 논플랫 블록 해석부(1202)는, 단계S1513에서, 주목 블록중의 비사용의 3화소의 데이터(8×3=24비트)를 격납부(204)에 출력한다(제1의 출력 처리).
한편, 주목 블록에 포함되는 컬러 수가 "2"라고 판정했을 경우, 논플랫 블록 해석부(1202)는, 단계S1506에서 출현 컬러 수가 “2”인 것을 나타내는 1비트의 플래그 “1”을 격납부(204)에 출력한다. 그리고, 논플랫 블록 해석부(1202)는, 단계S1507에서, 축소 화상에 이용된 화소Ⅹ를 제외한 도 4의 주목 블록의 3화소Ⅹa, Ⅹ b, Ⅹc이, 도 16의 패턴 1601 내지 1607의 어느 하나인지를 나타내는 화소 배치 정보를 격납부(204)에 출력한다(제2의 출력 처리). 도 16에 나타나 있는 바와 같이, 패턴수는 전부 7개다. 그러므로, 3비트 화소 배치 정보는 1개의 패턴을 특정할 수 있다. 그렇지만, 그 실시예에서는 축소 화상에 이용된 화소와 같은 색의 화소는 "1"로 나타내고, 다른 색의 화소를 "0"으로 나타낸다. 도 4의 화소Ⅹa, Ⅹb, Ⅹc에 해당하는 비트들을, 이 순서로 출력한다(이 경우도 3비트). 예를 들면, 도 16의 패턴 1601과 일치하는 화소Ⅹa, Ⅹb, Ⅹc는 서로 같은 색이지만, 축소 화상에 이용된 화소의 색과는 다르다. 이 때문에, 화소 배치 정보의 3비트는"000"이 된다. 또한, 그 3비트는 패턴 1602의 경우에 "100"이고, 패턴 1603의 경우에는 "010"이고, 패턴 1604의 경우에는 "001"이다. 나머지의 설명은 생략하겠다.
다음에, 논플랫 블록 해석부(1202)는, 단계S1508에서, 주목 블록내의 축소 화상에 이용된 화소Ⅹ을 제외한 화소Ⅹa, Ⅹb, Ⅹc 중, 화소Ⅹ와 다른 색의 화소와 같은 색의 화소가, 근방에 존재하는 것인가 아닌가를 판정한다 (제6의 판정 처리). 본 실시예에서는, 비교되는 근방의 화소는, 제1의 실시예에서 나타낸 제2의 부가 정보를 참조하는 3개의 화소이다. 즉, 주목 블록을 Bn, 그 우측 이웃의 블록을 Bn+1, 주목 블록의 바로 아래의 블록을 Bn+W, 주목 블록의 우측 아래로 벗어난 블록을 Bn+W+1로서 나타낸다. 이 경우에, 주목 블록이 도 16의 패턴 1601을 갖는다고 가정한다. 이 경우에, 화소Ⅹa(또한 Ⅹb 또는 Ⅹc로 상호교환가능)와, Bn(0, 0), Bn+1(0, 0), Bn+W(0, 0)과 순서적으로 비교하여서, 일치하는 화소가 존재하는 것인가 아닌가를 판정한다. 이때, 화소Bn(0, 0), Bn+1(0, 0), Bn+W(0, 0) 모두는 축소 화상에 그대로 이용된다. 또한, 주목 블록이 패턴 1603이었을 경우, 주목 블록중의 축소 화상에 이용된 화소와 다른 색의 화소는, 도 4로부터 알 수 있듯이, 화소Ⅹb이다. 그러므로, 그 화소Ⅹb와, Bn(0, 0), Bn+1(0, 0), Bn+W(0, 0)를 순서적으로 비교한다.
일치하는 주변 화소가 존재한다고 판단했을 경우, 논플랫 블록 해석부(1202)는, 처리를 단계S1509으로 진행시키고, 그 일치하는 화소의 상대 위치를 나타내는 정보를 격납부(204)에 출력한다(제3의 출력 처리). 본 실시예에서, 비교되는 근방의 화소수는 "3"이다. 그러므로, 일치하는 화소의 상대 위치를 특정하는 정보는 2비트 있으면 충분하다. 본 실시예에서는 주변 화소Bn(0, 0)가 일치하는 경우에는 2비트의 “11”, Bn+1(0, 0)이었을 경우에는 2비트의 "01", Bn+W(0, 0)이었을 경우에는 2비트의 "10"을 격납부(204)에 출력한다.
한편, 단계S1508에서, 주목 블록내의 축소 화상에 이용된 화소Ⅹ을 제외한 화소Ⅹa, Ⅹb, Ⅹc 중, 화소Ⅹ와 다른 색의 화소와 같은 색의 화소가, 근방에 존재하지 않는다고 판단했을 경우, 논플랫 블록 해석부(1202)는, 처리를 단계S1510으로 진행시킨다. 이 단계S1510에서는, 논플랫 블록 해석부(1202)는, 2비트의 “00”을 격납부(204)에 출력한다. 이때, 2비트의 “00”은, 단계S1509에서는 이용되지 않는다.
다음에, 논플랫 블록 해석부(1202)는, 단계S1511에서, 주목 블록내의 축소 화상에 이용된 화소Ⅹ을 제외한 화소Ⅹa, Ⅹb, Ⅹc 중, 화소Ⅹ와 다른 색의 하나의 화소의 값(8비트)을 출력한다(제4의 출력 처리). 도 16의 패턴 중 하나를 특정하고, 주목 블록내의 축소 화상에 이용된 화소Ⅹ을 제외한 화소Ⅹa, Ⅹb, Ⅹc 중, 화소Ⅹ와 다른 색의 화소의 값을 알면, 복호장치는 도 16의 패턴 1601 내지 1607의 각 화소의 값을 복원할 수 있는 것은 이해할 수 있을 것이다.
이 후, 논플랫 블록 해석부(1202)는, 처리를 단계S1514로 진행시키고, 주목 블록이 주목 타일중의 최후의 논플랫 블록인지의 여부를 판단한다. 단계S1514에서 부(NO)일 경우에는 단계S1515로 진행된다. 논플랫 블록 해석부(1202)는, 다음 논플랫 블록을 나타내는 2×2화소 데이터를 수신하고 단계S1502로 처리를 되돌아간다.
또한, 단계S1514에서, 주목 블록이 주목 타일중의 최후의 논플랫 블록이라고 판단했을 경우에는, 논플랫 블록 해석부(1202)는, 주목 타일내의 논플랫 블록의 처리를 종료한다.
이상에서 설명한 바와 같이, 본 제3의 실시예에 의하면, 보간 데이터 생성부(1101)는 처음에는 타일이 플랫 타일인지의 여부를 판단한다. 예(YES)이면, 보간 데이터 생성부(1101)는 타일에 대해서 1비트의 부가 정보를 생성하고, 처리를 종료한다. 그리고, 그 타일이 플랫 타일이 아니라고 판단했을 경우에는, 보간 데이터 생성부(1101)는 논플랫 타일인 것을 나타내는 1비트 정보를 출력하고, 타일보다도 좁은 블록 라인에 대해서 검증을 행한다. 이러한 처리를 최종적인 사이즈(블록)에 도달할 때까지 반복한다. 이 결과, 축소 화상으로부터 오리지널 해상도의 화상을 생성하기 위한 부가 정의 양을, 제1, 제2의 실시예보다 더욱 삭감하는 것을 기대할 수 있다.
이때, 상기 실시예에서는 "타일", "블록 라인", "블록"의 3단계로 처리하는 예를 설명했다. 그렇지만, 그 단계들의 수는 증가되어도 된다.
아울러, 본 제3의 실시예에 해당하는 처리를 컴퓨터 프로그램으로 구현할 수 있는 것은, 먼저 설명한 제1의 실시예의 변형 예와 같이 명확하다.
[제4의 실시예]
상기 제1 내지 제3의 실시예에서는, 축소 화상 및 보간 데이터(부호화 데이터)에 의거하여 오리지널 화상을 완전하게 복원하는 기술을 개시했다. 즉, 제1 내지 제3의 실시예에서는 비손실 부호화를 개시한다. 본 제4의 실시예에서는 손실 보간 데이터를 생성하는 방법에 관하여 설명한다.
이때, 제4의 실시예에서도, 처리 대상의 화상 데이터는, 설명을 간단하게 하기 위해서 흑백사진 다치화상 데이터라고 가정한다. 또한, 본 실시예는, RGB 화상 데이터나, CMYK컬러 화상 데이터에 적용가능하다. 어떠한 종류의 색공간도 사용 가능하다.
제4의 실시예에서는, 논플랫 블록 해석부(1202)의 처리 내용외에 제3의 실시예와 같다. 따라서, 그 장치 구성은 도 11 및 도 12와 같아서, 그 설명은 반복하지 않겠다.
도 17a 및 17b는, 제4의 실시예에 따른 논플랫 블록 해석부(1202)의 처리 순서를 나타내는 흐름도다. 도 17a 및 17b의 흐름도는, 도 15의 흐름도를 대신하는 것이라고 이해되어야 한다. 그 때문에, 동일한 단계 숫자는, 동일한 처리 내용을 의미한다.
우선, 논플랫 블록 해석부(1202)는, 단계S1501에서, 논플랫 블록을 나타내는 2×2화소의 화상 데이터를 수신한다. 그리고, 단계S1701에 있어서, 수신된 주목 블록Bn에서, 도 4의 3화소 Ⅹa, Ⅹb, Xc가 참조하는 주변화소에 가까운 색인지의 여부의 판정을 행한다(제7의 판정 처리). 즉, 제1 내지 제3의 실시예와 달리, 완전일치를 요구하지 않는다.
구체적으로는, 이 허용 색차이를 나타내는 임계값을 Thl(유저가, 필요한 경우, 예를 들면, 조작부나 키보드로 변경할 수 있다)이라고 한다. 논플랫 블록 해석부(1202)는, 다음식을 충족시킬 때, 3화소 Ⅹa, Ⅹb, Xc가, 참조하는 주변 화소에 가까운 색이라고 판정한다.
|Bn(0, 1)-Bn+1(0, 0)|≤Thl,
|Bn(1, 0)-Bn+W(0, 0)|≤Thl, 및
|Bn(1, 1)-Bn+W+1(0, 0)|≤Th1,
여기에서, |z|는 z의 절대치다..
이때, 본 발명자들은 이 임계값Thl이 1자리의 수치이며, 바람직하게는 Thl=4인 것을 찾아내었다.
상기 식을 만족할 경우, 논플랫 블록 해석부(1202)는, 처리를 단계S1503으로 진행시키고, 플래그 “1”을 출력하고, 주목 블록Bn의 처리는 종료한다. 그 후, 다음 논플랫 블록의 처리를 시작한다. 이 때, 설정된 임계값에 따라서, 보간 데이터량을 억제하면서도, 화질열화를 시인할 수 없는 정도의 화질을 유지하는 것이 가능하다.
주목 블록Bn에 출현하는 컬러 수가 3색 또는 4색일 경우, 제3의 실시예에서는 3화소의 화소값을 출력할 필요가 있었다. 제4의 실시예에서는, 화소값의 출력(단계S1513) 전에, 판정 처리를 나타내는 단계S1702를 추가했다. 이 단계S1702에서는, 논플랫 블록 해석부(1202)는, 도 4의 3화소 Ⅹa, Ⅹb, Ⅹc가, 인접한 화소의 평균치에 가까운 값(임계값 Th2 이하)인지의 여부를 판정한다.
구체적으로는, 논플랫 블록 해석부(1202)는, 다음식에 의해 축소 화상에 이용된 4화소의 평균치Ⅹavel 내지 Ⅹave3을 산출한다(소수점 이하를 잘라서 버린다).
Ⅹavel={Bn(0, 0)+Bn+1(0, 0)}/2
Ⅹave2={Bn(0, 0)+Bn +W(0, 0)}/2
Ⅹave3={Bn(0, 0)+Bn+W+1(0, 0)}/2
논플랫 블록 해석부(1202)는,
|Bn(0, 1)-Ⅹavel|≤Th2,
|Bn(1, 0)-Ⅹave2|≤Th2, 및
|Bn(1, 1)-Ⅹave3|≤Th2를 만족할 때, 3화소 Ⅹa, Ⅹb, Ⅹc가 인접한 화소의 평균치에 가까운 값(임계값 이하)이라고 판정한다.
임계값Th2도 유저가 적당하게 설정한다. 임계값Th2은, 최대로 1자리의 양의 정수가 바람직하다(이 경우에도, 임계값Th2 = 4).
Ⅹa, Ⅹb, Ⅹc의 모든 화소가 평균값과의 차분이 작다고 판정했을 경우(YES), 논플랫 블록 해석부(1202)는, 단계S1703에 처리를 옮기고, 플래그 "1"을 출력한다(제5의 출력 처리). 한편, Ⅹa, Ⅹb, Ⅹc의 모든 화소가 평균값과의 차분이 큰 경우(NO), 논플랫 블록 해석부(1202)는, 단계S1704로 처리를 옮기고, 플래그 "0"을 출력한다. 그후, 단계S1513에서, 논플랫 블록 해석부(1202)는, 제3의 실시예와 같이, 화소값들을 출력한다.
이상의 처리에 의해, 오리지널 화상 데이터와의 화소값의 오차를 제어하면서, 비손실 보간 데이터의 처리를 전혀 변경하지 않고, 손실 보간 데이터를 생성 가능하다. 화소값이 어느 정도의 허용차를 가지므로, 제3의 실시예와 비교하여, 보간 데이터량이 더욱 삭감 가능하다는 것은 쉽게 이해할 수 있다.
이때, 상술한 제4의 실시예에서는, 손실 있는 보간 데이터 생성을 단계S1701의 판정과, 단계S1702의 판정의 2개의 처리를 사용하여 행했다. 그렇지만, 그 처리 중의 한쪽만을 적용하여도 된다.
[제5의 실시예]
제5의 실시예에서는 비손실과 손실 보간 데이터 생성을, 바꾸어서 부호량 제 어를 행하는 방법에 관하여 설명한다.
보간 데이터의 부호량이 소정의 데이터량 범위내에 속할 필요가 있는 경우, 부호량과 화질의 관계를 고려하면서, 단계적으로 부호량을 제어가능하다.
우선, 화질을 우선으로 하기 때문에 부호량을 제어할 필요가 없는 경우에는, 비손실의 보간 데이터를 생성한다. 이 경우에는, 복원 대상의 3화소값을 일부의 블록들에 있어서 그대로 출력하기 때문에, 항상 데이터량이 작다는 보장은 없다.
화질을 유지하면서도 부호량을 억제하기 위해서는, 제4의 실시예에서 설명한 것 같은, 오리지널 화상과 복원된 화상의 화소값의 최대 오차를 억제하면서, 부호량을 억제할 수 있는 손실(lossy) 보간 데이터 생성 방법을 적용한다.
보간 데이터의 부호량을 더욱 억제하기 위해서는, 보간 데이터로서 화소값을 그대로 출력하고 있는 화소의 계조 또는 해상도를 저하시킨다. 예를 들면, 2×2화소의 블록이 3 또는 4색으로 구성되어 있는 경우에는, 2색으로 컬러 수를 감소하거나, 또는, 계조를 8비트로부터 4비트로 감소한다. 화소값들을 출력한 경우에, 그 부호량은 3화소×8비트에 해당하고, 2색으로 컬러 수를 감소하는 것은 부호량을 1화소×8비트로 감소시킨다. 계조를 8비트로부터 4비트로 감소했을 경우에는, 부호량을 3화소×4비트로 감소시킨다. 이 방법에 의해, 비록 새로운 플래그가 부가될지라도, 많아도 오리지널 화상의 1/2정도까지, 보간 데이터의 부호량을 삭감하는 것이 가능해진다.
다른 제어 방법으로서, 2×2화소의 블록이 3 또는 4색으로 구성되어 있을 경우에는, 화소값을 출력해야 하는 화소들은, 그들을 출력하지 못하게 함으로써, 보 간 데이터의 부호량을 제어한다. 이 경우에는, 화상전개시에, 축소 화상의 1화소를 단순 확대한다. 또는, 3 또는 4색으로 구성되는 블록이라고 판정되었을 때에, 2×2화소의 평균값을 산출한다. 축소 화상의 화소는 평균값으로 대체된다. 화상전개시에는, 평균값으로 대체된 축소 화상의 1화소를 단순 확대함으로써, 화상을 복원한다. 이 경우, 2×2화소가 1색이 되어서, 화상의 일부분만 해상도가 저하하게 된다. 또한, 2×2화소의 블록이 3색 또는 4색을 포함하는 영역은, 고해상도 자연화상과 같은 영역이 될 가능성이 높다고 생각된다. 이러한 영역에서, 보다 낮은 해상도에서도, 그 화질열화는 그다지 중요하지 않다고 생각된다.
이상의 설명에서는, 보간 데이터를 생성할 때에, 화질 우선인지, 부호량 우선인지에 따라, 방법을 바꾼다. 그렇지만, 비손실 보간 데이터를 생성해 두고, 일부의 데이터를 잘라버림으로써, 부호량을 제어할 수도 있다. 예를 들면, 3 또는 4색으로 구성되는 블록에 대하여, 비손실의(lossless) 보간 데이터를 생성할 경우에는, 화소Ⅹa, Ⅹb, Ⅹc의 화소값을 출력한다. 보간 데이터 생성의 도중이나, 보간 데이터 생성 종료 후에 3화소의 화소값을 잘라 버려서 부호량을 제어할 수 있다. 이 경우, 화소값을 잘라버린 블록은, 화상 전개시에 축소 화상의 화소를 사용해서 단순 확대한다. 비손실의 보간 데이터 생성과 동시에, 정보를 잘라 버린 후에 필요한 데이터를 생성해 두면, 보간 데이터 생성을 다시 하지 않고, 부호량이 적은 별도의 정보로 바꾸는 것도 가능하다. 예를 들면, 3 또는 4색으로 구성되는 블록에 대하여, 비손실의 보간 데이터를 생성할 경우에는, 화소Ⅹa, Ⅹb, Ⅹc의 화소값을 출력한다. 이 때, 2×2화소의 평균값을 동시에 유지해둔다. 그리고, 보간 데이터 생성의 도중이나, 보간 데이터 생성이 종료한 후에, 부호량 제어가 필요하게 되었을 경우에는, 화소Ⅹa, Ⅹb, Ⅹc의 화소값을 보간 데이터로부터 잘라 버리고, 산출된 평균값으로 대체된다. 이상과 같은 방법에 의해, 보간 데이터 생성의 도중이나 보간 데이터 생성 후에 보간 데이터의 일부를 잘라 버리거나, 데이터량이 적은 정보로 대체함으로써, 간단하게 부호량의 제어가 가능하다.
[제6의 실시예]
제1 내지 제5의 실시예에서는, 오리지널 화상으로부터 축소 화상을 생성할 때, 2×2화소의 좌측위에 위치하는 화소Bn(0, 0)을 축소 화상의 화소로서 사용하고, 나머지의 3화소Bn(1, 0), Bn(0, 1), Bn(1, 1)의 보간 데이터의 생성을 행했다. 그러나, 축소 화상에 이용하는 화소는 반드시 2×2화소의 블록의 좌상측의 화소가 아니어도 상관하지 않고, Bn(1, 0), Bn(0, 1), Bn(1, 1) 중 어느 하나일 수 있다. 제6의 실시예에서는, 2×2화소의 블록Bn의, 오른쪽 아래에 모퉁이에 위치하는 화소Bn(1, 1)을 축소 화상의 화소로서 사용하는 경우에 대해서 설명을 한다.
제6의 실시예에서는, 도 18에 나타낸 2×2화소의 주목 블록Bn에서의 화소Ⅹ'는 축소 화상의 화소로서 사용되고, 나머지 3개의 화소 Ⅹa', Ⅹb', Ⅹc'가 복원 대상이다.
기본적으로는, 우측 아래 화소를 서브 샘플링하고, 좌측 위 화소를 서브 샘플링할 때의 참조 위치는, 점에 대해 대칭적이다.
예를 들면, 상기 설명한 실시예들에서, 주목 블록내의 화소Bn(0, 1)에 대해서는 화소Bn+1(0, 0)를, Bn(1, 0)에 대해서는 Bn+W(0, 0)를, Bn(1, 1)에 대해서는 Bn+W+1(0, 0)를 참조한다.
그렇지만, 제6의 실시예에서는, 도 18에 나타낸 완전한 원으로 나타낸 화소를 참조한다. 즉, Bn(1, 0)에 대하여는 Bn-1(1, 1)을 참조하고, Bn(0, 1)에 대하여는 Bn-W(1, 1), Bn(0, 0)에 대하여는 Bn-W-1(1, 1)을 참조한다. 이에 따라 제1 내지 제5의 실시예와 같은 순서에 따라 보간 데이터을 생성할 수 있다.
따라서, 제5의 실시예의 단계S1701을 다음의 방식으로 표현한다.
주목 블록내의 샘플링 대상의 화소를 Ⅹ, 주목 블록내의 비샘플링 대상의 3개의 화소를 Ⅹa, Ⅹb, Ⅹc로서 정의한다. 그리고, 주목 블록에 인접한 블록에 포함되고, 화소Ⅹa에 인접하게 위치된 샘플링 대상 화소를, Ⅹ1으로서 정의한다. 마찬가지로, 주목 블록에 인접하는 다른 블록에 포함되고, 화소Ⅹb에 인접하게 위치된 샘플링 대상 화소를 Ⅹ2로서 정의한다. 주목 블록에 인접하는 또 다른 블록에 포함되고, 화소Ⅹc에 인접하게 위치된 샘플링 대상 화소를 Ⅹ3로서 정의한다. 그리고, 미리 설정된 정의 임계값을 Thl으로서 정의한다. 이 경우, 단계S1701에서는,
|Xa-Ⅹ1|≤Thl,
|Xb-Ⅹ2|≤Thl, 및
|Xc-Ⅹ3|≤Thl을 만족시킬 것인가 아닌가를 판정한다. 이 조건을 충족시킬 때, 주목 블록내의 3개의 비샘플링 대상 화소가, 주목 블록에 인접하는 3개의 블록의 샘플링 대상 화소로부터 복원할 수 있다고 판정한다.
상술한 것과 같은 정의를 적용하면, 도 17b의 단계S1702에서는 임계값Th2에 대하여 다음 조건을 충족시키는 것인가 아닌가를 판정한다.
|Xa-(Ⅹ+Ⅹ1)/2|≤Th2,
|Xb-(Ⅹ+Ⅹ2)/2|≤Th2, 및
|Xc-(Ⅹ+Ⅹ3)/2|≤Th2.
제1 내지 제5의 실시예와 같이, 좌측위 화소Ⅹ를 서브 샘플링하고, 주목 블록의 우측과 하측의 화소를 참조할 경우에는, 화상전개시에, 아직 복호 처리하고 있지 않는 위치의 화소는 참조할 수 없다. 축소 화상의 화소만 참조할 수 있다. 그 때문에, 축소 화상의 화소에 대응한 화소 Bn+1(0, 0), Bn+W(0, 0), Bn+W+1(0, 0)를 사전에 불러올 필요가 있다. 그러나, 제6의 실시예에 의하면, 오른쪽 아래 화소Ⅹ'를 서브 샘플링하고, 주목 블록Bn의 상측과 좌측의 화소를 참조할 경우에는, 이미 화상이 참조블록들에 전개해 있으므로, 축소 화상의 화소에 대응한 화소 Bn-1(1, 1), Bn-W(1, 1), Bn-W-1(1, 1) 이외의 화소(도 18의 완전한 원으로 나타낸 화소)도 참조가능하다. 예를 들면, 제2의 부가 정보를 생성하거나, 2색으로 구성되어 있는 블록에 대하여, 제2색과 같은 색이 주변화소에 존재하는 것인가 아닌가의 판정을 행하기 위해서는, 참조 화소는 항상 도 18의 완전한 원으로 나타낸 화소들일 필요는 없다. 물론, 완전한 원으로 나타낸 화소만을 참조로 하여도 된다. 이와는 달리, 별표로 나타낸 화소를, 참조 화소로서 사용하여도 된다. 또한, 완전한 원과 별표의 양쪽을 참조 화소로서 사용하여도 된다.
일치/불일치 판정에 대한 참조 범위를 변경 또는 확장할 수 있으면, 보간 데이터 생성시에 부호화 효율을 향상시킬 수 있다.
[제7의 실시예]
제7실시예에서는, 비손실 보간 데이터 생성시에 취득한 통계 정보를 이용하여서 손실 보간 데이터 생성의 파라미터를 결정하여서, 효율적으로 보간 데이터량을 목표 부호량으로 억제하는 부호량 제어방법에 관하여 설명을 한다.
도 19는 본 제7의 실시예에 따른 처리 순서를 나타내는 흐름도다.
단계S1901의 비손실 보간 데이터 생성은, 상술한 것과 같아, 본 실시예에서는 설명을 생략한다. 비손실 보간 데이터 생성시에 취득하는 통계 정보에 대해서, 이하에 설명을 행한다.
비손실 보간 데이터 생성에서는, 축소 화소나 주목 블록의 주변 화소로부터, 보간 대상 화소를 재현할 수 없을 경우에는, 보간 대상 화소값을 부호화 데이터로서 출력한다(도 15에 나타낸 논플랫 블록처리의 단계S1513, S1511). 화소값들을 출력했을 경우에는, 상술한 바와 같이, 화소값이외에 플래그 정보를 갖기 때문에, 오리지널 화상보다도 데이터량이 커져버리기도한다. 그 때문에, 손실 보간 데이터 생성시는, 화소값을 출력하는 블록들을 감소시키거나 삭제하는 것이 데이터량 삭감 효과를 개선한다고 생각된다.
이를 위해서, 비손실의 보간 데이터 생성시에, 화소값 출력 처리는 블록의 수가 카운트된다. 이 화소값 출력 처리 블록의 카운트 수를 통계 정보로서 유지해둔다.
비손실의 보간 데이터 생성과 통계 정보의 기록이 종료한 후, 단계S1902에서 손실있는 부호화를 위한 파라미터Prm을 제로로 클리어하고, 단계S1903으로 처리를 진행시킨다.
단계S1903(제1의 비교처리)에서는, 비손실 보간 데이터 생성으로 생성된 보간정보의 데이터량과, 미리 설정된 목표 데이터량을 비교한다. 이 비교 결과가, 보간 데이터량이 목표값보다도 큰 것을 나타낼 경우, 단계S1904로 처리를 진행시킨다. 또한, 그 비교 결과가 목표값 이하인 것을 나타낼 경우에는, 단계S1908로 처리를 진행시키고, 비손실의 보간 데이터를 출력한다.
단계S1904(제2의 비교 처리)에서는, 비손실 보간 데이터 생성으로 취득한 통계 정보, 즉 화소값 출력 회수i(화소값을 출력한 블록 수)와, 미리 설정해 둔 임계값Th3을 비교한다. 임계값Th3은, 임의의 값으로 설정한다. 본 실시예에서는, 입력 화상 전체의 각각 2×2화소의 블록 수의 30%로 임계값Th3을 설정한다. 예를 들면, A4, 600dpi의 화상이면, 화상 사이즈는 약4,960×7,016화소이며, 2×2화소의 총 블록 수는 8,699,840개가 된다. 이 임계값Th3은, 그 블록 수의 30%, 즉 2,609,952가 된다. 그리고, 이 회수i와 임계값Th3를 비교한다. 그 비교 결과에 의거하여, (후술하는) 감소색의 정도를 설정하는 파라미터를 결정한다. 구체적으로는, 화소값 출력 회수i가 임계값Th3보다도 클 경우(YES)는, 처리를 단계S1905로 진행시키고, 손실 보간 데이터 생성에 사용되는 파라미터Prm에 Prml을 가산함으로써 갱신한다. 한편, 화소값 출력 회수i가 임계값Th3이하일 경우(NO)는, 단계S1906으로 진행시키고, 손실 보간 데이터 생성에 사용하는 파라미터Prm에 Prm2을 가산하여, 갱신한다. 이 경우에, Prml>Prm2.
단계S1905 또는 단계S1906에서 파라미터Prm의 갱신을 행한 후, 단계S1907로 처리를 진행시키고, 손실 보간 데이터를 생성한다. 본 실시예의 손실 보간 데이터 생성 방법의 상세에 대해서 이하에 설명을 행한다.
도 20은, 단계S1907의 손실 보간 데이터 생성 처리를 행하는 블록도를 나타낸다. 블록 감색(tone reduction) 처리부(2001)는, 우선, 2×2화소의 블록을 단위로 화소값을 조사한다. 2×2화소가 가까운 색을 갖는 적어도 1조의 화소를 포함하는 경우, 그들을 통합한다. 이 처리를 화상 전체에 대하여 수행한다. 그 후, 보간 데이터 생성부(1101)는 보간 데이터 생성을 행한다. 보간 데이터 생성부(1101)의 처리 내용은, 상기 제3의 실시예에서 설명한 것과 같으므로 그 설명을 반복하지 않는다. 블록 감색 처리부(2001)는, 예를 들면, 이하와 같은 방법으로 처리를 행한다.
주목 블록의 2×2화소들간의 색 차이를 조사하고,
Fl=|Ⅹ-Ⅹa|
F2=|Ⅹ-Ⅹb|
F3=|Ⅹ-Ⅹc|
F4=|Ⅹa-Ⅹb|
F5=|Ⅹa-Ⅹc|
F6=|Ⅹb-Ⅹc|
을 산출한다.
이 때, 다음식 (3)이 성립될 경우에는, 2×2화소의 색들이 통합된다.
Prm > max(Fl, F2, F3, F4, F5, F6) …(3)
여기에서, max(Al, A2, …, An)은, Al, A2, …, An의 최대값을 돌려주는 함수다.
색의 통합이란, 본 실시예에서는 보간 대상 화소 Ⅹa, Ⅹb, Ⅹc를 축소 화상 생성을 위해 샘플링된 화소Ⅹ의 색으로 수정한다(대체한다)는 것이다. 즉, 주목 블록을 플랫 블록으로 변환한다. 이때, Prml>Prm2이므로, Prml이 선택되었을 경우에는, 색이 통합될 가능성이 높고, Prm2이 선택되었을 경우에는 색이 통합될 가능성은 낮다.
또한, 식(3)이 성립하지 않을 경우, 주목 블록의 전체 화소(4화소)의 색은 서로 가깝지 않다. 따라서, 통합 처리를 행하지 않는다. 그렇지만, 그 블록중의 2화소가 전혀 같지 않지만, 유사한 색일 경우, 그 화소값은, 2개의 색의 평균값으로 대체되어도 된다. 그 이유는, 주목 블록에 포함된 컬러의 수는, 줄어들 수 있지만 증가할 수는 없기 때문이다. 컬러 수가 “4”에로부터 “3”이 되었을 경우에는, 압축율이 상승하지 않는다. 그렇지만, 컬러 수가 “1”로 감소되었을 경우에, 주목 블록이 플랫 블록이고, 높은 압축율을 기대한다. 컬러 수가 "2"일 경우에는, 그 블록은 도 16의 패턴 중 하나에 해당하고, 높은 압축율을 기대한다.
또 다른 감색의 방법을 아래에 설명하겠다.
먼저, 2×2화소는, 색거리가 가장 큰 2화소를 탐색한다. 색거리가 큰 2화소 를 각각의 그룹의 대표 색으로서 결정한다. 다음에, 각 대표 색과, 대표 색이 아닌 각 화소간의 색거리를 얻고, 그 화소를 색거리가 보다 작은 그룹으로 놓는다. 각기 그루핑된 화소들을 통합함으로써, 2×2화소의 색수를 2색으로 감소한다. 각 그룹에서의 화소들은, 그 화소값들을 그들 사이의 평균값으로 대체하여서 통합된다. 그렇지만, 본 실시예에서는, 그룹에 축소 화상의 화소Ⅹ를 포함하고 있으면, 그 그룹의 화소값을 모두 Ⅹ로 대체한다.
이상의 감색처리를 화상 전체의 2×2화소를 각각 갖는 블록들에 대하여 행한다. 화상 전체의 블록에 대하여 감색처리가 종료하면, 보간 데이터 생성부에 감색처리된 화상 데이터를 출력하고, 재부호화를 행한다.
보간 데이터 생성부(1101)의 처리 내용은, 입력되는 화상 데이터가, 오리지널 화상이거나, 감색처리된 화상인 것을 제외하고는 제3의 실시예에서 설명한 비손실의 보간 데이터 생성과 같다.
이상의 방법에 의해, 감색처리를 행한 후에 보간 데이터 생성을 행하면, 블록중에 존재하는 컬러 수가 적어진다. 논플랫 블록의 2색 또는 3색 처리가 실행될 수 있으므로, 3화소의 화소값을 출력할 가능성이 낮아지고, 보간 데이터량을 억제할 수 있다. 또한, 비손실 보간 데이터 생성시에 취득 한 화소값 출력 회수i에 의거하여, 감색처리에서의 파라미터를 조정함으로써, 화질을 가능한 높게 유지하면서, 보간 데이터량을 삭감하는 것이 가능해진다. 구체적으로는, 비손실 보간 데이터 생성시에 화소값 출력 회수i가 많으면, 파라미터를 크게 설정하여, 색 통합을 쉽게 해서, 보간 데이터량의 억제 효과를 개선한다. 한편, 화소값 출력 회수i가 적 으면, 그 파라미터를 크게 설정하지 않아 색의 변화를 최소화한다. 이에 따라 고화질을 유지하면서 데이터량을 억제하는 것이 가능해진다.
이때, 본 실시예에서는 화소값 출력 회수만을 카운트해서 이용했다. 그렇지만, 같은 화소값 출력 회수라도, 블록이 2색을 포함하는 경우에는 1화소의 화소값을 출력하고, 블록이 3색 또는 4색을 포함하는 경우에는 3화소의 화소값을 출력하므로, 보간 데이터량은 변화한다. 그 때문에, 2색처리의 화소값 출력(1화소값 출력) 및, 4색 처리의 화소값 출력(3화소 출력)에 있어서 그 정보를 따로 따로 카운트하여도 되고, 그 파라미터의 설정 방법을 그 정보에 의거하여 변경하여도 된다.
손실 보간 데이터 생성(단계S1907) 후, 처리를 단계S1903으로 되돌아가서, 손실 보간 데이터량과 소정의 목표값을 비교한다. 손실 보간 데이터량이 목표값보다도 작으면(NO), 단계S1908로 처리를 진행시키고, 보간 데이터를 출력해서 그 처리를 종료한다. 한편, 그 보간 데이터량이 목표값보다도 크면(YES), 파라미터를 재설정하고, 손실 부호화를 행한다. 재설정 파라미터는, 서서히 큰 값이 되어 간다. 최악의 경우, 화상중 모든 블록은 같은 색이다. 그렇지만, 반복 회수를 제한하고, 반복 회수가 임의의 값을 초과하는 경우에는 파라미터를 최대 화소값보다 큰 값으로 설정한다. 이렇게 함으로써 처리를 종료시키는 것이 가능하다.
상술한 실시예의 손실 보간 데이터 생성에서는, 설명을 간단하게 하기 위해서, 전체 화상에 대하여 블록의 감색처리를 끝낸 후, 비손실 보간 데이터 생성과 같은 순서에 따라 보간 데이터를 생성했다. 그러나, 손실 보간 데이터 생성의 방법은 이에 한정하지 않는다. 주목 블록의 감색에 후속하는, 주목 블록의 보간 데이터 를 생성하여도 된다. 이 때, 축소 화상의 화소로서 블록내의 오른쪽 아래 화소를 추출함으로써, 주변 화소를 참조할 경우에도, 감색처리 후의 화소값을 참조할 수 있다. 이에 따라, 블록 단위에서의 처리가 가능해진다.
[제8의 실시예]
상기의 제7의 실시예에서는, 비손실 보간 데이터 생성에서 보간 데이터량이 목표값을 초과한 경우에, 비손실 보간 데이터 생성시에 취득한 정보에 의거해, 손실 보간 데이터 생성에서 재부호화를 행하는데 사용되는 파라미터를 결정했다. 본 제8의 실시예에서는, 부호량 제어의 방법으로서, 비손실 보간 데이터 생성으로 취득한 정보에 의거해, 데이터의 삭감 방법 자체를 변경하는 방법에 관하여 설명한다.
도 21은, 제8의 실시예에 따른 처리 순서를 나타내는 흐름도다. 도 19와 같은 처리의 내용에 관한 설명은 생략한다.
제8의 실시예에서는, 제7의 실시예와 같이, 비손실의 보간 데이터의양에 의거하여, 재부호화할 것인가 아닌가를 판정한다(단계S1903). 재부호화한다고 판정되었을 경우에, 단계S1904에서는, 상기 제7의 실시예와 같은 판정을 행한다. 그렇지만, 제8의 실시예에서는 손실 보간 데이터 생성시의 파라미터 설정 값을 변경하는 것이 아니고, 손실의 처리 방법을 바꾼다. 구체적으로는, 화소값 출력 회수i가 임계값Th3보다도 클 경우(YES)에는, 단계 S2101에 처리를 진행시킨다. 화소값 출력 회수i가 임계값Th3이하일 경우(N0)에는, 처리를 단계S1907로 진행시켜, 손실 보간 데이터를 생성한다. 손실 보간 데이터 생성을 행했을 경우에는, 처리를 단계S1903 으로 되돌아가서, 손실의 보간 데이터량이 목표값 이하인지의 여부를 판정한다. 손실 보간 데이터량이 목표값보다도 크면, 처리를 단계S1904로 진행시킨다. 그렇지만, 본 실시예에서는, 2번째에 단계S1904의 판정을 실행할 경우에는, 임계값Th3으로서 "0"을 설정하고, 항상 단계S2101의 처리로 옮겨간다.
단계S2101에서는, 입력 화상 데이터 전체를 해상도 변환한다. 해상도 변환 방법에서는, 2×2화소의 값을, 주목 블록의 2×2화소의 평균값으로 대체한다. 2×2화소의 평균값을 산출하여, 화질의 열화가 될 수 있는 한 현저하지 않도록 한다. 그렇지만, 이 방법은 이것에 한정되지 않는다. 해상도 변환 후의 데이터량은, 입력 화상 데이터의 1/4이 된다. 해상도 변환을 행했을 경우에는, 처리를 단계S1908로 진행시키고, 해상도 변환 후의 데이터를 출력한다.
이상의 처리에 의해, 보간 데이터량이 소정의 값 이상이었을 경우에는, 손실 보간 데이터 생성 또는 해상도 변환 처리에 의해, 데이터량을 삭감할 수 있다. 손실 보간 데이터 생성을 행할지, 또는 해상도 변환 처리를 행할지를, 비손실 보간 데이터 생성시에 취득한 정보에 의거하여 결정한다. 화소값 출력 회수가 대단히 많을 경우에는, 직접 해상도 변환을 행할 수 있다. 반복 회수가 적어지므로, 처리 시간을 단축한다. 추가로, 화소값 출력 회수가 대단히 많은 화상은, 화소값의 변화가 많은 고해상도 자연화상과 같은 화상일 가능성이 높다. 해상도 변환 후 해상도를 떨어뜨려도 화질의 열화가 거의 눈에 뜨이기 어렵다. 이에 따라, 화질을 유지하면서, 데이터량의 억제가 가능하다.
[기타의 실시예]
또한, 본 발명의 국면들은, 메모리 디바이스에 기록된 프로그램을 판독 및 실행하여 상기 실시예(들)의 기능들을 수행하는 시스템 또는 장치(또는 CPU 또는 MPU 등의 디바이스들)의 컴퓨터에 의해서, 또한, 시스템 또는 장치의 컴퓨터에 의해 수행된 단계들, 예를 들면, 메모리 디바이스에 기록된 프로그램을 판독 및 실행하여 상기 실시예(들)의 기능들을 수행하는 방법에 의해, 실현될 수도 있다. 이를 위해, 상기 프로그램은, 예를 들면, 네트워크를 통해 또는, 여러 가지 형태의 메모리 디바이스의 기록매체(예를 들면, 컴퓨터 판독 가능형 매체)로부터, 상기 컴퓨터에 제공된다.
본 발명을 예시적 실시예들을 참조하여 기재하였지만, 본 발명은 상기 개시된 예시적 실시예들에 한정되지 않는다는 것을 알 것이다. 아래의 청구항의 범위는, 모든 변형, 동등한 구조 및 기능을 포함하도록 아주 넓게 해석해야 한다.
도 1은, 제1의 실시예에 따른 보간 데이터 생성의 처리 순서를 나타내는 흐름도,
도 2는, 제1의 실시예에 따른 화상처리장치의 블록도,
도 3은, 상기 실시예에 따른 화상 데이터와 2×2화소의 블록 데이터와의 관계를 도시한 도면,
도 4는, 주목 블록 데이터내의 2×2 화소의 배열을 도시한 도면,
도 5는, 제1의 실시예에 따른 제1, 제2 및 제3의 부가 정보의 부호어의 예를 나타내는 도면,
도 6a 및 도 6b는, 처리 대상 화상의 예를 나타내는 도면,
도 7은, 제1의 실시예에 따라 생성된 보간 데이터의 데이터구조의 예를 나타내는 도면,
도 8은, 제2의 실시예에 따른 화상처리장치의 블록도,
도 9는, 제2의 실시예에 따른 부가 정보 통합부의 처리 순서를 나타내는 흐 름도,
도 10a, 도 10b 및 도 10c는, 제2의 실시예에 따른 부가 정보 통합부의 처리 예를 설명하기 위한 화상예와 그 처리 결과의 예를 나타내는 도면,
도 11은, 제3의 실시예에 따른 화상처리장치의 블록도다.
도 12는, 제3의 실시예에 따른 보간 데이터 생성부의 블록도,
도 13은, 제3의 실시예에 따른 플랫 판정부의 처리 순서를 나타내는 흐름도,
도 14는, 그 실시예에 따른 화상처리장치를 실현하는 컴퓨터의 블록도,
도 15는, 제3의 실시예에 따른 논플랫 블록 해석부의 처리 순서를 나타내는 흐름도,
도 16은, 제3의 실시예에 따른 2색의 배치 패턴의 종류를 도시한 도면,
도 17a 및 17b는, 제4의 실시예에 따른 논플랫 블록 해석부의 처리 순서를 나타내는 흐름도,
도 18은, 제6의 실시예에 따른 주목 블록과 그 주위의 화소위치를 도시한 도면,
도 19는, 제7의 실시예에 따른 보간 데이터의 부호량 제어 방법의 처리 순서를 나타내는 흐름도,
도 20은, 제7의 실시예에 따른 손실 보간 데이터 생성의 블록도,
도 21은, 제8의 실시예에 따른 보간 데이터의 부호량 제어 방법의 처리 순서를 나타내는 흐름도다.

Claims (20)

  1. 화상 데이터를 부호화하는 화상부호화장치로서,
    부호화 대상의 오리지널 화상 데이터로부터 2×2화소로 구성되는 블록을 입력하는 입력부와,
    그 입력된 블록내의 미리 설정된 위치의 1개의 화소 데이터를 샘플링함으로써 상기 오리지널 화상 데이터보다도 작은 사이즈의 축소 화상 데이터를 생성하여 출력하는 축소 화상 생성부와,
    상기 축소 화상 생성부에서 생성된 상기 축소 화상 데이터로부터 상기 오리지널 화상 데이터를 복원하기 위해서, 각 블록중의 3개의 비샘플링 대상 화소 데이터를 복원하기 위한 부호화 데이터를 생성하는 부호화부를 구비하고,
    상기 부호화부는,
    주목 블록중의 샘플링 대상의 화소를 Ⅹ, 상기 주목 블록중의 비샘플링 대상의 화소를 Ⅹa, Ⅹb, Ⅹc라고 나타냈을 때,
    조건(a): 화소 Ⅹa, Ⅹb, Ⅹc의 모두가, 상기 주목 블록중의 상기 화소Ⅹ로부터 복원할 수 있는지와,
    조건(b): 상기 화소Ⅹa, Ⅹb, Ⅹc의 모두가, 상기 주목 블록에 인접한 3개의 블록의 샘플링 대상의 화소로부터 복원할 수 있는지를 판정하는 판정부; 및
    상기 판정부에 의해 상기 주목 블록이 상기 조건(a)을 만족시킨다고 판정되었을 경우, 제1의 부가 정보를 상기 주목 블록의 부호화 데이터로서 생성하고,
    상기 판정부에 의해, 상기 주목 블록이 상기 조건(a)을 충족시키지 않고, 상기 조건(b)을 충족시킨다고 판정되었을 경우, 상기 제1의 부가 정보와는 다른 제2의 부가 정보를 상기 주목 블록의 부호화 데이터로서 생성하고,
    상기 판정부에 의해, 상기 주목 블록이 상기 조건(a), (b) 모두 만족시키지 않는다고 판정되었을 경우, 상기 제1 및 제2의 부가 정보와도 다른 제3의 부가 정보를 상기 주목 블록의 부호화 데이터로서 생성하는 부가 정보 생성부를 구비한, 화상부호화장치.
  2. 제 1 항에 있어서,
    상기 제1의 부가 정보는 1비트로 구성되고, 상기 제2의 부가 정보는 제1비트가 상기 제1의 부가 정보와는 다른 값의 2비트로 구성되며, 상기 제3의 부가 정보는 제1비트가 상기 제2의 부가 정보의 제1비트와 같고 제2비트가 다른 2비트와, 화소 Ⅹa, Ⅹb, Ⅹc에 대응한 3화소 데이터로 구성된, 화상부호화장치.
  3. 제 1 항에 있어서,
    상기 부가 정보 생성부로 생성된 M개의 수평방향 블록 × N개의 수직방향 블록(M 및 N 각각은 2이상의 정수)의 부호화 데이터를 입력하는 부호화 데이터 입력부와,
    상기 부호화 데이터 입력부에서 입력한 M×N개의 블록의 부호화 데이터를, 해당 M×N개의 블록으로 구성되는 1개의 타일의 부호화 데이터로 통합하는 타일 통합부를 더 구비하고,
    상기 타일 통합부는,
    상기 M×N개의 블록의 전체 부호화 데이터가, 상기 제1 내지 제3의 부가 정보 중 1종류만의 부호화 데이터로 구성될 경우에는, 타일에 통합한 것을 나타내는 플래그 정보를 출력하고, 그 플래그 정보에 후속해서 그 부호화 데이터를 출력하는 제1의 통합부와,
    상기 M×N개의 블록의 전체 부호화 데이터가 적어도 2종류의 부호화 데이터로 구성되는 경우, 타일에의 비통합을 나타내는 플래그 정보를 출력하고, 주목 타일내의 수평방향으로 배열된 M개의 블록의 부호화 데이터로 구성되는 각 블록 라인의 부호화 데이터를 통합하는 블록 라인 통합부를 구비하고,
    상기 블록 라인 통합부는,
    주목 블록 라인의 M개의 부호화 데이터가 상기 제1 내지 제3의 부가 정보 중 1종류만의 부호화 데이터로 구성될 경우에는, 블록 라인에의 통합을 나타내는 플래그 정보를 출력하고, 그 플래그 정보에 후속해서 상기 부호화 데이터를 출력하는 제2의 통합부와,
    상기 주목 블록 라인의 M개의 부호화 데이터가 적어도 2종류의 부호화 데이터로 구성되는 경우, 블록 라인에의 비통합을 나타내는 플래그 정보를 출력하고, 주목 블록 라인에 포함된 M개의 블록의 상기 부호화 데이터를 출력하는 유닛을 구 비한, 화상부호화장치.
  4. 제 1 항에 있어서,
    상기 부호화부는,
    Ⅹ=Ⅹa=Ⅹb=Ⅹc이 성립하는 경우, 상기 조건(a)을 충족시킨다고 판정하고,
    화소Ⅹa를 복원하기 위해서 참조하는 인접 블록내의 상기 화소Ⅹa에 인접하는 샘플링 대상 화소를 Ⅹ1, 화소Ⅹb를 복원하기 위해서 참조하는 인접 블록내의 상기 화소Ⅹb에 인접하는 샘플링 대상 화소를 Ⅹ2, 화소Ⅹc를 복원하기 위해서 참조하는 인접 블록내의 상기 화소Ⅹc에 인접하는 샘플링 대상 화소를 Ⅹ3이라고 하는 경우,
    Ⅹa=Ⅹ1,
    Ⅹb=Ⅹ2, 및
    Ⅹc=Ⅹ3이 성립하는 경우, 상기 조건(b)을 충족시킨다고 판정하는, 화상부호화장치.
  5. 제 1 항에 있어서,
    상기 부가 정보 생성부에서 얻어진 부호화 데이터의 데이터량과, 미리 설정된 목표 부호량을 비교하는 제1의 비교부와,
    상기 제1의 비교부에 의한 비교 결과가 상기 부호화 데이터의 데이터량이 상기 목표 부호량을 초과하는 것을 나타낼 경우, 상기 입력부에 의해 입력된 오리지널 화상 데이터의 각 블록으로 나타낸 컬러 수를 각 블록의 화소값을 조정함으로써 감소시키는 감색(tone reduction)부를 더 구비하고,
    상기 부호화부는, 상기 감색부로 감색된 블록에 대해서 재부호화를 실행하는, 화상부호화장치.
  6. 제 5 항에 있어서,
    상기 부가 정보 생성부가 생성한 상기 제3의 부가 정보의 개수와, 상기 오리지널 화상 데이터에 포함된 총 블록 수로 결정되는 임계값을 비교하는 제2의 비교부와,
    상기 제2의 비교부의 비교 결과에 근거하여, 상기 감색부의 감색의 정도를 설정하는 파라미터를 설정하는 설정부를 더 구비한, 화상부호화장치.
  7. 제 1 항에 있어서,
    상기 부가 정보 생성부에 의해 얻어진 상기 부호화 데이터의 데이터량과, 미리 설정된 목표 부호량을 비교하는 제1의 비교부와,
    상기 제1의 비교부에 의한 비교 결과가, 상기 부호화 데이터의 데이터량이 상기 목표 부호량을 초과하는 것을 나타낼 경우, 상기 부가 정보 생성부가 생성한 상기 제3의 부가 정보의 개수와, 상기 오리지널 화상 데이터에 포함된 총 블록수로 결정된 임계값을 비교하는 제2의 비교부와,
    상기 제2의 비교부에 의한 비교 결과가, 상기 제3의 부가 정보의 개수가 상기 임계값을 초과하는 것을 나타낼 경우, 상기 오리지널 화상 데이터를, 해당 오리지널 화상 데이터가 갖는 해상도보다도 낮은 해상도의 화상 데이터로 변환하여, 부호화 데이터로서 상기 오리지널 화상 데이터가 갖는 해상도보다 낮은 해상도의 상기 화상 데이터를 출력하는 해상도 변환부와,
    상기 제2의 비교부에 의한 비교 결과가, 상기 제3의 부가 정보의 개수가 상기 임계값이하인 것을 나타낼 경우, 상기 입력부에 의해 입력된 상기 오리지널 화상 데이터에 있어서의 각 블록의 화소값을 수정함으로써 각 블록에 의해 나타낸 컬러 수를 감소하고, 감색 후의 블록을 상기 부호화부에 출력하여 재부호화를 실행하는 감색부를 구비한, 화상부호화장치.
  8. 화상 데이터를 부호화하는 화상부호화장치로서,
    부호화 대상의 오리지널 화상 데이터의 2×2화소로 구성되는 블록내에서 미리 설정된 위치의 1개의 화소 데이터를 샘플링함으로써 상기 오리지널 화상 데이터보다도 작은 사이즈의 축소 화상 데이터를 생성하여 출력하는 축소 화상 생성부와,
    상기 오리지널 화상 데이터내의 2M 수평방향 화소× 2N 수직방향 화소(M과 N 각각은 2이상의 정수)의 화소 데이터로 구성되는 타일을 입력하는 입력부와,
    상기 입력된 타일중의 M×N개의 블록 각각에 있고, 상기 축소 화상 데이터를 생성하기 위한 샘플링 대상의 화소를 제외하는 3개의 비샘플링 대상의 화소 데이터를 복원하기 위한 부호화 데이터를, 타일 단위로 생성하는 타일 부호화부를 구비하고,
    상기 타일 부호화부는
    비샘플링 대상의 3화소 모두가 샘플링 대상의 화소로부터 복원가능한 블록을 플랫(flat) 블록으로서 정의하고, 비샘플링 대상의 3화소 중 적어도 1개가 샘플링 대상의 화소로부터 복원할 수 없는 블록을 논플랫(non-flat) 블록으로서 정의했을 때,
    상기 주목 타일내의 전체 블록이 플랫 블록인지 또는 적어도 하나의 논플랫 블록을 포함하는지를 판정하고, 판정 결과를 나타내는 플래그 정보를 출력하는 제1의 판정부와,
    상기 제1의 판정부에 의해, 상기 주목 타일내의 적어도 1개의 블록이 상기 논플랫 블록이라고 판정했을 경우, 상기 주목 타일내에 수평방향으로 배열된 M개의 블록으로 구성되는 각 블록 라인을 부호화하는 블록 라인 부호화부를 구비한, 화상부호화장치.
  9. 제 8 항에 있어서,
    상기 블록 라인 부호화부는,
    1타일의 부호화의 개시시에, 초기값으로서 전체 블록이 상기 논플랫 블록인 것을 나타내는 참조 논플랫 블록 라인 정보를 생성하는 생성부와,
    상기 주목 블록 라인내의 전체 블록이 상기 플랫 블록인지, 또는 적어도 하나의 논플랫 블록을 포함하는지를 판정하고, 판정 결과를 나타내는 플래그 정보를 출력하는 제2의 판정부와,
    상기 제2의 판정부에 의해, 상기 주목 블록 라인이 적어도 하나의 논플랫 블록을 포함한다고 판정했을 경우, 상기 주목 블록 라인을 구성하는 블록들의 플랫 블록들 및 논플랫 블록들의 종류가, 상기 참조 논플랫 블록 라인 정보와 같은 것인가 아닌가를 판정하고, 판정 결과를 나타내는 플래그 정보를 출력하는 제3의 판정부와,
    상기 제3의 판정부에 의해, 상기 주목 블록 라인을 구성하는 블록들의 플랫 블록들 및 논플랫 블록들의 종류가, 상기 참조 논플랫 블록 라인 정보와 다르다고 판정했을 경우, 상기 주목 블록 라인을 구성하는 블록들의 종류를 나타내는 정보를 출력하고, 상기 참조 논플랫 블록 라인 정보를, 상기 주목 블록 라인을 구성하는 블록들의 종류를 나타내는 상기 정보로 갱신하는 유닛과,
    상기 제2의 판정부 및 상기 제3의 판정부로부터 출력된 정보에 근거하여, 주목 타일내의 논플랫 블록을 특정하고, 상기 특정된 논플랫 블록내의 비샘플링 대상의 3화소를 부호화하는 논플랫 블록 부호화부를 구비한, 화상부호화장치.
  10. 제 9 항에 있어서,
    상기 논플랫 블록 부호화부는,
    상기 논플랫 블록이라고 판정된 주목 블록내의 비샘플링 대상의 3화소가, 상기 주목 블록에 인접하는 3개의 블록의 샘플링 대상 화소로부터 복원할 수 있는 것인가 아닌가를 판정하고, 판정 결과를 나타내는 플래그 정보를 출력하는 제4의 판정부와,
    상기 제4의 판정부에 의해, 상기 주목 블록내의 상기 비샘플링 대상의 3화소 중 적어도 하나가, 상기 주목 블록에 인접하는 블록의 대응한 샘플링 대상 화소로부터 복원할 수 없다고 판정했을 경우, 상기 주목 블록을 구성하는 4화소로 나타낸 컬러 수가 2 또는 2보다 많은지를 판정하고, 판정 결과를 나타내는 플래그 정보를 출력하는 제5의 판정부와,
    상기 제5의 판정부에 의해, 상기 주목 블록을 구성하는 4화소로 나타낸 컬러 수가 2보다 많다고 판정했을 경우, 상기 주목 블록내의 비샘플링 대상의 3개의 화소 데이터를 출력하는 제1의 출력부와,
    상기 제5의 판정부에 의해, 상기 주목 블록을 구성하는 4화소로 나타낸 컬러 수가 2라고 판정했을 경우, 미리 설정된 복수의 2색의 패턴 중 하나가 상기 주목 블록에 대응하는 것을 나타내는 정보를 출력하는 제2의 출력부와,
    상기 제2의 출력부에 의한 상기 정보의 출력에 후속하고, 상기 주목 블록내의 상기 비샘플링 대상의 화소 중, 상기 샘플링 대상 화소의 색과는 다른 색의 화 소가, 상기 주목 블록에 인접하는 3개의 블록의 상기 샘플링 대상의 화소 중 하나와 같은 것인가 아닌가를 판정하는 제6의 판정부와,
    상기 제6의 판정부에 의해 같은 화소가 존재한다고 판정했을 경우, 같다고 판정된 상기 화소의 위치를 나타내는 정보를 출력하는 제3의 출력부와,
    상기 제6의 판정부에 의해 같은 화소가 존재하지 않는다고 판정했을 경우, 상기 제3의 출력부로부터 출력된 상기 정보와는 다른 정보를 출력하고, 상기 주목 블록내의 상기 비샘플링 대상의 화소 중, 상기 샘플링 대상 화소의 색과는 다른 색의 화소의 화소 데이터를 출력하는 제4의 출력부를 구비한, 화상부호화장치.
  11. 제 10 항에 있어서,
    상기 주목 블록내의 샘플링 대상의 화소를 Ⅹ, 상기 주목 블록내의 비샘플링 대상의 3개의 화소를 Ⅹa, Ⅹb, Ⅹc, 상기 주목 블록에 인접하는 블록에 포함되고 상기 화소Ⅹa에 인접하게 위치된 샘플링 대상 화소를 Ⅹ1, 상기 주목 블록에 인접하는 다른 블록에 포함되고 상기 화소Ⅹb에 인접하게 위치된 샘플링 대상 화소를 Ⅹ2, 상기 주목 블록에 인접하는 또 다른 블록에 포함되고 상기 화소Ⅹc에 인접하는 샘플링 대상 화소를 Ⅹ3이라고 할 때,
    상기 제4의 판정부는,
    Thl이 미리 설정된 임계값이고,
    |Xa-Ⅹ1|≤Thl,
    |Xb-Ⅹ2|≤Thl, 및
    |Xc-Ⅹ3|≤Thl을 충족시킬 경우,
    상기 주목 블록내의 비샘플링 대상의 3화소가, 상기 주목 블록에 인접하는 3개의 블록의 상기 샘플링 대상 화소로부터 복원할 수 있다고 판정하는, 화상부호화장치.
  12. 제 10 항에 있어서,
    상기 주목 블록내의 샘플링 대상의 화소를 Ⅹ, 상기 주목 블록내의 비샘플링 대상의 3개의 화소를 Ⅹa, Ⅹb, Ⅹc, 상기 주목 블록에 인접하는 블록에 포함되고 상기 화소Ⅹa에 인접하게 위치된 샘플링 대상 화소를 Ⅹ1, 상기 주목 블록에 인접하는 다른 블록에 포함되고 상기 화소Ⅹb에 인접하게 위치된 샘플링 대상 화소를 Ⅹ2, 상기 주목 블록에 인접하는 또 다른 블록에 포함되고 상기 화소Ⅹc에 인접하는 샘플링 대상 화소를 Ⅹ3이라고 하고, Th2가 미리 설정된 정(positive)의 임계값일 때,
    |Xa-(Ⅹ+Ⅹ1)/2|≤Th2,
    |Xb-(Ⅹ+Ⅹ2)/2|≤Th2, 및
    |Xc-(Ⅹ+Ⅹ3)/2|≤Th2의 조건(b)을 충족시키는 것인가 아닌가를 판정하는 제7의 판정부와,
    상기 제5의 판정부에 의해, 상기 주목 블록을 구성하는 4화소로 나타낸 컬러 수가 2보다 많다고 판정했을 경우, 상기 제7의 판정부의 판정 결과를 나타내는 플래그 정보를 출력하는 제5의 출력부를 더 구비하고,
    상기 제5의 출력부로부터 출력된 플래그 정보가, 상기 조건(b)을 충족시키지 않는 것을 나타낼 경우, 상기 제1의 출력부는, 상기 주목 블록내의 비샘플링 대상의 3개의 화소 데이터를 출력하는, 화상부호화장치.
  13. 제 8 항에 있어서,
    상기 타일 부호화부에 의해 생성된 상기 부호화 데이터의 일부를 잘라 버려서 부호량을 제어하는, 화상부호화장치.
  14. 제 10 항에 있어서,
    상기 타일 부호화부에 의해 얻어진 부호화 데이터의 데이터량과, 미리 설정된 목표 부호량을 비교하는 제1의 비교부와,
    상기 제1의 비교부에 의한 비교 결과가, 상기 부호화 데이터의 데이터량이 상기 목표 부호량을 초과하는 것을 나타낼 경우, 상기 입력부에 의해 입력된 상기 오리지널 화상 데이터의 각 블록의 화소값을 수정함으로써 각 블록이 나타내는 컬러 수를 감소시키는 감색부를 더 구비하고,
    상기 타일 부호화부는, 상기 감색부로 감색 후의 블록에 대해서 재부호화를 실행하는, 화상부호화장치.
  15. 제 14 항에 있어서,
    상기 제1의 출력부와 상기 제4의 출력부에서 출력된 화소값의 회수와, 상기 오리지널 화상 데이터에 포함되는 총 블록수로 결정되는 임계값을 비교하는 제2의 비교부와,
    상기 제2의 비교부의 비교 결과에 근거하여, 상기 감색부에 의한 감색의 정도를 설정하는 파라미터를 설정하는 설정부를 더 구비한, 화상부호화장치.
  16. 제 lO 항에 있어서,
    상기 타일 부호화부에 의해 얻어진 상기 부호화 데이터의 데이터량과, 미리 설정된 목표 부호량을 비교하는 제1의 비교부와,
    상기 제1의 비교부에 의한 비교 결과가, 상기 부호화 데이터의 데이터량이 상기 목표 부호량을 초과하는 것을 나타낼 경우, 상기 제1의 출력부와 상기 제4의 출력부에서 출력된 화소값의 회수와, 상기 오리지널 화상 데이터에 포함되는 총 블록 수로 결정된 임계값을 비교하는 제2의 비교부와,
    상기 제2의 비교부에 의한 비교 결과가, 상기 회수가 상기 임계값을 초과하는 것을 나타내는 경우, 상기 오리지널 화상 데이터를, 그 오리지널 화상 데이터의 해상도보다 낮은 해상도로 변환하여, 부호화 데이터로서 출력하는 해상도 변환부와,
    상기 제2의 비교부에 의한 비교 결과가, 상기 회수가 상기 임계값 이하인 것을 나타낼 경우, 상기 입력부에 의해 입력된 상기 오리지널 화상 데이터의 각 블록의 화소값을 수정함으로써 각 블록을 나타낸 컬러 수를 감소시키고, 감색 후의 블록을 상기 타일 부호화부에 출력하여 재부호화를 실행하는 감색부를 더 구비한, 화상부호화장치.
  17. 화상 데이터를 부호화하는 화상부호화장치의 제어 방법으로서,
    부호화 대상의 오리지널 화상 데이터로부터 2×2화소로 구성되는 블록을 입력하는 단계와,
    상기 입력된 블록내의 미리 설정된 위치의 1개의 화소 데이터를 샘플링함으로써 상기 오리지널 화상 데이터보다도 작은 사이즈의 축소 화상 데이터를 생성하여 출력하는 단계와,
    상기 축소 화상 데이터 생성 및 출력 단계에서 생성된 상기 축소 화상 데이터로부터 상기 오리지널 화상 데이터를 복원하기 위해서, 각 블록중의 3개의 비샘플링 대상 화소 데이터를 복원하기 위한 부호화 데이터를 생성하는 단계를 포함하고,
    상기 부호화 데이터를 생성하는 단계는,
    주목 블록중의 샘플링 대상의 화소를 Ⅹ, 상기 주목 블록중의 비샘플링 대상의 화소를 Ⅹa, Ⅹb, Ⅹc라고 나타냈을 때,
    조건(a): 화소 Ⅹa, Ⅹb, Ⅹc의 모두가, 상기 주목 블록중의 상기 화소Ⅹ로부터 복원할 수 있는지와,
    조건(b): 상기 화소Ⅹa, Ⅹb, Ⅹc의 모두가, 상기 주목 블록에 인접한 3개의 블록의 샘플링 대상의 화소로부터 복원할 수 있는지를 판정하는 단계; 및
    이 판정단계에 의해 상기 주목 블록이 상기 조건(a)을 만족시킨다고 판정되었을 경우, 제1의 부가 정보를 상기 주목 블록의 부호화 데이터로서 생성하고,
    상기 판정단계에 의해, 상기 주목 블록이 상기 조건(a)을 충족시키지 않고, 상기 조건(b)을 충족시킨다고 판정되었을 경우, 상기 제1의 부가 정보와는 다른 제2의 부가 정보를 상기 주목 블록의 부호화 데이터로서 생성하고,
    상기 판정단계에 의해, 상기 주목 블록이 상기 조건(a), (b) 모두 만족시키지 않는다고 판정되었을 경우, 상기 제1 및 제2의 부가 정보와도 다른 제3의 부가 정보를 상기 주목 블록의 부호화 데이터로서 생성하는 단계를 포함한, 화상부호화장치의 제어 방법.
  18. 화상 데이터를 부호화 하는 화상부호화장치의 제어 방법으로서,
    부호화 대상의 오리지널 화상 데이터의 2×2화소로 구성되는 블록내에서 미리 설정된 위치의 1개의 화소 데이터를 샘플링함으로써 상기 오리지널 화상 데이터 보다도 작은 사이즈의 축소 화상 데이터를 생성하여 출력하는 단계와,
    상기 오리지널 화상 데이터내의 2M 수평방향 화소× 2N 수직방향 화소(M과 N 각각은 2이상의 정수)의 화소 데이터로 구성되는 타일을 입력하는 단계와,
    상기 입력된 타일중의 M×N개의 블록 각각에 있고, 상기 축소 화상 데이터를 생성하기 위한 샘플링 대상의 화소를 제외하는 3개의 비샘플링 대상의 화소 데이터를 복원하기 위한 부호화 데이터를, 타일 단위로 생성하는 단계를 포함하고,
    상기 부호화 데이터를 생성하는 단계는,
    비샘플링 대상의 3화소 모두가 샘플링 대상의 화소로부터 복원가능한 블록을 플랫 블록으로서 정의하고, 비샘플링 대상의 3화소 중 적어도 1개가 샘플링 대상의 화소로부터 복원할 수 없는 블록을 논플랫 블록으로서 정의하는 단계와,
    상기 주목 타일내의 전체 블록이 플랫 블록인지 또는 적어도 하나의 논플랫 블록을 포함하는지를 판정하고, 판정 결과를 나타내는 플래그 정보를 출력하는 단계와,
    이 판정단계에 의해, 상기 주목 타일내의 적어도 1개의 블록이 상기 논플랫 블록이라고 판정했을 경우, 상기 주목 타일내에 수평방향으로 배열된 M개의 블록으로 구성되는 각 블록 라인을 부호화하는 단계를 포함하는, 화상부호화장치의 제어 방법.
  19. 컴퓨터에게 판독시키고 실행시킴으로써 상기 컴퓨터를 청구항 1의 화상부호 화장치로서 기능시키는 컴퓨터 프로그램을 격납한 컴퓨터 판독 가능 기억매체.
  20. 컴퓨터에게 판독시키고 실행시킴으로써 상기 컴퓨터를 청구항 8의 화상부호화장치로서 기능시키는 컴퓨터 프로그램을 격납한 컴퓨터 판독 가능기억매체.
KR20090111873A 2008-11-20 2009-11-19 화상부호화장치 및 그 제어 방법 KR101177799B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2008297098 2008-11-20
JPJP-P-2008-297098 2008-11-20
JP2009020743A JP5173873B2 (ja) 2008-11-20 2009-01-30 画像符号化装置及びその制御方法
JPJP-P-2009-020743 2009-01-30

Publications (2)

Publication Number Publication Date
KR20100056979A true KR20100056979A (ko) 2010-05-28
KR101177799B1 KR101177799B1 (ko) 2012-08-30

Family

ID=41625154

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20090111873A KR101177799B1 (ko) 2008-11-20 2009-11-19 화상부호화장치 및 그 제어 방법

Country Status (5)

Country Link
US (1) US8331705B2 (ko)
EP (1) EP2190180B1 (ko)
JP (1) JP5173873B2 (ko)
KR (1) KR101177799B1 (ko)
CN (1) CN101742312B (ko)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4507265B2 (ja) * 2008-06-30 2010-07-21 ルネサスエレクトロニクス株式会社 画像処理回路、及びそれを搭載する表示パネルドライバ並びに表示装置
JP5432690B2 (ja) * 2009-12-07 2014-03-05 キヤノン株式会社 画像符号化装置及びその制御方法
JP2011193396A (ja) * 2010-03-16 2011-09-29 Canon Inc 画像処理装置、制御方法、及びプログラム
JP5393574B2 (ja) * 2010-04-08 2014-01-22 キヤノン株式会社 画像処理装置、画像処理方法、及びプログラム
JP5538996B2 (ja) 2010-04-30 2014-07-02 キヤノン株式会社 画像処理装置、画像処理方法、プログラム、および記憶媒体
JP2012010088A (ja) * 2010-06-24 2012-01-12 Canon Inc 画像処理装置、制御方法、およびプログラム
JP2012019357A (ja) * 2010-07-07 2012-01-26 Canon Inc 画像処理装置及びその圧縮方法
JP5595151B2 (ja) * 2010-07-13 2014-09-24 キヤノン株式会社 画像処理装置、画像処理装置における圧縮方法、および、プログラム
KR101681589B1 (ko) * 2010-07-27 2016-12-01 엘지전자 주식회사 영상 처리 장치 및 그 방법
JP5643574B2 (ja) 2010-08-26 2014-12-17 キヤノン株式会社 画像処理装置及び画像処理方法
JP5777398B2 (ja) * 2011-05-13 2015-09-09 キヤノン株式会社 画像処理装置、画像処理装置の画像処理方法及びプログラム
EP2754291A4 (en) * 2011-09-06 2015-04-29 Intel Corp ASSISTED CODING BY ANALYSIS
JP6080405B2 (ja) * 2012-06-29 2017-02-15 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
JP6128817B2 (ja) * 2012-11-30 2017-05-17 キヤノン株式会社 画像形成装置および画像形成方法
US10271034B2 (en) * 2013-03-05 2019-04-23 Qualcomm Incorporated Simplified depth coding
JP5621025B1 (ja) * 2013-09-02 2014-11-05 泰 坂野 画像処理システム、画像処理方法、及び画像処理プログラム
JP6191505B2 (ja) * 2014-02-28 2017-09-06 ブラザー工業株式会社 画像処理装置、及び、画像処理プログラム
CN105763761A (zh) 2014-12-16 2016-07-13 广州市动景计算机科技有限公司 一种图片数据传输方法及装置
JP6653522B2 (ja) * 2015-02-04 2020-02-26 シナプティクス・ジャパン合同会社 表示装置、表示パネルドライバ、表示パネルの駆動方法
US10110931B2 (en) 2016-04-27 2018-10-23 Aspeed Technology Inc. Variable length coding and decoding methods and devices for grouped pixels

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS56103773A (en) * 1980-01-21 1981-08-19 Agency Of Ind Science & Technol Feature extracing system of binary pattern
US4525748A (en) * 1982-07-30 1985-06-25 Carbone Anthony K Method and apparatus for scanning and digitizing optical images
US4709394A (en) * 1985-08-23 1987-11-24 Rca Corporation Multiplexed real-time pyramid signal processing system
JP2894693B2 (ja) * 1988-01-18 1999-05-24 日本電気株式会社 画像信号帯域圧縮方法
JPH02211785A (ja) * 1989-02-10 1990-08-23 Sony Corp 復号装置
JP2787832B2 (ja) * 1989-06-30 1998-08-20 キヤノン株式会社 画像縮小方法
JP2523222B2 (ja) * 1989-12-08 1996-08-07 ゼロックス コーポレーション 画像縮小/拡大方法及び装置
US5144688A (en) * 1990-03-23 1992-09-01 Board Of Regents, The University Of Texas System Method and apparatus for visual pattern image coding
US5583953A (en) * 1993-06-30 1996-12-10 Xerox Corporation Intelligent doubling for low-cost image buffers
JP3373008B2 (ja) * 1993-10-20 2003-02-04 オリンパス光学工業株式会社 画像像域分離装置
CA2195110A1 (en) * 1994-07-14 1996-02-01 Stephen G. Johnson Method and apparatus for compressing images
JP3671437B2 (ja) * 1994-08-04 2005-07-13 ソニー株式会社 ディジタル画像信号の処理装置および処理方法
JPH08167030A (ja) 1994-12-15 1996-06-25 Canon Inc 画像圧縮装置及びその方法
JPH10173913A (ja) 1996-12-13 1998-06-26 Minolta Co Ltd 画像形成装置
KR100341079B1 (ko) 1997-01-10 2002-06-20 마츠시타 덴끼 산교 가부시키가이샤 화상 처리 방법 및 화상 처리 장치, 및 데이터 기록 매체
US5862268A (en) * 1997-03-24 1999-01-19 Focus Enhancements, Inc. Bilinear decimator with error compensation
JP3861957B2 (ja) * 1998-02-03 2006-12-27 ソニー株式会社 記憶装置、並びに書き込み方法および読み出し方法
US6373890B1 (en) * 1998-05-05 2002-04-16 Novalogic, Inc. Video compression and playback process
US6304339B1 (en) * 1998-11-16 2001-10-16 Hewlett-Packard Company Compound document page data processing
JP3596863B2 (ja) * 1999-11-26 2004-12-02 シャープ株式会社 画像圧縮装置および画像伸張装置、ならびに画像圧縮方法および画像伸張方法をコンピュータに実行させるためのプログラムをそれぞれ記録したコンピュータ読取可能な記録媒体
JP3680931B2 (ja) 2000-02-23 2005-08-10 富士ゼロックス株式会社 画像処理装置及び画像処理方法
US7139099B2 (en) * 2000-02-23 2006-11-21 Fuji Xerox Co., Ltd. Image processing device and image processing method
FR2830157A1 (fr) * 2001-09-25 2003-03-28 Koninkl Philips Electronics Nv Procede de conversion de donnees video codees
US6915020B2 (en) * 2001-12-19 2005-07-05 Hewlett-Packard Development Company, L.P. Generating graphical bar codes by halftoning with embedded graphical encoding
US7545997B2 (en) * 2004-09-10 2009-06-09 Xerox Corporation Simulated high resolution using binary sub-sampling
EP1800238A4 (en) * 2004-09-21 2012-01-25 Euclid Discoveries Llc APPARATUS AND METHOD FOR PROCESSING VIDEO DATA
JP4371026B2 (ja) * 2004-09-28 2009-11-25 コニカミノルタビジネステクノロジーズ株式会社 プリントシステムおよびプリンタ
US20060291751A1 (en) * 2004-12-16 2006-12-28 Peyman Milanfar Robust reconstruction of high resolution grayscale images from a sequence of low-resolution frames (robust gray super-resolution)
JP4573895B2 (ja) * 2005-03-31 2010-11-04 ユークリッド・ディスカバリーズ・エルエルシー ビデオデータを処理する装置および方法
JP2006340300A (ja) * 2005-06-06 2006-12-14 Fujifilm Holdings Corp 信号処理方法及び信号処理装置、並びに信号処理プログラム及び情報記録媒体
CN101543036B (zh) * 2006-11-24 2011-10-26 日本电气株式会社 编码和解码装置、编码和解码方法
JP4495745B2 (ja) * 2007-04-18 2010-07-07 キヤノン株式会社 画像処理装置、画像処理方法、コンピュータプログラム、および記憶媒体

Also Published As

Publication number Publication date
US8331705B2 (en) 2012-12-11
CN101742312B (zh) 2012-08-29
US20100124380A1 (en) 2010-05-20
CN101742312A (zh) 2010-06-16
JP2010154486A (ja) 2010-07-08
KR101177799B1 (ko) 2012-08-30
JP5173873B2 (ja) 2013-04-03
EP2190180A3 (en) 2012-02-15
EP2190180A2 (en) 2010-05-26
EP2190180B1 (en) 2014-01-08

Similar Documents

Publication Publication Date Title
KR101177799B1 (ko) 화상부호화장치 및 그 제어 방법
US7715637B2 (en) Image processing apparatus and control method therefor
KR101146162B1 (ko) 멀티-레벨 이미지의 적응 압축 용이 방법
JP5393574B2 (ja) 画像処理装置、画像処理方法、及びプログラム
JP4902569B2 (ja) 画像符号化装置及びその制御方法
US8660345B1 (en) Colorization-based image compression using selected color samples
JP2005348390A (ja) 画像符号化装置及び画像復号装置及びそれらの制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体
JP6234098B2 (ja) 画像処理装置、画像処理方法およびプログラム
CN101507277A (zh) 图像编码/解码方法和设备
JP2008042687A (ja) 画像処理装置及びその制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体
JP5116650B2 (ja) 画像符号化装置及びその制御方法
JP6502739B2 (ja) 画像符号化装置、画像処理装置、画像符号化方法
US20060215920A1 (en) Image processing apparatus, image processing method, and storage medium storing programs therefor
US8750607B2 (en) Image processing apparatus capable of efficiently compressing an original image
JP6174926B2 (ja) 画像復号装置及びその制御方法
JP2008042683A (ja) 画像処理装置及びその制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体
JP2013038656A (ja) 画像符号化装置及びその制御方法
JP5538985B2 (ja) 画像符号化装置及びその制御方法
JP5432690B2 (ja) 画像符号化装置及びその制御方法
JP5141527B2 (ja) 画像処理方法、画像処理装置、および画像処理プログラム
KR100495001B1 (ko) 이미지 압축 부호화 방법 및 시스템
JP2008042682A (ja) 画像処理装置及びその制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体
JP4860558B2 (ja) 符号化装置及び符号化方法
JP5523177B2 (ja) 画像符号化装置及びその制御方法
JP2015122618A (ja) 情報処理装置、情報処理方法、およびプログラム

Legal Events

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

Payment date: 20150727

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160725

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170725

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180725

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20190820

Year of fee payment: 8