KR20120114347A - 비디오 프로세싱을 위한 장치, 방법 및 컴퓨터 프로그램 - Google Patents

비디오 프로세싱을 위한 장치, 방법 및 컴퓨터 프로그램 Download PDF

Info

Publication number
KR20120114347A
KR20120114347A KR1020127020867A KR20127020867A KR20120114347A KR 20120114347 A KR20120114347 A KR 20120114347A KR 1020127020867 A KR1020127020867 A KR 1020127020867A KR 20127020867 A KR20127020867 A KR 20127020867A KR 20120114347 A KR20120114347 A KR 20120114347A
Authority
KR
South Korea
Prior art keywords
block
pixel
filter
reference value
filtering
Prior art date
Application number
KR1020127020867A
Other languages
English (en)
Other versions
KR101464423B1 (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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=44258492&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=KR20120114347(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by 노키아 코포레이션 filed Critical 노키아 코포레이션
Publication of KR20120114347A publication Critical patent/KR20120114347A/ko
Application granted granted Critical
Publication of KR101464423B1 publication Critical patent/KR101464423B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/117Filters, e.g. for pre-processing or post-processing
    • 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
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • 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

Landscapes

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

Abstract

코딩 및 디코딩 특히 이미지 및 비디오 신호의 코딩 및 디코딩을 위한 것만이 아닌, 장치, 방법 및 컴퓨터 프로그램 제품이 개시된다. 이미지의 두 인접한 픽셀 블록이 플랫한 특성을 갖는 지가 판정된다. 판정의 결과는 두 인접 픽셀 블록 사이의 블록 경계를 필터링하기 위한 적어도 제 1 필터 및 제 2 필터 중 필터를 선택하는데 사용된다. 판정이 두 인접 픽셀 블록이 플랫한 성질을 갖는다는 것을 나타낼 때 제 2 필터가 선택된다. 적어도 제 1 기준 값 및 제 2 기준 값은 제 2 필터를 위해 선택되고 블록 경계를 필터링하는 것에 있어서 사용된다.

Description

비디오 프로세싱을 위한 장치, 방법 및 컴퓨터 프로그램{AN APPARATUS, A METHOD AND A COMPUTER PROGRAM FOR VIDEO PROCESSING}
본 발명은 코딩 및 디코딩을 위한 장치, 방법 및 컴퓨터 프로그램에 관한 것이다.
비디오 코덱은 입력 비디오를 저장 및/또는 전송에 적합한 압축된 표현으로 변환하는 인코더 및 압축된 비디오 표현을 시청가능한 형태로 다시 압축을 풀 수 있는 디코더, 또는 이들 중 하나를 포함할 수 있다. 통상적으로 인코더는 비디오를 더 간결한 형태, 예를 들어 더 낮은 비트 레이트로 표현하기 위해 원본 비디오 시퀀스의 일부 정보를 버린다.
예를 들어 국제 전기 통신 연합(International Telecommunication Union)의 ITU-T H.263 및 H.264 코딩 표준에 따라 동작하는 통상적인 비디오 코덱은, 비디오 정보를 두 단계(two phases)로 인코딩한다. 제 1 단계에서, 특정 그림 영역 또는 "블록"에서 픽셀 값이 예측된다. 이들 픽셀 값은 예를 들어, 코딩되는 블록에 밀접하게 대응하는 이전에 인코딩된 비디오 프레임(또는 나중에 코딩된 비디오 프레임) 중 하나에서 영역을 발견하고 표시하는 것을 포함하는, 움직임 보상 메커니즘에 의해, 예측될 수 있다. 추가적으로, 픽셀 값은 공간적 영역 관계(a spatial region relationship)를 발견하고 표시하는 것을 포함하는 공간적 메커니즘(spatial mechanism)에 의해 예측될 수 있다.
이전(또는 나중) 이미지로부터의 이미지 정보를 사용하는 예측 접근방식은 상호 예측 방법(Inter prediction method)으로서 또한 지칭될 수 있고, 동일 이미지 내의 이미지 정보를 사용하는 예측 접근방식은 내부 예측 방법(Intra prediction method)으로서 또한 지칭될 수 있다.
제 2 단계는 픽셀의 예측된 블록과 픽셀의 원본 블록 사이의 에러를 코딩하는 단계이다. 이는 통상적으로 지정된 변환을 사용하여 픽셀 값에서의 차이를 변환함으로써 달성된다. 이 변환은 통상적으로 이산 코사인 변환(Discrete Cosine Transform;DCT) 또는 이들의 변형이다. 차이를 변환한 이후에, 변환된 차이는 양자화되고 엔트로피 인코딩된다.
양자화 프로세스의 충실도(fidelity)를 변동시킴으로써, 인코더는 픽셀 표현의 정확도(즉, 그림의 퀄리티)와 최종 인코딩된 비디오 표현의 크기(즉, 파일 크기 또는 전송 비트 레이트) 사이의 밸런스를 제어할 수 있다. 인코딩 프로세스의 예시는 도 4a에서 도시된다.
디코더는 (인코더에 의해 생성되고 이미지의 압축된 표현으로 저장된 움직임 또는 공간적 정보를 사용하여) 픽셀 블록의 예측된 표현을 형성하기 위해 인코더에 의해 사용된 것과 유사한 예측 메커니즘 및 예측 에러 디코딩(prediction error decoding)(공간적 도메인에서 양자화된 예측 에러 신호를 복구하기 위한 예측 에러 코딩의 반대 동작)을 적용함으로써 출력 비디오를 재구성한다.
픽셀 예측 및 에러 디코딩 프로세스를 적용한 이후 디코더는 출력 비디오 프레임을 형성하기 위해 예측과 예측 에러 신호(픽셀 값)를 통합한다.
디코더(및 인코더)는 또한 비디오 시퀀스에서 다가올 프레임에 대한 예측 참조로서 디스플레이 및/또는 저장을 위해 이를 전달하기 이전에 출력 비디오의 퀄리티를 향상시키도록 추가 필터링 프로세스를 적용할 수 있다.
디코딩 프로세스의 예시는 도 6에서 도시된다.
통상적인 비디오 코덱에서, 움직임 정보는 각 움직임 보상 이미지 블록과 관련된 움직임 벡터에 의해 표현된다. 이들 움직임 벡터의 각각은 (인코더에서) 코딩될 또는 (디코더에서) 디코딩될 그림 내의 이미지 블록의 변위 및 이전에 코딩된 또는 디코딩된 이미지(또는 그림) 중 하나에서의 예측 소스 블록을 표현한다. 움직임 벡터를 효율적으로 표현하기 위해, 움직임 벡터는 통상적으로 블록 특정 예측된 움직임 벡터에 대해 상이하게 코딩된다. 통상적인 비디오 코덱에서, 예측된 움직임 벡터는 사전정의된 방식으로 예를 들어, 인접 블록의 인코딩된 또는 디코딩된 움직임 벡터의 중간값(median)을 계산함으로써 생성된다.
통상적인 비디오 코덱에서, 움직임 보상 이후 예측 잔차(prediction residual)는 (DCT와 같은) 변환 커넬을 사용하여 먼저 변환되고 그 다음 코딩된다. 이에 대한 이유는 즉 종종 이 잔차 사이에서 일부 상관(correlation)이 여전히 존재하고 많은 경우에 변환은 이 상관을 감소시키고 더 효율적인 코딩을 제공하도록 도울 수 있다.
통상적인 비디오 인코더는 최적 코딩 모드(optimal coding modes), 예를 들어 바람직한 매크로 블록 모드 및 관련 움직임 벡터를 발견하기 위해 라그랑지안(Lagrangian) 비용 함수를 활용한다. 이 타입의 비용 함수는 손실 코딩 방법(lossy coding methods)에 기인한 정확한 또는 추정되는 이미지 왜곡과 이미지 영역 내의 픽셀 값을 표현하기 위해 필요한 정보의 정확한 또는 추정되는 양을 함께 묶기 위해 가중 팩터 또는 □ 를 사용한다.
이는 다음의 방정식에 의해 나타낼 수 있다.
Figure pct00001
여기서 C는 최소화될 라그랑지안 비용이고, D는 현재 고려되는 모드 및 움직임 벡터를 갖는 이미지 왜곡(예를 들어, 원본 이미지 블록 및 코딩된 이미지 블록 내의 픽셀 값 사이의 평균 제곱 오차)이고, R은 디코더에서 이미지 블록을 재구성하기 위해 필요한 데이터를 표현할 필요가 있는 비트의 수(후보 움직임 벡터를 표현하는 데이터의 양을 포함함)이다.
H.264/AVC와 같은, 일부 하이브리드 비디오 코덱은 그림에서 이미 프로세싱된 영역의 픽셀 값을 활용하는 공간적 수단에 의해 내부 코딩된 영역(Intra coded area)을 예측한다. 예측된 픽셀 값과 원본 픽셀 값 사이의 차이는 DCT 유사 변환을 활용하여 손실 방식으로 코딩된다. 변환 계수의 양자화는 재구성된 비디오 신호에서 아티팩트를 초래할 수 있다. 변환된 영역 또는 변환된 영역의 부분이 고주파수 콘텐츠를 갖지 않는다면 이들 아티팩트는 특히 가시적이다(즉, 픽셀 값은 거의 같거나 영역에 걸쳐 점진적으로 변한다). 이러한 경우의 통상적인 예시는 사람의 안면 및 하늘이다. 이들은 모두는 동작 비트레이트가 적절하게 낮을 때(변환 계수의 적절한 양자화가 사용됨) 디코딩된 비디오에서 만족스럽게 표현되지 않는 컬러에서의 점진적 공간적 변화에 의해 특성화된다. 변환의 양자화된 AC 계수로 표현될 수 있는 것보다 픽셀 값에서의 변화의 양이 더 작을 때 이 효과는 더 심각해질 수 있다. 이 경우에 점진적으로 변화하는 픽셀 값을 갖는 그림은 이의 디코딩된 픽셀 값이 변환의 DC 계수 단독으로 표현되기 때문에 블로키(blocky)하게 보일 것이다.
일부 알려진 구조에서, 디코딩된 비디오 신호의 블로키성(blockiness)의 문제점은 예를 들어, 유한 임펄스 응답(Finite Impulse Response;FIR) 필터를 사용하여 이미지를 필터링하는 것으로 해결된다. 하지만, 복잡성의 이유에 기인하여 비디오 코딩에서 사용된 일부 필터는 짧은 탭 길이를 활용하고, 매끄러운 그림 영역에서 블로킹 아티팩트(blocking artifact)를 매끄럽게 하기에 충분하지 않을 수 있다. 이 문제점을 도 8c에서 도시된다.
본 발명은 그림 영역이 어떤 특성을 가질 때 보간 프로세스(an interpolative process)를 통상적인 FIR 후처리 필터로 대체함으로써, 플랫한 그림 또는 점진적으로 변화하는 픽셀 값을 갖는 영역의 프로세싱, 이미지의 더 바람직한 재생산이 달성될 수 있다는 고려에서부터 시작된다.
본 발명의 일부 실시예는 DCT 계수의 정밀하지 않은 양자화(coarse quantization)가 활용될 때조차 시각적으로 만족스럽게 디코딩된 그림을 야기하는 효율적인 동작 모드를 비디오 인코더 및 디코더에 제공한다. 이는 이미지의 선택된 영역에 대한 공간적 예측 및 DCT 변환 동작을 생략하고, 블록의 엣지 상에서 비연속성이 없거나 작은 비연속성만을 가지는, 프로세싱될 그림 블록 및 이미 프소세싱된 이미지 영역을 커버하는 공간적 표면을 정의함으로써 달성된다. 이미지 블록이 통상적인 좌우 및 상하의 순서로 스캐닝되는 경우에, 표면은 예를 들어, 프로세싱되는 블록의 우측 하단 코너의 픽셀 값에 대응하는 단일 파라미터를 송신하고 나머지 샘플들을 보간함으로써, 정의될 수 있다.
본 발명의 제 1 양상에 따라,
이미지의 두 인접 픽셀 블록(two adjacent blocks of pixels)이 플랫한 특성(a flat nature)을 갖는지 판정하도록 구성된 판정기(a determinator)와,
선택기(a selector)를 포함하는 장치가 제공되고, 상기 선택기는,
두 인접 픽셀 블록 사이의 블록 경계를 필터링하기 위한 적어도 제 1 필터와 제 2 필터 중 하나의 필터를 선택하기 위하여 상기 판정의 결과를 사용하고,
상기 판정이 플랫한 특성을 갖는 두 인접 픽셀 블록이 존재함을 나타낼 때 상기 제 2 필터를 선택하고,
상기 제 2 필터를 위하여 적어도 제 1 기준 값 및 제 2 기준 값을 선택하도록 구성되며,
상기 제 2 필터는 상기 블록 경계를 필터링함에 있어서 상기 제 1 기준 값 및 상기 제 2 기준 값을 사용하도록 구성된다.
본 발명의 제 2 양상에 따라,
이미지의 두 인접 픽셀 블록이 플랫한 특성을 갖는지 판정하는 단계와,
두 인접 픽셀 블록 사이의 블록 경계를 필터링하기 위한 적어도 제 1 필터와 제 2 필터 중 하나의 필터를 선택하기 위하여 상기 판정의 결과를 사용하는 단계와,
상기 판정이 플랫한 특성을 갖는 두 인접 픽셀 블록이 존재함을 나타낼 때 상기 제 2 필터를 선택하는 단계와,
상기 제 2 필터를 위하여 적어도 제 1 기준 값 및 제 2 기준 값을 선택하는 단계와,
상기 블록 경계를 필터링함에 있어서 상기 제 1 기준 값 및 상기 제 2 기준 값을 사용하는 단계를 포함하는 방법이 제공된다.
본 발명의 제 3 양상에 따라, 장치에 의해 사용하기 위한 코드가 저장된 컴퓨터 판독가능 저장 매체가 제공되고, 상기 코드는, 프로세서에 의해 실행될 때, 상기 장치로 하여금,
이미지의 두 인접 픽셀 블록이 플랫한 특성을 갖는지 판정하고,
두 인접 픽셀 블록 사이의 블록 경계를 필터링하기 위한 적어도 제 1 필터와 제 2 필터 중 하나의 필터를 선택하기 위하여 상기 판정의 결과를 사용하고,
상기 판정이 플랫한 특성을 갖는 두 인접 픽셀 블록이 존재함을 나타낼 때 상기 제 2 필터를 선택하고,
상기 제 2 필터를 위하여 적어도 제 1 기준 값 및 제 2 기준 값을 선택하고,
상기 블록 경계를 필터링함에 있어서 상기 제 1 기준 값 및 상기 제 2 기준 값을 사용하는 것을 수행하게 한다.
본 발명의 제 4 양상에 따라, 적어도 하나의 프로세서 및 적어도 하나의 메모리가 제공되고, 상기 적어도 하나의 메모리에 저장된 코드는, 상기 적어도 하나의 프로세서에 의해 실행될 때, 장치로 하여금,
이미지의 두 인접 픽셀 블록이 플랫한 특성을 갖는지 판정하고,
두 인접 픽셀 블록 사이의 블록 경계를 필터링하기 위한 적어도 제 1 필터와 제 2 필터 중 하나의 필터를 선택하기 위하여 상기 판정의 결과를 사용하고,
상기 판정이 플랫한 특성을 갖는 두 인접 픽셀 블록이 존재함을 나타낼 때 상기 제 2 필터를 선택하고,
상기 제 2 필터를 위하여 적어도 제 1 기준 값 및 제 2 기준 값을 선택하고,
상기 블록 경계를 필터링함에 있어서 상기 제 1 기준 값 및 상기 제 2 기준 값을 사용하는 것을 수행하게 한다.
본 발명의 제 5 양상에 따라,
이미지의 두 인접 픽셀 블록이 플랫한 특성을 갖는지 판정하도록 구성된 분석기(an analyzer)와,
디블로킹 필터 선택기(a deblocking filter selector)를 포함하는 장치가 제공되며, 상기 디블로킹 필터 선택기는,
두 인접 픽셀 블록 사이의 블록 경계를 필터링하기 위한 적어도 제 1 디블로킹 필터와 제 2 디블로킹 필터 중 하나의 디블로킹 필터를 선택하기 위하여 상기 판정의 결과를 사용하고,
상기 판정이 플랫한 특성을 갖는 두 인접 픽셀 블록이 존재함을 나타낼 때 상기 제 2 디블로킹 필터를 선택하고,
상기 제 2 디블로킹 필터를 위하여 적어도 제 1 기준 값 및 제 2 기준 값을 선택하도록 구성되며,
상기 제 2 디블로킹 필터는 상기 블록 경계를 필터링함에 있어서 상기 제 1 기준 값 및 상기 제 2 기준 값을 사용하도록 구성된다.
본 발명의 제 6 양상에 따라,
이미지의 두 인접 픽셀 블록이 플랫한 특성을 갖는지 판정하는 단계와,
두 인접 픽셀 블록 사이의 블록 경계를 필터링하기 위한 적어도 제 1 디블로킹 필터와 제 2 디블로킹 필터 중 하나의 디블로킹 필터를 선택하기 위하여 상기 판정의 결과를 사용하는 단계와,
상기 판정이 플랫한 특성을 갖는 두 인접 픽셀 블록이 존재함을 나타낼 때 상기 제 2 디블로킹 필터를 선택하는 단계와,
상기 제 2 디블로킹 필터를 위하여 적어도 제 1 기준 값 및 제 2 기준 값을 선택하는 단계와,
상기 블록 경계를 필터링함에 있어서 상기 제 1 기준 값 및 상기 제 2 기준 값을 사용하는 단계를 포함하는 방법이 제공된다.
본 발명의 제 7 양상에 따라,
장치에 의해 사용하기 위한 코드가 저장된 컴퓨터 판독가능 저장 매체가 제공되고, 상기 코드는, 프로세서에 의해 실행될 때, 상기 장치로 하여금,
이미지의 두 인접 픽셀 블록이 플랫한 특성을 갖는지 판정하는 것과,
두 인접 픽셀 블록 사이의 블록 경계를 필터링하기 위한 적어도 제 1 디블로킹 필터와 제 2 디블로킹 필터 중 하나의 디블로킹 필터를 선택하기 위하여 상기 판정의 결과를 사용하는 것과,
상기 판정이 플랫한 특성을 갖는 두 인접 픽셀 블록이 존재함을 나타낼 때 상기 제 2 디블로킹 필터를 선택하는 것과,
상기 제 2 디블로킹 필터를 위하여 적어도 제 1 기준 값 및 제 2 기준 값을 선택하는 것과,
상기 블록 경계를 필터링하는 것에 있어서 상기 제 1 기준 값 및 상기 제 2 기준 값을 사용하는 것을 수행하게 한다.
본 발명의 제 8 양상에 따라, 적어도 하나의 프로세서 및 적어도 하나의 메모리가 제공되고, 코드가 저장된 상기 적어도 하나의 메모리는, 상기 적어도 하나의 프로세서에 의해 실행될 때, 장치로 하여금,
이미지의 두 인접 픽셀 블록이 플랫한 특성을 갖는지 판정하는 것과,
두 인접 픽셀 블록 사이의 블록 경계를 필터링하기 위한 적어도 제 1 디블로킹 필터와 제 2 디블로킹 필터 중 하나의 디블로킹 필터를 선택하기 위하여 상기 판정의 결과를 사용하는 것과,
상기 판정이 플랫한 특성을 갖는 두 인접 픽셀 블록이 존재함을 나타낼 때 상기 제 2 디블로킹 필터를 선택하는 것과,
상기 제 2 디블로킹 필터를 위하여 적어도 제 1 기준 값 및 제 2 기준 값을 선택하는 것과,
상기 블록 경계를 필터링하는 것에 있어서 상기 제 1 기준 값 및 상기 제 2 기준 값을 사용하는 것을 수행하게 한다.
본 발명의 제 9 양상에 따라,
이미지의 두 인접 픽셀 블록이 플랫한 특성을 갖는지 판정하도록 구성된 판정기와,
선택기를 포함하는 인코더가 제공되며, 이 선택기는,
두 인접 픽셀 블록 사이의 블록 경계를 필터링하기 위한 적어도 제 1 필터와 제 2 필터 중 하나의 필터를 선택하기 위하여 상기 판정의 결과를 사용하고,
상기 판정이 플랫한 특성을 갖는 두 인접 픽셀 블록이 존재함을 나타낼 때 상기 제 2 필터를 선택하고,
상기 제 2 필터를 위하여 적어도 제 1 기준 값 및 제 2 기준 값을 선택하도록 구성되며,
상기 제 2 필터는 상기 블록 경계를 필터링함에 있어서 상기 제 1 기준 값 및 상기 제 2 기준 값을 사용하도록 구성된다.
본 발명의 제 10 양상에 따라,
이미지의 두 인접 픽셀 블록이 플랫한 특성을 갖는지 판정하도록 구성된 분석기와,
디블로킹 필터 선택기를 포함하는 인코더가 제공되며, 상기 디블로킹 필터 선택기는,
두 인접 픽셀 블록 사이의 블록 경계를 필터링하기 위한 적어도 제 1 디블로킹 필터와 제 2 디블로킹 필터 중 하나의 디블로킹 필터를 선택하기 위하여 상기 판정의 결과를 사용하고,
상기 판정이 플랫한 특성을 갖는 두 인접 픽셀 블록이 존재함을 나타낼 때 상기 제 2 디블로킹 필터를 선택하고,
상기 제 2 디블로킹 필터를 위하여 적어도 제 1 기준 값 및 제 2 기준 값을 선택하도록 구성되며,
상기 제 2 디블로킹 필터는 상기 블록 경계를 필터링함에 있어서 상기 제 1 기준 값 및 상기 제 2 기준 값을 사용하도록 구성된다.
본 발명의 제 11 양상에 따라,
이미지의 두 인접 픽셀 블록이 플랫한 특성을 갖는지 판정하기 위한 수단과,
두 인접 픽셀 블록 사이의 블록 경계를 필터링하기 위한 적어도 제 1 필터와 제 2 필터 중 하나의 필터를 선택하기 위하여 상기 판정의 결과를 사용하기 위한 수단과,
상기 판정이 플랫한 특성을 갖는 두 인접 픽셀 블록이 존재함을 나타낼 때 상기 제 2 필터를 선택하기 위한 수단과,
상기 제 2 필터를 위하여 적어도 제 1 기준 값 및 제 2 기준 값을 선택하기 위한 수단과,
블록 경계를 필터링함에 있어서 상기 제 1 기준 값 및 상기 제 2 기준 값을 사용하기 위한 수단을 포함하는 장치가 제공된다.
본 발명의 제 12 양상에 따라,
이미지의 두 인접 픽셀 블록이 플랫한 특성을 갖는지 판정하기 위한 수단과,
두 인접 픽셀 블록 사이의 블록 경계를 필터링하기 위한 적어도 제 1 디블로킹 필터와 제 2 디블로킹 필터 중 하나의 디블로킹 필터를 선택하기 위하여 상기 판정의 결과를 사용하기 위한 수단과,
상기 판정이 플랫한 특성을 갖는 두 인접 픽셀 블록이 존재함을 나타낼 때 상기 제 2 디블로킹 필터를 선택하기 위한 수단과,
상기 제 2 디블로킹 필터를 위하여 적어도 제 1 기준 값 및 제 2 기준 값을 선택하기 위한 수단과,
블록 경계를 필터링함에 있어서 상기 제 1 기준 값 및 상기 제 2 기준 값을 사용하기 위한 수단을 포함하는 장치가 제공된다.
본 발명의 더 양호한 이해를 위해, 이제 예시의 방식으로 첨부한 도면에 대한 참조가 이루어질 것이다.
도 1은 본 발명의 일부 실시예를 이용하는 전자 디바이스를 개략적으로 도시한다.
도 2는 본 발명의 일부 실시예를 이용하기에 적절한 사용자 장비를 개략적으로 도시한다.
도 3은 무선 및 유선 네트워크 접속을 사용하여 접속된 본 발명의 실시예를 이용하는 전자 디바이스를 개략적으로 더 도시한다.
도 4a 및 도 4b는 인코더 내에 통합된 것과 같은 본 발명의 실시예를 개략적으로 도시한다.
도 5는 도 4a 및 도 4b에서 도시된 바와 같은 인코더에 대한 본 발명의 실시예의 동작을 도시하는 흐름도를 도시한다.
도 6은 본 발명의 일부 실시예에 따른 디코더의 개략도를 도시한다.
도 7은 도 6에서 도시된 디코더에 대한 본 발명의 실시예의 동작을 도시하는 흐름도를 도시한다.
도 8a는 픽셀 값에서의 완만한 변경만을 갖는 1차원적 신호 중 일부분의 예시를 도시한다.
도 8b는 알려진 방법을 사용하여 디블로킹 필터를 적용하기 이전에 DCT 변환된 상이한 신호의 DC 성분을 코딩함으로써 인코딩된 도 8a의 신호를 도시한다.
도 8c는 알려진 방법을 사용하여 디블로킹 필터를 적용한 이후 DCT 변환된 상이한 신호의 DC 성분을 코딩함으로써 인코딩된 도 8a의 신호를 도시한다.
도 9a는 블록 경계에 걸쳐 블로킹 아티팩트를 오직 갖는 1차원적 신호 중 일부분의 예시를 도시한다.
도 9b는 본 발명의 예시의 실시예를 적용한 이후 도 9a의 신호를 도시한다.
도 9c는 표면 코딩 모드로 코딩되고 블록 경계에 걸쳐 블로킹 아티팩트를 갖는 1차원적 신호 중 일부분의 예시를 도시한다.
도 9d는 본 발명의 예시의 실시예를 적용한 이후 도 9c의 신호를 도시한다.
도 9e는 본 발명의 다른 예시의 실시예를 적용한 이후 도 9c의 신호를 도시한다.
도 9f는 2차원적 신호에 본 발명을 적용하는 예시를 도시한다.
도 10은 본 발명의 예시의 실시예에 따른 방법에 의해 인코딩된 이미지 정보를 포함하는 비트 스트림의 예시를 도시한다.
다음은 비디오 코덱에 대한 인코딩 효율 및 신호 충실도를 향상시키는 것의 제공에 적합한 장치 및 가능한 메커니즘을 더 자세하게 설명한다. 이 점에서, 본 발명의 실시예에 따른 코덱을 통합시킬 수 있는, 예시의 장치 또는 전자 디바이스(50)의 개략적 블록도를 도시하는 도 1에 대한 참조가 먼저 이루어진다.
전자 디바이스(50)는 예를 들어, 무선 통신 시스템의 이동 단말 또는 사용자 장비가 될 수 있다. 하지만, 본 발명의 실시예는 비디오 이미지를 인코딩 및 디코딩 또는 인코딩 또는 디코딩하는 것이 필요할 수 있는 전자 디바이스 또는 장치 내에서 구현될 수 있음이 이해될 것이다.
장치(50)는 디바이스를 통합시키고 보호하기 위한 하우징(30)을 포함할 수 있다. 장치(50)는 액정 디스플레이의 형태인 디스플레이(32)를 더 포함할 수 있다. 본 발명의 다른 실시예에서, 디스플레이는 이미지 또는 비디오를 디스플레이하기 에 적절한 임의의 적합한 디스플레이 기술이 될 수 있다. 장치(50)는 키패드(34)를 더 포함할 수 있다. 본 발명의 다른 실시예에서 임의의 적합한 데이터 또는 사용자 인터페이스 메커니즘이 이용될 수 있다. 예를 들어 사용자 인터페이스는 터치 센시티브 디스플레이(a touch-sensitive display)의 부분으로서 데이터 엔트리 시스템 또는 가상 키보드로서 구현될 수 있다. 장치는 마이크로폰(36) 또는 디지털 또는 아날로그 입력 신호 입력이 될 수 있는 임의의 적합한 오디오 입력을 포함할 수 있다. 장치(50)는 본 발명의 실시예에서 이어피스(earpiece)(38), 스피커, 또는 아날로그 오디오 또는 디지털 오디오 출력 접속 중 어느 하나가 될 수 있는 오디오 출력 디바이스를 더 포함할 수 있다. 장치(50)는 또한 배터리(40)(또는 본 발명의 다른 실시예에서 디바이스는 태양열 전지, 연료 전지 또는 시계태엽 발생기(clockwork generator)와 같은 임의의 적합한 이동 에너지 디바이스에 의해 전원공급될 수 있다)를 포함할 수 있다. 장치는 다른 디바이스로의 근거리의 가시거리 통신(short range line of sight communication)을 위한 적외선 포트(42)를 더 포함할 수 있다. 다른 실시예에서 장치(50)는 예를 들어 블루투스 무선 접속 또는 USB/파이어와이어(firewire) 유선 접속과 같은 임의의 적합한 근거리 통신 솔루션을 더 포함할 수 있다.
장치(50)는 장치(50)를 제어하기 위한 프로세서 또는 컨트롤러(56)를 포함할 수 있다. 컨트롤러(56)는 본 발명의 실시예에서 이미지 및 오디오 데이터의 양쪽 형식으로 데이터를 저장할 수 있고/거나 컨트롤러(56) 상에서의 구현을 위한 명령어를 또한 저장할 수 있는 메모리(58)에 접속될 수 있다. 컨트롤러(56)는 또한 오디오 및/또는 비디오 데이터의 코딩 및 디코딩을 수행하거나 컨트롤러(56)에 의해 수행된 코딩 및 디코딩을 보조하기에 적합한 코덱 회로(54)에 접속될 수 있다.
장치(50)는 카드 판독기(48) 및 스마트 카드(46), 예를 들어 네트워크에서 사용자 정보를 제공하고 사용자의 인증 및 승인에 대한 인증 정보를 제공하기에 적합한 UICC 및 UICC 판독기를 더 포함할 수 있다.
장치(50)는 컨트롤러에 접속되고 무선 통신 신호, 예를 들어 셀룰러 통신 네트워크, 무선 통신 시스템 또는 무선 로컬 영역 네트워크와 통신하기 위한 무선 통신 신호를 발생시키기에 적합한 무선 인터페이스 회로(52)를 포함할 수 있다. 장치(50)는 무선 인터페이스 회로(52)에서 발생된 무선 주파수 신호를 다른 장치로 전송하고 다른 장치로부터 무선 주파수 신호를 수신하기 위한 무선 인터페이스 회로(52)에 접속된 안테나(44)를 더 포함할 수 있다.
본 발명의 일부 실시예에서, 장치(50)는 개별적인 프레임을 기록 또는 검출하는 것이 가능한 카메라를 포함하고 그 다음 프로세싱을 위하여 코덱(54) 또는 컨트롤러로 전달된다. 본 발명의 다른 실시예에서, 장치는 전송 및/또는 저장 이전에 다른 디바이스로부터 프로세싱을 위한 비디오 이미지 데이터를 수신할 수 있다. 본 발명의 다른 실시예에서, 장치(50)는 코딩/디코딩을 위한 이미지를 무선으로 또는 유선 접속으로 수신할 수 있다.
도 3과 관련하여, 내부에서 본 발명의 실시예가 활용될 수 있는 시스템의 예시가 도시된다. 시스템(10)은 하나 이상의 네트워크를 통해 통신할 수 있는 다수의 통신 디바이스를 포함한다. 시스템(10)은 유선 또는 무선 네트워크의 임의의 조합을 포함할 수 있고, 무선 셀룰러 전화 네트워크(예를 들어, GSM, UMTS, CDMA 네트워크 등), 예를 들어 IEEE 802.x 표준, 블루투스 개인 영역 네트워크, 이더넷 로컬 영역 네트워크, 토큰 링 로컬 영역 네트워크, 광역 네트워크, 및 인터넷 중 어느 것에 의해 정의되는 무선 로컬 영역 네트워크(WLAN)를 포함하지만 이에 제한되지 않는다.
시스템(10)은 본 발명의 실시예를 구현하기에 적합한 유선 및 무선 통신 디바이스 또는 장치 양자를 포함할 수 있다.
예를 들어, 도 3에서 도시된 시스템은 이동 전화 네트워크(11) 및 인터넷(28)의 표현을 도시한다. 인터넷(28)에 대한 접속은, 장거리 무선 접속, 근거리 무선 접속, 및 전화 라인, 케이블 라인, 전력 라인, 및 유사한 통신 경로를 포함하지만, 이에 제한되지 않는, 다양한 유선 접속을 포함할 수 있지만, 이에 제한되지 않는다.
시스템(10)에서 도시된 예시의 통신 디바이스는 전자 디바이스 또는 장치(50), 개인용 디지털 보조장치(PDA) 및 이동 전화(14)의 조합, PDA(16), 집적 메시징 디바이스(IMD)(18), 데스크탑 컴퓨터(20), 노트북 컴퓨터(22)를 포함할 수 있지만, 이에 제한되지 않는다. 장치(50)는 정지상태(stationary) 또는 이동중인 개인에 의해 휴대될 때 이동상태(mobile)가 될 수 있다. 장치(50)는 또한 차량, 트럭, 택시, 버스, 기차, 보트, 비행기, 자전거, 모터사이클 또는 임의의 유사한 적합한 교통수단을 포함하지만, 이에 제한되지 않는, 교통수단에 위치될 수 있다.
일부 또는 추가 장치는 통화 및 메시지를 송신 및 수신할 수 있고 기지국(24)에 대한 무선 접속(25)을 통해 서비스 제공자와 통신할 수 있다. 기지국(24)은 이동 전화 네트워크(11)와 인터넷(28) 사이에서의 통신을 허용하는 네트워크 서버(26)에 접속될 수 있다. 시스템은 추가 통신 디바이스 및 다양한 타입의 통신 디바이스를 포함할 수 있다.
통신 디바이스는 코드 분할 다중 액세스(CDMA), 이동 통신을 위한 글로벌 시스템(GSM), 유니버설 이동 통신 시스템(UMTS), 시간 분할 다중 액세스(TDMA), 주파수 분할 다중 액세스(FDMA), 전송 제어 프로토콜-인터넷 프로토콜(TCP-IP), 단문 메시징 서비스(SMS), 멀티미디어 메시징 서비스(MMS), 이메일, 인스턴트 메시징 서비스(IMS), 블루투스, IEEE 802.11 및 임의의 유사한 무선 통신 기술을 포함하지만, 이에 제한되지 않는, 전송 기술을 사용하여 통신할 수 있다. 본 발명의 다양한 실시예를 구현하는 것에 포함된 통신 디바이스는 무선, 적외선, 레이저, 케이블 접속, 및 임의의 적합한 접속을 포함하지만, 이에 제한되지 않는, 다양한 매체를 사용하여 통신할 수 있다.
도 4a와 관련하여, 본 발명의 실시예를 수행하기에 적합한 비디오 인코더의 블록도가 도시된다. 또한, 도 5a 및 도 5b와 관련하여, 특히 선택된 표면 영역의 보간에 대한 본 발명의 실시예를 예시하는 인코더의 동작이 자세하게 도시된다.
도 4a는 픽셀 예측기(302), 예측 에러 인코더(303) 및 예측 에러 디코더(304)를 포함하는 것으로서 인코더를 도시한다. 도 4a는 또한 상호 예측기(inter-predictor)(306), 내부 예측기(intra-predictor)(308), 모드 선택기(310), 필터(316), 및 기준 프레임 메모리(reference frame memory)(318)을 포함하는 것으로서 픽셀 예측기(302)의 실시예를 도시한다. 도 4b는 인코더의 예시의 실시예의 필터링 블록(316)을 더 자세하게 도시한다. 필터링 블록(316)은 필터링 프로세서(390), 제 1 필터(391) 및 제 2 필터(392)를 포함한다. 또한 모드 선택기(310)의 예시의 실시예가 도 4b에서 도시된다. 모드 선택기(310)는 블록 프로세서(381), 비용 평가기(382) 및 표면 인코더(383)를 포함한다. 도 4b는 또한 복수의 상이한 내부 예측 모드, 모드 1, 모드 2, ..., 모드 n을 포함하는 내부 예측기(308)의 예시를 도시한다. 모드 선택기(310)는 또한 양자화기(384)를 포함할 수 있다. 여기에서 필터링 프로세서(390) 및 블록 프로세서(381)는 분리 프로세서가 될 수 있거나 이들은 하나의 프로세서 내에서 구현될 수 있다는 것에 유의해야 한다. 블록 프로세서(381) 및 필터링 프로세서(390)의 동작은 프로그램 코드로서 구현될 수 있다.
일부 실시예에서 블록 프로세서(381)는 사용되지 않지만 블록의 이미지 콘텐츠의 특성(nature)이 예를 들어, 필터링 프로세서(390) 또는 일부 다른 수단에 의해 판정될 수 있다.
픽셀 예측기(302)는 상호 예측기(306)(이미지와 움직임 보상된 기준 프레임(318) 사이의 차이를 판정함) 및 내부 예측기(308)(현재 프레임 또는 그림의 이미 프로세싱된 부분에만 기초하여 이미지 블록에 대한 예측을 판정함) 양쪽 모두에서 인코딩될 이미지(300)를 수신한다. 상호 예측기 및 내부 예측기 모두의 출력은 모드 선택기(310)로 전달된다. 내부 예측기(308)는 하나 이상의 내부 예측 모드를 가질 수 있다. 따라서, 각각의 모드는 내부 예측을 수행할 수 있고 예측된 신호를 모드 선택기(310)로 제공한다. 모드 선택기(310)는 또한 이미지(300)의 복사본을 수신한다.
모드 선택기(310)는 현재 블록을 인코딩하기 위해 사용될 인코딩 모드를 판정한다. 모드 선택기(310)가 내부 예측 모드를 사용하도록 판정한다면, 이는 내부 예측기(306)의 출력을 모드 선택기(310)의 출력으로 전달할 것이다. 모드 선택기(310)가 내부 예측 모드를 사용하도록 판정한다면, 이는 선택적인 내부 예측기 모두 중 하나의 출력을 모드 선택기(310)의 출력으로 전달할 것이다. 모드 선택기(310)가 표면 코딩 모드(a surface coding mode)를 사용하도록 판정한 상황에서, 이는 표면 인코더(383)의 출력을 모드 선택기(310)의 출력으로 전달할 것이다. 인코딩 모드의 판정에 대한 일부 예시의 실시예는 이 명세서에서 나중에 논의될 것이다.
모드 선택기(310)의 출력은 제 1 합산 디바이스(321)로 전달된다. 제 1 합산 디바이스는 예측 에러 인코더(303)에 대한 입력인 제 1 예측 에러 신호(320)를 생성하기 위해 이미지(300)로부터 픽셀 예측기(302) 출력을 감산할 수 있다.
픽셀 예측기(302)는 예비 재구성기(preliminary reconstructor)(339)로부터 이미지 블록(312)의 예측 표현(prediction presentation) 및 예측 에러 디코더(304)의 출력(338)의 조합을 더 수신한다. 예비의 재구성된 이미지(314)는 내부 예측기(308) 및 필터(316)로 전달될 수 있다. 예비 표현을 수신하는 필터(316)는 예비 표현을 필터링하고 기준 프레임 메모리(318)에 저장될 수 있는 최종 재구성된 이미지(340)를 출력할 수 있다. 미래 이미지(300)가 내부 예측 동작에서 비교되는 기준 이미지로서 사용될 내부 예측기(306)에 기준 프레임 메모리(318)가 접속될 수 있다.
픽셀 예측기(302)의 동작은 당 기술 분야에서 알려진 임의의 알려진 픽셀 예측 알고리즘을 수행하도록 구성될 수 있다.
모드 선택기(310)의 출력은 또한 블록의 선택된 인코딩 모드에 관한 정보를 저장할 수 있는 필터링 블록, 예를 들어 나중 사용을 위한 메모리(58)로 전달될 수 있다.
예측 에러 인코더(302) 및 예측 에러 디코더(304)의 동작은 이하에서 더 자세하게 설명될 것이다. 다음의 예시에서 전체 이미지 또는 그림을 형성하게 될 16x16 픽셀 매크로블록으로 이미지를 생성한다. 따라서, 다음의 예시에 대해, 픽셀 예측기(302)는 16x16 픽셀 크기의 일련의 예측된 매크로블록을 출력하고 제 1 합산 디바이스(321)는 예측된 매크로블록(픽셀 예측기(302)의 출력)에 대한 이미지(300)에서의 제 1 매크로블록 사이의 차이를 표현할 수 있는 일련의 16x16 픽셀 잔차 데이터 매크로블록(pixel residual data macroblocks)을 출력한다. 다른 크기의 매크로블록이 사용될 수 있음이 이해될 것이다.
예측 에러 인코더(303)는 변환 블록(342) 및 양자화기(344)를 포함한다. 변환 블록(342)은 제 1 예측 에러 신호(320)를 변환 도메인으로 변환한다. 변환은, 예를 들어, DCT 변환이다. 양자화기(344)는 양자화된 계수를 형성하기 위해, 변환 도메인 신호, 예를 들어, DCT 계수를 양자화한다.
엔트로피 인코더(330)는 예측 에러 인코더의 출력을 수신하고 에러 검출 및 보정 기능을 제공하기 위해 신호에 대해 적합한 엔트로피 인코딩/가변 길이 인코딩을 수행할 수 있다. 임의의 적합한 엔트로피 인코딩 알고리즘이 이용될 수 있다.
예측 에러 디코더(304)는 예측 에러 인코더(303)로부터 출력을 수신하고 제 2 합산 디바이스(339)에서 이미지 블록(312)의 예측 표현과 조합될 때 예비의 재구성된 이미지(314)를 생성하는 디코딩된 예측 에러 신호(338)를 생성하기 위해 예측 에러 인코더(303)의 반대 프로세스를 수행한다. 예측 에러 디코더는 변환 신호를 재구성하기 위해, 양자화된 계수 값, 예를 들어, DCT 계수를 역양자화(dequantize)하는 역양자화기(dequantizer)(346)를 포함하고, 재구성된 변환 신호에 대해 역 변환을 수행하는 역변환 블록(348)을 포함하도록 고려될 수 있으며, 역 변환 블록(348)의 출력은 재구성된 블록을 포함한다. 예측 에러 디코더는 또한 추가 디코딩된 정보 및 필터 파라미터에 따라 재구성된 매크로블록을 필터링할 수 있는 매크로블록 필터를 포함할 수 있다.
도 8a 내지 도 8c는 디블로킹 필터가 픽셀 값에서의 작은 변화만을 포함하는 이미지의 영역을 야기할 수 있는 영향을 예시한다. x축은 픽셀 좌표를 도시하고 y축은 픽셀 값을 도시한다. 도 8a에서 1차원적 신호의 일부분의 예시가 도시된다. 픽셀 값은 블록에서 블록으로 그리고 블록 1, 2, 및 3 내에서 약간씩 증가한다. 도 8b에서 알려진 방법을 활용하고 블록해재 필터를 적용하기 이전에 DCT 변환된 차이 신호의 DC 성분을 코딩하여 도 8a의 이미지 신호가 인코딩된다. 도 8c에서 알려진 방법을 사용하고 디블로킹 필터를 적용한 이후에 DCT 변환된 차이 신호의 DC 성분을 코딩하여 도 8a의 이미지 신호가 코딩된다. 도 8c로부터 디블로킹 필터는 경계에 날카로운 엣지가 존재하지 않지만 블록 경계의 양측면에서 인코딩된 신호 사이의 차이는 디블로킹 필터에 의해 약간 매끄러워지도록 블록 경계에 걸쳐 픽셀을 수정한다. 하지만, 여전히 블록 경계에 걸쳐 일부 블로킹 아티팩트가 존재한다.
필터링 모드 선택의 동작 및 구현이 도 5와 관련하여 더 자세하게 도시된다. 모드 선택기(310)의 모드 선택 신호(370)에 기초하여 필터링 모드 선택기는 필터링 모드 중 하나를 선택한다. 필터링 모드가 선택될 수 있는 둘 이상의 필터링 모드가 존재할 수 있다. 제 1 필터링 모드(391)는 알려진 디블로킹 필터, 예를 들어, 유한 임펄스 응답 필터가 될 수 있고 제 2 필터링 모드(392)는 본 발명에 따른 필터링의 예시를 포함할 수 있다. 모드 선택기(310)는 현재 이미지 블록을 인코딩하기 위해 사용할 인코딩 모드를 판정하고 이 표시를 필터링 프로세서(390)로 제공한다. 필터링 프로세서(390)는 현재 블록이 플랫한 특성(도 5의 블록(500))을 갖는지를 판정하기 위해 이 표시를 사용할 수 있다.
현재 블록에 대해 선택된 인코딩 모드가 표면 코딩 모드라는 표시를 필터링 프로세서(390)가 수신할 때, 이는 이미 인코딩된 이웃 블록이 또한 표면 인코딩 모드에 의해 인코딩되었는지를 검사할 것이다(블록(501)). 표면 코딩 모드가 현재 블록과 이웃 블록 양쪽 모두에 대해 선택되었다면, 필터링 프로세서(390)는 현재 블록의 픽셀 값을 필터링하기 위한 제 2 필터(392)를 선택한다. 그렇지 않다면 필터링 프로세서(390)는 제 1 필터(391) 또는 다른 필터(블록(503))를 선택할 수 있다.
인코딩 모드에 관한 정보 외에 또는 대신에, 필터링 프로세서(390)는 현재 블록이 플랫한 특성을 갖는지 또는 현재 블록이 점진적이고 실질적으로 불균일하게 변경하는 픽셀 값을 갖는지 판정하는 다른 방식을 사용할 수 있다. 즉, 블록 내의 모든 픽셀 값이 실질적으로 동일하거나 거의 같으면 블록은 플랫한 것으로서 간주될 수 있다. 블록 경계(905)의 좌측에 대해 블록의 픽셀 값이 동일한 도 9a에서 이러한 상황의 예시가 도시된다. 또한 좌측 블록의 픽셀 값과는 상이하지만 블록 경계(905)의 우측에 대해 블록의 픽셀 값은 동일하다. 점진적으로 변화하는 픽셀 값은 픽셀 값이 일종의 기울기를 형성한다는 것을 의미한다.
블록이 이들의 대응하는 모드를 분석함으로써 플랫한 것으로서 분류될 수 있는지를 판정하는 다른 방식이 또한 존재한다. 예를 들어, 코딩된 계수, 매크로블록 내에서 블록에 대해 사용된 변환 크기, 재구성 값 및 다른 사용가능한 정보가 사용될 수 있다.
필터링 프로세서(390)가 현재 블록 및 이웃 블록이 플랫한 특성을 갖거나 픽셀 값이 점진적으로 변화한다는 것을 검출할 때, 필터링 프로세서(390)는 현재 블록과 인접한, 이미 인코딩된 블록 사이의 블록 경계 주위에서 픽셀 값을 필터링하기 위한 제 2 필터(392)를 선택한다.
다음의 일부 예시에서, 도 9a 내지 도 9f와 관련하여 본 발명에 따른 블록 경계 필터링의 실시예가 더 자세하게 개시될 것이다. 이들 도면은 이미지 신호가 1차원적인 상황을 도시하고 있지만 유사한 원리가 2차원적 이미지에도 또한 구현될 수 있다. 제 2 필터(392)는 블록 경계(905)의 양측면에서 픽셀 값을 사용한다. 제 2 필터(392)는 예를 들어, 프레임 메모리(318)로부터 이웃 블록의 하나 이상의 픽셀 값을 판독하고 현재 블록의 픽셀 값, 즉, 예비의 재구성된 이미지(314)의 픽셀 값을 수신한다. 도 9a 내지 도 9에서 블록 경계(905)의 좌측 상의 블록은 이웃 블록의 픽셀 값을 도시하고 블록 경계(905)의 우측 상의 블록은 현재, 예비의 재구성된 이미지 블록의 픽셀 값을 도시한다. 제 2 필터(392)는 필터링 윈도우(도 9b, 9d 및 9e에서 회색 직사각형(906)으로서 도시됨)를 사용할 수 있다. 필터링 윈도우는 블록 경계 주위의 블록의 어느 픽셀 값이 필터링에 의해 영향을 받을 수 있는지를 나타낸다. 블록에서 영향을 받는 픽셀의 수는 동일한 것이 될 수 있거나, 현재 블록보다 인접 블록으로부터의 더 많은 픽셀이 영향을 받을 수 있거나, 또는 이웃 블록보다 현재 블록으로부터 더 많은 픽셀이 영향을 받을 수 있다. 일부 예시의 실시예에서 도 9b에서 도시된 바와 같이 제 2 필터(392)는 이웃 블록으로부터의 8개의 픽셀의 값 및 현재 블록의 8개의 픽셀을 정의할 수 있다. 일부 다른 예시의 실시예에서 제 2 필터(392)는 인접 블록으로부터 9개의 픽셀 및 현재 블록으로부터 8개의 픽셀을 사용할 수 있다.
일부 예시에서, 제 2 필터(392)는 필터링 윈도우 내부에서 제 1 기준 값(907)으로서 극좌(leftmost) 값을 선택하고 필터링 윈도우 내부에서 제 2 기준 값(908)로서 극우(rightmost) 값을 선택한다(블록(504)). 필터링 윈도우(906) 내부의 다른 값은 제 1 기준 값(907) 및 제 2 기준 값(908)에 기초하여 판정될 수 있다(블록 (505)). 일부 예시의 실시예에서 다른 픽셀 값은 제 1 기준 값(907)에서 제 2 기준 값(908)으로 보간함으로써 판정된다(블록(506)). 일부 다른 실시예에서, 다른 픽셀 값은 제 1 기준 값(907) 및 제 2 기준 값(908)을 활용하는 다른 알고리즘을 사용하여 판정된다.
제 2 필터(392)는 필터링 윈도우(906) 내에서 픽셀의 값을 판정하고 프레임 메모리(318)로 필터링된 값을 저장한다.
필터링 윈도우라는 용어가 명세서를 명료하게 하기 위해 주요하게 소개되지만 실제 구현에서는 필터링 프로세서(390)는 필터링 윈도우가 아니라 예를 들어, 메모리 또는 프로그램 코드에 저장된 파라미터를 사용할 수 있고 이 파라미터는 제 1 기준 값을 획득하는데 사용될 픽셀 및 제 2 기준 값을 획득하는데 사용될 픽셀을 나타낸다.
도 9b의 예시에서 도 9a의 이미지 신호가 제 2 필터(392)에 의해 필터링되었다. 이 예시에서 블록 경계로부터 좌측으로 8번째 픽셀의 값은 (이웃 블록) 제 1 기준 값(907)으로서 사용되었고 블록 경계로부터 우측으로 8번째 픽셀의 값은 (현재 블록) 제 1 기준 값(908)으로서 사용되었다.
도 9d의 예시에서 도 9c의 이미지 신호가 제 2 필터(392)에 의해 필터링되었다. 또한 이 예시에서 블록 경계로부터 좌측으로 8번째 픽셀의 값은 (이웃 블록) 제 1 기준 값(907)으로서 사용되었고 블록 경계로부터 우측으로 8번째 픽셀의 값은 (현재 블록) 제 1 기준 값(908)으로서 사용되었다. 이 예시에서 두 블록은 표면 인코딩 모드에 의해 인코딩되었다.
도 9e의 예시에서 도 9c의 이미지 신호가 제 2 필터(392)에 의해 필터링되었다. 이 예시에서 블록 경계로부터 좌측으로 9번째 픽셀의 값은 (이웃 블록) 제 1 기준 값(907)으로서 사용되었고 블록 경계로부터 우측으로 9번째 픽셀의 값은 (현재 블록) 제 1 기준 값(908)으로서 사용되었다.
2차원적 이미지에서는, 필터링되는 두 개의 블록 경계가 존재할 수 있고 두 필터링은 공통의 픽셀을 가질 수 있다는 것을 제외하고는, 동작이 상술된 동작과 다소 유사하다. 도 9f는 이 상황을 도시한다. 현재 블록(901)은 이미 인코딩된, 두 상이한 이웃 블록(902, 903) 사이에 두 개의 블록 경계를 가질 수 있다. 이러한 상황에서 제 2 필터(392)는 먼저 수평적 경계, 즉, 현재 블록과 현재 블록 위의 이웃 블록(902) 사이의 경계, 그 다음 수직 경계, 즉, 현재 블록과 현재 블록의 좌측 상의 이웃 블록(903) 사이의 경계를 필터링할 수 있고, 또는 제 2 필터(392)는 수직 경계를 먼저 필터링하고 그 다음 수직 경계를 필터링할 수 있다. 필터링 윈도우(906)는 두 경계에 대해 동일한 것이 될 수 있거나 제 2 필터(392)는 상이한 경계에 대한 상이한 필터링 윈도우(906)를 사용할 수 있다. 실제로 필터링 프로세서(390)는 각각의 컬럼(column)에 대해 제 1 기준 값(907) 및 제 2 기준 값(908)을 선택할 수 있고, 각각의 컬럼에 대해 대응하는 제 1 기준 값(907) 및 제 2 기준 값(908)이 사용되도록 제 2 필터에 의한 디블로킹 필터링을 컬럼방향(column-wise) 방식으로 적용할 수 있다. 각각, 수직 블록 경계 필터링에서 필터링 프로세서(390)는 각각의 컬럼에 대해 제 3 기준 값(909) 및 제 4 기준 값(910)을 선택할 수 있고, 각각의 컬럼에 대해 대응하는 제 3 기준 값(909)(1차원적 신호의 경우에 제 1 기준 값(907)과 유사함) 및 제 4 기준 값(908)(1차원적 신호의 경우에 제 2 기준 값(908)과 유사함)이 사용되도록, 제 2 필터에 의한 디블로킹 필터링을 로우방향(row-wise) 방식으로 적용할 수 있다.
2차원적 필터링에서 블록 경계 필터링에 의해 영향을 받는 일부 픽셀이 존재하고 다른 방향을 필터링할 때 제 2(또는 제 4) 기준 값으로서 사용될 수 있다. 예를 들어, 수평적 블록 경계 필터링이 먼저 적용되면, 제 2 필터(392)가 4번째 기준 값(도 9f에서 점선 직사각형(911)으로 도시됨)을 선택하도록 명령된 동일한 컬럼에서의 픽셀은 수평 블록 경계 필터링에 의해 영향을 받을 수 있다. 따라서, 수직 블록 경계 필터링에서 로우를 필터링하기 위한 4번째 기준 값을 선택할 때, 제 2 필터(392)는 필터링된 픽셀 값을 사용할 수 있고, 또는 수직 블록 경계 필터링에서 로우를 하기 위한 4번째 기준 값을 선택할 때 제 2 필터(392)는 재구성된 픽셀 값(즉, 필터링이 적용되기 이전의 픽셀 값)을 사용할 수 있다.
도 9f 좌측에서 수평 블록 경계 필터링을 도시하고 우측은 수직 블록 경계 필터링을 도시한다. 상기 언급된 기준 값 외에, 필터링 윈도우에 의해 양방향, 즉, 수평 블록 경계 필터링 및 수직 경계 필터링으로 커버되는 다른 픽셀 위치가 또한 존재한다. 이러한 픽셀의 필터링된 값은 수평 블록 경계 필터링 및 수직 경계 필터링에 의해 획득된 픽셀 값의 조합이 될 수 있고, 또는 제 2 필터(392)는 픽셀 값들 중 하나, 즉, 수평 블록 경계 필터링에 의해 획득된 픽셀 값 또는 수직 경계 필터링에 의해 획득된 픽셀 값 중 하나를 사용하기 위해 선택할 수 있다. 일부 예시의 실시예에서 제 2 필터(392)는 수평 블록 경계 필터링 및 수직 경계 필터링에 의해 획득된 픽셀 값의 평균을 출력한다.
컨트롤 포인트의 값의 표시는 또한 컨트롤 포인트의 좌표를 포함할 수 있지만 일부 실시예에서 컨트롤 포인트의 위치는 사전판정되고 비트스트림에서 컨트롤 포인트의 위치의 표시를 포함하고 이를 디코더로 전송하는 것은 필요하지 않다. 이미지 블록에서 사전판정된 위치를 갖는, 하나 이상의 컨트롤 포인트가 존재하는 상황에서, 블록 프로세서(381)는 비트스트림에 컨트롤 포인트 및 컨트롤 포인트의 델타 값(또는 실제 값)의 인덱스를 포함시킬 수 있고 디코더는 각 컨트롤 포인트의 델타 값을 서로 구별하도록 인덱스를 사용할 수 있다.
일부 실시예에서 보간은 다양한 종류의 필터와 조합될 수 있고 프로세스에서 사용된 기준 픽셀은 또한 필터링될 수 있다.
예시의 실시예에서, 도 11에서 도시된 바와 같이, 이미지의 비트 스트림은 이미지의 시작 표시(1110), 이미지의 각 블록의 이미지 정보(1120), 및 이미지의 끝 표시(1130)를 포함한다. 이미지(1120)의 각 블록의 이미지 정보는 예측 모드의 표시(1122), 및 블록의 픽셀 값의 표시(1124)를 포함할 수 있고 이는 상호 또는 내부 예측이 이미지 블록에 대해 사용될 때 잔차 신호의 계수를 실제로 포함할 수 있다. 표면 코딩 모드가 사용되면, 블록의 픽셀 값의 표시(1124)는 컨트롤 포인트의 (양자화되고 인코딩된)델타 값을 포함할 수 있다. 비트 스트림이 또한 다른 정보를 포함할 수 있다는 것은 분명하다. 또한, 이는 단지 비트 스트림의 단순화된 이미지이고 실제 구현에서 비트 스트림의 콘텐츠는 도 11에서 도시된 것과는 상이할 수 있다.
비트 스트림은 엔트로피 인코더(330)에 의해 더 인코딩될 수 있다.
디코더(600)의 예시의 실시예의 동작은 도 6과 관련하여 더 자세하게 도시된다.
16x16 픽셀인 매크로블록의 크기에 대하여 본 실시예가 위에서 설명되었지만, 설명된 방법 및 장치가 상이한 픽셀 크기의 매크로블록을 처리하도록 구성될 수 있다.
완전성을 위해 적합한 디코더가 이후에 설명된다. 디코더 측면에서 유사한 동작이 이미지 블록을 재구성하기 위해 수행된다. 도 6은 본 발명을 이용하기에 적합한 비디오 디코더의 블록도를 도시한다. 디코더는 수신된 신호 상에 엔트로피 디코딩을 수행하는 엔트로피 디코더(600)를 도시한다. 따라서 엔트로피 디코더(600)는 상술된 인코더의 엔트로피 인코더(330)에 대한 역 동작을 수행한다. 엔트로피 디코더(600)는 예측 에러 디코더(602) 및 픽셀 예측기(604)에 대한 엔트로피 디코딩의 결과를 출력한다.
픽셀 예측기(604)는 엔트로피 디코더(600)의 출력을 수신한다. 픽셀 예측기(604) 내의 예측기 선택기(614) 내부 예측(intra-prediction), 상호 예측(inter-prediction), 또는 보간 동작이 수행됨을 판정한다. 예측기 선택기는 제 1 조합기(a first combiner)(613)에 대한 이미지 블록(616)의 예측된 표현을 더 출력할 수 있다. 예비의 재구성된 이미지(618)를 생성하기 위해 이미지 블록(616)의 예측된 표현이 재구성된 예측 에러 신호(612)와 함께 사용된다. 예비의 재구성된 이미지(618)는 예측기(614)에서 사용될 수 있거나 필터(620)로 전달될 수 있다. 필터(620)는 최종 재구성된 신호(622)를 출력하는 필터링을 적용한다. 최종 재구성된 신호(622)는 기준 프레임 메모리(624)에 저장될 수 있고, 기준 프레임 메모리(624)는 예측 동작을 위한 예측기(614)에 더 접속된다.
예측 에러 디코더(602)는 엔트로피 디코더(600)의 출력을 수신한다. 예측 에러 디코더(602)의 역양자화기(692)는 엔트로피 디코더(600)의 출력을 역양자화할 수 있고 역 변환 블록(693)은 역양자화기(692)에 의해 역양자화된 신호 출력에 대해 역 변환 동작을 수행할 수 있다. 엔트로피 디코더(600)의 출력은 또한 예측 에러 신호가 인가되지 않는다는 것을 나타낼 수 있고 이 경우에 예측 에러 디코더는 전부 제로인 출력 신호를 생성한다. 예를 들어 이는 본 발명의 예시적 실시예에 대한 예시를 위한 경우이다. 하지만, 본 발명의 일부 다른 실시예는 비제로(non-zero) 예측 에러 신호를 디코딩하기 위해 예측 에러 디코더 유닛을 적용한다.
디코더는 재구성하기 위해 16x16 픽셀 잔차 매크로블록을 선택한다. 재구성될 16x16 픽셀 잔차 매크로블록의 선택은 단계(700)에서 도시된다.
디코더는 현재 블록이 인코딩되었을 때 사용된 인코딩 모드에 대한 정보를 수신할 수 있다. 표시(indication)가 수신되면, 디코딩되고 이는 필요할 때, 예측 선택기(614)의 재구성 프로세서(691)에 제공된다. 재구성 프로세서(691)는 상기 표시를 검사하여, 상기 표시가 내부 예측 모드를 사용하여 블록이 인코딩된다는 것을 나타내는 경우 내부예측 모드를 선택하거나, 상기 표시가 블록이 상호 예측 모드를 사용하여 블록이 인코딩된다는 것을 나타내는 경우 상호 예측 모드를 선택하거나, 또는, 상기 표시가 블록이 보간을 사용하여 인코딩된다는 것을 나타내는 경우 표면 코딩 모드를 선택한다.
현재 블록의 디코딩을 위해 선택된 모드의 표시는 디코더의 디블로킹 프로세서(393)로 표시를 제공하도록 메모리(58)에 저장될 수 있거나, 상기 표시는 디코더의 디블로킹 프로세서(393)로 직접 제공될 수 있다. 디코더의 디블로킹 프로세서(393)는 현재 블록 및 이전에 재구성된 이웃 블록이 플랫한 특성을 갖는지 또는 갖지 않는지를 판정하는 것이 또한 가능하다. 이 경우에 디블로킹 프로세서(393)로 표시를 제공하는 것이 필요하지 않을 수 있다(도 7에서 블록(700 및 701)). 이웃 블록과 현재 블록이 모두 플랫한 특성을 갖는다면, 디블로킹 프로세서(393)는 블록 경계에 대해 위에서 논의된(블록(704, 705 및 706)) 인코더의 제 2 필터(392)가 수행하는 것과 유사한 필터링 동작을 수행하기 위해 제 2 필터(395)를 선택할 수 있다. 그렇지 않다면, 디블로킹 프로세서(393)는 디블로킹 필터링을 수행하기 위해 디코더의 제 1 필터(396) 또는 다른 필터를 선택할 수 있다(블록(703)).
일부 실시예에서 본 발명에 따른 디블로킹 필터링이 인코더 또는 디코더에서만 적용될 수 있다. 필터링이 인코더에서 적용되면 인코딩된 신호는 감소된 블로킹 아티팩트를 이미 가질 수 있고 디코더는 모든 블록 경계에서 유한 임펄스 필터링을 수행할 수 있다.
일부 실시예에서 디블로킹 필터링은 인코딩 또는 디코딩 프로세스 동안 수행되지 않지 않고 이는 전체 이미지가 인코딩 또는 재구성된 이후, 다음 이미지가 프로세싱되기 이전에 적용될 수 있다.
일부 실시예에서 본 발명에 따른 디블로킹 필터링은 포스트 필터(post-filter)로서 구현되고 필터링된 이미지는 인코더의 기준 프레임 메모리(318) 또는 디코더의 기준 프레임 메모리(624)로 저장되지 않는다.
여기서 필터링은 다수의 상이한 컬러 컴포넌트에 독립적으로 적용될 수 있고, 각 컬러 컴포넌트의 픽셀 값은 다른 컬러 컴포넌트와는 관계없이, 또는 연대하여, 보간된다는 것에 유의하고, 보간은 컬러 컴포넌트의 조합에 적용될 수 있다.
상술된 본 발명의 실시예는 포함된 프로세스의 이해를 돕기 위해 분리 인코더 및 디코더 장치에 관하여 코덱을 설명한다. 하지만, 장치, 구조 및 동작은 단일 인코더-디코더 장치/구조/동작으로서 구현될 수 있다는 것이 이해될 것이다. 또한, 본 발명의 일부 실시예에서 코더 및 디코더는 일부 또는 모든 공통 요소를 공유할 수 있다.
상기 예시는 전자 디바이스 내의 코덱 내에서 작동하는 본 발명의 실시예를 설명하지만, 이하에서 설명되는 바와 같이 본 발명은 임의의 비디오 코덱의 부분으로서 구현될 수 있다는 것이 이해될 것이다. 따라서, 예를 들어, 본 발명의 실시예는 고정된 또는 유선의 통신 경로를 통한 비디오 코딩을 구현할 수 있는 비디오 코덱에서 구현될 수 있다.
따라서, 사용자 장비는 위의 본 발명의 실시예에서 설명된 것과 같은 비디오 코덱을 포함할 수 있다.
사용자 장비라는 용어는 이동 전화기, 휴대용 데이터 프로세싱 디바이스 또는 휴대용 웹 브라우저와 같은, 임의의 적합한 타입의 무선 사용자 장비를 포괄하기 위함이 이해될 것이다.
또한 공중 지상 이동 네트워크(public land mobile network;PLMN)의 요소는 또한 상술된 바와 같은 비디오 코덱을 포함할 수 있다.
일반적으로, 본 발명의 다양한 실시예는 하드웨어 또는 특수 목적 회로, 소프트웨어, 로직 또는 이들의 임의의 조합으로 구현될 수 있다. 예를 들어, 일부 양상은 하드웨어로 구현될 수 있고, 반면 다른 양상은 컨트롤러, 마이크로프로세서 또는 다른 컴퓨팅 디바이스에 의해 실행될 수 있는 펌웨어 또는 소프트웨어로 구현될 수 있지만, 본 발명은 이에 제한되지 않는다. 본 발명의 다양한 양상은 블록도, 흐름도로서, 또는 일부 다른 그림 표현을 사용하여 도시되고 설명되는 반면, 여기에서 설명된 이들 블록, 장치, 시스템, 기술 또는 방법은 비제한적 예시인, 하드웨어, 소프트웨어, 펌웨어, 특수 목적 회로 또는 로직, 범용 하드웨어 또는 컨트롤러 또는 다른 컴퓨팅 디바이스, 또는 이들의 일부 조합으로서, 구현될 수 있다.
본 발명의 실시예는, 예를 들어 프로세서 엔티티에서 또는 하드웨어에 의해, 또는 소프트웨어 및 하드웨어의 조합에 의한 것과 같이, 이동 디바이스의 데이터 프로세서에 의해 실행가능한 컴퓨터 소프트웨어에 의해 구현될 수 있다. 또한 이 점에서 도면에서와 같은 로직 흐름의 임의의 블록은 프로그램 단계, 또는 상호접속된 로직 회로, 블록 및 기능, 또는 프로그램 단계 및 로직 회로, 블록 및 기능의 조합을 표현할 수 있음에 유의해야할 것이다. 예를 들어, DVD 및 이들의 데이터 변형인 CD와 같은 광학 매체, 및 하드 디스크 또는 플로피 디스크와 같은 프로세서, 자기 매체 내에서 구현되는 메모리 칩, 또는 메모리 블록과 같은 이러한 물리적 매체 상에 소프트웨어가 저장될 수 있다.
메모리는 로컬 기술 환경에 적합한 임의의 타입이 될 수 있고, 반도체 기반 메모리 디바이스, 자기 메모리 디바이스 및 시스템, 광학 메모리 디바이스 및 시스템, 고정 메모리 및 분리가능 메모리와 같은, 임의의 적합한 데이터 스토리지 기술을 사용하여 구현될 수 있다. 데이터 프로세서는 로컬 기술 환경에 적합한 임의의 타입이 될 수 있고, 비제한적 예시로서, 범용 컴퓨터, 특수 목적 컴퓨터, 마이크로프로세서, 디지털 신호 프로세서(digital signal processor;DSP) 및 멀티코어 프로세서 구조에 기초한 프로세서 중 하나 이상을 포함할 수 있다.
본 발명의 실시예는 집적 회로 모듈과 같은 다양한 컴포넌트에서 실시될 수 있다. 집적 회로의 디자인은 대체로 고도로 자동화된 프로세스이다. 복잡하고 강력한 소프트웨어 도구는 로직 레벨 디자인을 반도체 기판 상에서 에칭되고 형성될 준비가 된 반도체 회로 디자인으로 변환하기 위해 사용가능하다.
캘리포니아, 마운틴 뷰의, 시놉시스 인크 및 캘리포니아, 산호세의, 케이던스 디자인에 의해 제공되는 것과 같은 프로그램은 바람직하게 설정된 디자인 규칙뿐만 아니라 사전저장된 디자인 모듈의 라이브러리를 사용하여 자동으로 컨덕터를 라우팅하고 반도체 칩 상에 컴포넌트를 위치시킨다. 반도체 회로에 대한 디자인이 완성되면, 표준화된 전자적 형태(예를 들어, Opus, GDSII, 또는 유사한 것)의, 최종 디자인은, 반도체 제조 설비 또는 제조를 위한 "팹(fab)"으로 전달될 수 있다.
전술한 설명은 예시적 및 비제한적 예시의 방식으로 본 발명의 예시적 실시예의 풍부하고 유익한 설명을 제공하였다. 하지만, 첨부 도면 및 첨부된 청구항과 함께 판독될 때, 다양한 수정 및 응용은 전술한 설명의 관점에서 당업자에게 명백해질 것이다. 하지만, 본 발명의 교시의 모든 이러한 유사한 수정은 여전히 본 발명의 범위 내에 속할 것이다.
10 : 시스템 11 : 이동 전화 네트워크
24 : 기지국 25 : 무선 접속
26 : 네트워크 서버 28 : 인터넷
30 : 하우징 32 : 디스플레이
34 : 키패드 36 : 마이크로폰
38 : 이어피스 40 : 배터리
42 : 적외선 포트 44 : 안테나
46 : 스마트 카드 48 : 카드 판독기
52 : 무선 인터페이스 회로 54 : 코덱 회로
56 : 컨트롤러 300 : 이미지
302 : 픽셀 예측기 303 : 예측 에러 인코더
304 : 예측 에러 디코더 306 : 상호 예측기
308 : 내부 예측기 310 : 모드 선택기
312 : 이미지 블록 316 : 필터
318 : 기준 프레임 메모리 330 : 엔트로피 인코더
346 : 역양자화기 348 : 역 변환 블록
370 : 모드 선택 신호 381 : 블록 프로세서
382 : 비용 평가기 383 : 표면 인코더
384 : 양자화기 390 : 필터링 프로세서

Claims (23)

  1. 이미지의 두 인접 픽셀 블록(two adjacent blocks of pixels)이 플랫한 특성(a flat nature)을 갖는지 판정하도록 구성된 판정기(a determinator)와,
    선택기(a selector)를 포함하되, 상기 선택기는,
    두 인접 픽셀 블록 사이의 블록 경계를 필터링하기 위한 적어도 제 1 필터와 제 2 필터 중 하나의 필터를 선택하기 위하여 상기 판정의 결과를 사용하고,
    상기 판정이 플랫한 특성을 갖는 두 인접 픽셀 블록이 존재함을 나타낼 때 상기 제 2 필터를 선택하고,
    상기 제 2 필터를 위하여 적어도 제 1 기준 값 및 제 2 기준 값을 선택하도록 구성되며,
    상기 제 2 필터는 상기 블록 경계를 필터링함에 있어서 상기 제 1 기준 값 및 상기 제 2 기준 값을 사용하도록 구성되는
    장치.
  2. 제 1 항에 있어서,
    상기 픽셀 블록은 적어도 하나의 픽셀 로우(at least one row of pixels)를 포함할 수 있고, 상기 선택기는,
    상기 블록 경계로부터 제 1 간격에 위치된 제 1 픽셀 블록의 픽셀 값으로서 상기 제 1 기준 값을 선택하고,
    상기 블록 경계로부터 제 2 간격에 위치된 제 2 픽셀 블록의 픽셀 값으로서 상기 제 2 기준 값을 선택하도록 더 구성된
    장치.
  3. 제 1 항에 있어서,
    상기 픽셀 블록은 적어도 두 픽셀 로우 및 적어도 두 픽셀 컬럼(column)을 포함하되, 상기 선택기는,
    먼저 제 1 블록과 제 2 블록 사이의 수평 블록 경계(a horizontal block boundary)를 필터링하고,
    그 다음 상기 제 1 블록과 제 3 블록 사이의 수직 블록 경계(a vertical block boundary)를 필터링하도록 더 구성되는
    장치.
  4. 제 1 항에 있어서,
    상기 픽셀 블록은 적어도 두 픽셀 로우 및 적어도 두 픽셀 컬럼을 포함하되, 상기 선택기는,
    먼저 제 1 블록과 제 2 블록 사이의 수직 블록 경계를 필터링하고,
    그 다음 상기 제 1 블록과 제 3 블록 사이의 수평 블록 경계를 필터링하도록 더 구성되는
    장치.
  5. 이미지의 두 인접 픽셀 블록이 플랫한 특성을 갖는지 판정하는 단계와,
    두 인접 픽셀 블록 사이의 블록 경계를 필터링하기 위한 적어도 제 1 필터와 제 2 필터 중 하나의 필터를 선택하기 위하여 상기 판정의 결과를 사용하는 단계와,
    상기 판정이 플랫한 특성을 갖는 두 인접 픽셀 블록이 존재함을 나타낼 때 상기 제 2 필터를 선택하는 단계와,
    상기 제 2 필터를 위하여 적어도 제 1 기준 값 및 제 2 기준 값을 선택하는 단계와,
    상기 블록 경계를 필터링함에 있어서 상기 제 1 기준 값 및 상기 제 2 기준 값을 사용하는 단계를 포함하는
    방법.
  6. 제 5 항에 있어서,
    상기 픽셀 블록은 적어도 하나의 픽셀 로우를 포함할 수 있고,
    상기 방법은,
    상기 블록 경계로부터 제 1 간격에 위치된 제 1 픽셀 블록의 픽셀 값으로서 상기 제 1 기준 값을 선택하는 단계와,
    상기 블록 경계로부터 제 2 간격에 위치된 제 2 픽셀 블록의 픽셀 값으로서 상기 제 2 기준 값을 선택하는 단계를 더 포함하는
    방법.
  7. 제 5 항에 있어서,
    상기 블록 픽셀은 적어도 두 픽셀 로우 및 적어도 두 픽셀 컬럼을 포함하되,
    먼저 제 1 블록과 제 2 블록 사이의 수평 블록 경계를 필터링하는 단계와,
    그 다음 상기 제 1 블록과 제 3 블록 사이의 수직 블록 경계를 필터링하는 단계를 더 포함하는
    방법.
  8. 제 5 항에 있어서,
    상기 픽셀 블록은 적어도 두 픽셀 로우 및 적어도 두 픽셀 컬럼을 포함하되,
    먼저 제 1 블록과 제 2 블록 사이의 수직 블록 경계를 필터링하는 단계와,
    그 다음 상기 제 1 블록과 제 3 블록 사이의 수평 블록 경계를 필터링하는 단계를 더 포함하는
    방법.
  9. 장치에 의해 사용하기 위한 코드가 저장된 컴퓨터 판독가능 저장 매체에 있어서, 상기 코드는, 프로세서에 의해 실행될 때, 상기 장치로 하여금,
    이미지의 두 인접 픽셀 블록이 플랫한 특성을 갖는지 판정하고,
    두 인접 픽셀 블록 사이의 블록 경계를 필터링하기 위한 적어도 제 1 필터와 제 2 필터 중 하나의 필터를 선택하기 위하여 상기 판정의 결과를 사용하고,
    상기 판정이 플랫한 특성을 갖는 두 인접 픽셀 블록이 존재함을 나타낼 때 상기 제 2 필터를 선택하고,
    상기 제 2 필터를 위하여 적어도 제 1 기준 값 및 제 2 기준 값을 선택하고,
    상기 블록 경계를 필터링함에 있어서 상기 제 1 기준 값 및 상기 제 2 기준 값을 사용하게 하는
    컴퓨터 판독가능 저장 매체.
  10. 제 9 항에 있어서,
    상기 코드는, 상기 프로세서에 의해 실행될 때, 상기 장치로 하여금 또한,
    상기 블록 경계로부터 제 1 간격에 위치된 제 1 픽셀 블록의 픽셀 값으로서 상기 제 1 기준 값을 선택하고,
    상기 블록 경계로부터 제 2 간격에 위치된 제 2 픽셀 블록의 픽셀 값으로서 상기 제 2 기준 값을 선택하게 하는
    컴퓨터 판독가능 저장 매체.
  11. 제 9 항에 있어서,
    상기 픽셀 블록은 적어도 두 픽셀 로우 및 적어도 두 픽셀 컬럼을 포함하되, 상기 코드는, 상기 프로세서에 의해 실행될 때, 상기 장치로 하여금 또한,
    먼저 제 1 블록과 제 2 블록 사이의 수평 블록 경계를 필터링하고,
    그 다음 상기 제 1 블록과 제 3 블록 사이의 수직 블록 경계를 필터링하도록 수행하게 하는
    컴퓨터 판독가능 저장 매체.
  12. 이미지의 두 인접 픽셀 블록이 플랫한 특성을 갖는지 판정하도록 구성된 분석기(an analyzer)와,
    디블로킹 필터 선택기(a deblocking filter selector)를 포함하되, 상기 디블로킹 필터 선택기는,
    두 인접 픽셀 블록 사이의 블록 경계를 필터링하기 위한 적어도 제 1 디블로킹 필터와 제 2 디블로킹 필터 중 하나의 디블로킹 필터를 선택하기 위하여 상기 판정의 결과를 사용하고,
    상기 판정이 플랫한 특성을 갖는 두 인접 픽셀 블록이 존재함을 나타낼 때 상기 제 2 디블로킹 필터를 선택하고,
    상기 제 2 디블로킹 필터를 위하여 적어도 제 1 기준 값 및 제 2 기준 값을 선택하도록 구성되며,
    상기 제 2 디블로킹 필터는 상기 블록 경계를 필터링함에 있어서 상기 제 1 기준 값 및 상기 제 2 기준 값을 사용하도록 구성되는
    장치.
  13. 제 12 항에 있어서,
    상기 픽셀 블록의 특성을 나타내는 표시를 수신하도록 더 구성되는
    장치.
  14. 제 12 항에 있어서,
    상기 디블로킹 필터 선택기는,
    상기 블록 경계로부터 제 1 간격에 위치된 제 1 픽셀 블록의 픽셀 값으로서 상기 제 1 기준 값을 선택하고,
    상기 블록 경계로부터 제 2 간격에 위치된 제 2 픽셀 블록의 픽셀 값으로서 상기 제 2 기준 값을 선택하도록 더 구성된
    장치.
  15. 제 12 항에 있어서,
    상기 픽셀 블록은 적어도 두 픽셀 로우 및 적어도 두 픽셀 컬럼을 포함하되, 상기 디블로킹 필터 선택기는,
    먼저 제 1 블록과 제 2 블록 사이의 수평 블록 경계를 필터링하고,
    그 다음 상기 제 1 블록과 제 3 블록 사이의 수직 블록 경계를 필터링하도록 더 구성되는
    장치.
  16. 제 12 항에 있어서,
    상기 픽셀 블록은 적어도 두 픽셀 로우 및 적어도 두 픽셀 컬럼을 포함하되, 상기 디블로킹 필터 선택기는,
    먼저 상기 제 1 블록과 상기 제 2 블록 사이의 수직 블록 경계를 필터링하고,
    그 다음 상기 제 1 블록과 제 3 블록 사이의 수평 블록 경계를 필터링하도록 더 구성되는
    장치.
  17. 이미지의 두 인접 픽셀 블록이 플랫한 특성을 갖는지 판정하는 단계와,
    두 인접 픽셀 블록 사이의 블록 경계를 필터링하기 위한 적어도 제 1 디블로킹 필터와 제 2 디블로킹 필터 중 하나의 디블로킹 필터를 선택하기 위하여 상기 판정의 결과를 사용하는 단계와,
    상기 판정이 플랫한 특성을 갖는 두 인접 픽셀 블록이 존재함을 나타낼 때 상기 제 2 디블로킹 필터를 선택하는 단계와,
    상기 제 2 디블로킹 필터를 위하여 적어도 제 1 기준 값 및 제 2 기준 값을 선택하는 단계와,
    상기 블록 경계를 필터링함에 있어서 상기 제 1 기준 값 및 상기 제 2 기준 값을 사용하는 단계를 포함하는
    방법.
  18. 제 17 항에 있어서,
    상기 픽셀 블록의 특성을 나타내는 표시를 수신하는 단계를 더 포함하는
    방법.
  19. 제 17 항에 있어서,
    상기 픽셀 블록은 적어도 하나의 픽셀 로우를 포함할 수 있고,
    상기 블록 경계로부터 제 1 간격에 위치된 제 1 픽셀 블록의 픽셀 값으로서 상기 제 1 기준 값을 선택하는 단계와,
    상기 블록 경계로부터 제 2 간격에 위치된 제 2 픽셀 블록의 픽셀 값으로서 상기 제 2 기준 값을 선택하는 단계를 더 포함하는
    방법.
  20. 제 17 항에 있어서,
    상기 픽셀 블록은 적어도 두 픽셀 로우 및 적어도 두 픽셀 컬럼을 포함할 수 있고,
    먼저 제 1 블록과 제 2 블록 사이의 수평 블록 경계를 필터링하는 단계와,
    그 다음 상기 제 1 블록과 제 3 블록 사이의 수직 블록 경계를 필터링하는 단계를 더 포함하는
    방법.
  21. 제 17 항에 있어서,
    상기 픽셀 블록은 적어도 두 픽셀 로우 및 적어도 두 픽셀 컬럼을 포함할 수 있고,
    먼저 제 1 블록과 제 2 블록 사이의 수직 블록 경계를 필터링하는 단계와,
    그 다음 상기 제 1 블록과 제 3 블록 사이의 수평 블록 경계를 필터링하는 단계를 더 포함하는
    방법.
  22. 장치에 의해 사용하기 위한 코드가 저장된 컴퓨터 판독가능 저장 매체에 있어서, 상기 코드는, 프로세서에 의해 실행될 때, 상기 장치로 하여금,
    이미지의 두 인접 픽셀 블록이 플랫한 특성을 갖는지 판정하는 것과,
    두 인접 픽셀 블록 사이의 블록 경계를 필터링하기 위한 적어도 제 1 디블로킹 필터와 제 2 디블로킹 필터 중 하나의 디블로킹 필터를 선택하기 위하여 상기 판정의 결과를 사용하는 것과,
    상기 판정이 플랫한 특성을 갖는 두 인접 픽셀 블록이 존재함을 나타낼 때 상기 제 2 디블로킹 필터를 선택하는 것과,
    상기 제 2 디블로킹 필터를 위하여 적어도 제 1 기준 값 및 제 2 기준 값을 선택하는 것과,
    상기 블록 경계를 필터링하는 것에 있어서 상기 제 1 기준 값 및 상기 제 2 기준 값을 사용하는 것을 수행하게 하는
    컴퓨터 판독가능 저장 매체.
  23. 제 22 항에 있어서,
    상기 코드가 상기 프로세서에 의해 실행될 때, 상기 장치로 하여금 또한, 상기 픽셀 블록의 특성을 나타내는 표시를 수신하게 하는
    컴퓨터 판독가능 저장 매체.
KR1020127020867A 2010-01-08 2011-01-07 비디오 프로세싱을 위한 장치, 방법 및 컴퓨터 프로그램 KR101464423B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US29347910P 2010-01-08 2010-01-08
US61/293,479 2010-01-08
PCT/IB2011/050073 WO2011083440A1 (en) 2010-01-08 2011-01-07 An apparatus, a method and a computer program for video processing

Publications (2)

Publication Number Publication Date
KR20120114347A true KR20120114347A (ko) 2012-10-16
KR101464423B1 KR101464423B1 (ko) 2014-11-25

Family

ID=44258492

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020127020867A KR101464423B1 (ko) 2010-01-08 2011-01-07 비디오 프로세싱을 위한 장치, 방법 및 컴퓨터 프로그램

Country Status (6)

Country Link
US (1) US8848801B2 (ko)
EP (1) EP2522145B1 (ko)
KR (1) KR101464423B1 (ko)
CN (1) CN102870411B (ko)
TW (1) TWI587685B (ko)
WO (1) WO2011083440A1 (ko)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101743482B1 (ko) 2010-01-22 2017-06-07 삼성전자주식회사 영역 기반의 부호화/복호화 장치 및 방법
KR20110113561A (ko) 2010-04-09 2011-10-17 한국전자통신연구원 적응적인 필터를 이용한 인트라 예측 부호화/복호화 방법 및 그 장치
US10218988B2 (en) 2011-02-23 2019-02-26 Nvidia Corporation Method and system for interpolating base and delta values of associated tiles in an image
US9384410B2 (en) 2012-05-21 2016-07-05 Nvidia Corporation Method and system for image compression while encoding at least one extra bit
US9118932B2 (en) * 2013-06-14 2015-08-25 Nvidia Corporation Adaptive filtering mechanism to remove encoding artifacts in video data
US9819969B2 (en) 2013-11-26 2017-11-14 Nvidia Corporation Generalization of methods and systems for image compression while encoding at least one extra bit
CN105389776B (zh) 2014-09-02 2019-05-03 辉达公司 图像缩放技术
US10284849B2 (en) 2015-04-13 2019-05-07 Qualcomm Incorporated Quantization parameter (QP) calculation for display stream compression (DSC) based on complexity measure
US9936203B2 (en) * 2015-04-13 2018-04-03 Qualcomm Incorporated Complex region detection for display stream compression
US10244255B2 (en) 2015-04-13 2019-03-26 Qualcomm Incorporated Rate-constrained fallback mode for display stream compression
US10356428B2 (en) 2015-04-13 2019-07-16 Qualcomm Incorporated Quantization parameter (QP) update classification for display stream compression (DSC)
US10455254B2 (en) * 2016-11-10 2019-10-22 Mediatek Inc. Method and apparatus of video coding
EP3499896A1 (en) * 2017-12-18 2019-06-19 Thomson Licensing Method and apparatus for generating an image, and corresponding computer program product and non-transitory computer-readable carrier medium
JP6964780B2 (ja) * 2017-12-29 2021-11-10 テレフオンアクチーボラゲット エルエム エリクソン(パブル) 参照値と関係するデバイスとを使用するビデオの符号化および/または復号を行う方法
US10750171B2 (en) * 2018-06-25 2020-08-18 Google Llc Deblocking filtering
EP3878185A4 (en) * 2018-11-08 2021-12-29 Telefonaktiebolaget Lm Ericsson (Publ) Asymmetric deblocking in a video encoder and/or video decoder

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7450641B2 (en) * 2001-09-14 2008-11-11 Sharp Laboratories Of America, Inc. Adaptive filtering based upon boundary strength
US7440504B2 (en) * 2001-09-24 2008-10-21 Broadcom Corporation Method and apparatus for performing deblocking filtering with interlace capability
US7689051B2 (en) * 2004-04-15 2010-03-30 Microsoft Corporation Predictive lossless coding of images and video
US7539248B2 (en) * 2004-04-29 2009-05-26 Mediatek Incorporation Adaptive de-blocking filtering apparatus and method for MPEG video decoder
BR122018015543B1 (pt) * 2004-09-20 2019-04-30 Sonic Ip, Inc. Filtro de desbloqueio de vídeo
NO322722B1 (no) * 2004-10-13 2006-12-04 Tandberg Telecom As Fremgangsmate for videokoding gjennom reduksjon av blokkartefakter
KR100678958B1 (ko) * 2005-07-29 2007-02-06 삼성전자주식회사 인트라 bl 모드를 고려한 디블록 필터링 방법, 및 상기방법을 이용하는 다 계층 비디오 인코더/디코더
US7957467B2 (en) * 2005-09-15 2011-06-07 Samsung Electronics Co., Ltd. Content-adaptive block artifact removal in spatial domain
KR100819289B1 (ko) * 2006-10-20 2008-04-02 삼성전자주식회사 영상 데이터의 디블록킹 필터링 방법 및 디블록킹 필터
US8416861B2 (en) * 2007-10-14 2013-04-09 Nokia Corporation Fixed-point implementation of an adaptive image filter with high coding efficiency
US20100220215A1 (en) * 2009-01-12 2010-09-02 Jorge Rubinstein Video acquisition and processing systems
US8566515B2 (en) * 2009-01-12 2013-10-22 Maxim Integrated Products, Inc. Memory subsystem
JP4703759B2 (ja) * 2009-11-27 2011-06-15 株式会社東芝 画像処理装置および同装置における画像処理方法
WO2011083439A1 (en) * 2010-01-08 2011-07-14 Nokia Corporation An apparatus, a method and a computer program for video coding

Also Published As

Publication number Publication date
US20110170609A1 (en) 2011-07-14
US8848801B2 (en) 2014-09-30
EP2522145B1 (en) 2021-09-08
CN102870411B (zh) 2016-09-21
WO2011083440A1 (en) 2011-07-14
EP2522145A1 (en) 2012-11-14
CN102870411A (zh) 2013-01-09
TW201146024A (en) 2011-12-16
KR101464423B1 (ko) 2014-11-25
EP2522145A4 (en) 2014-08-06
TWI587685B (zh) 2017-06-11

Similar Documents

Publication Publication Date Title
KR101464423B1 (ko) 비디오 프로세싱을 위한 장치, 방법 및 컴퓨터 프로그램
US8724692B2 (en) Apparatus, a method and a computer program for video coding
US11368700B2 (en) Apparatus, a method and a computer program for video coding
EP2661892B1 (en) Motion prediction in video coding
US9280835B2 (en) Method for coding and an apparatus based on a DC prediction value
US20120243606A1 (en) Methods, apparatuses and computer programs for video coding
US9432699B2 (en) Methods, apparatuses and computer programs for video coding
WO2010116268A1 (en) Method and apparatus for encoding and decoding of image and video signals

Legal Events

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

Payment date: 20171018

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20181018

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20191016

Year of fee payment: 6