KR20010089526A - 화상 경계에 걸친 화소값들의 차이를 감소시키기 위한화상 처리회로 및 방법 - Google Patents

화상 경계에 걸친 화소값들의 차이를 감소시키기 위한화상 처리회로 및 방법 Download PDF

Info

Publication number
KR20010089526A
KR20010089526A KR1020017006769A KR20017006769A KR20010089526A KR 20010089526 A KR20010089526 A KR 20010089526A KR 1020017006769 A KR1020017006769 A KR 1020017006769A KR 20017006769 A KR20017006769 A KR 20017006769A KR 20010089526 A KR20010089526 A KR 20010089526A
Authority
KR
South Korea
Prior art keywords
value
pixel
block
pixels
alignment
Prior art date
Application number
KR1020017006769A
Other languages
English (en)
Inventor
조우퀸강
Original Assignee
벤자민 에프 커틀러
이퀘이터 테크놀러지스 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 벤자민 에프 커틀러, 이퀘이터 테크놀러지스 인코포레이티드 filed Critical 벤자민 에프 커틀러
Publication of KR20010089526A publication Critical patent/KR20010089526A/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding

Landscapes

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

Abstract

화상처리 회로는 하나의 경계와 경계의 양 측에 인접하여 배치된 제1 및 제2 화소를 포함하고, 제1 및 제2 화소는 각각 제1 및 제2 화소 값을 가진다. 프로세서는 제1 및 제2 화소 값으로부터 하나의 경계값을 발생시키고, 경계값을 하나의 비교값과 비교하고, 경계값이 비교값에 대하여 특정한 관계를 가지는 경우 제1 및 제2 화소 값의 차이를 감소시킨다. 이러한 프로세싱 회로는 예를 들어 블록 기반의 디지털 압축을 거친 화상의 블록화 성향(blockiness)을 감소시키기 위하여 사용될 수 있다.

Description

화상 경계에 걸친 화소값들의 차이를 감소시키기 위한 화상 처리회로 및 방법{IMAGE PROCESSING CIRCUIT AND METHOD FOR REDUCING A DIFFERENCE BETWEEN PIXEL VALUES ACROSS AN IMAGE BOUNDARY}
비교적 저대역 채널에 걸쳐 비교적 고해상도 화상을 전자적으로 전송하거나, 비교적 작은 메모리 공간에 이러한 화상을 전자적으로 저장하기 위하여 그 화상을 표현하는 디지털 데이터를 압축할 필요가 종종 있다. 예컨대, 고해상도 텔레비전(High-Definition-Television: HDTV) 비디오 화상들은 기존 텔레비전 채널들을 거쳐 전송될 수 있도록 압축된다. 압축되지 않으면 HDTV 비디오 화상들은 기존 텔레비전 채널들 보다 훨씬 더 큰 대역폭을 갖는 전송채널들을 필요로 할 것이다. 더구나, 데이터 트래픽 및 전송시간을 허용 가능한 레벨로 감소시키기 위해서는 화상이 인터넷을 통해 보내지기 전에 압축될 수 있다. 또는 CD-ROM 이나 서버의 화상 저장 용량을 늘이기 위해 화상이 거기에 저장되기 전에 압축될 수 있다.
그러한 화상 압축은 전형적으로 화상을 표현하는 데 필요한 데이터 비트들의 수를 감소하는 것이다. 불행하게도, 많은 압축 기술들은 데이터 손실을 수반한다. 즉, 원래 화상에 담긴 시각정보가 압축 과정에서 손실될 수 있다. 이러한 정보 손실은 재구성된 화상에서 종종 시각적 결함(visual artifacts)이라는 눈에 띄는 차이를 야기할 수 있다. 많은 경우에, 이러한 결함은 바람직하지 못하며, 그래서 원래 화상의 화질에 비하여 재구성 화상의 화질을 상당히 떨어뜨린다.
도 1-3 을 참조하면 통상적인 블록기반 이동화상 엑스퍼트 그룹(MPEG) 압축 표준의 기초가 MPEG-1 및 MPEG-2를 포함하여 논의된다. 예시할 목적으로, 이 논의는 Y, CB, CR칼라 공간에 표현된 화상들을 압축하는데 MPEG 4:2:0 포맷을 사용하는 것을 기본으로 하지만, 논의된 기본 개념은 다른 칼라 공간에 표현된 다른 MPEG 포맷과 화상에도 적용되고, 정지화상을 압축하는데 종종 사용되는 조인트 포토그래픽 엑스퍼트 그룹(JPEG)표준과 같은 다른 블록기반 압축표준에도 적용된다. 더우기 MPEG 표준과 Y, CB, CR칼라 공간의 많은 세부사항이 생략되었지만 이러한 세부사항은 공지되어 있고 수많은 시중의 참고도서에 공개되어 있다.
도 1-3 을 참조하면, MPEG 표준은 텔레비전 방송에 나오는 일시적 화상 시퀀스(비디오 프레임이라고도 함)를 압축하는데 종종 사용된다. 각 비디오 프레임은 매크로 블록(macro blocks)이라는 영역들로 분할되고, 각 블록은 하나 이상의 화소들을 포함한다. 도 1a는 256 화소(12)를 가진 16화소 ×16화소 매크로 블록(10)이다. MPEG 표준에서, 매크로 블록은 항상 16×16 화소들이지만, 다른 압축표준은 다른 치수를 가진 매크로 블록을 사용할 수도 있다. 원래 비디오 프레임, 즉 압축전 프레임에서, 각 화소(12)는 각자의 휘도값 Y와 각자의 칼라 차값, 즉 색도차값 CR및 CR쌍을 갖는다.
도 1a-1d를 보면, 프레임의 압축전에, 압축에 사용될 디지털 휘도(Y)와 색도차(CB및 CR)값, 즉 사전 압축값(pre-compression values)이 원래 프레임의 원래 Y, CB및 CR로 부터 발생된다. MPEG 4:2:0 포맷에서, 이 사전압축 Y 값은 원래 Y 값과 동일하다. 그래서, 각 화소(12)는 원래 휘도값 Y를 보유할 뿐이다. 그러나, 압축될 데이터의 양을 감소시키기 위하여 MPEG 4:2:0 포맷은 4 화소(12)의 각 그룹(14)에 대하여 단 하나의 사전압축 CB값과 하나의 사전압축 CR값을 허용할 뿐이다. 이러한 사전압축 CB및 CR값은 각자의 그룹(14)내 4 화소들(12)의 원래 CB및 CR값들로 부터 각각 유도된다. 그래서 도 1b-1d 를 참조하면, 매크로 블록(10)에서 발생된 사전압축 Y, CB및 CR값들은 사전압축 Y 값(각 화소(12)의 원래 Y 값고 동일함)의 16×16 행렬(16), 사전압축 CB값(4 화소(12)의 각 그룹(14)에 대해 하나의 유도된 CB값과 동일함)의 8×8 행렬(18), 그리고 사전압축 CR값(4 화소(12)의 각 그룹(14)에 대해 하나의 유도된 CR값과 동일함)의 8×8 행렬(20)로 배열된다. 그러나, 행렬(16), (18) 및 (20)을 값들의 "블록(block)"으로 부르는 것이 당업계에서보통이다. 더우기, 16×16 블록들 대신에 8×8 블록이 화소값들에 대해 압축 변환(compression transform)을 행하는 것이 편리하기 때문에 사전압축 Y 값들의 블록(16)은 4개 8×8 블록들(22a-22d)로 재분할되어 매크로 블록(10)내 8×8 블록들 A-D 에 각각 대응한다. 그래서, 다시 도 1b- 도 1d를 참조하면, 6개 8×8 블록들의 사전압축 화소데이터, 즉 4개 8×8 블록(22a-22d)의 사전압축 Y 값, 1개 8×8 블록(18)의 사전압축 CB값, 및 1개 8×8 블록(20)의 사전압축 CR값이 각 매크로 블록(10)에 대해 발생된다.
도 2는 통상 엔코더(30)라고 부르는 MPEG 압축기(30)의 일반적 블록선도이다. 일반적으로, 엔코더(30)는 한 프레임 또는 프레임 시퀀스에 대한 사전압축 데이터를 이 사전압축 데이터보다 상당히 더 적은 데이터 비트들을 가진 동일한 프레임이나 프레임들을 나타내는 부호화된 데이터로 변환한다. 이러한 변환을 수행하기 위해 엔코더(30)는 이 사전압축 데이터내 중복성(redundancies)을 감소하거나 제거하고, 효율적인 변환 및 부호화 기술을 사용하여 나머지 데이터를 다시 포맷한다.
더 자세히 말하자면, 엔코더(30)는 프레임 재배열 버퍼(frame-reorder buffer)(32)를 포함하고, 이 버퍼(32)는 하나 이상의 프레임들에 대한 사전압축 데이터를 수신하고, 엔코딩을 위한 적절한 시퀀스로 이 프레임들을 재정리한다. 그래서 이 재정리된 시퀀스는 프레임들이 발생되던 시퀀스와 종종 다른 것이다. 엔코더(30)는 상기 저장된 프레임들 각각을 Group Of Pictures(GOP)라 부르는 각자의그룹에 할당하고, 각 프레임을 인프라(I)프레임 또는 넌인프라(non-I)프레임으로 표기한다. 엔코더(30)는 항상 다른 프레임에 관계없이 I 프레임을 부호화하지만, 종종 GOP 내의 하나이상의 다른 프레임들에 관하여 non-I 프레임을 부호화한다. 그러나 엔코더(30)는 다른 GOP 내 프레임에 관하여 non-I 프레임을 부호화하지는 않는다.
I 프레임의 엔코딩중에, I 프레임을 나타내는 사전압축 Y, CB및 CR값들의 8×8 블록들(도 1b-1d)은 합산기(summer)(34)를 통해 불연속 코사인 변환(Discrete Cosine Transform:DCT)회로(36)로 보내지고 이 DCT 회로(34)는 이 블록의 값들을 1개 DC 계수와 63개 AC 계수들이 8×8 블록들로 변환한다. 즉, 합산기(34)는 엔코더(30)가 I 프레임을 부호화할 때는 필요하지 않고, 그래서 사전압축 값들은 다른 값들과 합산되지 않고서 합산기(34)를 통과한다. 그러나, 후술하는 바와 같이 합산기(34)는 엔코더(30)가 non-I 프레임을 부호화할 때는 종종 필요하다. 양자화기(38)는 상기 계수들 각각을 각자의 최대값에 한정시키고, 각자의 경로(40) 및 (42)상에 상기 양자회된 AC(넌제로 주파수) 및 DC(제로 주파수)계수들을 제공한다. 예측성 엔코더(predictive encoder)(44)는 DC 계수를 예측 가능하게 부호화하고 가변길이 코더(46)는 상기 양자화된 AC 계수와 상기 양자화되고 예측가능하게 부호화된 DC 계수들을 허프만 코드(Huffman codes)와 같은 가변길이 코드들로 변환한다. 이 코드들은 상기 부호화된 I 프레임의 화소값들을 나타내는 상기 부호화된 데이터를 형성한다. 그 다음에 전송 버퍼(48)가 이 코드들을 일시적으로 저장하여상기 부호화된 데이터가 디코더(도3 과 관련하여 후술됨)로 동기적으로 전송할 수 있게 한다. 그와 달리, 상기 부호화된 데이터가 전송되지 않고 저장되려면 코더(46)는 상기 가변길이 코드들을 CD-ROM과 같은 저장매체에 직접 제공할 수도 있다.
상기 I 프레임이 다음의 이유로 상기 GOP 내 하나 이상의 non-I 프레임에 대한 기준으로 사용되면(종종 그러함), 엔코더(30)는 디코더(도3)가 사용한 디코딩 기술과 유사하거나 동일한 디코딩 기술로 상기 부호화된 I 프레임을 디코딩함으로써 대응하는 기준 프레임을 발생시킨다. 상기 I 프레임과 관련된 non-I 프레임들을 디코딩할 때 상기 디코더는 선택의 여지없이 상기 디코드된 I 프레임을 기준 프레임으로 사용한다. MPEG 엔코딩 및 디코딩이 소모적이기 때문에 상기 디코드된 I 프레임의 화소값들은 상기 I 프레임의 사전압축 화소값들과 종종 다를 것이다. 그러므로, 엔코딩 중에 상기 사전압축 I 프레임을 기준 프레임으로 사용하면, 디코딩에 사용된 상기 기준 프레임(디코드된 I 프레임)이 엔코딩에 사용된 기준프레임(사전압축 I 프레임)과 다르기 때문에 상기 디코드된 non-I 프레임에 부가적인 차이가 생길 수 있다.
그러므로, 디코딩에 사용된 기준프레임과 유사하거나 동일한 엔코딩용 기준프레임을 발생하기 위해, 엔코더(30)는 디코더(도3)의 탈양자화기(dequantizer)와 역 DCT 회로(52)를 포함한다. 탈양자화기(50)는 양자화기(38)로 부터 상기 양자화된 DCT 계수들을 탈양자화하고 회로(52)는 상기 탈양자화된 DCT계수들을 Y, CB및CR화소값들의 대응하는 8×8 블록들로 변환한다. 그러나, 양자화 및 탈양자화중에 입은 손실 때문에 이 디코드된 화소값들의 일부나 모두가 대응하는 사전압축 화소값들과 각각 다를 수 있다. 그다음에 이 디코드된 화소값들은(후술하는 non-I 프레임에서 기준프레임을 발생시킬 때 사용된) 합산기(54)를 통과하여, 상기 기준프레임을 저장하는 기준프레임 버퍼(56)로 제공된다.
non-I 프레임의 엔코딩 중에 엔코더(30)는 I 프레임에 대해 전술한 방식과, 후술하는 모션예측(motion prediction)을 사용하는 등의 최소한 두가지 방식으로 non-I 프레임의 각 매크로 블록을 처음에 엔코딩한다. 그리고 엔코더(30)는 최소 비트들을 가진 최종 코드를 저장하여 송신한다. 이런 기술에 의하여 non-I 프레임의 매크로 블록들은 항상 최소 비트들을 이용하여 확실하게 엔코드된다.
모션예측에 관하여, 프레임안의 물체는 그 상대적 위치가 연속 프레임들에서 변화하면 모션을 나타낸다. 예컨대 말이 스크린을 가로질러 질주하면 상대적 운동을 나타낸다. 또는 카메라가 말을 따라가면 그 배경은 상대운동을 나타낸다. 일반적으로 물체가 나타나는 연속 프레임들 각각은 선행 프레임들과 동일한 매크로 블록들의 화소들중 적어도 일부를 포함한다. 그러나 연속 프레임내 일치하는 매크로 블록들은 선행 프레임들에서 차지하고 있는 각자의 프레임 장소와는 다른 각자의 프레임 장소를 종종 차지한다. 대안으로, 정지 물체(예컨대, 나무) 또는 배경화면(예컨대, 하늘)의 일부를 포함하는 매크로 블록은 연속 프레임들 내 동일한 프레임 장소를 차지할 수 있다. 어느 경우에든, 각 프레임을 독립적으로 엔코딩하지않고서, " 프레임 #1(non-I 프레임)의 장소 X 및 Z 는 프레임 #0(I 프레임)의 장소 S 및 T 에 각각 존재하는 동일한 매크로 블록들을 포함한다"라고 표현하면 더 적은 수의 데이터 비트들이 사용된다. 이런 "설명" 은 모션벡터로서 엔코드된다. 정지 또는 비교적 느린 이동물체나 배경화면에 대하여 모션벡터는 0에 근접하거나 같도록 설정된다.
도 2를 참조하여 더 자세히 말하자면, non-I 프레임의 엔코딩 중에 모션예측기(58)는 non-I 프레임 내 매크로 블록들의 사전압축 Y 값들(CB및 CR값들은 운동예측 중에 사용되지 않는다)을 기준프레임 내 매크로 불록들의 상기 디코드된 Y 값들과 비교하여 일치하는 매크로 블록들을 식별한다. 기준프레임에서 정합이 발견되는 non-I 프레임 내 각각의 매크로 볼록에 대하여, 모션예측기(58)는 기준프레임 내 일치하는 매크로 블록의 장소를 명시하는 모션벡터를 발생한다. 그래서, 도 3과 연관하여 후술하는 바와 같이, non-I 프레임의 매크로 블록들을 디코딩하는 동안, 상기 디코더는 상기 모션벡터들을 사용하여 기준프레임 내 정합 매크로 블록들에서 이들 매크로 블록들에 대한 화소값들을 얻어낸다. 예측성 엔코더가 모션벡터들을 예측가능하게 엔코드하고 코더(46)는 상기 엔코드된 모션벡터들에 대한 코드들을 생성하여 전송버퍼(48)에 제공한다.
더우기, non-I 프레임 내 매크로 블록과 기준 프레임내 정합 매크로 블록이 종종 유사하지만 동일하지 않기 때문에 엔코더(30)가 모션벡터와 함께 이런 차이들을 엔코드하여 상기 디코더가 이 차이들을 계산할 수 있도록 한다. 더 자세히 말하자면, 모션예측기(58)는 기준 프레임의 정합 매크로 블록의 상기 디코드된 Y 값들을 합산기(34)에 제공하고, 합산기(34)는 이 Y 값을 non-I 프레임의 정합 매크로 블록의 사전압축 Y 값들에서 화소별로 효과적으로 감산시킨다. 잉여오차(residual)라 부르는 이런 차이들은 8×8 블록들로 배열되고 전술한 것과 유사한 방식으로 DCT 회로(36), 양자화기(38), 코더(46) 및 버퍼(48)에 의해 처리되지만, 예외적으로 오차블록들의 양자화된 DC 계수들은 예측성 엔코더(44)에 의해 예측가능하게 엔코드되지는 않는다.
부가적으로, non-I 프레임을 기준프레임으로 사용할 수가 있다. 이 non-I 프레임이 기준프레임으로 사용될 때 양자화기(38)로 부터의 상기 양자화된 오차들은 탈양자화기(50) 및 역 DCT 회로(52)에 의해 각각 탈양자화되고 역변환되는데, 이 non-I 프레임은 전술한 이유 때문에 디코더에 의해 사용된 것과 동일한 것이 된다. 모션예측기(58)는 오차들이 발생되었던 기준 I프레임의 상기 디코드된 Y 값들을 합산기(54)에 제공하고, 이 합산기(54)는 회로(52)로 부터 각 오차들을 상기 기준 I 프레임의 이 디코드된 Y 값들에 가산하여 상기 기준 non-I 프레임의 각 Y 값들을 생성한다. 그러면 기준프레임 버퍼(56)는 후속하는 non-I 프레임들을 엔코딩하는 데 사용하도록 상기 기준 I 프레임과 기준 non-I 프레임을 저장한다.
다시 도 2를 참조하면, 전형적으로 상기 엔코드된 프레임 데이터를 고정된 속도로 전송하는 전송버퍼(48)가 결코 넘쳐 흐르거나 부족하게 흐르지 않도록 보장하기 위해 엔코더(30)는 전송율 제어기(rate controller)(60)도 포함한다. 이런 조건들 중 어느것이 일어나더라도 상기 엔코드된 데이터에 오차들이 도입될 수도있다. 예컨대, 버퍼(48)가 넘쳐흐르면 코더(46)로 부터의 데이터는 손실된다. 그래서 전송율 제어기(60)는 피드백을 사용하여 전송버퍼(48)의 충만도에 따라 양자화기(38)에 의해 사용된 양자화 배율(quantization scaling factors)을 조정한다. 버퍼(48)가 더 가득 찰 수록 제어기(60)는 배율을 더 크게하고 양자화기(40)는 더 적은 데이터 비트들을 생성한다. 역으로, 버퍼(48)가 더욱 비어질 수록 제어기(60)는 배율을 더 적게 만들고, 양자화기(40)가 더 많은 데이터 비트들을 생성한다.
도 3은 보통 디코더(60)라 부르며 도 2의 엔코더(30)에 의해 엔코드된 프레임들을 디코드할 수 있는 종래 MPEG 탈압축기(decompressor)(60)의 블록선도이다.
I 프레임들과 모션예측되지 않는 non-I 프레임들의 매크로 블록들에 대하여 가변길이 디코더(62)는 엔코더(30)에서 수납된 가변길이 코드들을 디코드한다. 예측 디코더(64)는 상기 예측가능하게 엔코드된 DC 계수들을 디코드하고, 도 2의 탈양자화기(50)와 유사하거나 동일한 탈양자화기(65)는 상기 디코드된 AC 및 DC 계수들을 탈양자화한다. 도 2의 역 DCT 회로(52)와 유사하거나 동일한 역 DCT 회로(66)는 상기 탈양자화된 계수들을 화소값들로 변환한다. 이 디코드된 화소값들은 (후술하는 non-I프레임들의 모션예측된 매크로 블록들의 디코딩중에 사용되는) 합산기(68)를 통해 프레임-재배열 버퍼(70)로 가고 이 프레임-재배열 버퍼(70)는 상기 디코드된 프레임들을 저장하고 이 프레임들을 비디오 디스플레이 유니트(72)상에 디스플레이하기에 적절한 순서로 배열한다. 그 I프레임이 기준프레임으로 사용되면 그것도 기준프레임 버퍼(74)에 저장된다.
non-I프레임들의 모션예측된 매크로 블록들에 대하여 디코더(62), 탈양자화기(65), 및 역 DCT(66)가 전술한 대로 오차들을 처리한다. 예측 디코더(64)는 모션벡터들을 디코드하고, 모션 보간기(motion interplator)(76)는 모션 벡터들이 가리키는 기준프레임 내 매크로 불록들로 부터 상기 화소값들을 합산기(68)에 제공한다. 합산기(68)는 이 기준 화소값들을 상기 오차들에 가산하여 상기 디코드된 매크로 블록들의 화소값들을 생성하고, 이 디코드된 화소값들을 상기 프레임 재배열 버퍼(70)에 제공한다. non-I프레임이 기준 프레임으로 사옹되면 이것이 기준프레임 버퍼(74)에 저장된다.
도 2 및 도 3의 MPEG 엔코더(30)와 디코더(60)에 대한 보다 상세한 설명은 1998년 맥그로힐 출간 Peter D. Symes 저 "비디오 압축(Video Compression)"을 포함한 많은 간행물에 기재되어 있다. 더우기 화상을 엔코딩하고 디코딩하는 다른 공지된 블록기반 압축기술들이 있다.
도 1a를 참조하면, MPEG 표준과 같은 블록기반 압축기술들의 문제점은 압축과정에서 시각정보가 손실되어 8×8 화소블록들 A-D 사이와 연속한 매크로 블록들(10)사이 각각의 경계들 중 일부 또는 전부가 시청자에게 인지 가능하게 한다는 것이다. 더 자세히 말하자면 압축손실이 있으면 경계를 지나며 급격한 화소값 변동이 일어나 경계가 보이게 한다. 이러한 가시 경계(visible boundary)는 종종 "블록키(blocky)"하거나 "블록키"한 결함을 드러낸다고 표현되며, 블록키한 결함의 정도를 감소하는 즉, 블록키한 경계를 시청자에게 보이지 않게 하는 과정을 종종 디블록킹(deblocking)이라 한다.
C. Reeve 와 J.S. Lim 공저, "Reduction of Blocking Effects in Image Coding"(Optical Engineering, Vol.23, No.1, Jan/Feb 1984, pp. 34-37)과 N. Ngan, D.W. Lin 및 M.L. Liou 공저, "Enhancement of Image Quality for Low Bit Rate Videio Coding"(IEEE Transactions on Circuit and Systems, Vol.38, No.10, Oct 1991, pp. 1221-1225)를 포함한 몇개의 참고서는 화상 엔코딩 과정에서 실현되는 디블록킹 기술들을 설명하고 있다. 그러나 대부분의 화상 및 비디오 소스들은 MPEG 와 같은 국제적으로 합의된 압축표준에 따라 엔코드되므로, 이런 표준들이 하나 이상에 순응하는 엔코딩 시스템을 설계하고 싶어도 상기 엔코딩 알고리듬을 변경한다는 것은 불가능하지 않더라도 비실용적이다.
T. O'Rourke, R. Stevenson 공저, "Improved Image Decompression For Reduced Transform Coding Artifacts"(IEEE Transactions On Circuits And Systems For Video Technologies, Vol.5, No.6, Dec 1995)와 Y. Yang 외 저, "Projection-Based Spatially Adaptive Reconstruction of Block-Transform Compressed Images"(IEEE Transactions on Image Processing, Vol.4, No.7, July 1995)를 포함하는 다른 참고서는 화상 디코딩 과정에서 실현되는 디블록킹 기술들을 설명하고 있다.
예컨대, 상기 O'Rourke 등의 논문에서는 통계적 불연속성 보존된 화상모델과 통계적 화상압축모델, 그리고 이 두 모델들에 따라 주어진 경계 화소들의 최대 귀납적(maximum a posteriori; MAP) 추정(estimation)을 생성하는 기법을 설명한다. O'Rourke 등의 기법에서는 컨벡스 한정된 최적화문제(convex constrainedoptimization problem)를 반복적으로 풀어서 경계 화소들의 값들을 산정한다. 유사하게, 상기 Yang 등의 논문에서는 인접한 화소값들 즉, 경계의 양측에 있는 화소값들의 변화가 최소이어야 할것을 가정하고, O'Rourke 등의 기법과 마찬가지로 컨벡스 한정된 최적화문제를 반복적으로 풀어서 경계 화소들 값을 산정해 나간다. 그러나 그러한 기술들은 실시간 시스템에 구현함에 있어서 종종 너무나 많은 계산시간을 필요로 한다. 부가적으로, 그러한 기술은 블록키하지 않은 경계들에서 종종 작용한다. 불행하게도 그러한 기술들이 블록키하지 않은 경계들에 적용될 때 화질이 떨어질 수 있는데, 왜냐하면 그러한 기술들은 어떤 화소와 그 인접 화소들사이의 차이가 작아야 한다는 것을 가정하기 때문이다. 그러한 가정은 일정 시간은 정확하겠지만, 특히 물체 가장자리를 포함하는 화상의 영역에서는 부정확하다.
또 다른 문헌들은 블록 경계들을 따라 저대역 통과 필터를 채용하는 디블록킹 기술들을 설명한다. 불행하게도 이러한 저대역 통과 필터링은 블록 경계들에서 화상을 흐리게 할 수 있다. Ramamurthi 및 A. Gersho 저, "Nonlinear Space-Variant Post-processing of Block Coded Images"(IEEE Transactions on Acoustics, Speech, and Signal Processing, Vol.ASSP-34, No.5 October 1986, pp. 1258-1268)에 설명된 바와 같은 이러한 기술들 중 몇개는 원래 화상내 경계 화소들의 값을 산정한 다음 적응적으로 다른 타입의 필터들을 선택하여 원래 화상내 경계들의 선명함을 보존함으로써 경계들의 흐려짐을 피하려고 한다. 불행하게도 고도로 압축된 화상에서 원래 경계값들을 정확하게 산정한다는 것은, 디코드된 화상의 질이 정확한 경계값 산정에 종종 부적절하기 때문에 매우 어렵다. 더우기 전술한기술들 가운데 몇 가지와 마찬가지로 이러한 기법들은 종종 경계들이 블록키한지 여부와 관계없이 화상내 경계들 모두에 대하여 실행되므로, 화질을 불필요하게 떨어뜨리거나, 많은 응용들에 있어서 과도한 계산을 필요로 한다.
본 발명은 일반적으로 전자 및 컴퓨터 회로에 관한 것이고, 더 자세히 말하자면 화상 경계의 일측상의 제1 화소값과 상기 경계의 타측상의 제2 화소값의 차이를 감소시키기 위한 화상 처리회로 및 방법에 관한 것이다. 예컨대 블록기반 디지털압축(block-based digital compression)을 받는 화상의 블록화 성향(blockiness)을 감소하는데 위와 같은 회로 및 방법이 사용될 수 있다.
도 1a는 화상내 화소들의 통상적인 매크로 블록.
도 1b는 도 1a 매크로 블록내 화소들에 각각 대응하는 사전압축 Y 값들의 통상적인 블록.
도 1c는 도 1a 매크로 블록내 화소 그룹들에 각각 대응하는 사전압축 CB값들의 통상적인 블록.
도 1d는 도 1a 매크로 블록내 화소 그룹들에 각각 대응하는 사전 CR값들의 통상적인 블록.
도 2는 통상적인 MPEG 엔코더의 블록선도.
도 3는 통상적인 MPEG 디코더의 블록선도.
도 4는 본 발명에 따른 화상 처리회로 실시예의 대략적인 블록선도.
도 5는 도4의 화상 처리회로의 동작을 설명하는 흐름도.
도 6는 도4의 화상 처리회로가 작동하는 경계들을 갖는 매크로 블록의 상세도.
도 7a는 본 발명에 따라 수직 화상 경계들 양측의 화소값들 사이의 차이를 감소시키는 필터 실시예의 기능적 블록선도.
도 7b는 본 발명에 따라 수평화상 경계들 양측의 화소값들 사이의 차이를 감소시키는 필터 실시예의 기능적 블록선도.
도 8a는 본 발명에 따라 수직 화상 경계들 양측의 화소값들 차이를 감소시키는 다른 필터 실시예의 기능적 블록선도.
도 8b는 본 발명에 따라 수평화상 경계들 양측의 화소값을 차이를 감소시키는 다른 필터 실시예의 기능적 블록선도이다.
(발명의 개요)
발명의 일 양태에 있어서 화상 처리회로는 경계와 이 경계의 양측에 배치된 제1 및 제2의 인접한 화소들을 포함하는 화상의 일부를 수신하는 프로세서를 포함하고, 상기 제1 및 제2 화소들은 각각 제1 및 제2 화소값을 갖는다. 이 프로세서는 상기 제1 및 제2 화소값들로 부터 경계값을 생성하고, 이 경계값을 비교값과 비교하고, 이 경계값이 상기 비교값과 특정 관계를 가질때 상기 제1 화소값과 제2 화소값 사이의 차이를 감소시킨다.
본 발명의 화상 처리회로는 화상이 디코드된 후에 화상에 작용하기 때문에 화상이 엔코드되거나 디코드되는 방식을 바꾸지 않으며, 그래서 모든 블록기반 압축표준들과 호환성이 있다. 더우기, 상기 비교값은 처리회로가 블록키한 경계들에만 작용하도록 설정될 수 있고, 그래서 블록키하지 않은 경계들을 열악화시키지 않는다. 부가적으로 이 처리회로는 실시간으로 일련의 비디오 프레임들에 작용할 수 있다.
(발명의 상세한 설명)
도 4는 화상처리 및 디스플레이 회로(80)의 개략적인 블록선도이고, 이 회로(80)은 화상 처리회로(82)와 화상 디스플레이 회로(84)를 포함한다. 회로(80)은 개별 화상이나 일련의 비디오 프레임들을 처리하고 디스플레이하는데 사용된다. 화상 처리회로(82)는 도 3의 디코더(60)와 같은 디코더로 부터 받은 화상 데이터를 저장하는 통상적인 저장회로(86)를 포함한다. 회로(82)는 화상 프로세서(88)를 포함하고, 한 실시예에서 화상 프로세서(88)는 통상적인 하드웨어 부품들(도시안됨)을 포함하며, 후술하는 대로 블록키한 화상 경계들 양측의 화소 차이를 감소시킨다. 본 발명의 한 실시예에서 저장회로(86)는 상기 디코더의 일부이다. 예컨대, 저장회로(86)는 도 3의 프레임 재배열 버퍼(70)일 수 있다. 다른 실시예에서, 저장회로(86)는 프로세서(88)의 일부이다. 또 다른 실시예에서 처리회로(82)는 저장회로(86)를 포함하지 않고, 프로세서(88)는 디코더에서 직접 화상 데이터를 받는다. 디스플레이 회로(84)는 프로세서(88)로 부터 처리된 화상 데이터를 저장하는 화상 저장회로(90)와, 회로(90)에 저장된 화상을 디스플레이하는 디스플레이 장치(92)를 포함한다.
도 5는 도 4의 화상프로세서(88)의 일실시예의 일반 동작을 보여 주는 흐름도이다. 예시할 목적으로, 프로세서(88)의 동작은 화소 Y 값에 대해 논의되는데, 그 동작은 화소 CB및 CR값과 다른 칼라 공간의 휘도 및 색도값에 대해 동일하다.
단계 100 에서, 프로세서(88)는 우선 경계를 공유하는 2개의 인접한 화소 블록들의 일부나 모두의 상기 디코드된 값들에 기초하여 역치(threshold value)를 계산한다. 한 실시예에서, 화소블록들은 8×8이고, 이 화소블록들이 8×8이 아닌 차원을 가질 수 있다.
다음, 단계 102 에서 프로세서(88)을 상기 경계를 따라 놓인 화소들의 값들로부터 경계값을 계산한다. 프로세서(88)가 단계 102 전에 단계 100 을 수행하는 것으로 설명되지만 이 단계들의 순서는 역전될 수 있다.
그 다음에, 단계 104 에서 프로세서(88)는 이 역치를 상기 경계값과 비교한다.
단계 106 에서, 상기 경계값이 소정 방식으로(즉, 더 크거나 더 작음) 상기 역치와 다르면, 상기 프로세서(88)는 상기 경계를 블록키하다고 확인하고, 단계 107 에서 상기 경계에 놓인 화소값들을 여과한다. 한 실시예에서, 프로세서(88)는 경계 일측의 화소값들과 경계 타측의 화소값들 간의 차이를 감소시킴으로써 화소값들을 여과한다. 경계값이 상기 소정방식으로 역치와 다르지 않으면(예컨대, 더 크지 않거나 더 작지 않으면) 프로세서(88)는 경계가 블록키하지 않다고 확인한다.
단계 108 을 참조하면, 프로세서(88)는 이런 방식으로 화상의 모든 나머지 경계들을 처리한다. 한 실시예에서 프로세서(88)는 화상의 좌상 모서리에서 시작하여 우하 모서리를 향해 작업한다.
단계 110 을 보면, 프로세서(88)가 Y 값에 대해 모든 경계들을 처리한 후 프로세서(88)는 CR및 CB값들에 대해 단계 100-108을 반복한다.
단계 112 를 보면, 프로세서(88)가 CB및 CR값들에 대해 화상내 모든 경계들을 처리한 후 프로세서(88)는 나머지 화상들에 대해 단계 100-110을 반복한다.
그러므로, 화상이 디코드된 후 프로세서(88)가 화상의 경계들에 대해 작동하기 때문에 전술한 디블록킹 기법은 화상을 엔코드하고 디코드하는데 사용된 기술들에 변화를 필요로 하지도 않고 변화를 주지도 않으며, 그래서 어떤 블록기반 압축 표준과도 호환가능하다. 또한, 후술하는 바와 같이, 역치와 경계값과 필터링 알고리듬의 계산들이 비교적 간단하기 때문에, 프로세서(88)는 HDTV 비디오 프레임들과 같은 실시간 응용들에 대해 충분히 빠르게 경계들에 작동한다. 부가적으로, ISO/ITU MPEG 및 H.263과 같은 표준들을 사용하여 압축된 화상들이 실험적 관찰에 의하면 상당한 개수의 경계들이 블록키하지 않으며, 이와 같은 "블록키하지 않은(unblocky)" 경계들이 변경되지 않고 있을 때 상기 디코드된 화상은 종종 최상의 화질을 유지하는 것으로 나타난다. 그래서, 프로세서(88)는 블록키한 것으로 확인된 경계들만을 여과하기 때문에 블록키하지 않은 경계들을 여과함으로써 화상의 질을 떨어뜨리지 않는다.
도 6, 7a 및 7b를 참조하여, 본 발명의 실시예에 따른 도 4의 화상프로세서(88)의 작동이 설명된다. 일반적으로, 두개의 인접한 화소블록들 사이의 경계가 블록키한지 여부를 판정하기 위해 프로세서(88)는 두 블록들 내측의 각자 평균 거칠기(average roughness)를 경계에서의 거칠기와 비교한다. 즉, 경계값(도 5의 단계 102)은 두 블록들 사이의 경계의 거칠기의 함수이고, 역치(도 5의 단계 104)는 두 블록들 내측의 각자 평균 거칠기의 함수이다. 프로세서(88)가 경계를 블록키한 것으로 확인하면 프로세서(88)는 도 7a 및 7b 의 종래 유한임펄스응답(finite-impulse-response:FIR)필터들로 하여금 경계를 따라 그리고 경계의 양측에 놓인 화소들의 값간에 차이들을 "평활화(smoothen)"시킨다. 그래서, 이 실시예는 압축전 전형적인 실제화상(real-world image)에서 특정 블록내 거칠기가 인접한 블록들과의 경계에서 각자 거칠기와 동일하거나 가깝다는 실험적 관찰을 이용한다. 그러나 전술한 이유에서 소모적인 압축체계에 따르면 블록은 그 자체 내부보다 경계를 따라 상이한 (전형적으로 더 높은) 거칠기를 갖게되고, 이런 거칠기 차이는 블록키한 경계로 보인다. 더우기, 이 실시예는 Y 값에 대해 후술하지만, 다른 칼라 공간의 CR및 CB값과 휘도값 및 색도값에 대해서도 사용될 수 있다.
도 6은 4개의 8×8 화소블록들 A-D을 포함하는 16×16 매크로 블록(120)이다. 더 자세히 도시되지만, 매크로 블록(120)과 블록들 A-D는 도 1a의 매크로블록(10)과 블록들 A-D와 유사하다. 각 블록들 A-D 내 화소들 각각은 각자의 행렬 위치를 갖는다. 예컨대 블록 A내 화소 a2,4는 블록 A의 행 2와 열 4의 교차점에 위치한다. 유사한 좌표계가 블록들 B-D에 사용된다. 또한, 경계(122)는 블록 A와 B 사이에 위치하고, 경계(124)는 블록 A와 C 사이에 위치한다. 경계(122)와 (124)의 폭은 예시할 목적으로 과장되어 있지만, 실제로 블록 A의 열 7내 화소들은 블록 B의 열 0 내 각자 화소들과 인접하고, 블록 A의 행 7내 화소들은 블록 C의 행 O 내 각자 화소들과 인접한다. 예컨대 경계(122)를 참조하면, 화소 a0.7은 화소 b0.0에 인접하고, 화소 a1.7는 화소 b1,0와 인접하는 등등이다.
도 1-3과 연관하여 논의한 대로, DCT 변환이 8×8 화소값 블록들에 대해 수행되기 때문에, 매크로 블록(120)은 8×8 블록들 A-D로 분할된다. 그러므로, 예시할 목적으로 프로세서(88)가 Y 값에 대해 블록들 A-D 사이의 내부 경계들에 대해 작동하는 것으로 설명되지만, 프로세서(88)는 유사한 방식으로 Y 값들에 대해 매크로 블록들간의 외부 경계들에 대해 작동하는 것으로 본다. MPEG 4:2:0포맷에서 각 매크로 블록은 CR값의 1개 8×8 블록 및 CB값의 1개 8×8블록과만 연관되어 있으므로, 매크로 블록내에는 색도차 경계들이 없고, 그래서 프로세서(88)는 CR및 CB값들에 대해 매크로 블록들 간의 경계들에 대하여만 작동한다. 그러나 프로세서(88)는 Y 값에 대해 후술하는 것과 유사한 방식으로 CR및 CB값들에 대해 이 경계들에 작동한다. 그러나 다른 포맷에서는 매크로 블록내 색도차 경계들이 있을 수 있고, 그런 경우 프로세서(88)는 이 경계들에도 작동한다. 또한, 매크로 블록(120)이 16×16으로 설명되고 블록들 A-D 가 8×8로 설명되지만, 매크로 블록(120)과 블록들 A-D는 다른 차원을 가질 수도 있다.
다시 도 6을 참조하면, 이 발명의 실시예에 따른 프로세서(88)의 동작이 상세히 논의된다. 예시의 목적상 경계(122) 및 (124)와 Y 값에 대한 동작이 논의되지만, 다른 경계들(매크로 블록(120)내의 블록들 A-D 사이의 경계이거나 매크로 블록들(120) 사이의 경계)에 대해 또는 CR및 CB값들에 대해서도 그 동작은 유사하다고 본다. 더우기, 이하 사용되는 용어 "블록"은 블록 A-D 와 유사한 블록들과 매크로 블록들에 대해 일반적으로 적용된다.
이 실시예에서, Y 값에 대한 블록의 수평 거칠기는 그 블록내 수평으로 인접한 화소들의 Y 값들간의 평균 수평 차이와 같다. (유사하게, 도 1-3과 연관하여 논의된 4:2:0 MPEG 포맷에 대하여 CR및 CB값에 대한 수평 거칠기는 블록내 도 1a의 그룹(14)와 같은 인접한 화소 그룹들의 CR및 CB값간의 평균 수평 차이와 각각 같다). 마찬가지로, Y 값들에 대한 블록의 수직 거칠기는 블록내 수직으로 인접한 화소들의 Y 값들간의 평균 수직 차이와 같다. (유사하게, 도1-3과 연관하여 논의된 4:2:0 MPEG 포맷에 대하여, CR및 CB값들에 대한 수직 거칠기 인접한 화소 그룹들의 CR및 CB값들간의 평균 수직 차이와 각각 같다). 예컨대, 도 6의 블록 A 와 B의 수평 거칠기 RAh와 RBh는 각각 다음의 공식으로 표현된다.
(1)
(2)
여기서 ay,x는 블록 A의 행 y 와 열 x에 있는 화소의 Y 값이고, by,x는 블록 B의 행 y 와 열 x에 있는 화소의 Y 값이다.
유사하게, 블록 A 와 C 의 수직 거칠기 RAV와 Rcv는 각각 다음의 공식으로 표현된다:
(3)
(4)
여기서, cy,x는 블록 C의 행 y 와 열 x에 있는 화소의 Y 값이다.
또한, 블록 A 와 B 사이의 경계(122)의 수평 경계 거칠기 RAB는 다음의 공식으로 표현된다:
(5)
그래서, RAB는 블록 A의 열 7 과 블록 B의 열 0 에 있는 인접한 화소들의 각 쌍들의 Y 값들 간의 평균 차이와 같다.
마찬가지로, 블록 A 와 C 사이 경계(124)의 수직 경계 거칠기 RAC는 다음의 공식으로 표현된다:
(6)
그래서, RAC는 블록A 의 행 7 과 블록 C의 행 0에 있는 인접한 화소들 쌍의 Y 값들간의 평균 차이와 같다.
실험적으로 판정된 바에 의하면, 수평 경계 거칠기 RAB가 제1 소정량 만큼 수평 거칠기 RAh와 RBh의 평균을 넘으면 수평 경계(122)가 블록키하고, 수직 경계 거칠기 RAC가 제2 소정량 만큼 수직 거칠기 RAV와 RCV의 평균을 넘으면 경계(124)가 블록키하다. 이런 계산을 수행하기 위하여 프로세서(88)는 블록들 A, B, 및 C에 있는 화소들에 대한 평균 Y 값들 PA, PB, PC을 다음의 공식에 따라 계산한다.
(7)
(8)
(9)
프로세서(88)는 다음 방정식이 참일때 블록 A와 B간의 경계(122)가 블록키하다고 확인한다:
(10)
여기서 Th는 실험적으로 판정된 역치 상수이다. 이 실시예의 한 양태에서는 Th 0.05 이다. 더 자세히 말해서 사람의 시각 체계는 실제 거칠기의 정도보다 거칠기의 차이에 더욱 민감하므로, 수평 거칠기 RAh와 RBh의 평균이 수평 경계 거칠기RAB로 부터 Th/2 이상 만큼 다를 경우에만 프로세서(88)는 경계(122)를 여과한다. 식(10)은 다음과 같이 다시 쓰일 수 있다:
(11)
경계값, 즉 경계 거칠기 RAB를 비교값 MAB와 비교하여 경계(122)가 블록키한지 여부를 판단하려면 위 식을 다시 쓰는 것이 편리하다. 이 실시예에서 MAB는 식(11)로 부터 다음과 같이 계산된다:
(12)
그러므로, 이 실시예에서 경계(122)가 다음의 조건이 되면 블록키하다:
(13)
그래서, 경계값, 여기서 수평 경계 거칠기 RAB가 비교값 MAB보다 큰 경우에만 프로세서(88)는 경계(122)를 블록키한 것으로 확인하고 이 경계를 여과한다.
유사하게, 다음의 식이 참일때 프로세서(88)는 블록 A와 C 사이 경계(124)가 블록키하다고 확인하고 이 경계를 여과한다.
(14)
여기서, Tv는 실험적으로 결정된 수직 역치 상수이다.
이 실시예의 한 양태에서 Tv 0.04이다.
식(11)에서와 같이, 경계값, 여기서 경계 거칠기 RAC를 비교값 MAC와 비교하여 경계(124)가 블록키한지 여부를 판단할 수 있으려면 식(15)를 다시 쓰는 것이 편리하다. 이 실시예에서 MAC는 식(15)로 부터 다음과 같이 계산된다:
(15)
그러므로, 이 실시예에서 경계(124)는 다음의 조건이 되면 블록키하다.
(16)
이 실시예에서는 각각의 경계값 RAB와 RAC그리고 비교값 MAB와 MAC가 동일 화상의 두 인접 블록들 내 Y 화소값들의 함수이지만, 다른 실시예에서 이 값들은 동일 프레임의 비인접 블록들 내의 화소값, 비디오 시퀀스에 있는 다른 프레임들의 블록들 내의 화소값, 모션 벡터값, 또는 DCT 계수와 같은 도메인 변환값 등의 다른 데이터들의 함수가 될 수도 있다.
다음에, 블록키한 경계들이 화상에 미치는 바람직하지 못한 영향을 감소시키기 위해 프로세서(88)는 FIR필터와 같은 필터를 이용하여 블록키하다고 확인되는 경계들을 평활하게 만든다. 이 실시예에서 필터는 블록키한 경계와 인접한 화소들의 Y 값에 작용한다. 예컨대, 프로세서(88)가 경계(122)를 블록키하다고 확인하면 경계(122)와 이어진 16 화소들-블록 A의 열 7 내 8 화소들과 블록 B의 열 0내 8 화소들-의 Y 값들을 여과한다. 마찬가지로, 프로세서(88)가 경계(124)를 블록키하다고 확인하면 경계(124)와 이어진 16 화소들-블록 A의 행 7내 8 화소들과 블록 C의 행 0내 8 화소들-의 Y 값들을 여과한다.
더 자세히 말해서 도 7a 및 7b를 보면 이 실시예에서 프로세서(88)는 여과된 화소의 Y 값을 그 Y 값과 경계에 수직한 방향으로 상기 여과된 화소의 양측에 있는 두 인접한 화소들의 Y 값들의 함수와 같도록 설정하는 필터를 이용한다.
도 7a를 참조하면, 경계(122)와 같은 수직 경계에 대하여 상기 여과된 화소의 Y 값 hp1은 그 Y 값과 두 수평 인접 화소들의 Y 값들 hp0 및 hp2의 함수와 같도록 설정된다. 예컨대 경계 화소 a3,7(hp1)의 Y 값을 여과하기 위해, 프로세서(88)는 화소 a3,7의 Y 값을 화소들 a3,6(hp0), a3,7(hp1), 및 b3,0(hp2)의 Y 값들의 함수와 같도록 설정한다. 그리고나서 프로세서(88)는 블록 A의 열 7과 블록 B의 열 0내 다른 화소들 모두의 Y 값들을 유사한 방식으로 여과하여 블록 A의 열 7내 화소들의 Y 값들과 블록 B의 열 0내 각 화소들의 Y 값들 간의 각각의 차이들을 효과적으로 감소시킨다. 즉, 프로세서(88)는 화소들 a7,0.....a7,7의 Y 값들과 각자 화소들 b0,0.....b0,7의 Y 값들 간의 평균 차이를 감소시킴으로써 경계(122)를 평활화시킨다.
마찬가지로, 도 7b를 참조하면 경계(124)와 같은 수평 경계에 대하여 이 여과된 화소의 Y 값 vp1은 그 Y 값과 두 수직 인접 화소들의 Y 값들 vp0 및 vp2의 함수와 같도록 설정한다. 예컨대, 경계 화소 c0,4(vp1)의 Y 값을 여과하기 위해 프로세서(88)는 화소 c0,4의 Y 값을 화소들의 an,4(vp0), c0,4(vp1), 및 c1,4(vp2)의 Y 값들의 함수와 같도록 설정한다. 그리고나서 프로세서(88)는 블록 A의 행 7과 블록 C의 행 0내 다른 화소들 모두의 Y 값들을 유사한 방식으로 여과하여 블록A의 행 7내 화소들의 Y 값들과 블록 C의 행 0내 각자 화소들의 Y 값들 간의 각자 차이를 효과적으로 감소시킨다. 즉, 프로세서(88)는 화소들 a0,7......a7,7의 Y 값들과 각자 화소들 c0,0......c0,7의 Y 값들 간의 평균차이를 감소시킴으로서 경계(124)를 평활화한다.
이 실시예의 한 양태에서, 프로세서는 이 여과된 화소의 Y 값을 그 사전 여과된 Y 값(pre-filtered Y value)과 인접 화소들의 Y 값들의 평균과 같도록 설정하는 평균화 필터(averaging filter)를 이용한다. 예컨대, 이 실시예에서 도 7A 및 도 7B를 참조하면, hp1filtered=(hp0pre-filtered+hp1pre-filtered+hp2pre-filtered)/3 이고 vp1filtered=(vp0pre-filtered+vp1pre-filtered+vp2pre-filtered)/3 이다. 후술하는 대로, 프로세서(88)는 블록들이 여과되는 순서에 의존하는 결과에 도달하지 않도록 프로세서가 여과하는 화소들의 사전 여과된 Y 값들을 이용한다. 결과적으로, 프로세서(88)가 경계의 양측에 있는 인접 화소들을 여과한 후에, 어느 화소도 거기에 인접한 화소들의 여과된 Y 값들의 평균과 같은 여과된 Y 값을 갖지 않는다.
예컨대, 도 6 및 도 7a를 참조하면, 화소 a3,7과 수평 인접 화소 b3,0의 Y 값들의 필터링은 본 발명의 실시예에 따라 경계(122)의 평활화(smoothing)와 관련하여 설명된다. 우선, 프로세서(88)는 화소들 a3,6, a3,7, 및 b3,0에 대한 평균 Y값(hp0, hp1, 및 hp2)을 계산한다. 그리고 프로세서(88)는 온보드 메모리어레이와 같은 일시적 메모리 장소에 a3,7에 대한 최종 여과된 Y 값을 저장한다. 그 다음에 a3,7의 사전 여과된 Y 값을 저장한다. 그 다음에 a3,7의 사전 여과된 값을 사용하여 화소 b3,0의 Y 값(hp1)을 화소들 a3,7, b3,0, 및 b3,1의 평균 Y 값(hp0, hp1, 및 hp2)과 같도록 설정하고 b3,0에 대한 최종 여과된 Y 값을 다른 일시 메모리 장소에 저장한다. 그리고 프로세서(88)는 a3,7및 b3,0에 대한 여과된 Y 값들을 이 화소들의 Y 값들에 대응하는 각자 메모리 장소들에 둔다. 전술한대로, 모든 필터링 계산들에서 사전 여과된 Y 값들을 사용함으로써 필터링의 순서, 즉 블록B내 수평 인접 화소를 여과하기 전 블록 A내 화소를 필터링하는 순서 또는 그 반대 순서는 필터링의 결과에 아무런 영향을 주지 않는다. 그래서, 화소들 a0,7-a7,7및 b0,0-b7,0는 임의 순서로 여과될 수 있다. 또한, a3,7의 여과 중에 a3,7및 b3,0의 사전 여과된 Y 값들이 사용되므로, a3,7의 여과된 Y 값은 Y 값들이 디코드된 화상에 나타나는 a3,7및 b3,0의 여과된 Y 값들과 a3,6의 Y 값의 평균과 같지 않다. 마찬가지로 b3,0의 여과된 Y 값은 b3,1의 Y 값과 a3,7및 b3,0의 여과된 Y 값들의 평균과 같지 않다.
유사하게, 도 6 및 도 7b를 참조하면, 화소 a7,3및 수직 인접화소 c0,3의 Y 값들의 필터링은 본 발명의 실시예에 따라 경계(124)의 평활화와 관련하여 논의된다. 우선, 프로세서(88)는 화소들 a6,3, a7,3및 c0,3에 대한 평균 화소값(vp0, vp1 및 vp2)를 계산한다. 그리고 프로세서(88)는 일시적 메모리 장소에 a7,3에 대한 최종 여과된 화소값을 저장한다. 그 다음에, 화소 a7,3의 사전 여과된 화소값을 사용하여 프로세서(88)는 화소 c0,3의 값(vp1)을 화소들 a7,3, c0,3, 및 c1,3의 평균 화소값(vp0, vp1, 및 vp2)와 같도록 설정한다. 그러므로, 전술한 이유들로 인하여 이 실시예에 의하면 프로세서(88)가 화소들 a7,0-a7,7및 c0,0-c0,7을 임의 순서로 여과할수 있게 된다. 또한, a7,3의 여과된 값은 a6,3의 값과 a7,3및 c0,3의 여과된 값들의 평균과 같지 않고 c0,3의 여과된 값은 c1,3의 값과 a7,3및 c0,3의 여과된 값들의 평균과 같지 않다
도6, 8a, 및 8b를 참조하면,본 발명의 다른 실시예에서 프로세서(88)는 상이한 거칠기와 필터링 계산들을 이용하여 블록키한 경계들을 각각 확인하고 평활화시킨다. 이 실시예와 도7a 및 7b와 연관하여 전술한 이전 실시예 간의 한가지 차이점은, 이 실시예에서는 프로세서(88)가 물체의 뾰족한 가장자리와 블록키한 경계를 더 잘 구분할 수 있다는 것이다. 더우기, 이전 실시예와 같이 이 실시예가 매크로 블록내 경계들과 Y 값들에 대하여 논의되지만, 프로세서(88)는 매크로 블록들 사이의 경계들과 CR및 CB값들에 대해 유사한 방식으로 작용한다.
이 실시예에서, 프로세서(88)는 최소 필터를 이용하여 블록 경계들에서 블록화 성향(blockiness)의 정도를 판단한다, 이 최소 필터는 압축 양자화 오차들에서 비롯되지 않은 거칠기값(roughness value)의 일부를 제거한다. 예컨대, 경계(122)에서 수평 거칠기 RAB는 다음 식으로 표현된다
(17)
즉, 합산의 원소 y=i 는 ay,7-by,0의 절대값(각자, 화소들 ay,7과 by,0의 Y 값들)과 Tqe중 더 작은 것과 같고, Tqe는 실험적으로 결정된 상수이거나 화상의 엔코딩 중에 사용된 양자화 계수와 관련된 적응가능한 변수이다. 예컨대, Tqe가 상수이면 Tqe=30 은 좋은 결과를 주는 것으로 알려졌다. 다른 방안으로, Tqe가 적응가능한 변수이면, Tqe는 가능한 양자화 오차들에 따라 결정된다. 더 자세히 말해서 블록키한 경계들의 주 원인은 DCT 변환의 처음 몇 개 계수들의 양자화에서 생긴 오차들이라는 것이 밝혀졌다. 도2와 관련하여 전술한 대로, 양자화 회로(38)는 DCT 회로(36)로 부터 이 계수들을 양자화하여, 특정 화소 블록을 엔코드하는데 필요한 데이터 비트들의 수를 감소시킨다. 양자화 회로(38)는 각자의 양자화 값을 화소 블록을 나타내는 DCT 계수들 각각에 부여한다. 어떤 응용들에서, 양자화기(38)는 특정 블록 내 시각적 세부사항(visual detail)의 정도와 같은 특성들에 의존하여 블록마다 양자화 값을 달리한다. 다른 응용들에서 양자화 값들은 고정된다. 그러므로 Tqe는 문제의 경계와 인접한 두 블록들 각각에 대한 처음 3개 양자화 값들의 함수이고, 이 실시예의 한 양태에서 Tqe는 다음 식으로 표현된다.
(18)
여기서 qA0-qA2와 qB0-qB2는 각각 블록 A와 B의 엔코딩 중에 사용된 처음 3개 양자화 값들이다.
유사한 방식으로,경계(124)에서의 수직 거칠기 RAC는 다음 식으로 표현된다.
(19)
여기서, Tqe는 상수이거나 다음 식으로 표현될 수 있다.
(20)
여기서, qCO-qC2는 블록 C의 엔코딩 중에 사용된 처음 3개 양자화 값들이다. 프로세서(88)는 또한 다른 방식으로 블록 내 수평 거칠기와 수직 거칠기를 계산한다. 앞의 실시예에서는 블록키한 경계를 확인하기 위하여 프로세서(88)는 블록 내 수평 그리고 수직 인접 화소들 모두의 값들 간 수평 및 수직 차이들을 각각 평균화함으로써 블록 내 수평 및 수직 거칠기를 계산한다. 그러나 이 실시예에서는 블록내 모든 화소의 값들에 대한 평균 수평 및 수직 차이들을 계산하지 않고 프로세서(88)는 블록 경계에 인접한 2 정렬(alignments)(행 또는 열) 내의 화소들의 값들에 대해서만 이들 평균 차이들을 계산한다. 따라서 블록 A의 수평 거칠기 RAh는 다음 식으로 표현된다.
(21)
그래서, RAh의 계산은 블록 A의 마지막 두 개의 열 6 및 7 내 수평 인접 화소들의 Y 값들 간의 차이의 절대값 평균을 취함으로써 단순화된다. 유사한 방식으로 블록 B의 수평 거칠기 RBh는 다음 식으로 표현된다.
(22)
그래서, RBh의 계산은 블록 B의 처음 2 열 0 과 1 내 수평 인접 화소들의 Y 값들 간의 차이의 절대값 평균을 취함으로써 단순화된다.
유사하게, 블록 A 및 C의 수직 거칠기 RAV및 RCV는 각각 다음 식으로 표현된다:
(23)
(24)
프로세서(88)는 다음 식이 참이면 경계(122)가 블록키하다고 확인한다:
(25)
그러므로, 이 실시예에서 비교값 MAB는 식(25)의 우변과 같다. 또한, F 및 Tbd는 실험적으로 결정되고, MAX(RAh,RBh)는 RAh및 RBh중 더 큰 것과 같다. 예컨대,F=1.4 와 Tbd=8 은 다른 값들이 사용될 수도 있지만 양호한 결과를 내는 것으로 알려졌다.
마찬가지로, 프로세서(88)는 다음 식이 참이면 경계(124)가 블록키하다고 확인한다.
(26)
여기서, 비교값 MAC는 식(26)의 우변과 같고, 다른 값들이 사용될 수 있지만 F=1.4 및 Tbd=8일 때 양호하게 동작한다.
도 8a 및 8b 를 참조하면, 이 실시예에서 프로세서(88)는 도 7a 및 7b와 연관하여 위에서 논의된 평균화 필터와는 다른 필터를 이용한다. 더 자세히 말해서 프로세서(88)는 경계 양측 의 두 화소들씩, 경계에 인접한 4개 화소들의 값들에 작용하는 필터를 이용한다. 예컨대, 도 8a를 참조하면 제1 블록의 두 화소들 hpo와 hp1이 수직경계(130)의 일측에 있고 제2 블록의 두 화소들 hp2 와 hp4가 경계(130)의 타측에 있는 데, 프로세서(88)는 hp0-hp3의 사전 여과된 값들의 4개의 함수들 fh0-fh3에 기초하여 hp0-hp3의 값들을 여과한다. 마찬가지로, 도 8b를 참조하면, 제1 블록의 두 화소들 vp0 및 vp1이 수평경계(132)의 일측에 있고, 제2 블록의 두 화소들 vp0 및 vp4가 경계(132)의 타측에 있는데, 프로세서(88)는 vp0-vp3의 사전 여과된 값들의 4개의 함수 fv0-fv3에 기초하여 vp0-vp3의 값들을 여과한다.
예컨대, 도 6 및 도 8a 를 참조하면, 한 실시예에서 경계(122)가 블록키하면프로세서(88)는 다음 식에 따라 y=0,1,2,3,...,7(블록 A의 열 6)에 대한 화소들 ay,6의 Y 값들을 여과한다.
(27)
여기서, a′y,6는 화소 hp0의 여과된 Y 값 즉 hp0filtered에 대응하고, a(y,6)pre-filtered,a(y,7)pre-filtered,b(y,o)pre-filtered,및 b(y,1)pre-filtered는 화소들 hp0-hp3의 사전여과된 Y값들 즉, 도8a의 hp0pre-filtered, hp1pre-filtered,hp2pre-filtered,및 hp3pre-filtered에 각각 대응한다. 그래서 a, y,6는 화소 ay,6의 여과된 Y 값과 같다.
유사하게, 프로세서(88)는 다음 식에 따라 y=0,1,2,...,7에 대해 화소들 ay,7(블록 A의 열7), by,0(블록 B의 열0), 및 by,1(블록 B의 열1)의 Y 값들을 여과한다.
(28)
(29)
(30)
여기서, a'y,7는 hp1filtered에 대응하고 그래서 화소 ay,7의 여과된 Y 값과 같고, b'y,0는 hp2filtered에 대응하고 그래서 화소 by,0의 여과된 Y 값과 같고, b, y,1는 hp3filtered에 대응하고 그래서 화소 by,1의 여과된 Y 값과 같다.
마찬가지로, 도 6 및 도 8b를 참조하면, 경계(124)가 블록키하면 프로세서(88)가 다음 식에 따라 x=0,1,2,3,...,7(블록 A의 행6)에 대해 화소들 a6,x의 값들을 여과한다.
(31)
여기서, a'6,x는 화소 vp0, 즉 vp0filtered의 여과된 Y 값에 대응하고, a(6,x)pre-filtered,a(7,x)pre-filtered, c(0,x)pre-filtered,및 c(1,x)pre-filtered는 화소들 vp0-vp3의 사전여과된 Y값들 즉 도8b의 vp0pre-filtered, vp2pre-filtered, 및 vp3pre-filtered에각각 대응한다. 그래서 a, 6,x는 화소 a6,x의 여과된 값과 같다.
유사하게, 프로세서(88)는 다음식에 따라 x=0,1,2,..,7에 대해 화소 a7,x(블록 A의 행 7), c0,x(블록 C의 행 0), 및 c1,x(블록 C의 행 1)의 값들을 여과한다:
(32)
(33)
(34)
여기서, a'7,x는 vp1filtered에 대응하고 그래서 화소 a7,x의 여과된 Y 값과 같고, c'0,x는 vp2filtered에 대응하고 그래서 화소 c0,x의 여과된 Y 값과 같고, c'1,x는 vp3filtered에 대응하고 그래서 화소 c1,x의 여과된 Y 값과 같다.
상기 필터링 식을 구현하기 위해 프로세서(88)는 통상적으로 여과되는 화소들의 사전 여과 값들을 저장한다.
전술한 바로 부터 예시할 목적으로 본 발명의 특정 실시예들이 설명되었지만, 본 발명의 정신과 범위에서 벗어나지 않는 한도 내에서 여러가지 변형이 이루어질 수 있다.

Claims (88)

  1. 프로세서를 포함하는 화상처리 회로에 있어서,
    상기 프로세서가
    화상의 최소한 하나의 부분을 수신하고, 상기 부분은 하나의 경계(boundary)와 상기 경계의 대향 측에 각각 위치하고 상호 인접한 제1 및 제2 화소를 포함하고, 상기 제1 및 제2 화소들은 각각 제1 및 제2 화소 값을 가지며;
    상기 제1 및 제2 화소 값들로부터 경계값을 발생시키고;
    상기 경계값을 비교값과 비교하고;
    상기 경계값이 상기 비교값과 특정한 관계를 가지면 상기 제1 화소 값과 상기 제2 화소 값의 차이를 감소시키는 동작을 실행할 수 있는 화상처리 회로.
  2. 제1항에 있어서,
    상기 프로세서가 상기 경계값이 상기 비교값보다 큰 경우에 상기 제1 화소 값과 상기 제2 화소 값의 차이를 감소시킬 수 있는 화상처리 회로.
  3. 제1항에 있어서,
    상기 경계값이 상기 제1 화소 값과 상기 제2 화소 값의 차이와 동일한 화상처리 회로.
  4. 제1항에 있어서,
    상기 경계값이 소정의 값 또는 상기 제1 화소 값과 상기 제2 화소 값의 차이의 절대값 중 작은 값과 동일한 화상처리 회로.
  5. 제1항에 있어서,
    상기 경계값이 상기 경계의 거칠기(roughness)를 나타내는 값과 동일한 화상처리 회로.
  6. 제1항에 있어서,
    상기 화상이 상기 경계의 대향 측에 위치한 인접한 제1 및 제2 화소 블록을 포함하고, 상기 제1 및 제2 화소는 각각 상기 제1 및 제2 화소 블록 내에 위치하는 화상처리 회로.
  7. 제1항에 있어서,
    상기 화상이 각각 값을 가지는 제3 및 제4 화소를 포함하고, 상기 제3 화소는 상기 경계에 대하여 상기 제1 화소와 동일한 측에 상기 제1 화소와 인접하여 위치하고 상기 제4 화소는 상기 경계에 대하여 상기 제2 화소와 동일한 측에 상기 제2 화소와 인접하여 위치하고,
    상기 프로세서는 상기 제1 화소 값을 상기 제1, 제2 및 제3 화소의 값들의 평균값으로 설정하고 상기 제2 화소 값을 상기 제1, 제2 및 제4 화소의 값들의 평균값으로 설정하여 상기 제1 화소 값과 상기 제2 화소 값의 차이를 감소시킬 수 있는 화상처리 회로.
  8. 제1항에 있어서,
    상기 화상이 각각 값을 가지는 제3 및 제4 화소를 포함하고, 상기 제3 화소는 상기 경계에 대하여 상기 제1 화소와 동일한 측에 상기 제1 화소와 인접하여 위치하고 상기 제4 화소는 상기 경계에 대하여 상기 제2 화소와 동일한 측에 상기 제2 화소와 인접하여 위치하고,
    상기 프로세서는,
    상기 제1 화소 값을 상기 제3 화소 값과 제1 팩터의 곱, 상기 제1 화소 값과 제2 팩터의 곱, 상기 제2 화소 값과 제3 팩터의 곱 및 상기 제4 화소 값과 제4 팩터의 곱의 합으로 설정하고,
    상기 제2 화소 값을 상기 제3 화소 값과 제5 팩터의 곱, 상기 제1 화소 값과 제6 팩터의 곱, 상기 제2 화소 값과 제7 팩터의 곱 및 상기 제4 화소 값과 제8 팩터의 곱의 합으로 설정하여 상기 제1 화소 값과 상기 제1 화소 값의 차이를 감소시킬 수 있는 화상처리 회로.
  9. 제1항에 있어서,
    상기 화상이 각각 값을 가지는 제3 및 제4 화소를 포함하고, 상기 제3 화소는 상기 경계에 대하여 상기 제1 화소와 동일한 측에 상기 제1 화소와 인접하여 위치하고 상기 제4 화소는 상기 경계에 대하여 상기 제2 화소와 동일한 측에 상기 제2 화소와 인접하여 위치하고,
    상기 프로세서는,
    상기 제1 화소 값을 상기 제3 화소 값과 제1 팩터의 곱, 상기 제1 화소 값과 제2 팩터의 곱, 상기 제2 화소 값과 제3 팩터의 곱 및 상기 제4 화소 값과 제4 팩터의 곱의 합으로 설정하고,
    상기 제2 화소 값을 상기 제3 화소 값과 제5 팩터의 곱, 상기 제1 화소 값과 제6 팩터의 곱, 상기 제2 화소 값과 제7 팩터의 곱 및 상기 제4 화소 값과 제8 팩터의 곱의 합으로 설정하여 상기 제1 화소 값과 상기 제2 화소 값의 차이를 감소시킬 수 있고,
    상기 프로세서는,
    상기 제3 화소 값을 상기 제3 화소 값과 제9 팩터의 곱, 상기 제1 화소 값과 제10 팩터의 곱, 상기 제2 화소 값과 제11 팩터의 곱 및 상기 제4 화소 값과 제12 팩터의 곱의 합으로 설정하고,
    상기 제4 화소 값을 상기 제3 화소 값과 제13 팩터의 곱, 상기 제1 화소 값과 제14 팩터의 곱, 상기 제2 화소 값과 제15 팩터의 곱 및 상기 제4 화소 값과 제16 팩터의 곱의 합으로 설정하여 상기 제1 화소 값과 상기 제4 화소 값의 차이 및 상기 제2 화소 값과 상기 제3 화소 값의 차이를 감소시킬 수 있는 화상처리 회로.
  10. 제1항에 있어서,
    상기 제1 및 제2 화소 값들이 각각 휘도(luminance) 값을 포함하는 화상처리 회로.
  11. 하나의 경계와 상기 경계의 대향 측에 인접하여 위치하고 각각 제1 및 제2 화소 값을 가지는 제1 및 제2 화소를 포함하는 화상의 최소한 일부를 저장할 수 있는 저장 회로; 및
    상기 저장 회로에 결합되어 있고, 상기 제1 및 제2 화소 값들로부터 하나의 경계값을 발생시키고, 상기 경계값을 하나의 비교값과 비교하고, 상기 경계값이 상기 비교값과 특정한 관계를 가지면 상기 제1 화소 값과 상기 제2 화소의 차이를 감소시키는 동작을 실행할 수 있는 프로세서를 포함하는 화상처리 회로.
  12. 제11항에 있어서,
    상기 프로세서가 상기 경계값이 상기 비교값보다 큰 경우에 상기 제1 화소 값과 상기 제2 화소 값의 차이를 감소시킬 수 있는 화상처리 회로.
  13. 제11항에 있어서,
    상기 경계값이 상기 제1 화소 값과 상기 제2 화소 값의 차이와 동일한 화상처리 회로.
  14. 제11항에 있어서,
    상기 경계값이 상기 경계의 거칠기를 나타내는 값과 동일한 화상처리 회로.
  15. 제11항에 있어서,
    상기 화상이 상기 경계의 대향 측에 위치한 인접한 제1 및 제2 화소 블록을 포함하고, 상기 제1 및 제2 화소는 각각 상기 제1 및 제2 화소 블록 내에 위치하는 화상처리 회로.
  16. 제11항에 있어서,
    상기 제1 화소 값과 상기 제2 화소 값들이 각각 휘도 값을 포함하는 화상처리 회로.
  17. 하나의 경계와 상기 경계의 대향 측에 인접하여 위치한 제1 및 제2 화소 블록을 포함하고, 각각의 상기 화소 블록은 정렬(alignments) 또는 직교 정렬(orthogonal alignments)로 배열되고 각기 값을 가지는 화소들을 포함하고, 상기 제1 화소 블록의 제1 정렬 내의 각 화소는 상기 제2 블록의 제1 정렬 내의 각 화소와 인접되어 있는, 화상의 최소한 일부를 저장할 수 있는 저장 회로; 및
    상기 저장회로에 결합되어 있고, 상기 제1 및 제2 화소 블록들의 상기 제1 정렬 내에 있는 화소들의 값들로부터 하나의 경계값을 발생시키고, 상기 경계값을 하나의 비교값과 비교하고, 상기 경계값이 상기 비교값과 특정한 관계를 가지면 상기 제1 블록의 상기 제1 정렬 내의 제1 화소의 값과 상기 제2 블록의 상기 제1 정렬 내의 제1 화소의 값의 차이를 감소시키는 동작을 실행할 수 있는 프로세서를 포함하는 화상처리 회로.
  18. 제17항에 있어서,
    상기 제1 및 제2 화소 블록의 상기 화소 정렬들이 각각 화소들의 열(column)과, 각각 화소들의 행(row)를 포함하는 상기 제1 및 제2 블록들의 직교 화소 정렬들을 포함하는 화상처리 회로.
  19. 제17항에 있어서,
    상기 제1 및 제2 화소 블록들의 상기 화소 정렬들이 각각 화소들의 행과, 각각 화소들의 열을 포함하는 상기 제1 및 제2 블록들의 직교 화소 정렬들을 포함하는 화상처리 회로.
  20. 제17항에 있어서,
    상기 경계값이 상기 제1 블록의 상기 제1 정렬 내의 상기 화소들의 값들과 상기 제2 블록의 상기 제1 정렬 내의 각 화소들의 값들의 평균 차이와 동일한 화상처리 회로.
  21. 제17항에 있어서,
    상기 비교값이 상기 제1 블록의 상기 동일 직교 정렬 내의 2개의 인접한 화소들의 값들의 평균 차이 및 상기 제2 블록의 동일한 상기 직교 정렬 내의 2개의 인접한 화소들의 값들의 평균 차이의 함수인 화상처리 회로.
  22. 제17항에 있어서,
    상기 비교값이 상기 제1 블록 내의 상기 화소들의 평균값 및 상기 제2 블록 내의 상기 화소들의 평균값의 함수인 화상처리 회로.
  23. 제17항에 있어서,
    상기 프로세서가
    상기 제1 블록의 상기 직교 정렬들 내의 인접한 화소들의 값들 간의 각 차이와 상기 제2 블록의 상기 직교 정렬들 내의 인접한 화소들의 값들 간의 각 차이를 계산하고;
    상기 제1 블록으로부터의 차이들의 상기 합을 상기 제1 블록으로부터의 차이들의 수로 나눈 값과 동일하게 제1 블록 평균 화소 차이를 계산하고;
    상기 제2 블록으로부터의 차이들의 상기 합을 상기 제2 블록으로부터의 차이들의 수로 나눈 값과 동일하게 제2 블록 평균 화소 차이를 계산하고;
    상기 제1 블록 내의 상기 화소들의 값들의 합을 상기 제1 블록 내의 상기 화소들의 수로 나눈 값과 동일하게 제1 블록 평균 화소 값을 계산하고;
    상기 제2 블록 내의 상기 화소들의 값들의 합을 상기 제2 블록 내의 상기 화소들의 수로 나눈 값과 동일하게 제2 블록 평균 화소 값을 계산하고;
    상기 제1 및 제2 블록 평균 화소 차이들의 합에 제1 팩터를 곱한 값과 상기 제1 및 제2 블록 평균 화소 값들의 합에 제2 팩터를 곱한 값 차이와 동일한 상기 비교값을 계산할 수 있는 화상처리 회로.
  24. 제17항에 있어서,
    상기 프로세서가
    상기 제1 블록의 상기 직교 정렬들 내의 인접한 화소들의 값들 간의 각 차이와 상기 제2 블록의 상기 직교 정렬들 내의 인접한 화소들의 값들 간의 각 차이를 계산하고;
    상기 제1 블록으로부터의 차이들의 상기 합을 상기 제1 블록으로부터의 차이들의 수로 나눈 값과 동일하게 제1 블록 평균 화소 차이를 계산하고;
    상기 제2 블록으로부터의 차이들의 상기 합을 상기 제2 블록으로부터의 차이들의 수로 나눈 값과 동일하게 제2 블록 평균 화소 차이를 계산하고;
    상기 제1 블록 내의 상기 화소들의 값들의 합을 상기 제1 블록 내의 상기 화소들의 수로 나눈 값과 동일하게 제1 블록 평균 화소 값을 계산하고;
    상기 제2 블록 내의 상기 화소들의 값들의 합을 상기 제2 블록 내의 상기 화소들의 수로 나눈 값과 동일하게 제2 블록 평균 화소 값을 계산하고;
    상기 제1 및 제2 블록 평균 화소 차이들의 합의 절반과 상기 제1 및 제2 블록 평균 화소 값들의 합의 0.02배와의 차이의 절대값과 동일하게 상기 비교값을 계산할 수 있는 화상처리 회로.
  25. 제17항에 있어서,
    상기 프로세서가
    상기 제1 블록의 상기 직교 정렬들 내의 인접한 화소들의 값들 간의 각 차이와 상기 제2 블록의 상기 직교 정렬들 내의 인접한 화소들의 값들 간의 각 차이를 계산하고;
    상기 제1 블록으로부터의 차이들의 상기 합을 상기 제1 블록으로부터의 차이들의 수로 나눈 값과 동일하게 제1 블록 평균 화소 차이를 계산하고;
    상기 제2 블록으로부터의 차이들의 상기 합을 상기 제2 블록으로부터의 차이들의 수로 나눈 값과 동일하게 제2 블록 평균 화소 차이를 계산하고;
    상기 제1 블록 내의 상기 화소들의 값들의 합을 상기 제1 블록 내의 상기 화소들의 수로 나눈 값과 동일하게 제1 블록 평균 화소 값을 계산하고;
    상기 제2 블록 내의 상기 화소들의 값들의 합을 상기 제2 블록 내의 상기 화소들의 수로 나눈 값과 동일하게 제2 블록 평균 화소 값을 계산하고;
    상기 제1 및 제2 블록 평균 화소 차이들의 합에 제1 상수를 곱한 값과 상기 제1 및 제2 블록 평균 화소 값들의 합에 제2 상수를 곱한 값과의 차이와 동일한 상기 비교값을 계산하고;
    상기 경계값이 상기 비교값보다 큰 경우, 상기 제1 블록의 상기 제1 정렬 내의 상기 화소들의 값들과 상기 제2 블록의 상기 제1 정렬 내의 각 화소들의 값들간의 평균 차이를 감소시킬 수 있는 화상처리 회로.
  26. 제17항에 있어서,
    상기 제1 블록이 상기 제1 블록의 상기 제1 정렬 내의 상기 제1 화소와 인접한 제2 화소를 포함하는 화소들의 제2 정렬을 포함하고;
    상기 제2 블록이 상기 제2 블록의 상기 제1 정렬 내의 상기 제1 화소와 인접한 제2 화소를 포함하는 화소들의 제2 정렬을 포함하고;
    상기 프로세서가 상기 제1 블록 내의 상기 제1 화소의 값을 상기 제1 블록의 상기 제1 및 제2 화소들과 상기 제2 블록 내의 상기 제1 화소의 값들의 평균과 동일하게 설정하고, 상기 제2 블록 내의 상기 제1 화소의 값을 상기 제1 블록의 상기 제1 화소와 상기 제2 블록 내의 상기 제1 및 제2 화소들의 값들의 평균과 동일하게 설정하여 상기 제1 및 제2 블록들 내의 상기 제1 화소의 값들의 차이를 감소시킬 수 있는 화상처리 회로.
  27. 제17항에 있어서,
    상기 제1 블록이 상기 제1 블록의 상기 제1 정렬 내의 상기 제1 화소와 인접한 제2 화소를 포함하는 화소들의 제2 정렬을 포함하고,
    상기 제2 블록은 상기 제1 블록의 상기 제1 정렬 내의 상기 제1 화소와 인접한 제2 화소를 포함하는 화소들의 제2 정렬을 포함하고,
    상기 프로세서가 상기 제1 블록 내의 상기 제1 화소의 값을 상기 제1 블록의상기 제1 및 제2 화소들과 상기 제2 블록 내의 상기 제1 화소의 값들의 평균과 동일하게 설정하고, 상기 제1 블록 내의 상기 제1 화소의 상기 결과 값을 저장하고, 상기 제2 블록 내의 상기 제1 화소의 값을 상기 제1 블록의 상기 제1 화소와 상기 제2 블록 내의 상기 제1 및 제2 화소들의 값들의 평균과 동일하게 설정하고, 상기 제2 블록 내의 상기 제1 화소의 상기 결과 값을 저장하여 상기 제1 및 제2 블록들 내의 상기 제1 화소의 값들의 차이를 감소시킬 수 있는 화상처리 회로.
  28. 제17항에 있어서,
    상기 제1 블록이 상기 제1 블록의 상기 제1 정렬 내의 상기 제1 화소와 인접한 제2 화소를 포함하는 화소들의 제2 정렬을 포함하고,
    상기 제2 블록은 상기 제1 블록의 상기 제1 정렬 내의 상기 제1 화소와 인접한 제2 화소를 포함하는 화소들의 제2 정렬을 포함하고,
    상기 프로세서가 상기 제2 블록 내의 상기 제1 화소의 값을 상기 제1 블록의 상기 제1 화소와 상기 제2 블록 내의 상기 제1 및 제2 화소들의 값들의 평균과 동일하게 변경하고, 상기 제2 블록 내의 상기 제1 화소의 상기 결과 값을 저장하고, 상기 제1 블록 내의 상기 제1 화소의 값을 상기 제1 블록의 상기 제1 및 제2 화소들과 상기 제2 블록 내의 상기 제2 화소의 값들의 평균과 동일하게 변경하고, 상기 제2 블록 내의 상기 제1 화소의 상기 결과 값을 저장하여 상기 제1 및 제2 블록들 내의 상기 제1 화소의 값들의 차이를 감소시킬 수 있는 화상처리 회로.
  29. 하나의 경계와 상기 경계의 대향 측에 인접하여 위치한 제1 및 제2 화소 블록을 포함하고, 상기 제1 및 제2 화소 블록은 각각 소정의 값을 가지는 화소들의 제1 및 제2 정렬을 포함하고, 상기 제1 화소 블록의 제1 정렬 내의 각 화소는 상기 제2 블록의 제1 정렬 내의 각 화소와 인접되어 있는, 화상의 최소한 일부를 저장할 수 있는 저장 회로; 및
    상기 저장회로에 결합되어 있고, 상기 제1 및 제2 화소 블록들의 상기 제1 정렬 내에 있는 화소들의 값들로부터 하나의 경계값을 발생시키고, 상기 경계값을 하나의 비교값과 비교하고, 상기 경계값이 상기 비교값과 특정한 관계를 가지면 상기 제1 블록의 상기 제1 정렬 내의 제1 화소의 값과 상기 제2 블록의 상기 제1 정렬 내의 제1 화소의 값의 차이를 감소시키는 동작을 실행할 수 있는 프로세서를 포함하는 화상처리 회로.
  30. 제29항에 있어서,
    상기 경계값이 예정된 값 또는 상기 제1 블록의 상기 제1 정렬 내의 상기 화소들의 값들과 상기 제2 블록 내의 상기 제1 정렬 내의 각 화소들의 값들 간의 평균 차이 중 최소값과 동일한 화상처리 회로.
  31. 제29항에 있어서,
    상기 경계값이 하나의 상수 또는 상기 제1 블록의 상기 제1 정렬 내의 상기 화소들의 값들과 상기 제2 블록 내의 상기 제1 정렬 내의 각 화소들의 값들 간의평균 차이 중 최소값과 동일한 화상처리 회로.
  32. 제29항에 있어서,
    상기 경계값이 하나의 예정된 값 또는 상기 제1 블록의 상기 제1 정렬 내의 상기 화소들의 값들과 상기 제2 블록 내의 상기 제1 정렬 내의 각 화소들의 값들 간의 평균 차이 중 최소 값과 동일하고, 상기 예정된 값이 상기 화상의 엔코딩 동안에 실행된 양자화(quantization)의 함수인 화상처리 회로.
  33. 제29항에 있어서,
    상기 비교값이 상기 제1 블록의 상기 제1 정렬 및 상기 제2 정렬에 각각 속하는 2개의 인접한 화소들의 값들의 평균 차이 또는 상기 제2 블록의 상기 제1 정렬 및 상기 제2 정렬에 각각 속하는 2개의 인접한 화소들의 값들의 평균 차이 중 큰 값의 함수인 화상처리 회로.
  34. 제29항에 있어서,
    상기 프로세서가
    상기 제1 블록의 상기 제1 정렬 내의 화소들의 값들과 상기 제1 블록의 상기 제2 정렬 내의 상기 인접한 화소들의 값들의 각 차이들을 계산하고, 상기 제2 블록의 상기 제1 정렬 내의 화소들의 값들과 상기 제2 블록의 상기 제2 정렬 내의 상기 인접한 화소들의 값들의 각 차이들을 계산하며;
    상기 제1 블록으로부터의 차이들의 합을 상기 제1 블록으로부터의 차이들의 수로 나눈 값과 동일한 제1 블록 평균 화소 차이를 계산하고;
    상기 제2 블록으로부터의 차이들의 합을 상기 제2 블록으로부터의 차이들의 수로 나눈 값과 동일한 제2 블록 평균 화소 차이를 계산하고;
    상기 제1 및 제2 블록 평균 화소 차이들 중 큰 값과 동일한 상기 비교값을 계산할 수 있는 화상처리 회로.
  35. 제29항에 있어서,
    상기 프로세서가
    상기 제1 블록의 상기 제1 정렬 내의 화소들의 값들과 상기 제1 블록의 상기 제2 정렬 내의 상기 인접한 화소들의 값들의 각 차이들을 계산하고, 상기 제2 블록의 상기 제1 정렬 내의 화소들의 값들과 상기 제2 블록의 상기 제2 정렬 내의 상기 인접한 화소들의 값들의 각 차이들을 계산하며;
    상기 제1 블록으로부터의 차이들의 합을 상기 제1 블록으로부터의 차이들의 수로 나눈 값과 동일한 제1 블록 평균 화소 차이를 계산하고;
    상기 제2 블록으로부터의 차이들의 합을 상기 제2 블록으로부터의 차이들의 수로 나눈 값과 동일한 제2 블록 평균 화소 차이를 계산하고;
    제1 예정된 값과, 상기 제1 및 상기 제2 블록 평균 화소 차이들 중 큰 값에 제2 예정된 값을 곱한 값의 합과 동일한 상기 비교값을 계산할 수 있는 화상처리 회로.
  36. 제29항에 있어서,
    상기 프로세서가
    상기 제1 블록의 상기 제1 정렬 내의 화소들의 값들과 상기 제1 블록의 상기 제2 정렬 내의 상기 인접한 화소들의 값들의 각 차이들을 계산하고, 상기 제2 블록의 상기 제1 정렬 내의 화소들의 값들과 상기 제2 블록의 상기 제2 정렬 내의 상기 인접한 화소들의 값들의 각 차이들을 계산하며;
    상기 제1 블록으로부터의 차이들의 합을 상기 제1 블록으로부터의 차이들의 수로 나눈 값과 동일한 제1 블록 평균 화소 차이를 계산하고;
    상기 제2 블록으로부터의 차이들의 합을 상기 제2 블록으로부터의 차이들의 수로 나눈 값과 동일한 제2 블록 평균 화소 차이를 계산하고;
    8에 상기 제1 및 상기 제2 블록 평균 화소 차이들 중 큰 값에 1.4를 곱한 값을 더한 값과 동일한 상기 비교값을 계산할 수 있는 화상처리 회로.
  37. 제29항에 있어서,
    상기 경계값이 상기 비교값보다 큰 경우에, 상기 프로세서가 상기 제1 블록의 상기 제1 정렬 내의 상기 제1 화소의 값과 상기 제2 블록의 상기 제1 정렬 내의 상기 제1 화소의 값과의 차이를 감소시킬 수 있는 화상처리 회로.
  38. 제29항에 있어서,
    상기 제1 블록의 상기 제2 정렬이 상기 제1 블록의 상기 제1 정렬 내의 상기 제1 화소와 인접한 제2 화소를 포함하고;
    상기 제2 블록의 상기 제2 정렬이 상기 제2 블록의 상기 제1 정렬 내의 상기 제1 화소와 인접한 제2 화소를 포함하고;
    상기 프로세서가,
    상기 제1 블록 내의 상기 제1 및 제2 화소들의 값과 상기 제2 블록 내의 상기 제1 및 제2 화소들의 값을 저장하고;
    상기 제1 블록 내의 상기 제1 화소의 값을 상기 제1 블록 내의 상기 제2 화소의 값에 제1 값을 곱한 값과, 상기 제1 블록 내의 상기 제1 화소의 값에 제2 값을 곱한 값, 상기 제2 블록 내의 상기 제1 화소의 값에 제3 값을 곱한 값 및 상기 제2 블록 내의 상기 제2 화소의 상기 값에 제4 값을 곱한 값을 합한 값과 동일하게 설정하고;
    상기 제2 블록 내의 상기 제1 화소의 값을 상기 제1 블록 내의 상기 제2 화소의 값에 제5 값을 곱한 값과, 상기 제1 블록 내의 상기 제1 화소의 상기 값에 제6 값을 곱한 값, 상기 제2 블록 내의 상기 제1 화소의 값에 제7 값을 곱한 값 및 상기 제2 블록 내의 상기 제2 화소의 상기 값에 제8 값을 곱한 값을 합한 값과 동일하게 설정하여, 상기 제1 및 제2 블록의 상기 제1 정렬 내의 상기 제1 화소들의 값들 간의 차이를 감소시킬 수 있는 화상처리 회로.
  39. 제29항에 있어서,
    상기 제1 블록의 상기 제2 정렬이 상기 제1 블록의 상기 제1 정렬 내의 상기 제1 화소와 인접한 제2 화소를 포함하고;
    상기 제2 블록의 상기 제2 정렬이 상기 제2 블록의 상기 제1 정렬 내의 상기 제1 화소와 인접한 제2 화소를 포함하고;
    상기 프로세서가,
    상기 제1 블록 내의 상기 제1 및 제2 화소들의 값과 상기 제2 블록 내의 상기 제1 및 제2 화소들의 값을 저장하고;
    상기 제1 블록 내의 상기 제1 화소의 상기 값을 상기 제1 블록 내의 상기 제2 화소의 값에 제1 값을 곱한 값과, 상기 제1 블록 내의 상기 제1 화소의 상기 값에 제2 값을 곱한 값, 상기 제2 블록 내의 상기 제1 화소의 값에 제3 값을 곱한 값 및 상기 제2 블록 내의 상기 제2 화소의 상기 값에 제4 값을 곱한 값을 합한 값과 동일하게 설정하고;
    상기 제2 블록 내의 상기 제1 화소의 상기 값을 상기 제1 블록 내의 상기 제2 화소의 값에 상기 제4 값을 곱한 값과, 상기 제1 블록 내의 상기 제1 화소의 상기 값에 상기 제3 값을 곱한 값, 상기 제2 블록 내의 상기 제1 화소의 값에 상기 제2 값을 곱한 값 및 상기 제2 블록 내의 상기 제2 화소의 상기 값에 상기 제1 값을 곱한 값을 합한 값과 동일하게 설정하여, 상기 제1 및 제2 블록의 상기 제1 정렬 내의 상기 제1 화소들의 값들 간의 차이를 감소시킬 수 있는 화상처리 회로.
  40. 제29항에 있어서,
    상기 제1 블록의 상기 제2 정렬이 상기 제1 블록의 상기 제1 정렬 내의 상기 제1 화소와 인접한 제2 화소를 포함하고;
    상기 제2 블록의 상기 제2 정렬이 상기 제2 블록의 상기 제1 정렬 내의 상기 제1 화소와 인접한 제2 화소를 포함하고;
    상기 프로세서가,
    상기 제1 블록 내의 상기 제1 및 제2 화소들의 값과 상기 제2 블록 내의 상기 제1 및 제2 화소들의 값을 저장하고;
    상기 제1 블록 내의 상기 제1 화소의 상기 값을 상기 제1 블록 내의 상기 제2 화소의 값에 0.25를 곱한 값과, 상기 제1 블록 내의 상기 제1 화소의 상기 값에 0.35를 곱한 값, 상기 제2 블록 내의 상기 제1 화소의 값에 0.26을 곱한 값 및 상기 제2 블록 내의 상기 제2 화소의 상기 값에 0.14를 곱한 값을 합한 값과 동일하게 설정하고;
    상기 제2 블록 내의 상기 제1 화소의 상기 값을 상기 제1 블록 내의 상기 제2 화소의 값에 0.14를 곱한 값과, 상기 제1 블록 내의 상기 제1 화소의 상기 값에 0.26을 곱한 값, 상기 제2 블록 내의 상기 제1 화소의 값에 0.35를 곱한 값 및 상기 제2 블록 내의 상기 제2 화소의 상기 값에 0.25를 곱한 값을 합한 값과 동일하게 설정하여, 상기 제1 및 제2 블록의 상기 제1 정렬 내의 상기 제1 화소들의 값들 간의 차이를 감소시킬 수 있는 화상처리 회로.
  41. 제29항에 있어서,
    상기 제1 블록의 상기 제2 정렬이 상기 제1 블록의 상기 제1 정렬 내의 상기 제1 화소와 인접한 제2 화소를 포함하고;
    상기 제2 블록의 상기 제2 정렬이 상기 제2 블록의 상기 제1 정렬 내의 상기 제1 화소와 인접한 제2 화소를 포함하고;
    상기 프로세서가,
    상기 제1 블록 내의 상기 제1 및 제2 화소들의 값과 상기 제2 블록 내의 상기 제1 및 제2 화소들의 값을 저장하고;
    상기 제1 블록 내의 상기 제1 화소의 값을 상기 제1 블록 내의 상기 제2 화소의 값에 제1 값을 곱한 값과, 상기 제1 블록 내의 상기 제1 화소의 상기 값에 제2 값을 곱한 값, 상기 제2 블록 내의 상기 제1 화소의 값에 제3 값을 곱한 값 및 상기 제2 블록 내의 상기 제2 화소의 상기 값에 제4 값을 곱한 값을 합한 값과 동일하게 설정하고;
    상기 제2 블록 내의 상기 제1 화소의 값을 상기 제1 블록 내의 상기 제2 화소의 값에 제5 값을 곱한 값과, 상기 제1 블록 내의 상기 제1 화소의 상기 값에 제6 값을 곱한 값, 상기 제2 블록 내의 상기 제1 화소의 값에 제7 값을 곱한 값 및 상기 제2 블록 내의 상기 제2 화소의 상기 값에 제8 값을 곱한 값을 합한 값과 동일하게 설정하여,
    상기 제1 및 제2 블록의 상기 제1 정렬 내의 상기 제1 화소들의 값들 간의 차이를 감소시킬 수 있고;
    상기 프로세서가,
    상기 제1 블록 내의 상기 제2 화소의 상기 값을 상기 제1 블록 내의 상기 제2 화소의 값에 제9 값을 곱한 값과, 상기 제1 블록 내의 상기 제1 화소의 상기 값에 제10 값을 곱한 값, 상기 제2 블록 내의 상기 제1 화소의 값에 제11 값을 곱한 값 및 상기 제2 블록 내의 상기 제2 화소의 상기 값에 제12 값을 곱한 값을 합한 값과 동일하게 설정하고;
    상기 제2 블록 내의 상기 제2 화소의 상기 값을 상기 제1 블록 내의 상기 제2 화소의 값에 제13 값을 곱한 값과, 상기 제1 블록 내의 상기 제1 화소의 상기 값에 제14 값을 곱한 값, 상기 제2 블록 내의 상기 제1 화소의 값에 제15 값을 곱한 값 및 상기 제2 블록 내의 상기 제2 화소의 상기 값에 제16 값을 곱한 값을 합한 값과 동일하게 설정하여,
    상기 제1 블록 내의 상기 제2 화소의 값과 상기 제2 블록의 상기 제1 화소의 값의 차이를 감소시키고, 상기 제2 블록의 상기 제2 화소의 값과 상기 제1 블록의 상기 제1 화소의 값의 차이를 감소시킬 수 있는 화상처리 회로.
  42. 제29항에 있어서,
    상기 제1 블록의 상기 제2 정렬이 상기 제1 블록의 상기 제1 정렬 내의 상기 제1 화소와 인접한 제2 화소를 포함하고;
    상기 제2 블록의 상기 제2 정렬이 상기 제2 블록의 상기 제1 정렬 내의 상기 제1 화소와 인접한 제2 화소를 포함하고;
    상기 프로세서가,
    상기 제1 블록 내의 상기 제1 및 제2 화소들의 값과 상기 제2 블록 내의 상기 제1 및 제2 화소들의 값을 저장하고;
    상기 제1 블록 내의 상기 제1 화소의 값을 상기 제1 블록 내의 상기 제2 화소의 값에 제1 값을 곱한 값과, 상기 제1 블록 내의 상기 제1 화소의 상기 값에 제2 값을 곱한 값, 상기 제2 블록 내의 상기 제1 화소의 값에 제3 값을 곱한 값 및 상기 제2 블록 내의 상기 제2 화소의 상기 값에 제4 값을 곱한 값을 합한 값과 동일하게 설정하고;
    상기 제2 블록 내의 상기 제1 화소의 상기 값을 상기 제1 블록 내의 상기 제2 화소의 값에 상기 제4 값을 곱한 값과, 상기 제1 블록 내의 상기 제1 화소의 상기 값에 상기 제3 값을 곱한 값, 상기 제2 블록 내의 상기 제1 화소의 값에 상기 제2 값을 곱한 값 및 상기 제2 블록 내의 상기 제2 화소의 상기 값에 상기 제1 값을 곱한 값을 합한 값과 동일하게 설정하여,
    상기 제1 및 제2 블록의 상기 제1 정렬 내의 상기 제1 화소들의 값들 간의 차이를 감소시킬 수 있고,
    상기 프로세서가,
    상기 제1 블록 내의 상기 제2 화소의 상기 값을 상기 제1 블록 내의 상기 제2 화소의 값에 제5 값을 곱한 값과, 상기 제1 블록 내의 상기 제1 화소의 상기 값에 제6 값을 곱한 값, 상기 제2 블록 내의 상기 제1 화소의 값에 제7 값을 곱한 값 및 상기 제2 블록 내의 상기 제2 화소의 상기 값에 제8 값을 곱한 값을 합한 값과 동일하게 설정하고;
    상기 제2 블록 내의 상기 제2 화소의 상기 값을 상기 제1 블록 내의 상기 제2 화소의 값에 상기 제8 값을 곱한 값과, 상기 제1 블록 내의 상기 제1 화소의 상기 값에 상기 제7 값을 곱한 값, 상기 제2 블록 내의 상기 제1 화소의 값에 상기 제6 값을 곱한 값 및 상기 제2 블록 내의 상기 제2 화소의 상기 값에 상기 제5 값을 곱한 값을 합한 값과 동일하게 설정하여,
    상기 제1 블록 내의 상기 제2 화소의 값과 상기 제2 블록의 상기 제1 화소의 값의 차이를 감소시키고, 상기 제2 블록의 상기 제2 화소의 값과 상기 제1 블록의 상기 제1 화소의 값의 차이를 감소시킬 수 있는 화상처리 회로.
  43. 제29항에 있어서,
    상기 제1 블록의 상기 제2 정렬이 상기 제1 블록의 상기 제1 정렬 내의 상기 제1 화소와 인접한 제2 화소를 포함하고;
    상기 제2 블록의 상기 제2 정렬이 상기 제2 블록의 상기 제1 정렬 내의 상기 제1 화소와 인접한 제2 화소를 포함하고;
    상기 프로세서가,
    상기 제1 블록 내의 상기 제1 및 제2 화소들의 값과 상기 제2 블록 내의 상기 제1 및 제2 화소들의 값을 저장하고;
    상기 제1 블록 내의 상기 제1 화소의 상기 값을 상기 제1 블록 내의 상기 제2 화소의 값에 0.25를 곱한 값과, 상기 제1 블록 내의 상기 제1 화소의 상기 값에 0.35를 곱한 값, 상기 제2 블록 내의 상기 제1 화소의 값에 0.26을 곱한 값 및상기 제2 블록 내의 상기 제2 화소의 상기 값에 0.14를 곱한 값을 합한 값과 동일하게 설정하고;
    상기 제2 블록 내의 상기 제1 화소의 상기 값을 상기 제1 블록 내의 상기 제2 화소의 값에 0.14를 곱한 값과, 상기 제1 블록 내의 상기 제1 화소의 상기 값에 0.26을 곱한 값, 상기 제2 블록 내의 상기 제1 화소의 값에 0.35를 곱한 값 및 상기 제2 블록 내의 상기 제2 화소의 상기 값에 0.25를 곱한 값을 합한 값과 동일하게 설정하여,
    상기 제1 및 제2 블록의 상기 제1 정렬 내의 상기 제1 화소들의 값들 간의 차이를 감소시킬 수 있고;
    상기 프로세서가,
    상기 제1 블록 내의 상기 제2 화소의 상기 값을 상기 제1 블록 내의 상기 제2 화소의 값에 0.65를 곱한 값과, 상기 제1 블록 내의 상기 제1 화소의 상기 값에 0.2를 곱한 값, 상기 제2 블록 내의 상기 제1 화소의 값에 0.1을 곱한 값 및 상기 제2 블록 내의 상기 제2 화소의 상기 값에 0.05를 곱한 값을 합한 값과 동일하게 설정하고;
    상기 제2 블록 내의 상기 제2 화소의 상기 값을 상기 제1 블록 내의 상기 제2 화소의 값에 0.05를 곱한 값과, 상기 제1 블록 내의 상기 제1 화소의 상기 값에 0.1을 곱한 값, 상기 제2 블록 내의 상기 제1 화소의 값에 0.2를 곱한 값 및 상기 제2 블록 내의 상기 제2 화소의 상기 값에 0.65를 곱한 값을 합한 값과 동일하게 설정하여,
    상기 제1 블록 내의 상기 제2 화소의 값과 상기 제2 블록의 상기 제1 화소의 값의 차이를 감소시키고, 상기 제2 블록의 상기 제2 화소의 값과 상기 제1 블록의 상기 제1 화소의 값의 차이를 감소시킬 수 있는 화상처리 회로.
  44. 제29항에 있어서,
    상기 제1 블록의 상기 제1 및 제2 정렬과 상기 제2 블록의 상기 제1 및 제2 정렬이 각각 화소의 행을 포함하는 화상처리 회로.
  45. 제29항에 있어서,
    상기 제1 블록의 상기 제1 및 제2 정렬과 상기 제2 블록의 상기 제1 및 제2 정렬이 각각 화소의 열을 포함하는 화상처리 회로.
  46. 제29항에 있어서,
    상기 화상이 비디오 화상를 포함하는 화상처리 회로.
  47. 제29항에 있어서,
    상기 화상이 정지 화상를 포함하는 화상처리 회로.
  48. 상호 인접하여 있고 하나의 경계의 대향 측에 각각 위치하는 제1 화소의 제1 값과 제2 화소의 제2 값으로부터 하나의 경계값을 계산하는 단계;
    상기 경계값을 하나의 비교값과 비교하는 단계;
    상기 경계값이 상기 비교값과 특정한 방식으로 관계되어 있으면 상기 제1 값 및 상기 제2 값의 차이를 감소시키는 단계를 포함하는 방법.
  49. 제48항에 있어서,
    상기 제1 값 및 상기 제2 값의 차이를 감소시키는 단계가 상기 경계값이 상기 비교값을 초과하는 경우에 상기 제1 값 및 상기 제2 값의 차이를 감소시키는 방법.
  50. 제48항에 있어서,
    상기 경계값을 계산하는 단계가 상기 경계값을 상기 제1 값과 상기 제2 값의 차이와 동일하게 설정되는 방법.
  51. 제48항에 있어서,
    상기 경계값을 계산하는 단계가 상기 경계값을 하나의 예정된 값 또는 상기 제1 값과 상기 제2 값의 차이의 절대값 중 작은 값과 동일하게 설정하는 방법.
  52. 제48항에 있어서,
    제3 화소와 제4 화소이 각각의 값을 가지며, 상기 제3 화소는 상기 경계에 대하여 상기 제1 화소와 동일한 측에 상기 제1 화소와 인접하여 위치하고, 상기제4 화소는 상기 경계에 대하여 상기 제2 화소와 동일한 측에 상기 제2 화소와 인접하여 위치하고;
    상기 제1 및 제2 화소의 값들의 차이를 감소시키는 단계가 상기 제1 화소의 상기 값을 상기 제1, 제2 및 제3 화소의 값들의 평균과 동일하게 설정하고, 상기 제2 화소의 상기 값을 상기 제1, 제2 및 제4 화소의 값들의 평균과 동일하게 설정하는 단계를 포함하는 화상처리 회로.
  53. 제48항에 있어서,
    제3 화소와 제4 화소이 각각의 값을 가지며, 상기 제3 화소는 상기 경계에 대하여 상기 제1 화소와 동일한 측에 상기 제1 화소와 인접하여 위치하고, 상기 제4 화소는 상기 경계에 대하여 상기 제2 화소와 동일한 측에 상기 제2 화소와 인접하여 위치하고;
    상기 제1 및 제2 화소의 값들의 차이를 감소시키는 단계가,
    상기 제1 화소의 상기 값을 상기 제3 화소의 상기 값에 제1 값을 곱한 값, 상기 제1 화소의 값에 제2 값을 곱한 값, 상기 제2 화소의 값에 제3 값을 곱한 값, 상기 제4 화소의 값에 제4 값을 곱한 값을 합한 값과 동일하게 설정하는 단계와,
    상기 제2 화소의 값을 상기 제3 화소의 상기 값에 제5 값을 곱한 값, 상기 제1 화소의 값에 제6 값을 곱한 값, 상기 제2 화소의 값에 제7 값을 곱한 값, 상기 제4 화소의 값에 제8 값을 곱한 값을 합한 값과 동일하게 설정하는 단계를 포함하는 방법.
  54. 제48항에 있어서,
    제3 화소와 제4 화소이 각각의 값을 가지며, 상기 제3 화소는 상기 경계에 대하여 상기 제1 화소와 동일한 측에 상기 제1 화소와 인접하여 위치하고, 상기 제4 화소는 상기 경계에 대하여 상기 제2 화소와 동일한 측에 상기 제2 화소와 인접하여 위치하고;
    상기 제1 및 제2 화소의 값들의 차이를 감소시키는 단계가,
    상기 제1 화소의 상기 값을 상기 제3 화소의 상기 값에 제1 값을 곱한 값, 상기 제1 화소의 값에 제2 값을 곱한 값, 상기 제2 화소의 값에 제3 값을 곱한 값, 상기 제4 화소의 값에 제4 값을 곱한 값을 합한 값과 동일하게 설정하는 단계와,
    상기 제2 화소의 값을 상기 제3 화소의 상기 값에 제5 값을 곱한 값, 상기 제1 화소의 값에 제6 값을 곱한 값, 상기 제2 화소의 값에 제7 값을 곱한 값, 상기 제4 화소의 값에 제8 값을 곱한 값을 합한 값과 동일하게 설정하는 단계를 포함하고;
    상기 방법이,
    상기 제3 화소의 상기 값을 상기 제3 화소의 상기 값에 제9 값을 곱한 값, 상기 제1 화소의 상기 값에 제10 값을 곱한 값, 상기 제2 화소의 상기 값에 제11 값을 곱한 값 및 상기 제4 화소의 상기 값에 제12 값을 곱한 값들의 합과 동일하게 설정하고,
    상기 제4 화소의 상기 값을 상기 제3 화소의 상기 값에 제13 값을 곱한 값,상기 제1 화소의 상기 값에 제14 값을 곱한 값, 상기 제2 화소의 상기 값에 제15 값을 곱한 값 및 상기 제4 화소의 상기 값에 제16 값을 곱한 값들의 합과 동일하게 설정하여,
    상기 제1 및 제4 화소들의 값들의 차이와 상기 제2 및 제3 화소들의 값들의 차이를 감소시키는 단계를 더 포함하는 방법.
  55. 하나의 경계의 제1 및 제2 정렬들 내의 화소들의 값들로부터 하나의 경계값을 계산하고, 상기 제1 및 제2 정렬은 하나의 경계의 위치하고, 상기 제1 정렬 내의 각 화소이 상기 제2 정렬 내의 각 화소와 인접하여 위치하며;
    상기 경계값을 하나의 비교값과 비교하는 단계; 및
    상기 경계값이 상기 비교값에 대하여 특정한 관계를 가지는 경우, 상기 제1 정렬 내의 제1 화소의 상기 값과 상기 제2 정렬 내의 제2 화소의 상기 값의 차이를 감소시키는 단계를 포함하는 방법.
  56. 제55항에 있어서,
    상기 경계값을 계산하는 단계가 상기 제1 정렬 내의 상기 화소들의 값들과 상기 제2 정렬 내의 각 상기 화소들의 값들의 평균 차이와 동일하게 상기 경계값을 계산하는 단계를 포함하는 방법.
  57. 제55항에 있어서,
    상기 화상이 상기 경계의 양 측에 위치한 제1 및 제2 화소 블록을 포함하고, 각 상기 블록이 정렬 및 직교 정렬로 배열되고 각각 값을 가지는 화소를 포함하고, 상기 제1 및 제2 정렬이 각각 상기 제1 및 제2 블록 내에 위치하며;
    상기 비교값을 상기 제1 블록 내의 동일한 직교 정렬 내의 2개의 인접한 화소들의 값들의 평균 차이와 상기 제2 블록 내의 동일한 직교 정렬 내의 2개의 인접한 화소들의 값들의 평균 차이의 함수로 계산하는 단계를 더 포함하는 방법.
  58. 제56항에 있어서,
    상기 제1 및 제2 블록의 상기 정렬 및 직교 정렬이 각각 화소들의 행과 열을 포함하는 방법.
  59. 제55항에 있어서,
    상기 제1 및 제2 블록의 상기 정렬 및 직교 정렬이 각각 화소들의 열과 행을 포함하는 방법.
  60. 제55항에 있어서,
    상기 비교값을 상기 제1 블록 내의 화소들의 평균값과 상기 제2 블록 내의 화소들의 평균값의 함수로서 계산하는 단계를 더 포함하는 방법.
  61. 제55항에 있어서,
    상기 화상이 상기 경계의 양 측에 위치한 제1 및 제2 화소 블록들을 포함하고, 상기 블록 각각은 정렬 및 직교 정렬로 배열되고 각각 값을 가지는 화소들을 포함하고, 상기 제1 및 제2 정렬이 각각 상기 제1 및 제2 블록 내에 위치하며;
    상기 제1 블록의 상기 직교 정렬 내의 인접한 화소들의 값들의 각각의 차이와 상기 제2 블록의 상기 직교 정렬 내의 인접한 화소들의 값들의 각각의 차이를 계산하는 단계;
    상기 제1 블록으로부터의 상기 차이들의 합을 상기 제1 블록으로부터의 상기 차이들의 수로 나눈 값과 동일한 제1 블록 평균 화소 차이를 계산하는 단계;
    상기 제2 블록으로부터의 상기 차이들의 합을 상기 제2 블록으로부터의 상기 차이들의 수로 나눈 값과 동일한 제2 블록 평균 화소 차이를 계산하는 단계;
    상기 제1 블록 내의 화소들의 값들의 합을 상기 제1 블록 내의 화소들의 수로 나눈 값과 동일한 제1 블록 평균 화소 값을 계산하는 단계;
    상기 제2 블록 내의 화소들의 값들의 합을 상기 제2 블록 내의 화소들의 수로 나눈 값과 동일한 제2 블록 평균 화소 값을 계산하는 단계;
    상기 제1 및 제2 블록 평균 화소 차이의 합에 제1 상수를 곱한 값과 상기 제1 및 제2 블록 평균 화소 값의 합에 제2 상수를 곱한 값과의 차이와 동일하게 상기 비교값을 계산하는 단계를 더 포함하는 방법.
  62. 제55항에 있어서,
    상기 화상이 상기 경계의 양 측에 위치한 제1 및 제2 화소 블록들을 포함하고, 상기 블록 각각은 정렬 및 직교 정렬로 배열되고 각각 값을 가지는 화소들을 포함하고, 상기 제1 및 제2 정렬이 각각 상기 제1 및 제2 블록 내에 위치하며;
    상기 제1 블록의 상기 직교 정렬 내의 인접한 화소들의 값들의 각각의 차이와 상기 제2 블록의 상기 직교 정렬 내의 인접한 화소들의 값들의 각각의 차이를 계산하는 단계;
    상기 제1 블록으로부터의 상기 차이들의 합을 상기 제1 블록으로부터의 상기 차이들의 수로 나눈 값과 동일한 제1 블록 평균 화소 차이를 계산하는 단계;
    상기 제2 블록으로부터의 상기 차이들의 합을 상기 제2 블록으로부터의 상기 차이들의 수로 나눈 값과 동일한 제2 블록 평균 화소 차이를 계산하는 단계;
    상기 제1 블록 내의 화소들의 상기 값들의 합을 상기 제1 블록 내의 화소들의 수로 나눈 값과 동일한 제1 블록 평균 화소 값을 계산하는 단계;
    상기 제2 블록 내의 화소들의 상기 값들의 합을 상기 제2 블록 내의 화소들의 수로 나눈 값과 동일한 제2 블록 평균 화소 값을 계산하는 단계;
    상기 제1 및 제2 블록 평균 화소 차이의 합의 절반과 상기 제1 및 제2 블록 평균 화소 값의 상기 합에 0.02를 곱한 값과의 차이의 절대값과 동일하게 상기 비교값을 계산하는 단계를 더 포함하는 방법.
  63. 제55항에 있어서,
    상기 화상이 상기 경계의 양 측에 위치한 제1 및 제2 화소 블록들을 포함하고, 상기 블록 각각은 정렬 및 직교 정렬로 배열되고 각각 값을 가지는 화소들을포함하고, 상기 제1 및 제2 정렬이 각각 상기 제1 및 제2 블록 내에 위치하며;
    상기 방법이,
    상기 제1 블록의 상기 직교 정렬 내의 인접한 화소들의 값들의 각각의 차이와 상기 제2 블록의 상기 직교 정렬 내의 인접한 화소들의 값들의 각각의 차이를 계산하는 단계;
    상기 제1 블록으로부터의 상기 차이들의 합을 상기 제1 블록으로부터의 상기 차이들의 수로 나눈 값과 동일한 제1 블록 평균 화소 차이를 계산하는 단계;
    상기 제2 블록으로부터의 상기 차이들의 합을 상기 제2 블록으로부터의 상기 차이들의 수로 나눈 값과 동일한 제2 블록 평균 화소 차이를 계산하는 단계;
    상기 제1 블록 내의 화소들의 상기 값들의 합을 상기 제1 블록 내의 화소들의 수로 나눈 값과 동일한 제1 블록 평균 화소 값을 계산하는 단계;
    상기 제2 블록 내의 화소들의 상기 값들의 합을 상기 제2 블록 내의 화소들의 수로 나눈 값과 동일한 제2 블록 평균 화소 값을 계산하는 단계;
    상기 제1 및 제2 블록 평균 화소 차이의 합에 제1 상수를 곱한 값과 상기 제1 및 제2 블록 평균 화소 값의 합에 제2 상수를 곱한 값과의 차이와 동일하게 상기 비교값을 계산하는 단계; 및
    상기 경계값이 상기 비교값보다 큰 경우에 상기 제1 블록의 상기 제1 정렬 내의 상기 화소들의 값들과 상기 제2 블록의 상기 제2 정렬 내의 각 화소들의 값들의 평균 차이를 감소시키는 단계를 더 포함하는 방법.
  64. 제55항에 있어서,
    상기 화상이 상기 제1 정렬의 상기 제1 화소와 인접한 제3 화소를 가지는 제3 정렬를 포함하고, 상기 제2 정렬의 상기 제2 화소와 인접한 제4 화소를 가지는 제4 정렬을 포함하고,
    상기 제1 및 제2 화소의 값들의 차이를 감소시키는 단계가 상기 제1 화소의 값을 상기 제1, 제2 및 제4 화소들의 값들의 평균과 동일하게 설정하고, 상기 제2 화소의 값을 상기 제1, 제2 및 제4 화소들의 값들의 평균과 동일하게 설정하는 단계를 포함하는 방법.
  65. 제55항에 있어서,
    상기 제1 및 제2 화소들의 상기 값들이 각각 휘도 값을 포함하는 방법.
  66. 화상의 제1 및 제2 정렬 내의 화소들의 값들로부터 경계값을 계산하고, 상기 제1 및 제2 정렬은 경계의 대향 측에 위치하고, 상기 제1 정렬 내의 각 화소는 상기 제2 정렬 내의 각 화소와 인접하며, 상기 화상은 상기 제1 정렬과 상기 경계의 동일한 측에 위치하고 상기 제1 정렬과 인접한 제3 정렬과 상기 제2 정렬과 상기 경계의 동일한 측에 위치하고 상기 제1 정렬과 인접한 제4 정렬을 포함하고,
    상기 경계값을 하나의 비교값과 비교하는 단계; 및
    상기 경계값이 특정한 방식으로 상기 비교값과 관련되어 있으면 상기 제1 정렬 내의 제1 화소의 값과 상기 제2 정렬 내의 제2 화소의 값과의 차이를 감소시키는 단계를 포함하는 방법.
  67. 제66항에 있어서,
    예정된 값 또는 상기 제1 정렬 내의 화소들의 값들과 상기 제2 정렬 내의 각 화소들의 값들의 평균 차이 값 중 최소값과 동일하게 상기 경계값을 계산하는 단계를 더 포함하는 방법.
  68. 제66항에 있어서,
    하나의 상수 또는 상기 제1 정렬 내의 화소들의 값들과 상기 제2 정렬 내의 각 화소들의 값들의 평균 차이 값 중 최소값과 동일하게 상기 경계값을 계산하는 단계를 더 포함하는 방법.
  69. 제66항에 있어서,
    예정된 값 또는 상기 제1 정렬 내의 화소들의 값들과 상기 제2 정렬 내의 각 화소들의 값들의 평균 차이 값 중 최소값과 동일하게 상기 경계값을 계산하는 단계를 더 포함하고, 상기 예정된 값은 상기 화상의 엔코딩 과정에서 실행된 양자화의 함수인 방법.
  70. 제66항에 있어서,
    상기 비교값을 상기 제1 및 제3 정렬 내의 2개의 인접한 화소들의 값들의 평균 차이와 상기 제2 및 제4 정렬 내의 2개의 인접한 화소들의 값들의 평균 차이 중 큰 값의 함수로서 계산하는 단계를 더 포함하는 방법.
  71. 제66항에 있어서,
    상기 제1 정렬 내의 화소들의 값들 및 상기 제3 정렬 내의 상기 인접한 화소들의 값들의 각각의 차이를 계산하는 단계;
    상기 제2 정렬 내의 화소들의 값들 및 상기 제4 정렬 내의 상기 인접한 화소들의 값들의 각각의 차이를 계산하는 단계;
    상기 제1 및 제3 정렬 간의 차이들의 합을 이들 차이의 수로 나눈 값과 동일한 제1 평균 화소 차이를 계산하는 단계;
    상기 제2 및 제4 정렬 간의 차이들의 합을 이들 차이의 수로 나눈 값과 동일한 제2 평균 화소 차이를 계산하는 단계; 및
    상기 제1 및 제2 평균 화소 차이 중 큰 값과 동일하게 상기 비교값을 계산하는 단계를 포함하는 방법.
  72. 제66항에 있어서,
    상기 제1 정렬 내의 상기 화소들의 값들과 상기 제3 정렬 내의 상기 인접한 화소들의 값들 간의 각 차이를 계산하는 단계;
    상기 제2 정렬 내의 상기 화소들의 값들과 상기 제4 정렬 내의 상기 인접한 화소들의 값들 간의 각 차이를 계산하는 단계;
    상기 제1 및 제3 정렬 간의 차이들의 합을 이들 차이의 수로 나눈 값과 동일한 제1 평균 화소 차이를 계산하는 단계;
    상기 제2 및 제4 정렬 간의 차이들의 합을 이들 차이의 수로 나눈 값과 동일한 제2 평균 화소 차이를 계산하는 단계; 및
    제1 예정된 값과, 제2 예정된 값에 상기 제1 및 제2 평균 화소 차이 중 큰 값을 곱한 값의 합과 동일하게 상기 비교값을 계산하는 단계를 더 포함하는 방법.
  73. 제66항에 있어서,
    상기 제1 정렬 내의 화소들의 값들 및 상기 제3 정렬 내의 상기 인접한 화소들의 값들의 각각의 차이를 계산하는 단계;
    상기 제2 정렬 내의 화소들의 값들 및 상기 제4 정렬 내의 상기 인접한 화소들의 값들의 각각의 차이를 계산하는 단계;
    상기 제1 및 제3 정렬 간의 차이들의 합을 이들 차이의 수로 나눈 값과 동일한 제1 평균 화소 차이를 계산하는 단계;
    상기 제2 및 제4 정렬 간의 차이들의 합을 이들 차이의 수로 나눈 값과 동일한 제2 평균 화소 차이를 계산하는 단계; 및
    8에 상기 제1 및 제2 평균 화소 차이 중 큰 값에 1.4를 곱한 값을 더한 값과 동일하게 상기 비교값을 계산하는 단계를 더 포함하는 방법.
  74. 제66항에 있어서,
    차이를 감소시키는 상기 단계가 상기 경계값이 상기 비교값보다 큰 경우에 상기 제1 및 제2 화소들의 값들 간의 차이를 감소시키는 단계를 포함하는 방법.
  75. 제66항에 있어서,
    상기 제3 정렬이 상기 제1 화소와 인접한 제3 화소를 포함하고;
    상기 제4 정렬이 상기 제2 화소와 인접한 제4 화소를 포함하고;
    상기 차이를 감소시키는 단계가,
    제1, 제2, 제3 및 제4 화소들의 값들을 저장하는 단계,
    상기 제1 화소의 값을 제1 값과 상기 제3 화소의 값의 곱, 제2 값과 상기 제1 화소의 값의 곱, 제3 값과 상기 제2 화소의 값의 곱, 및 제4 값과 상기 제4 화소의 값의 곱의 합과 동일하게 설정하는 단계,
    상기 제2 화소의 값을 제5 값과 상기 제3 화소의 값의 곱, 제6 값과 상기 제1 화소의 값의 곱, 제7 값과 상기 제2 화소의 값의 곱, 및 제8 값과 상기 제4 화소의 값의 곱의 합과 동일하게 설정하는 단계를 포함하는 방법.
  76. 제66항에 있어서,
    상기 제3 정렬이 상기 제1 화소와 인접한 제3 화소를 포함하고;
    상기 제4 정렬이 상기 제2 화소와 인접한 제4 화소를 포함하고;
    상기 차이를 감소시키는 단계가,
    제1, 제2, 제3 및 제4 화소들의 값들을 저장하는 단계,
    상기 제1 화소의 값을 제1 값과 상기 제3 화소의 값의 곱, 제2 값과 상기 제1 화소의 값의 곱, 제3 값과 상기 제2 화소의 값의 곱, 및 제4 값과 상기 제4 화소의 값의 곱의 합과 동일하게 설정하는 단계,
    상기 제2 화소의 값을 제4 값과 상기 제3 화소의 값의 곱, 제3 값과 상기 제1 화소의 값의 곱, 제2 값과 상기 제2 화소의 값의 곱, 및 제1 값과 상기 제4 화소의 값의 곱의 합과 동일하게 설정하는 단계를 포함하는 방법.
  77. 제66항에 있어서,
    상기 제3 정렬이 상기 제1 화소와 인접한 제3 화소를 포함하고;
    상기 제4 정렬이 상기 제2 화소와 인접한 제4 화소를 포함하고;
    상기 차이를 감소시키는 단계가,
    제1, 제2, 제3 및 제4 화소들의 값들을 저장하는 단계,
    상기 제1 화소의 값을 0.25와 상기 제3 화소의 값의 곱, 0.35와 상기 제1 화소의 값의 곱, 0.26과 상기 제2 화소의 값의 곱, 및 0.14와 상기 제4 화소의 값의 곱의 합과 동일하게 설정하는 단계,
    상기 제2 화소의 값을 0.14와 상기 제3 화소의 값의 곱, 0.26과 상기 제1 화소의 값의 곱, 0.35와 상기 제2 화소의 값의 곱, 및 0.25와 상기 제4 화소의 값의 곱의 합과 동일하게 설정하는 단계를 포함하는 방법.
  78. 제66항에 있어서,
    상기 제3 정렬이 상기 제1 화소와 인접한 제3 화소를 포함하고;
    상기 제4 정렬이 상기 제2 화소와 인접한 제4 화소를 포함하고;
    상기 차이를 감소시키는 단계가,
    제1, 제2, 제3 및 제4 화소들의 값들을 저장하는 단계,
    상기 제1 화소의 값을 제1 값과 상기 제3 화소의 값의 곱, 제2 값과 상기 제1 화소의 값의 곱, 제3 값과 상기 제2 화소의 값의 곱, 및 제4 값과 상기 제4 화소의 값의 곱의 합과 동일하게 설정하는 단계,
    상기 제2 화소의 값을 제5 값과 상기 제3 화소의 값의 곱, 제6 값과 상기 제1 화소의 값의 곱, 제7 값과 상기 제2 화소의 값의 곱, 및 제8 값과 상기 제4 화소의 값의 곱의 합과 동일하게 설정하는 단계를 포함하고,
    상기 방법은,
    상기 제3 화소의 값을 제9 값과 상기 제3 화소의 값의 곱, 제10 값과 상기 제1 화소의 값의 곱, 제11 값과 상기 제2 화소의 값의 곱, 및 제12 값과 상기 제4 화소의 값의 곱의 합과 동일하게 설정하는 단계,
    상기 제4 화소의 값을 제13 값과 상기 제3 화소의 값의 곱, 제14 값과 상기 제1 화소의 값의 곱, 제15 값과 상기 제2 화소의 값의 곱, 및 제16 값과 상기 제4 화소의 값의 곱의 합과 동일하게 설정하는 단계를 더 포함하는 방법.
  79. 제66항에 있어서,
    상기 제3 정렬이 상기 제1 화소와 인접한 제3 화소를 포함하고;
    상기 제4 정렬이 상기 제2 화소와 인접한 제4 화소를 포함하고;
    상기 차이를 감소시키는 단계가,
    제1, 제2, 제3 및 제4 화소들의 값들을 저장하는 단계,
    상기 제1 화소의 값을 제1 값과 상기 제3 화소의 값의 곱, 제2 값과 상기 제1 화소의 값의 곱, 제3 값과 상기 제2 화소의 값의 곱, 및 제4 값과 상기 제4 화소의 값의 곱의 합과 동일하게 설정하는 단계,
    상기 제2 화소의 값을 제4 값과 상기 제3 화소의 값의 곱, 제3 값과 상기 제1 화소의 값의 곱, 제2 값과 상기 제2 화소의 값의 곱, 및 제1 값과 상기 제4 화소의 값의 곱의 합과 동일하게 설정하는 단계를 포함하고,
    상기 방법은,
    상기 제3 화소의 값을 제5 값과 상기 제3 화소의 값의 곱, 제6 값과 상기 제1 화소의 값의 곱, 제7 값과 상기 제2 화소의 값의 곱, 및 제8 값과 상기 제4 화소의 값의 곱의 합과 동일하게 설정하는 단계,
    상기 제4 화소의 값을 제8 값과 상기 제3 화소의 값의 곱, 제7 값과 상기 제1 화소의 값의 곱, 제6 값과 상기 제2 화소의 값의 곱, 및 제5 값과 상기 제4 화소의 값의 곱의 합과 동일하게 설정하는 단계를 더 포함하는 방법.
  80. 제66항에 있어서,
    상기 제3 정렬이 상기 제1 화소와 인접한 제3 화소를 포함하고;
    상기 제4 정렬이 상기 제2 화소와 인접한 제4 화소를 포함하고;
    상기 차이를 감소시키는 단계가,
    제1, 제2, 제3 및 제4 화소들의 값들을 저장하는 단계,
    상기 제1 화소의 값을 0.25와 상기 제3 화소의 값의 곱, 0.35와 상기 제1 화소의 값의 곱, 0.26과 상기 제2 화소의 값의 곱, 및 0.14와 상기 제4 화소의 값의 곱의 합과 동일하게 설정하는 단계,
    상기 제2 화소의 값을 0.14와 상기 제3 화소의 값의 곱, 0.26과 상기 제1 화소의 값의 곱, 0.35와 상기 제2 화소의 값의 곱, 및 0.25와 상기 제4 화소의 값의 곱의 합과 동일하게 설정하는 단계를 포함하고,
    상기 방법은,
    상기 제3 화소의 값을 0.65와 상기 제3 화소의 값의 곱, 0.2와 상기 제1 화소의 값의 곱, 0.1과 상기 제2 화소의 값의 곱, 및 0.05와 상기 제4 화소의 값의 곱의 합과 동일하게 설정하는 단계,
    상기 제4 화소의 값을 0.05와 상기 제3 화소의 값의 곱, 0.1과 상기 제1 화소의 값의 곱, 0.2와 상기 제2 화소의 값의 곱, 및 0.65와 상기 제4 화소의 값의 곱의 합과 동일하게 설정하는 단계를 더 포함하는 방법.
  81. 제66항에 있어서,
    상기 제1, 제2, 제3 및 제4 정렬이 각각 화소들의 행을 포함하는 방법.
  82. 제66항에 있어서,
    상기 제1, 제2, 제3 및 제4 정렬이 각각 화소들의 열을 포함하는 방법.
  83. 제66항에 있어서,
    상기 화상이 비디오 화상를 포함하는 방법.
  84. 제66항에 있어서,
    상기 화상이 비디오 화상이 아닌 화상를 포함하는 방법.
  85. 프로세서를 포함하는 화상처리 회로에 있어서,
    상기 프로세서가
    화상의 최소한 일부를 수신하고, 상기 일부는 하나의 경계와 상기 경계 양 측에 배치된 제1 및 제2의 인접한 화소들을 포함하고, 상기 제1 및 제2 화소들은 각각 제1 및 제2 화소 값을 가지며;
    상기 경계가 블록키(blocky)한지 여부를 결정하고;
    상기 경계값이 블록키하면 상기 제1 및 제2 값들 간의 차이를 감소시키는 화상처리 회로.
  86. 각각 제1 및 제2 값을 가지는 제1 및 제2 화소 사이의 경계가 블록키한지 여부를 결정하는 단계;
    상기 경계가 블록키한 경우에만 상기 제1 및 제2 값들 간의 차이를 감소시키는 방법.
  87. 디코딩된 화상의 최소한 일 부분을 수신하고, 상기 부분은 상기 제1 및 제2의 인접한 화소들 사이의 경계를 포함하고,
    상기 화상의 엔코딩 과정 동안에 실행되는 양자화의 함수로서 상기 경계의 거칠기를 계산할 수 있는 프로세서를 포함하는 화상처리 회로.
  88. 디코딩된 화상의 인접한 화소들 간의 경계를 식별하는 단계; 및
    상기 화상의 엔코딩 과정 동안에 실행된 양자화의 함수로서 상기 경계의 거칠기를 계산하는 단계를 포함하는 방법.
KR1020017006769A 1998-11-30 1999-11-30 화상 경계에 걸친 화소값들의 차이를 감소시키기 위한화상 처리회로 및 방법 KR20010089526A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/201,270 US6236764B1 (en) 1998-11-30 1998-11-30 Image processing circuit and method for reducing a difference between pixel values across an image boundary
US09/201,270 1998-11-30
PCT/US1999/028410 WO2000033243A1 (en) 1998-11-30 1999-11-30 Image processing circuit and method for reducing a difference between pixel values across an image boundary

Publications (1)

Publication Number Publication Date
KR20010089526A true KR20010089526A (ko) 2001-10-06

Family

ID=22745177

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020017006769A KR20010089526A (ko) 1998-11-30 1999-11-30 화상 경계에 걸친 화소값들의 차이를 감소시키기 위한화상 처리회로 및 방법

Country Status (9)

Country Link
US (2) US6236764B1 (ko)
EP (1) EP1151410A1 (ko)
JP (1) JP2002531971A (ko)
KR (1) KR20010089526A (ko)
CN (1) CN1329734A (ko)
AU (1) AU1838000A (ko)
HK (1) HK1042364A1 (ko)
TW (1) TW464831B (ko)
WO (1) WO2000033243A1 (ko)

Families Citing this family (80)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6215910B1 (en) * 1996-03-28 2001-04-10 Microsoft Corporation Table-based compression with embedded coding
US6571016B1 (en) * 1997-05-05 2003-05-27 Microsoft Corporation Intra compression of pixel blocks using predicted mean
CN100361536C (zh) * 1996-05-28 2008-01-09 松下电器产业株式会社 图像预测编码/解码装置和方法以及记录媒体
FI106071B (fi) * 1997-03-13 2000-11-15 Nokia Mobile Phones Ltd Mukautuva suodatin
US7239755B1 (en) * 1997-07-30 2007-07-03 Lg Electronics Inc. Method of reducing a blocking artifact when coding moving picture
KR100282147B1 (ko) * 1998-11-13 2001-02-15 구자홍 압축 영상 복원 방법
US6236764B1 (en) * 1998-11-30 2001-05-22 Equator Technologies, Inc. Image processing circuit and method for reducing a difference between pixel values across an image boundary
JP2002537735A (ja) * 1999-02-16 2002-11-05 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ブロック効果減少のためのフィルタリング段階を用いたビデオ復号化装置及び方法
FI117534B (fi) * 2000-01-21 2006-11-15 Nokia Corp Menetelmä digitaalisten kuvien suodattamiseksi ja suodatin
WO2003021936A2 (en) * 2001-09-05 2003-03-13 Emblaze Semi Conductor Ltd Method for reducing blocking artifacts
US20040062310A1 (en) 2002-01-17 2004-04-01 Zhong Xue Coding distortion removal method, video encoding method, video decoding method, and apparatus and program for the same
CN101448162B (zh) 2001-12-17 2013-01-02 微软公司 处理视频图像的方法
US7543326B2 (en) * 2002-06-10 2009-06-02 Microsoft Corporation Dynamic rate control
US20030235250A1 (en) 2002-06-24 2003-12-25 Ankur Varma Video deblocking
US7084929B2 (en) * 2002-07-29 2006-08-01 Koninklijke Philips Electronics N.V. Video data filtering arrangement and method
EP1394742B1 (en) * 2002-08-23 2007-12-12 STMicroelectronics S.r.l. Method for filtering the noise of a digital image sequence
US6922492B2 (en) * 2002-12-27 2005-07-26 Motorola, Inc. Video deblocking method and apparatus
US10554985B2 (en) 2003-07-18 2020-02-04 Microsoft Technology Licensing, Llc DC coefficient signaling at small quantization step sizes
US20050013494A1 (en) * 2003-07-18 2005-01-20 Microsoft Corporation In-loop deblocking filter
US7724827B2 (en) * 2003-09-07 2010-05-25 Microsoft Corporation Multi-layer run level encoding and decoding
KR100987765B1 (ko) * 2003-09-30 2010-10-13 삼성전자주식회사 동영상 부호화기에서의 예측 수행 방법 및 장치
US7277592B1 (en) * 2003-10-21 2007-10-02 Redrock Semiconductory Ltd. Spacial deblocking method using limited edge differences only to linearly correct blocking artifact
US7519274B2 (en) 2003-12-08 2009-04-14 Divx, Inc. File format for multiple track digital data
US8472792B2 (en) 2003-12-08 2013-06-25 Divx, Llc Multimedia distribution system
US7343046B2 (en) * 2004-02-12 2008-03-11 Xerox Corporation Systems and methods for organizing image data into regions
FI116959B (fi) 2004-03-17 2006-04-13 Nokia Corp Elektroninen laite ja menetelmä elektronisessa laitteessa kuvadatan prosessoimiseksi
US7496141B2 (en) * 2004-04-29 2009-02-24 Mediatek Incorporation Adaptive de-blocking filtering apparatus and method for MPEG video decoder
NO320048B1 (no) * 2004-06-14 2005-10-17 Tandberg Telecom As Fremgangsmate for chroma de-blokking
EP1766986A1 (en) * 2004-07-15 2007-03-28 Samsung Electronics Co., Ltd. Temporal decomposition and inverse temporal decomposition methods for video encoding and decoding and video encoder and decoder
KR100679026B1 (ko) * 2004-07-15 2007-02-05 삼성전자주식회사 비디오 코딩 및 디코딩을 위한 시간적 분해 및 역 시간적분해 방법과, 비디오 인코더 및 디코더
US7626614B1 (en) * 2005-02-15 2009-12-01 Apple Inc. Transfer function and high dynamic range images
US7612804B1 (en) 2005-02-15 2009-11-03 Apple Inc. Methods and apparatuses for image processing
DE102005025629A1 (de) * 2005-06-03 2007-03-22 Micronas Gmbh Bildverarbeitungsverfahren zur Reduzierung von Blocking-Artefakten
TWI296099B (en) * 2005-12-15 2008-04-21 Princeton Technology Corp Method for improving image quality and image processor of operating the same
US7602964B2 (en) * 2006-01-10 2009-10-13 Synopsys, Inc. Method and apparatus for detection of failures in a wafer using transforms and cluster signature analysis
JP5200204B2 (ja) 2006-03-14 2013-06-05 ディブエックス リミテッド ライアビリティー カンパニー 高信頼性システムを含む連合型デジタル権限管理機構
JP2008009318A (ja) * 2006-06-30 2008-01-17 Toshiba Corp 画像処理装置および画像処理方法
US20080084932A1 (en) * 2006-10-06 2008-04-10 Microsoft Corporation Controlling loop filtering for interlaced video frames
EP2122482B1 (en) 2007-01-05 2018-11-14 Sonic IP, Inc. Video distribution system including progressive playback
US8295633B2 (en) * 2007-04-04 2012-10-23 Samsung Electronics Co., Ltd. System and method for an adaptive de-blocking filter after decoding of compressed digital video
US8073276B2 (en) * 2007-04-10 2011-12-06 Vivante Corporation De-ringing filter for decompressed video data
DE102007028175A1 (de) 2007-06-20 2009-01-02 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Automatisiertes Verfahren zur zeitlichen Segmentierung eines Videos in Szenen unter Berücksichtigung verschiedener Typen von Übergängen zwischen Bildfolgen
US8165424B1 (en) * 2007-07-13 2012-04-24 One True Media, Inc. Method and device for video transformations
KR20100106327A (ko) 2007-11-16 2010-10-01 디브이엑스, 인크. 멀티미디어 파일을 위한 계층적 및 감소된 인덱스 구조
US7961224B2 (en) * 2008-01-25 2011-06-14 Peter N. Cheimets Photon counting imaging system
JP4958056B2 (ja) * 2009-05-12 2012-06-20 東芝ディーエムエス株式会社 画像補間装置および画像補間プログラム
US8457396B2 (en) * 2009-08-11 2013-06-04 Microsoft Corporation Digital image compression and decompression
JP5723888B2 (ja) 2009-12-04 2015-05-27 ソニック アイピー, インコーポレイテッド 基本ビットストリーム暗号材料伝送システムおよび方法
US9413477B2 (en) * 2010-05-10 2016-08-09 Microsoft Technology Licensing, Llc Screen detector
US8787443B2 (en) 2010-10-05 2014-07-22 Microsoft Corporation Content adaptive deblocking during video encoding and decoding
US9247312B2 (en) 2011-01-05 2016-01-26 Sonic Ip, Inc. Systems and methods for encoding source media in matroska container files for adaptive bitrate streaming using hypertext transfer protocol
US9042458B2 (en) 2011-04-01 2015-05-26 Microsoft Technology Licensing, Llc Multi-threaded implementations of deblock filtering
US8812662B2 (en) 2011-06-29 2014-08-19 Sonic Ip, Inc. Systems and methods for estimating available bandwidth and performing initial stream selection when streaming content
KR101928910B1 (ko) 2011-08-30 2018-12-14 쏘닉 아이피, 아이엔씨. 복수의 최대 비트레이트 레벨들을 사용하여 인코딩된 비디오를 인코딩하고 스트리밍하기 위한 시스템들 및 방법들
US9467708B2 (en) 2011-08-30 2016-10-11 Sonic Ip, Inc. Selection of resolutions for seamless resolution switching of multimedia content
US8806188B2 (en) 2011-08-31 2014-08-12 Sonic Ip, Inc. Systems and methods for performing adaptive bitrate streaming using automatically generated top level index files
US8799647B2 (en) 2011-08-31 2014-08-05 Sonic Ip, Inc. Systems and methods for application identification
US8909922B2 (en) 2011-09-01 2014-12-09 Sonic Ip, Inc. Systems and methods for playing back alternative streams of protected content protected using common cryptographic information
US8964977B2 (en) 2011-09-01 2015-02-24 Sonic Ip, Inc. Systems and methods for saving encoded media streamed using adaptive bitrate streaming
US9282344B2 (en) * 2011-11-04 2016-03-08 Qualcomm Incorporated Secondary boundary filtering for video coding
US20130179199A1 (en) 2012-01-06 2013-07-11 Rovi Corp. Systems and methods for granting access to digital content using electronic tickets and ticket tokens
US9936267B2 (en) 2012-08-31 2018-04-03 Divx Cf Holdings Llc System and method for decreasing an initial buffering period of an adaptive streaming system
US9313510B2 (en) 2012-12-31 2016-04-12 Sonic Ip, Inc. Use of objective quality measures of streamed content to reduce streaming bandwidth
US9191457B2 (en) 2012-12-31 2015-11-17 Sonic Ip, Inc. Systems, methods, and media for controlling delivery of content
US9906785B2 (en) 2013-03-15 2018-02-27 Sonic Ip, Inc. Systems, methods, and media for transcoding video data according to encoding parameters indicated by received metadata
US10397292B2 (en) 2013-03-15 2019-08-27 Divx, Llc Systems, methods, and media for delivery of content
US9094737B2 (en) 2013-05-30 2015-07-28 Sonic Ip, Inc. Network video streaming with trick play based on separate trick play files
US9380099B2 (en) 2013-05-31 2016-06-28 Sonic Ip, Inc. Synchronizing multiple over the top streaming clients
US9100687B2 (en) 2013-05-31 2015-08-04 Sonic Ip, Inc. Playback synchronization across playback devices
US9386067B2 (en) 2013-12-30 2016-07-05 Sonic Ip, Inc. Systems and methods for playing adaptive bitrate streaming content by multicast
US9866878B2 (en) 2014-04-05 2018-01-09 Sonic Ip, Inc. Systems and methods for encoding and playing back video at different frame rates using enhancement layers
KR20230156433A (ko) 2014-08-07 2023-11-14 디빅스, 엘엘씨 독립적으로 인코딩된 타일을 포함한 기본 비트스트림을 보호하는 시스템 및 방법
ES2874748T3 (es) 2015-01-06 2021-11-05 Divx Llc Sistemas y métodos para codificar y compartir contenido entre dispositivos
EP3627337A1 (en) 2015-02-27 2020-03-25 DivX, LLC Systems and methods for frame duplication and frame extension in live video encoding and streaming
US10075292B2 (en) 2016-03-30 2018-09-11 Divx, Llc Systems and methods for quick start-up of playback
US10129574B2 (en) 2016-05-24 2018-11-13 Divx, Llc Systems and methods for providing variable speeds in a trick-play mode
US10231001B2 (en) 2016-05-24 2019-03-12 Divx, Llc Systems and methods for providing audio content during trick-play playback
US10148989B2 (en) 2016-06-15 2018-12-04 Divx, Llc Systems and methods for encoding video content
US10498795B2 (en) 2017-02-17 2019-12-03 Divx, Llc Systems and methods for adaptive switching between multiple content delivery networks during adaptive bitrate streaming
CA3134561A1 (en) 2019-03-21 2020-09-24 Divx, Llc Systems and methods for multimedia swarms

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5337088A (en) * 1991-04-18 1994-08-09 Matsushita Electric Industrial Co. Ltd. Method of correcting an image signal decoded in block units
EP0709809B1 (en) * 1994-10-28 2002-01-23 Oki Electric Industry Company, Limited Image encoding and decoding method and apparatus using edge synthesis and inverse wavelet transform
US6236764B1 (en) * 1998-11-30 2001-05-22 Equator Technologies, Inc. Image processing circuit and method for reducing a difference between pixel values across an image boundary

Also Published As

Publication number Publication date
EP1151410A1 (en) 2001-11-07
CN1329734A (zh) 2002-01-02
HK1042364A1 (zh) 2002-08-09
AU1838000A (en) 2000-06-19
TW464831B (en) 2001-11-21
JP2002531971A (ja) 2002-09-24
WO2000033243A1 (en) 2000-06-08
US6236764B1 (en) 2001-05-22
US6690838B2 (en) 2004-02-10
US20010021276A1 (en) 2001-09-13

Similar Documents

Publication Publication Date Title
US6236764B1 (en) Image processing circuit and method for reducing a difference between pixel values across an image boundary
US11089311B2 (en) Parameterization for fading compensation
US5819035A (en) Post-filter for removing ringing artifacts of DCT coding
CN111819852B (zh) 用于变换域中残差符号预测的方法及装置
EP0811951B1 (en) System and method for performing motion estimation in the DCT domain with improved efficiency
US8023562B2 (en) Real-time video coding/decoding
US20050276323A1 (en) Real-time video coding/decoding
US11375199B2 (en) Interpolation filter for an inter prediction apparatus and method for video coding
KR20070057254A (ko) 화상 부호화 장치 및 화상 복호 장치
JP2009531980A (ja) デジタルビデオエンコーダの内部予測及びモード決定処理の計算を低減する方法
EP1359765A2 (en) Fading estimation/compensation in video encoding
EP1359770A2 (en) Signaling for fading compensation in video encoding
JPH08265761A (ja) 映像データ後処理方法
US20120087411A1 (en) Internal bit depth increase in deblocking filters and ordered dither
US7095448B2 (en) Image processing circuit and method for modifying a pixel value
JPH10224790A (ja) 圧縮伸張された画像中のブロック状ノイズを除去するフィルタおよびフィルタ方法
JPH11187400A (ja) 歪除去方法および歪除去フィルタ
US7095785B2 (en) Determination of prediction direction in MPEG-4
US7103102B2 (en) Bit stream code lookup table for an MPEG-4 code word
CN115988202A (zh) 一种用于帧内预测的设备和方法
US20100226567A1 (en) Color effects for compressed digital video

Legal Events

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