KR20200123826A - 적응형 곱셈 계수를 이용한 이미지 필터링을 위한 방법 및 장치 - Google Patents

적응형 곱셈 계수를 이용한 이미지 필터링을 위한 방법 및 장치 Download PDF

Info

Publication number
KR20200123826A
KR20200123826A KR1020207027561A KR20207027561A KR20200123826A KR 20200123826 A KR20200123826 A KR 20200123826A KR 1020207027561 A KR1020207027561 A KR 1020207027561A KR 20207027561 A KR20207027561 A KR 20207027561A KR 20200123826 A KR20200123826 A KR 20200123826A
Authority
KR
South Korea
Prior art keywords
filter
image
multiplication
prediction
coefficients
Prior art date
Application number
KR1020207027561A
Other languages
English (en)
Other versions
KR102464520B1 (ko
Inventor
세미흐 에스엔릭
아난드 메헤르 코트라
지지에 자오
지안레 첸
Original Assignee
후아웨이 테크놀러지 컴퍼니 리미티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 후아웨이 테크놀러지 컴퍼니 리미티드 filed Critical 후아웨이 테크놀러지 컴퍼니 리미티드
Priority to KR1020227038331A priority Critical patent/KR20220153105A/ko
Publication of KR20200123826A publication Critical patent/KR20200123826A/ko
Application granted granted Critical
Publication of KR102464520B1 publication Critical patent/KR102464520B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/1887Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a variable length codeword
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • 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

Landscapes

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

Abstract

적응형 곱셈 필터를 이용하여, 복원된 이미지, 특히, 비디오 이미지를 필터링하기 위한 장치 및 방법이다. 필터 계수의 허용 가능한 값들을 이진 표현의 제한된 수 "일(ones)"만을 갖는 값들로 제한함으로써 필터링 동작의 효율이 증가된다.

Description

적응형 곱셈 계수를 이용한 이미지 필터링을 위한 방법 및 장치
본 발명의 실시형태들은 영상 처리 분야, 예를 들어 비디오 영상 및/또는 정지 영상 코딩에 관한 것이다. 적응형 곱셈 필터 계수를 갖는 필터를 이용한 이미지 필터링을 위한 새로운 방법 및 장치가 제공된다.
비디오 코딩(비디오 인코딩 및 디코딩)은 광범위한 디지털 비디오 용례, 예를 들어 디지털 TV 브로드캐스트, 인터넷 및 모바일 네트워크를 통한 비디오 전송, 화상 채팅, 화상 회의와 같은 실시간 대화형 애플리케이션, DVD 및 블루레이 디스크, 비디오 콘텐츠 획득 및 편집 시스템, 및 보안 애플리케이션의 캠코더에서 사용된다.
1990년 H.261 표준에서 블록-기반 하이브리드 비디오 코딩 방식이 개발된 이래, 새로운 비디오 코딩 기술 및 도구가 개발되었고 새로운 비디오 코딩 표준에 대한 기준을 형성했다. 대부분의 비디오 코딩 표준의 목표 중 하나는 영상 품질을 희생하지 않고 이전 버전에 비해 비트레이트 감소를 달성하는 것이었다. 추가적인 비디오 코딩 표준은 MPEG-1 비디오, MPEG-2 비디오, ITU-T H.262/MPEG-2, ITU-T H.263, ITU-T H.264/MPEG-4, Part 10, Advanced Video Coding(AVC), ITU-T H.265, High Efficiency Video Coding(HEVC), 및 이러한 표준들의 확장, 예컨대, 확장성 및/또는 3차원(3D) 확장을 포함한다.
코딩 시스템(300)의 실시형태를 예시하는 개략적인 블록도가 도 1에 주어져 있으며, 이는 아래에서 더 상세하게 설명될 것이다.
도 2는 본 발명이 구현될 수 있으며 마찬가지로 아래에서 더 상세하게 설명되는 비디오 인코더의 예시적인 구조를 도시하는 블록도이다.
특히, 예시된 인코더(100)는 본 발명에 따른 필터링 동작이 적용될 수 있는 "루프 필터(loop filter)"(120)를 포함한다. 그러나, 보다 일반적으로, 필터링 동작은 코덱의 다른 위치들, 예를 들면 보간 필터에 적용될 수 있다. 더 일반적으로, 본 발명은 비디오 뿐만 아니라 정지 영상 코딩에도 적용된다.
도 3은 본 발명이 구현될 수 있으며 마찬가지로 아래에서 더 상세하게 설명되는 비디오 디코더의 예시적인 구조를 도시하는 블록도이다. 구체적으로, 본 발명은, 예를 들면 루프 필터(220)에 적용 가능하다.
아래에서는, 적응형 필터링에 관한 몇 가지 배경 정보가 요약된다.
비디오 코딩을 위한 적응형 필터링은 Wiener(위너)-기반 적응형 필터를 사용해서 원본과 디코딩된 샘플 사이의 평균 제곱 오차를 최소화하는 역할을 한다. 특히, 제안된 적응형 루프 필터(Adaptive Loop Filter(ALF))는 각 영상의 마지막 처리 단계에 위치되고 이전 단계로부터의 아티팩트를 포착 및 해결하는 도구로서 간주될 수 있다. 적절한 필터 계수가 인코더에 의해 결정되고 디코더에 명시적으로 시그널링된다.
적응형 필터링에 관한 일반적인 정보는 IEEE Journal of Selected Topics in Signal Processing(Volume: 7, Issue: 6, Dec. 2013)에 게재된 Chia-Yang Tsai, Ching-Yeh Chen, Tomoo Yamakage, In Suk Chong, Yu-Wen Huang, Chih-Ming Fu, Takayuki Itoh, Takashi Watanabe, Takeshi Chujoh, Marta Karczewicz, 및 Shaw-Min Lei에 의한 논문 "Adaptive Loop Filtering for Video Coding"에서 확인할 수 있다.
상기 문헌에서 제공되는 설명은 적응형 필터 계수를 이용한 필터링 동작의 구체적인 구현예를 설명한다. 해당 동작의 일반적인 원리를 다음과 같이 설명할 수 있다.
일반적으로, 필터링 방정식은 다음과 같다:
Figure pct00001
여기서, R(i,j)는 좌표(i,j)에서 필터링하기 전의 영상 프레임의 샘플이다.
R'(i,j)는 필터링 후의 영상 프레임의 샘플이다. f(k,l)은 필터 계수이다.
예시적인 필터 커널은 도 4에 묘사된다. 이 실시예에 있어서, C20은 필터 커널의 중심 좌표(k=0, l=0)이고, L은 8이다.
해당 실시예에서, 필터 커널은 중심 둘레로 대칭이다. 이는 일반적으로 유효하지 않을 수도 있다.
정수 산술을 사용할 경우, 필터링 방정식이 다음과 같이 작성될 수 있다:
Figure pct00002
여기서, N은 출력의 비트-시프트(bit-shift)의 수이고, 즉, 출력은 정규화 팩터로 나눠진다. 특히, N은 미리 정의될 수 있다. "오프셋(offset)"은 정수 산술에서의 손실을 보상하기 위한 스칼라이다. N에 의한 비트 시프트의 경우, 오프셋은 2(N-1)일 수 있다. 상기 방정식에 있어서, 필터링 계수 f(k,l)은 분수가 아닌 정수인 값들만을 가질 수 있다. 하드웨어에서 정확한 구현을 보장하기 위해서는 정수 산술에 따른 필터링 방정식의 구현이 중요하다. 우측 시프트 연산 ">>N"은 2N으로 나눈 다음 잘라 버림 연산(rounding down operation)하는 효과를 갖는다.
일반적으로(반드시 그런 것은 아님), 하기의 방정식은 평균 조도를 변경하지 않는 것이 바람직한 경우에 유효하다.
Figure pct00003
인코더에 있어서, 필터 계수는 원본과 필터링된 픽셀 사이의 예상 에러 값을 최소화함으로써 추정된다.
Figure pct00004
상기 방정식에서, O(i,j)는 원본 영상의 샘플을 나타낸다.
도 5는 적응형 필터에 대한 몇 가지 전형적인 예시적인 필터 모양을 도시한다. 좌측의 도면은 5×5 다이아몬드 필터(7 개의 고유한 계수를 갖는 13 개의 탭 필터)를 도시하고, 중간 도면은 7×7 다이아몬드 필터(13 개의 고유한 계수를 갖는 25 개의 탭 필터)를 도시하고, 우측의 도면은 9×9 다이아몬드 필터(21 개의 고유한 계수를 갖는 41 개의 탭 필터)를 도시한다.
"적응형(adaptive)" 필터링이라는 용어는 필터링 프로세스가 인코더에 의해 조정될 수 있다는 사실을 의미한다. 이는, 예를 들면, 필터 모양, 필터 크기, 필터링 계수의 수, 및 필터링 계수의 값과 관련된다. "필터 힌트(filter hints)"라고도 하는 이들 데이터는 디코더에 시그널링된다.
적응형 필터링은, 곱셈을 포함하는 필터링 실현― 즉, 이 경우의 필터 계수는 소위 곱셈 또는 곱셈 계수임 ―에 적용될 때, 다음과 같은 문제를 나타낸다. 다시 말해, 본 발명의 해결하고자 하는 하기의 문제는 적응형 필터 계수를 이용한 필터링과 관련되고, 곱셈 연산에 사용되는 필터 계수들은 개별적으로 적응(수정)될 수 있다. 이와 관련하여, 개별적으로 각각의 영상(이미지, 프레임), 및/또는 각각의 픽셀, 및/또는 각각의 계수를 의미한다.
곱셈 연산의 구현이, 특히 전용 하드웨어 구현에 있어서는 비용이 많이 드는 것이 문제이다. 필터 애플리케이션은 비교적 많은 수의 필터링 곱셈 연산(예를 들면, 도 4에 도시된 바와 같이, 9×9 다이아몬드 모양 필터의 경우 픽셀 당 41 회의 곱셈)을 필요로 한다.
이는 아래에서 더 상세하게 예시된다.
2 개의 부호 없는 8 비트 정수를 곱한다고 가정한다. 필터 계수는 C이고 샘플 픽셀은 A이다.
곱셈 프로세스는 8 회의 1-비트 곱셈으로 분해될 수 있으며, 이들 각각은 이진 산술에서 비트 시프트 연산, 및 아래에 도시된 바와 같은 7 회의 덧셈 연산으로 구현될 수 있다. 따라서, 대략 1 회의 곱셈은 7 회의 덧셈과 같다.
곱셈 프로세스가 많은 양의 계산을 필요로 한다는 것이 문제이다. 따라서, 전용 하드웨어로 구현하는 데에는 비용이 많이 든다.
Figure pct00005
여기서, 8 비트의 부호 없는 필터 계수 C는 이진 표현으로 도시되고, 여기서 C[0]은 계수 C의 최하위 비트이고, C[7]은 최상위 비트이다. 유사하게, A[7], A[6], ..., A[0]은 최상위 비트부터 최하위 비트까지 순서대로 대응하는 비트이다. 이진 산술의 연산 P = C*A가 설명되고, 그 결과는 가장 아랫줄에 도시된다.
도 4의 실시예에 있어서, 필터 커널은 41 개의 필터 탭을 포함하고, 이는 픽셀 샘플을 처리하기 위해, 41 회의 곱셈 연산이 필요함을 의미한다.
본 발명 및 본 발명이 해결하는 전술한 문제는 구체적으로 곱셈 필터 계수를 이용한 적응형 필터링과 관련된다는 점에 주목한다. 이 문제는 고정된 필터, 및 특히, 다수의 고정된 필터를 사용하는 필터링 동작에는 적용되지 않는다.
다수의 고정된 필터를 사용하는 실시예는 도 6에 예시된 인터-예측에서 분수 픽셀 위치들에서 보간하기 위한 보간 필터링이다.
많은 공지된 코덱은 고정된 보간 필터를 사용하는 보간 필터링을 사용한다. 필터 계수가 필터에 대하여 고정되어 있지만, 상이한 분수 위치들(도면에서 하프 픽셀 위치 및 쿼터 픽셀 위치)에 디하여 다수의 필터가 존재한다 실시예에 있어서, 전체 필터 세트는 모션 벡터에 기초하여 적응되지만, 필터 계수들은 개별적으로 적응되지 않는다.
도면에서, 큰 원들은 이미지에서 실제 샘플 위치들에 대응하고, 작은 원들은 보간 필터링 동작의 적용에 의해 생성된 분수 위치들이다. 구체적인 실시예에 있어서, 2 개의 실제 이미지 샘플 위치 사이에는 3 개의 분수 위치(좌측 쿼터 펠(pel), 하프 펠 및 우측 쿼터 펠)가 존재한다. 도면의 좌측에는, 하프 픽셀(하프-펠) 위치들을 보간하도록 적용되는 보간 필터가 도시된다. 도면의 우측은 쿼터 픽셀(쿼터-펠) 위치들에 사용되는 보간 필터를 예시한다. 이들 필터가 서로 다르지만, 각각의 보간 필터는 고정된 필터이다. 지시된 바와 같이, 도 6의 실시예는 설명의 목적으로만 제공되고 본 발명의 일부를 형성하지는 않는다.
본 발명은 곱셈 연산을 단순화하고 곱셈 연산 노력을 줄일 수 있는 개선된 개념의 곱셈 적응형 필터링을 제공하는 것을 목표로 한다.
본 발명의 실시형태들은 독립 청구항들의 특징들에 의해 정의되고, 실시형태들의 추가적인 유리한 구현예들은 종속 청구항들의 특징들에 의해 정의된다.
본 발명의 제1 양태에 따르면, 정수로 표현되는 적응형 곱셈 계수를 갖는 필터를 사용해서 이미지 샘플 세트를 필터링하기 위한 장치가 제공된다. 장치는 필터의 적어도 하나의 곱셈 계수의 값이 허용값 세트 내에 있도록 결정하되, 소정의 자릿수 L을 갖는 상기 적어도 하나의 곱셈 계수의 절대값의 이진 표현이 적어도 하나의 "영(zero)"을 포함하도록 하고, 이미지 샘플 세트를 필터로 필터링하도록 구성된 처리 회로를 포함한다.
본 발명의 제2 양태에 따르면, 정수로 표현되는 적응형 곱셈 계수를 갖는 필터를 사용해서 이미지 샘플 세트를 필터링하기 위한 방법이 제공된다. 방법은 필터의 적어도 하나의 곱셈 계수의 값을 허용값 세트 내로 되도록 결정하되, 소정의 자릿수 L을 갖는 상기 적어도 하나의 곱셈 계수의 절대값의 이진 표현이 적어도 하나의 "영(zero)"을 포함하도록 하는 단계 및 이미지 샘플 세트를 필터로 필터링하는 단계를 포함한다.
본 개시물에 따르면, 이미지 샘플 세트는, 예를 들면, 비디오 신호 또는 정지 이미지 신호의 샘플일 수 있다. 처리 회로는 소프트웨어 및/또는 하드웨어의 임의의 조합에 의해 구현될 수 있다. 허용값 세트는, 특히, 소정의 허용값 세트일 수 있다. 일반적으로, 본 발명은 이미지가 아닌 다른 신호 샘플 세트, 예를 들면 오디오 데이터를 포함하는 신호에도 적용 가능하다.
곱셈 연산이 단순화되는 바와 같은 방식으로 적응형 곱셈 필터의 필터 계수에 의해 상정될 수 있는 값들을 제한하는 것이 본 발명의 특정 접근법이다. 구체적으로, 허용 가능한 필터 계수의 값들은, 절대값을 표현하기 위한 소정의 이진 자릿수 내에서 제한된 수의 "일(ones)"만을 허용하도록 제한된다. 이는 필터링에 대한 곱셈 연산의 단순화를 허용하고, 그에 따라 필터링 동작을 더욱 효율적으로 렌더링한다.
아래에 도시되는 바와 같이, 소정의 전체 이진 자릿수에서 허용되는 "일(ones)"의 수가 작을수록, 필터링 동작을 수행함에 있어서 효율이 개선된다. 예를 들면, 계수 값들에 의해 상정될 수 있는 임의의 값이 단일의 "1"까지만, 즉, 최대 하나의 "1"을 포함하면, 최고의 효율 개선이 달성될 수 있다.
실시형태들에 따르면, 허용값 세트의 최고 절대값은 소정의 최대값 Nmax로 제한된다.
실시형태들에 따르면, 적어도 하나의 곱셈 계수의 절대값의 이진 표현은 최대 2 개의 "일(ones)"을 포함한다. 보다 구체적으로, 적어도 하나의 곱셈 계수의 절대값의 이진 표현은 최대 하나의 "일(one)"을 포함한다. 상기에 지시된 바와 같이, 그리고 아래에서 상세하게 설명되는 바와 같이, 필터링에 대한 곱셈 연산을 수행함에 있어서의 단순화 및 그에 따른 이득 및 처리 효율은 허용된 계수 값들의 이진 표현에 영이 많을수록(그에 따라, 일이 적을수록) 높아진다. 따라서, 가장 효율적인 경우는 단 하나의 "일(one)"이 있는 경우이기는 하지만, 예를 들면, 2 개의 허용된 "일(ones)"도 여전히 양호한 결과를 제공한다. 물론, 얼마나 유익한지는 상황의 세부 내용에 따라 달라지며, 특히 대형 필터의 경우, 3 개 이상의 "일(ones)"을 갖는 것도 여전히 유익할 수 있다.
일반적으로, 허용값 세트는 필터의 적어도 하나의 곱셈 계수에 적용 가능하다.
실시형태들에 따르면, 허용값 세트는 필터의 모든 곱셈 계수에 적용된다.
대안적인 실시형태들에 따르면, 곱셈 계수들은 적어도 2 개의 그룹으로 더 그룹화되고, 그룹들 중 하나의 곱셈 계수는 허용값 세트로 제한된다. 다른 그룹 또는 그룹들에서의 곱셈 계수들은, 예를 들면, 소정의 범위 내의 모든 값을 상정할 수 있거나, 또는 다른 소정의 규칙에 따라 제한될 수 있다. 보다 구체적으로, 그룹들 중 다른 하나의 곱셈 계수들은, 예를 들면, 절대값의 소정의 최대값에 의해 정의되는 범위 내의 모든 값을 상정하도록 허용된다.
실시형태들에 따르면, 이미지 샘플 세트는 비디오 이미지 샘플 세트를 의미한다. 보다 구체적으로, 장치는 곱셈 계수들을 각각의 영상 및 각각의 픽셀에 개별적으로 적응시키도록 구성될 수 있다.
본 발명의 추가적인 특정 양태에 따르면, 복수의 픽셀을 포함하는 현재의 이미지 샘플 세트를 인코딩하기 위한 장치가 제공된다. 장치는 현재의 세트를 복원하기 위한 디코더를 갖는 인코더 및 복원된 세트를 필터링하기 위한 본 발명의 제1 양태에 따른 장치를 포함한다.
실시형태들에 따르면, 상기 인코딩 장치는 곱셈 계수의 값을 이진 코드워드에 맵핑하고 디코딩 장치에 전송되도록 비트 스트림에 코드워드를 포함시키도록 구성된 처리 회로를 더 포함한다.
보다 구체적으로, 코드워드의 길이는 서로 구별되는 (distinct) 곱셈 계수 값들의 수에 의존한다. 다시 말해, 필터 계수 값들에 가능한 한 많은 코드워드가 존재한다. 코드워드 대 값 맵핑(일대일 맵핑임)은 고정된 맵핑일 수 있거나, 또는 시그널링된 부가 정보에 따라 변경될 수 있다.
실시형태들에 따르면, 처리 회로는 필터의 곱셈 계수의 예측을 수행하고, 실제로 결정된 값을 예측에 따라 예측된 값과 비교함으로써 잔여 곱셈 계수를 결정하도록 더 구성된다. 이후, 이진 코드워드에 대한 맵핑이 잔여 곱셈 계수에 적용된다. 이 경우, 비트 스트림을 수신하는 디코딩 장치가 적용된 예측 방법을 알고 인코딩된 잔여 곱셈 계수로부터 필터의 곱셈 계수를 복원할 수 있도록 예측 제어 정보가 비트 스트림에 더 포함될 수 있다. 대안으로서, 적용된 예측 방법은 미리 정의될 수 있기 때문에, 전송되는 어떠한 부가 정보 없이도 인코더 및 디코더에 동일한 방식으로 적용된다. 가능한 예측 방법은 미리 정의된 필터 예측자를 사용하는 예측 및 사전에 시그널링된 필터 계수로부터의 예측을 포함할 수 있지만, 이들로 제한되는 것은 아니다. 실제 필터 계수와 각각의 예측된 필터 계수 사이의 차이를 표현하는 잔여 필터 계수의 값이 일반적으로 실제 계수보다 절대값이 작기 때문에, 코드워드의 수량 및 그에 따른 크기는 더 작을 수 있고, 이는 디코더에 시그널링될 정보를 추가적으로 감소시킨다.
대안으로서, 비트 스트림에 포함시키기 위한 코드워드에 대한 곱셈 계수의 맵핑은 예측 처리를 수행하지 않고 본 발명의 제1 양태에 따라 결정되는 곱셈 계수에 대하여 수행될 수 있다.
본 발명의 또 다른 양태에 따르면, 복수의 픽셀을 포함하는 이미지의 코딩된 현재의 샘플 세트를 디코딩하기 위한 장치가 제공된다. 장치는 현재의 세트를 복원하기 위한 디코더 및 복원된 세트를 필터링하기 위한 본 발명의 제1 양태에 따른 장치를 포함한다.
실시형태들에 따르면, 본 발명의 제1 양태에 따른 장치의 처리 회로는 맵핑 동작을 적용함으로써 수신된 비트 스트림에 포함되는 이진 코드워드로부터 곱셈 계수를 취득하도록 더 구성된다.
특히, 취득된 곱셈 계수는 필터링에 사용될 필터 계수일 수 있다. 대안으로서, 취득된 곱셈 계수는 실제 계수 값과 예측 스킴에 따라 예측되는 곱셈 계수 사이의 차이를 나타내는 잔여 곱셈 계수일 수 있다. 예측 스킴은 수신된 비트 스트림에 더 포함되는 예측 제어 정보에 의해 표시될 수 있다. 그 경우, 처리 회로는 취득된 잔여 곱셈 계수들 및 예측 제어 정보로부터 복원함으로써 필터 계수들의 값을 결정하도록 더 구성된다. 대안으로서, 예측 스킴(예측 방법)은 미리 정의될 수 있기 때문에, 전송되는 어떠한 예측 제어 정보 없이도 인코더 및 디코더에 동일한 방식으로 적용된다. 이어서, 처리 회로는 취득된 잔여 곱셈 계수들로부터 복원함으로써 필터 계수들의 값을 결정한다.
실시형태들에 따르면, 처리 회로에 의한 결정은, 맵핑 동작에 의해 또는 취득된 잔여 곱셈 계수들로부터의 복원에 의해 수신된 비트 스트림으로부터 직접 취득되는 적어도 하나의 곱셈 계수의 결정된 값이 허용값 세트 내에 있는지의 여부에 대한 결정을 수행하는 것, 및, 그렇지 않으면, 결정된 값을 허용값 세트 내에 있는 가장 가까운 값으로 전환하는 것을 더 포함한다.
이로써, 복원된 이미지 샘플들에 적용된 필터 계수들이 본 발명에 따른 규칙을 따르는 것이 보증된다.
하나 이상의 실시형태의 세부내용은 하기의 첨부 도면 및 발명의 상세한 설명에서 제시된다. 다른 특징, 목적, 및 장점은 발명의 상세한 설명, 도면, 및 청구범위로부터 명백해질 것이다.
아래에서는, 본 발명의 실시형태들을 첨부 도면을 참조하여 더 상세하게 설명한다:
도 1은 본 발명의 실시형태들을 구현하도록 구성되는 비디오 코딩 시스템의 실시예를 도시하는 블록도이고;
도 2는 본 발명의 실시형태들을 구현하도록 구성되는 비디오 인코더의 실시예를 도시하는 블록도이고;
도 3은 본 발명의 실시형태들을 구현하도록 구성되는 비디오 디코더의 예시적인 구조를 도시하는 블록도이고;
도 4는 본 발명이 적용될 수 있는 필터 커널의 실시예를 도시하고;
도 5는 본 발명이 적용될 수 있는 적응형 필터에 대한 전형적인 필터 모양의 실시예들을 도시하고;
도 6은 비교예로서, 보간 필터링에 적용될 다수의 고정된 필터의 실시예를 예시하고;
도 7은 본 발명의 실시형태의 특정 구현예를 예시하고;
도 8a는 필터 계수의 인코딩 및 시그널링을 위한 예시적인 인코더 측 처리를 예시하고;
도 8b는 필터 계수를 디코딩 및 복원하기 위한 예시적인 디코더 측 처리를 예시하고;
도 9는 본 발명의 다른 실시형태의 특정 구현예를 예시하고;
도 10은 본 발명의 또 다른 실시형태의 특정 구현예를 예시하며 본 발명에 의해 달성되는 이점의 예시를 제공하고;
도 11은 본 발명이 적용될 수 있는 필터 커널의 추가적인 실시예를 예시한다.
도면에서, 동일한 참조 부호는 동일하거나 또는 적어도 기능적으로 동등한 특징을 나타낸다.
하기의 설명에 있어서는, 본 개시물의 일부를 형성하며, 예시에 의해, 본 발명의 실시형태들의 특정한 양태들 또는 본 발명의 실시형태들이 사용될 수 있는 특정한 양태들을 도시하는 첨부 도면을 참조한다. 본 발명의 실시형태들이 다른 양태들에서 사용될 수 있으며 도면에 묘사되지 않은 구조적 또는 논리적 변경을 포함할 수 있다는 점을 이해한다. 따라서, 하기의 상세한 설명은 제한적인 의미로 받아들여지면 안되고, 본 발명의 범위는 첨부된 청구항들에 의해 정의된다.
예를 들면, 설명된 방법과 관련된 개시내용은 방법을 수행하도록 구성되는 상응하는 디바이스 또는 시스템에 대해서 유효할 수 있고, 그 반대의 경우도 마찬가지임을 이해한다. 예를 들어, 하나 또는 복수의 특정한 방법 단계들이 설명될 경우, 상응하는 디바이스는 하나 또는 복수의 유닛, 예컨대, 기능 유닛을 포함하여, 이러한 하나 이상의 유닛이 도면에 명시적으로 설명 또는 예시되지 않더라도, 설명된 하나 또는 복수의 방법 단계들을 수행할 수 있다(예컨대, 하나의 유닛이 하나 또는 복수의 단계를 수행하거나, 또는 복수의 유닛 각각이 복수의 단계의 하나 이상을 각각 수행함). 반면에, 예를 들어, 특정한 장치가 하나 또는 복수의 유닛, 예컨대 기능 유닛에 기초하여 설명될 경우, 상응하는 방법은, 하나 또는 복수의 단계가 도면에 명시적으로 설명 또는 예시되지 않더라도, 하나 또는 복수의 유닛의 기능을 수행하기 위한 하나의 단계를 포함할 수 있다(예컨대, 하나의 단계가 하나 또는 복수의 유닛의 기능을 수행하거나, 또는 복수의 단계 각각이 복수의 유닛 중 하나 이상의 유닛의 기능을 수행함). 또한, 본 명세서에서 설명되는 다양한 예시적인 실시형태들 및/또는 양태들의 특징들은, 구체적으로 달리 주지하지 않는 한, 서로 결합될 수 있음을 이해한다.
비디오 코딩은 일반적으로 비디오 또는 비디오 시퀀스를 형성하는 일련의 영상의 처리를 의미한다. 영상이라는 용어를 대신하여, 프레임 또는 이미지라는 용어가 비디오 코딩 분야에서 동의어로서 사용될 수 있다. 비디오 코딩은 두 부분, 즉, 비디오 인코딩 및 비디오 디코딩을 포함한다. 비디오 인코딩은 소스 측에서 수행되고, 일반적으로 (보다 효율적인 저장 및/또는 전송을 위해) 비디오 영상을 표현하는 데 필요한 데이터량을 줄이기 위해 원본 비디오 영상을 (예컨대, 압축에 의해) 처리하는 것을 포함한다. 비디오 디코딩은 수신지 측에서 수행되며 일반적으로 비디오 영상을 복원하기 위해 인코더와 비교하여 반대의 처리를 포함한다. 비디오 영상(또는 후술되는 바와 같이, 일반적으로 영상)의 "코딩(coding)"을 참조하는 실시형태들은 비디오 영상의 "인코딩(encoding)" 및 "디코딩(decoding)" 모두에 관련되는 것으로 이해되어야 한다. 인코딩 부분 및 디코딩 부분의 조합을 CODEC(COding 및 DECoding)이라고도 한다.
무손실 비디오 코딩의 경우, 원본 비디오 영상이 복원될 수 있으며, 즉, 복원된 비디오 영상은 원본 비디오 영상과 동일한 품질을 갖는다(저장 또는 전송 동안 전송 손실 또는 그 밖의 데이터 손실이 없다고 가정함). 손실 비디오 코딩의 경우, 디코더에서 완전히 복원될 수 없는 비디오 영상을 나타내는 데이터의 양을 줄이기 위해, 예컨대, 양자화에 의한 추가적인 압축이 수행되고, 즉, 복원된 비디오 영상의 품질은 원본 비디오 영상의 품질에 비해 낮거나 좋지 않다.
H.261 이후의 몇몇 비디오 코딩 표준은 "손실 하이브리드 비디오 코덱(lossy hybrid video codecs)"에 속한다(즉, 변환 도메인에서 양자화를 적용하기 위해 샘플 도메인에서의 공간 및 시간 예측과 2D 변환 코딩을 결합함). 비디오 시퀀스의 각각의 영상은 일반적으로 비-중첩 블록들의 세트로 분할되고 코딩은 일반적으로 블록 레벨에서 수행된다. 다시 말해, 인코더에서는, 비디오가 일반적으로, 블록(비디오 블록) 레벨에서, 예컨대, 공간 (인트라 영상) 예측 및 시간 (인터 영상) 예측을 사용하여 예측 블록을 생성하고, 현재의 블록(현재 처리된/처리될 블록)으로부터 예측 블록을 빼서 잔여 블록을 취득하고, 잔여 블록을 변환하고 잔여 블록을 변환 도메인에서 양자화하여 전송될 데이터의 양을 줄임(압축)으로써, 처리, 즉 인코딩되는 반면, 디코더에서는, 현재의 블록을 표현하도록 복원하기 위해 인코더와 비교하여 반대의 처리가 인코딩 또는 압축된 블록에 적용된다. 더욱이, 인코더는 디코더 처리 루프를 복제하여, 둘 모두가 후속 블록들을 처리, 즉 코딩하기 위한 동일한 예측(예컨대, 인트라 예측 및 인터 예측) 및/또는 복원을 생성하게 된다.
비디오 영상 처리(동영상 처리라고도 함) 및 정지 영상 처리(코딩을 포함하는 처리라고도 함)는 많은 개념 및 기술 또는 도구를 공유하기 때문에, 아래에서 "영상(picture)" 또는 "이미지(image)"라는 용어 및 동등한 "영상 데이터(picture data)" 또는 "이미지 데이터(image data)"라는 용어는, 필요하지 않을 경우, 비디오 영상과 정지 영상 사이의 불필요한 반복 및 구별을 피하기 위해 (전술한 바와 같이) 비디오 시퀀스의 비디오 영상 및/또는 정지 영상을 지칭하는 데 사용된다. 설명이 정지 영상(또는 정지 이미지)만을 지칭하는 경우에는, "정지 영상(still picture)"이라는 용아가 사용될 것이다.
하기의 실시형태들에 있어서는, (본 발명의 실시형태들을 도 7 내지 도 9에 기초하여 더 상세하게 설명하기 전에) 인코더(100), 디코더(200) 및 코딩 시스템(300)을 도 1 내지 도 3에 기초하여 설명한다.
도 1은 코딩 시스템(300), 예컨대, 영상 코딩 시스템(300)의 실시형태를 예시하는 개념적인 또는 개략적인 블록도이고, 여기서 코딩 시스템(300)은 인코딩된 데이터(330), 예컨대, 인코딩된 영상(330)을, 예컨대, 인코딩된 데이터(330)를 디코딩하기 위한 수신지 디바이스(320)에 제공하도록 구성되는 소스 디바이스(310)를 포함한다.
소스 디바이스(310)는 인코더(100) 또는 인코딩 유닛(100)을 포함하고, 추가적으로, 즉, 선택적으로, 영상 소스(312), 전처리 유닛(314), 예컨대, 영상 전처리 유닛(314), 및 통신 인터페이스 또는 통신 유닛(318)을 포함할 수 있다.
영상 소스(312)는, 예를 들어 현실 세계 영상을 캡처하기 위한 임의의 종류의 영상 캡처 디바이스, 및/또는 컴퓨터 애니메이션 영상을 생성하기 위한 임의의 종류의 영상 생성 디바이스, 예를 들어 컴퓨터-그래픽 프로세서, 또는 현실 세계 영상, 컴퓨터 애니메이션 영상(예컨대, 스크린 콘텐츠, 가상 현실(VR) 영상) 및/또는 이들의 임의의 조합(예컨대, 증강 현실(AR) 영상)을 취득 및/또는 제공하기 위한 임의의 종류의 디바이스일 수 있거나 이를 포함할 수 있다. 아래에서는, 이들 모든 종류의 영상 또는 이미지 및 임의의 다른 종류의 영상 또는 이미지를, 달리 구체적으로 설명하지 않는 한, "영상(picture)", "이미지(image)" 또는 "영상 데이터(picture data)" 또는 "이미지 데이터(image data)"라고 하며, "비디오 영상(video pictures)" 및 "정지 영상(still pictures)"을 포함하는 "영상(picture)" 또는 "이미지(image)"에 관한 이전의 설명은, 명시적으로 다르게 특정되지 않는 한, 여전히 유효하다.
(디지털) 영상은 강도 값이 있는 샘플들의 2차원 어레이 또는 매트릭스로 간주될 수 있다. 어레이 내의 샘플을 픽셀(영상 요소의 단축 형태) 또는 펠이라고 할 수도 있다. 어레이 또는 영상의 수평 및 수직 방향(또는 축선)의 샘플의 수는 영상의 크기 및/또는 해상도를 정의한다. 컬러의 표현을 위해, 일반적으로 3 가지 컬리 성분이 사용되고, 즉, 영상은 3 개의 샘플 어레이로 표현될 수 있거나 또는 이를 포함할 수 있다. RGB 포맷 또는 컬러 공간에서, 영상은 상응하는 적색, 녹색 및 청색 샘플 어레이를 포함한다. 그러나, 비디오 코딩에서, 각각의 픽셀은 일반적으로 Y로 표시되는 휘도 성분(때때로 L이 대신 사용되기도 함)과 Cb 및 Cr로 표시되는 2 개의 색차 성분을 포함하는 휘도/색차 포맷 또는 컬러 공간, 예컨대, YCbCr로 표현된다. 휘도(또는 간단히 루마) 성분 Y는 밝기 또는 그레이 레벨 강도(예컨대, 그레이-스케일 영상에서와 유사함)를 표현하지만, 2 개의 색차(또는 간단히 크로마) 성분 Cb 및 Cr은 색도 또는 컬러 정보 성분을 표현한다. 따라서, YCbCr 포맷의 영상은 휘도 샘플 값(Y)으로 이루어진 휘도 샘플 어레이, 및 색차 값(Cb 및 Cr)으로 이루어진 2 개의 색차 샘플 어레이를 포함한다. RGB 포맷의 영상은 YCbCr 포맷으로 전환 또는 변환될 수 있으며, 그 반대 또한 마찬가지이고, 프로세스가 또한 컬러 변환 또는 전환으로서 알려져 있다. 영상이 흑백이면, 영상은 단지 휘도 샘플 어레이만을 포함할 수 있다.
영상 소스(312)는, 예를 들어, 영상을 포착하기 위한 카메라, 사전에 포착 또는 생성된 영상을 포함 또는 저장하는 메모리, 예컨대, 영상 메모리, 및/또는 영상을 취득 또는 수신하기 위한 (내부 또는 외부의) 임의의 종류의 인터페이스일 수 있다. 카메라는, 예를 들어, 소스 디바이스에 통합되는 로컬 또는 통합 카메라일 수 있으며, 메모리는, 예컨대, 소스 디바이스에 통합되는 로컬 또는 통합 메모리일 수 있다. 인터페이스는, 예를 들어, 외부 비디오 소스, 예를 들어, 카메라, 외부 메모리, 또는 외부 영상 생성 디바이스, 예를 들어, 외부 컴퓨터 그래픽 프로세서, 컴퓨터 또는 서버와 같은 외부 영상 포착 디바이스로부터 영상을 수신하기 위한 외부 인터페이스일 수 있다. 인터페이스는 임의의 독접적인 또는 표준화된 인터페이스 프로토콜에 따른, 예컨대, 유선 또는 무선 인터페이스, 광학 인터페이스 등의 임의의 종류의 인터페이스일 수 있다. 영상 데이터(313)를 취득하기 위한 인터페이스는 통신 인터페이스(318)와 동일한 인터페이스 또는 그 일부일 수 있다.
각각의 디바이스 내의 유닛들 사이의 인터페이스는 케이블 연결부, USB 인터페이스를 포함하고, 소스 디바이스(310)와 수신지 디바이스(320) 사이의 통신 인터페이스(318 및 322)는 케이블 연결부, USB 인터페이스, 무선 인터페이스를 포함한다.
전처리 유닛(314) 및 전처리 유닛(314)에 의해 수행되는 처리와 구별하여, 영상 또는 영상 데이터(313)를 원시 영상 또는 원시 영상 데이터(313)라고 할 수도 있다.
전처리 유닛(314)은 (원시) 영상 데이터(313)를 수신하고 영상 데이터(313)에 전처리를 수행하여 전처리된 영상(315) 또는 전처리된 영상 데이터(315)를 취득하도록 구성된다. 전처리 유닛(314)에 의해 수행되는 전처리는, 예컨대, 트리밍, 컬러 포맷 전환(예컨대, RGB로부터 YCbCr로), 컬러 보정, 또는 노이즈 제거를 포함할 수 있다.
인코더(100)는 전처리된 영상 데이터(315)를 수신하고 인코딩된 영상 데이터(171)를 제공하도록 구성된다(더 상세한 내용은, 예컨대 도 2게 기초하여 설명됨).
소스 디바이스(310)의 통신 인터페이스(318)는 인코딩된 영상 데이터(171)를 수신하고 저장 또는 직접 복원을 위해 직접 다른 디바이스, 예컨대, 수신지 디바이스(320) 또는 임의의 다른 디바이스에 전송하거나, 또는 제각기 인코딩된 데이터(330)를 저장하기 전에 및/또는 인코딩된 데이터(330)를 디코딩 또는 저장을 위해 다른 디바이스, 예컨대, 수신지 디바이스(320) 또는 임의의 다른 디바이스에 전송하기 전에 인코딩된 영상 데이터(171)를 처리하도록 구성될 수 있다.
수신지 디바이스(320)는 디코더(200) 또는 디코딩 유닛(200)을 포함하고, 추가적으로, 즉 선택적으로, 통신 인터페이스 또는 통신 유닛(322), 후처리 유닛(326) 및 디스플레이 디바이스(328)를 포함할 수 있다.
수신지 디바이스(320)의 통신 인터페이스(322)는 인코딩된 영상 데이터(171) 또는 인코딩된 데이터(330)를, 예컨대, 소스 디바이스(310)로부터 또는 임의의 다른 소스, 예컨대, 메모리, 예컨대, 인코딩된 영상 데이터 메모리로부터 직접 수신하도록 구성된다.
통신 인터페이스(318) 및 통신 인터페이스(322)는 제각기 소스 디바이스(310)와 수신지 디바이스(320) 사이의 직접 통신 링크, 예컨대, 광학 연결부를 포함하는 직접 유선 또는 무선 연결부를 통해, 또는 임의의 종류의 네트워크, 예컨대, 유선 또는 무선 네트워크 또는 그 임의의 조합, 또는 임의의 종류의 비공개 및 공개 네트워크, 또는 그 임의의 종류의 조합을 통해, 인코딩된 영상 데이터(171) 또는 인코딩된 데이터(330)를 전송 및 수신하도록 구성될 수 있다.
통신 인터페이스(318)는, 예컨대, 인코딩된 영상 데이터(171)를 통신 링크 또는 통신 네트워크를 통한 전송을 위해 적절한 포맷, 예컨대, 패킷으로 패키징하도록 구성될 수 있고, 데이터 손실 보호를 더 포함할 수 있다.
통신 인터페이스(318)의 상대를 형성하는 통신 인터페이스(322)는, 예컨대, 인코딩된 영상 데이터(171)를 취득하기 위해 인코딩된 데이터(330)를 디패키징하도록 구성될 수 있고, 예컨대, 에러 은닉을 포함하는 데이터 손실 보호 및 데이터 손실 회복을 수행하도록 더 구성될 수 있다.
통신 인터페이스(318) 및 통신 인터페이스(322) 모두는 소스 디바이스(310)로부터 수신지 디바이스(320)로 향하는 도 1의 인코딩된 영상 데이터(330)에 대하여 화살표로 표시된 바와 같은 단방향 통신 인터페이스, 또는 양방향 통신 인터페이스로 구성될 수 있고, 예컨대 메시지를 송신 및 수신하여, 예컨대, 연결을 설정하고, 영상 데이터를 포함하는 손실된 또는 지연된 데이터를 확인 및/또는 재송신하고, 통신 링크 및/또는 데이터 전송, 예컨대, 인코딩된 영상 데이터 전송과 관련된 임의의 다른 정보를 교환하도록 구성될 수 있다.
디코더(200)는 인코딩된 영상 데이터(171)를 수신하고 디코딩된 영상 데이터(231) 또는 디코딩된 영상(231)을 제공하도록 구성된다(더 상세한 내용은, 예컨대, 도 9에 기초하여 설명됨).
수신지 디바이스(320)의 후처리기(326)는 디코딩된 영상 데이터(231), 예컨대, 디코딩된 영상(231)을 후처리해서 후처리된 영상 데이터(327), 예컨대, 후처리된 영상(327)을 취득하도록 구성된다. 후처리 유닛(326)에 의해 수행되는 후처리는, 예컨대, 디스플레이 디바이스(328)에 의한 디스플레이를 위해, 예컨대, 디코딩된 영상 데이터(231)를 준비하기 위한, 예컨대, 컬러 포맷 전환(예컨대, YCbCr로부터 RGB로), 컬러 보정, 트리밍, 또는 재-샘플링, 또는 임의의 다른 처리를 포함할 수 있다.
수신지 디바이스(320)의 디스플레이 디바이스(328)는 영상을, 예컨대 사용자 또는 뷰어에게 디스플레이하기 위한 후처리된 영상 데이터(327)를 수신하도록 구성된다. 디스플레이 디바이스(328)는 복원된 영상을 표현하기 위한 임의의 종류의 디스플레이, 예컨대, 통합형 또는 외부 디스플레이 또는 모니터일 수 있거나 또는 이를 포함할 수 있다. 디스플레이는, 예컨대, 음극선관(CRT), 액정 디스플레이(LCD), 플라스마 디스플레이, 유기 발광 다이오드(OLED) 디스플레이 또는 프로젝터, 홀로그래픽 디스플레이, 홀로그램 생성 장치와 같은 임의의 종류의 다른 디스플레이를 포함할 수 있다.
도 1이 소스 디바이스(310) 및 수신지 디바이스(320)를 별개의 디바이스로서 묘사하지만, 디바이스의 실시형태들은 두 디바이스 또는 두 기능, 즉 소스 디바이스(310) 또는 상응하는 기능 및 수신지 디바이스(320) 또는 상응하는 기능을 포함할 수도 있다. 이러한 실시형태들에 있어서, 소스 디바이스(310) 또는 상응하는 기능 및 수신지 디바이스(320) 또는 상응하는 기능은 동일한 하드웨어 및/또는 소프트웨어를 사용해서 또는 별개의 하드웨어 및/또는 소프트웨어 또는 그 임의의 조합에 의해 구현될 수 있다.
상세한 설명에 기초하여 당업자에게 명백한 바와 같이, 상이한 유닛들의 기능들 또는 도 1에 도시된 바와 같은 소스 디바이스(310) 및/또는 수신지 디바이스(320) 내의 기능들의 존재 및 (정확한) 분할은 실제 디바이스 및 애플리케이션에 따라 달라질 수 있다.
하기에서는, 코딩 시스템(300), 소스 디바이스(310) 및/또는 수신지 디바이스(320)에 대한 몇몇 비-제한적인 실시예들이 제공될 것이다.
통합형 디스플레이를 갖는 스마트폰, 태블릿 또는 핸드헬드 카메라와 같은 다양한 전자 제품을 코딩 시스템(300)에 대한 실시예로 볼 수 있다. 이들은 디스플레이 디바이스(328)를 포함하고, 이들의 대부분은 통합형 카메라, 즉, 영상 소스(312)도 포함한다. 통합형 카메라로 찍은 영상 데이터가 처리 및 디스플레이된다. 처리는 내부적으로 영상 데이터의 인코딩 및 디코딩을 포함할 수 있다. 또한, 인코딩된 영상 데이터는 통합 메모리에 저장될 수 있다.
대안으로서, 이들 전자 제품은 인터넷 또는 외부 카메라와 같은 외부 소스로부터 영상 데이터를 수신하거나, 또는 인코딩된 영상 데이터를 외부 디스플레이 또는 저장 유닛에 전송하기 위해 유선 또는 무선 인터페이스를 가질 수 있다.
한편, 셋톱 박스는 통합 카메라 또는 디스플레이를 포함하지 않고, 외부 디스플레이 디바이스에 디스플레이하기 위해 수신된 영상 데이터의 영상 처리를 수행한다. 이러한 셋톱 박스는, 예를 들어, 칩셋으로 구체화될 수 있다.
대안으로서, 통합 디스플레이를 갖는 TV 세트와 같은 디스플레이 디바이스에 셋톱 박스와 유사한 디바이스가 포함될 수 있다.
통합 디스플레이가 없는 감시 카메라가 추가적인 실시예를 구성한다. 이는 캡처 및 인코딩된 영상 데이터를 외부 디스플레이 디바이스 또는 외부 저장 디바이스에 전송하기 위한 인터페이스를 갖는 소스 디바이스를 나타낸다.
반대로, 예를 들면, AR 또는 VR에 사용되는 스마트 안경 또는 3D 안경과 같은 디바이스들은 수신지 디바이스(320)를 나타낸다. 이들은 인코딩된 영상 데이터를 수신하여 디스플레이한다.
따라서, 도 1에 도시된 바와 같은 소스 디바이스(310) 및 수신지 디바이스(320)는 본 발명의 예시적인 실시형태들일 뿐이며, 본 발명의 실시형태들은 도 1에 도시된 것들로 제한되지 않는다.
소스 디바이스(310) 및 수신지 디바이스(320)는 임의의 종류의 핸드헬드 또는 고정식 디바이스, 예컨대, 노트북 또는 랩톱 컴퓨터, 휴대폰, 스마트폰, 태블릿 또는 태블릿 컴퓨터, 카메라, 데스크톱 컴퓨터, 셋톱 박스, 텔레비전, 디스플레이 디바이스, 디지털 미디어 플레이어, 비디오 게임 콘솔, 비디오 스트리밍 디바이스, 브로드캐스트 수신기 디바이스 등을 포함하는 광범위한 디바이스들 중 어느 하나를 포함할 수 있다. 대규모의 전문적인 인코딩 및 디코딩의 경우, 소스 디바이스(310) 및/또는 수신지 디바이스(320)는 부가적으로 대규모 네트워크에 포함될 수 있는 서버 및 워크 스테이션을 포함할 수 있다. 이들 디바이스는 운영 체제를 전혀 사용하지 않거나, 또는 임의의 종류의 운영 체제를 사용할 수 있다.
인코더 및 인코딩 방법(ENCODER & ENCODING METHOD)
도 2는, 입력(102), 잔여 계산 유닛(104), 변환 유닛(106), 양자화 유닛(108), 역양자화 유닛(110), 및 역변환 유닛(112), 복원 유닛(114), 버퍼(116), 루프 필터(120), 디코딩된 영상 버퍼(DPB)(130), 예측 유닛(160)― 인터 추정 유닛(142), 인터 예측 유닛(144), 인트라 추정 유닛(152), 인트라 예측 유닛(154) 및 모드 선택 유닛(162)을 포함함 ―, 엔트로피 인코딩 유닛(170), 및 출력(172)을 포함하는 인코더(100), 예컨대, 영상 인코더(100)의 실시형태의 개략적/개념적인 블록도를 도시한다. 도 2에 도시된 바와 같은 비디오 인코더(100)를 하이브리드 비디오 인코더 또는 하이브리드 비디오 코덱에 따른 비디오 인코더라고 할 수도 있다. 각각의 유닛은 비일시적 메모리에 저장된 코드를 프로세서에 의해 실행함으로써 그 처리 단계들을 수행하기 위해 프로세서 및 비일시적 메모리로 구성될 수 있다.
예를 들어, 잔여 계산 유닛(104), 변환 유닛(106), 양자화 유닛(108), 및 엔트로피 인코딩 유닛(170)은 인코더(100)의 순방향 신호 경로를 형성하는 반면, 예를 들어, 역양자화 유닛(110), 역변환 유닛(112), 복원 유닛(114), 버퍼(116), 루프 필터(120), 디코딩된 영상 버퍼(DPB)(130), 인터 예측 유닛(154)은 인코더의 역방향 신호 경로를 형성하고, 인코더의 역방향 신호 경로는 동일한 복원 및 예측을 위해 반대의 처리를 제공하는 디코더의 신호 경로에 대응한다(도 3의 디코더(200) 참조).
인코더는, 예컨대, 입력(102)에 의해, 영상(101) 또는 영상(101)의 영상 블록(103), 예컨대, 비디오 또는 비디오 시퀀스를 형성하는 영상 시퀀스의 영상을 수신하도록 구성된다. 영상 블록(103)을 현재의 영상 블록 또는 코딩될 영상 블록이라고 할 수도 있으며, 영상(101)을 현재의 영상 또는 코딩될 영상(특히, 현재의 영상을 다른 영상들, 예컨대, 동일한 비디오 시퀀스, 즉, 현재의 영상을 또한 포함하는 비디오 시퀀스의 사전에 인코딩된 및/또는 디코딩된 영상들과 구별하기 위한 비디오 코딩으로 코딩될 영상)이라고 할 수도 있다.
분할(PARTITIONING)
인코더(100)의 실시형태들은, 예컨대, 영상(101)을 복수의 블록, 예컨대, 블록(103)같은 블록들로, 일반적으로는 복수의 비-중첩 블록들로 분할하도록 구성되는 영상 분할 유닛이라고 할 수도 있는 분할 유닛(도 2에는 묘사되지 않음)을 포함할 수 있다. 분할 유닛은 비디오 시퀀스의 모든 영상에 대하여 동일한 블록 크기 및 블록 크기를 정의하는 상응하는 그리드를 사용하도록 구성되거나, 또는 영상들 또는 영상들의 서브세트들 또는 그룹들 사이의 블록 크기를 변경하고 각각의 영상을 상응하는 블록들로 분할하도록 구성될 수 있다.
복수의 블록의 각각의 블록은 정사각형 치수 또는 더 일반적으로는 직사각형 치수를 가질 수 있다. 비-직사각형 모양을 갖는 영상 영역인 블록들은 나타나지 않을 수 있다.
영상(101)과 마찬가지로, 블록(103)도 영상(101)보다 작은 치수이긴 하지만, 강도 값(샘플 값)을 갖는 샘플들의 2차원 어레이 또는 매트릭스이거나 또는 그렇게 간주될 수 있다. 다시 말해, 블록(103)은, 적용되는 컬러 포맷에 따라, 예컨대, 하나의 샘플 어레이(예컨대, 흑백 영상(101)인 경우의 루마 어레이) 또는 3 개의 샘플 어레이(예컨대, 컬러 영상(101)인 경우의 하나의 루마 및 2 개의 크로마 어레이) 또는 임의의 다른 수 및/또는 종류의 어레이를 포함할 수 있다. 블록(103)의 수평 및 수직 방향(또는 축선)의 샘플 수는 블록(103)의 크기를 정의한다.
도 2에 도시된 바와 같은 인코더(100)는 영상(101)을 블록 단위로 인코딩하도록 구성되며, 예컨대, 인코딩 및 예측이 블록(103)마다 수행된다.
잔여 계산(RESIDUAL CALCULATION)
잔여 계산 유닛(104)은 영상 블록(103) 및 예측 블록(165)(예측 블록(165)에 대한 추가적인 상세는 나중에 제공됨)에 기초하여, 예컨대, 영상 블록(103)의 샘플 값들로부터 예측 블록(165)의 샘플 값들을 차감함으로써, 잔여 블록(105)을 샘플 단위(픽셀 단위)로 계산하여 샘플 도메인에서 잔여 블록(105)을 취득하도록 구성된다.
변환(TRANSFORMATION)
변환 유닛(106)은 변환, 예컨대, 공간 주파수 변환 또는 선형 공간 변환, 예컨대, 이산 코사인 변환(DCT) 또는 이산 사인 변환(DST)을, 잔여 블록(105)의 샘플 값들에 적용하여 변환 도메인에서 변환된 계수(107)를 취득하도록 구성된다. 변환된 계수(107)는 변환된 잔여 계수라고 할 수도 있으며 변환 도메인에서 잔여 블록(105)을 나타낼 수 있다.
변환 유닛(106)은 HEVC/H.265에 대하여 지정된 코어 변환과 같은 DCT/DST의 정수 근사를 적용하도록 구성될 수 있다. 정규직교 DCT 변환에 비해, 상기와 같은 정수 근사는 일반적으로 특정 팩터에 의해 스케일링된다. 순방향 및 역방향 변환에 의해 처리된 잔여 블록의 기준을 보존하기 위해, 추가적인 스케일링 팩터가 변환 프로세스의 일부로서 적용된다. 스케일링 팩터는 일반적으로 시프트 연산에 대한 2의 거듭제곱인 스케일링 팩터, 변환된 계수의 비트 깊이, 정확도와 구현 비용간의 균형 등과 같은 특정 제약조건에 기초하여 선택된다. 예를 들어, 특정 스케일링 팩터는, 예컨대, 디코더(200)에서 역변환 유닛(212)에 의한 역변환(및 예컨대, 인코더(100)에서 역변환 유닛(112)에 의한 상응하는 역변환)에 대하여 지정되고, 예컨대, 인코더(100)에서 변환 유닛(106)에 의한 순방향 변환에 대한 상응하는 스케일링 팩터는 그에 대응하여 지정될 수 있다.
양자화(QUANTIZATION)
양자화 유닛(108)은 변환된 계수(107)를, 예컨대, 스칼라 양자화 또는 벡터 양자화를 적용함으로써 양자화하여 양자화된 계수(109)를 취득하도록 구성된다. 양자화된 계수(109)를 양자화된 잔여 계수(109)라고 할 수도 있다. 예를 들어, 스칼라 양자화의 경우, 상이한 스케일링이 적용되어 더 미세한 또는 더 거친 양자화를 달성할 수 있다. 보다 작은 양자화 단계 크기들은 더 미세한 양자화에 대응하는 반면, 보다 큰 양자화 단계 크기들은 더 거친 양자화에 대응한다. 적용 가능한 양자화 단계 크기는 양자화 파라미터(QP)에 의해 표시될 수 있다. 양자화 파라미터는 예를 들어, 미리 정의된 적용 가능한 양자화 단계 크기들의 세트에 대한 인덱스일 수 있다. 예를 들어, 작은 양자화 파라미터들은 미세한 양자화(작은 양자화 단계 크기)에 대응할 수 있으며 큰 양자화 파라미터들은 거친 양자화(큰 양자화 단계 크기)에 대응할 수 있고, 그 반대도 또한 마찬가지이다. 양자화는 양자화 단계 크기에 의한 나눗셈을 포함할 수 있으며, 예컨대, 역양자화(110)에 의한 상응하는 역양자화는 양자화 크기 단계에 의한 곱셈을 포함할 수 있다. HEVC(High-Efficiency Video Coding)에 따른 실시형태들은 양자화 파라미터를 사용해서 양자화 단계 크기를 결정하도록 구성될 수 있다. 일반적으로, 양자화 단계 크기는 나눗셈을 포함하는 방정식의 고정점 근사를 사용하는 양자화 파라미터에 기초하여 계산될 수 있다. 양자화 단계 크기 및 양자화 파라미터에 대한 방정식의 고정점 근사에 사용되는 스케일링 때문에 수정될 수 있는 잔여 블록의 기준을 복원하기 위해 추가적인 스케일링 팩터가 양자화 및 역양자화에 대하여 도입될 수 있다. 예시적인 일 구현예에 있어서, 역변환 및 역양자화의 스케일링은 결합될 수 있다. 대안으로서, 맞춤화된 양자화 테이블이 사용되어, 인코더로부터 디코더로, 예컨대, 비트 스트림으로 시그널링될 수 있다. 양자화는 손실 연산이고, 양자화 단계 크기의 증가에 따라 손실이 증가한다.
인코더(100)(또는 양자화 유닛(108) 각자)의 실시형태들은, 디코더(200)가 상응하는 역양자화를 수신 및 적용할 수 있도록, 예컨대, 상응하는 양자화 파라미터에 의해, 양자화 스킴 및 양자화 단계 크기를 포함하는 양자화 설정을 출력하도록 구성될 수 있다. 인코더(100)(또는 양자화 유닛(108))의 실시형태들은 양자화 스킴 및 양자화 단계 크기를, 예컨대, 직접적으로 또는 엔트로피 인코딩 유닛(170) 또는 임의의 다른 엔트로피 코딩 유닛을 통해 인코딩되는 엔트로피를 출력하도록 구성될 수 있다.
역양자화 유닛(110)은, 예컨대, 양자화 유닛(108)과 동일한 양자화 단계 크기에 기초하거나 또는 이를 사용하여 양자화 유닛(108)에 의해 적용되는 양자화 스킴의 역 스킴을 적용함으로써, 양자화 유닛(108)의 역양자화를 양자화된 계수에 대하여 적용해서 역양자화된 계수(111)를 취득하도록 구성된다. 역양자화된 계수(111)는 역양자화된 잔여 계수(111)라고 할 수도 있으며, 양자화에 의한 손실로 인해 일반적으로 변환된 계수와 동일하지 않더라도, 변환된 계수(107)에 대응한다.
역변환 유닛(112)은 변환 유닛(106)에 의해 적용되는 변환의 역변환, 예컨대, 역 이산 코사인 변환(DCT) 또는 역 이산 사인 변환(DST)을 적용하여, 동일한 도메인에서 역변환된 블록(113)을 취득하도록 구성된다. 역변환된 블록(113)을 역변환된 역양자화된 블록(113) 또는 역변환된 잔여 블록(113)이라고 할 수도 있다.
복원 유닛(114)은, 예컨대, 디코딩된 잔여 블록(113)의 샘플 값들 및 예측 블록(165)의 샘플 값들을 샘플과 관련하여 더함으로써, 역변환 블록(113) 및 예측 블록(165)을 결합하여 샘플 도메인에서 복원된 블록(115)을 취득하도록 구성된다.
버퍼 유닛(116)(또는 간단히 "버퍼(buffer)"(116)), 예컨대, 라인 버퍼(116)는, 예를 들어, 인트라 추정 및/또는 인트라 예측을 위해 복원된 블록 및 각각의 샘플 값들을 버퍼 또는 저장하도록 구성된다. 추가적인 실시형태들에 있어서, 인코더는 임의의 종류의 추정 및/또는 예측을 위해 필터링되지 않은 복원된 블록 및/또는 버퍼 유닛(116)에 저장된 각각의 샘플 값들을 사용하도록 구성될 수 있다.
인코더(100)의 실시형태들은, 예컨대, 버퍼 유닛(116)이 인트라 추정(152) 및/또는 인트라 예측(154)을 위해 복원된 블록(115)을 저장하는 데 사용될 뿐만 아니라, 루프 필터 유닛(120)에 대해서도 사용될 수 있도록, 및/또는 예컨대, 버퍼 유닛(116) 및 디코딩된 영상 버퍼 유닛(130)이 하나의 버퍼를 형성하도록 구성될 수 있다. 추가적인 실시형태들은 인트라 추정(152) 및/또는 인트라 예측(154)에 대한 입력 또는 기준으로서 필터링된 블록(121) 및/또는 디코딩된 영상 버퍼(130)로부터의 블록 또는 샘플(도 2에는 모두 도시되지 않음)을 사용하도록 구성될 수 있다.
루프 필터 유닛(120)(또는 간단히 "루프 필터(loop filter)"(120))은, 예컨대, 블록 해제 샘플-적응형 오프셋(SAO) 필터 또는 다른 필터들, 예컨대, 선명화(sharpening) 또는 평활화(smoothing) 필터 또는 협업 필터를 적용함으로써, 복원된 블록(115)을 필터링하여 필터링된 블록(121)을 취득하도록 구성된다. 필터링된 블록(121)을 필터링된 복원 블록(121)이라고 할 수도 있다.
루프 필터 유닛(120)의 실시형태들은 필터 분석 유닛 및 실제 필터 유닛을 포함할 수 있고, 필터 분석 유닛은 실제 필터에 대한 루프 필터 파라미터를 결정하도록 구성된다. 필터 분석 유닛은 고정된 소정의 필터 파라미터를 실제 루프 필터에 적용하거나, 소정의 필터 파라미터 세트로부터 필터 파라미터를 적응적으로 선택하거나, 또는 실제 루프 필터에 대한 필터 파라미터를 적응적으로 계산하도록 구성될 수 있다.
루프 필터 유닛(120)의 실시형태들은 하나 또는 복수의 필터(예를 들면, 루프 필터 컴포넌트 및/또는 서브필터), 예컨대, 직렬로 또는 병렬로 또는 그 임의의 조합으로 연결되는, 예컨대, 하나 이상의 상이한 종류 또는 타입의 필터를 포함할 수 있고(도 2에는 도시되지 않음), 각각의 필터는 개별적으로 또는 복수의 필터의 다른 필터들과 공동으로, 예컨대, 이전 단락에서 설명된 바와 같이, 각각의 루프 필터 파라미터를 결정하기 위해 필터 분석 유닛을 포함할 수 있다.
인코더(100)(루프 필터 유닛(120) 각자)의 실시형태들은, 예컨대, 디코더(200)가 디코딩을 위해 동일한 루프 필터 파라미터를 수신 및 적용할 수 있도록, 루프 필터 파라미터를, 예컨대, 직접적으로 또는 엔트로피 인코딩 유닛(170) 또는 임의의 다른 엔트로피 코딩 유닛을 통해 인코딩된 엔트로피를 출력하도록 구성될 수 있다.
디코딩된 영상 버퍼(DPB)(130)는 필터링된 블록(121)을 수신 및 저장하도록 구성된다. 디코딩된 영상 버퍼(130)는 동일한 현재의 영상 또는 상이한 영상들, 예컨대, 사전에 복원된 영상들의 사전에 필터링된 다른 블록, 예컨대, 사전에 복원 및 필터링된 블록(121)을 저장하도록 더 구성될 수 있고, 예를 들어, 인터 추정 및/또는 인터 예측을 위해 완전한 사전에 복원된, 즉, 디코딩된 영상들(및 상응하는 참조 블록들 및 샘플들) 및/또는 복수의 복원된 현재의 영상(및 상응하는 참조 블록들 및 샘플들)을 제공할 수 있다.
본 발명의 추가적인 실시형태들은 또한, 임의의 종류의 추정 또는 예측, 예컨대, 인트라 추정 및 예측 뿐만 아니라 인터 추정 및 예측을 위해, 사전에 필터링된 블록들 및 디코딩된 영상 버퍼(130)의 상응하는 필터링된 샘플 값들을 사용하도록 구성될 수 있다.
블록 예측 유닛(160)이라고도 하는 예측 유닛(160)은, 영상 블록(103)(현재의 영상(101)의 현재의 영상 블록(103))과, 버퍼(116)로부터의 디코딩된 또는 적어도 복원된 영상 데이터, 예컨대, 동일한(현재의) 영상의 참조 샘플들 및/또는 디코딩된 영상 버퍼(130)로부터의 하나 또는 복수의 사전에 디코딩된 영상으로부터의 디코딩된 영상 데이터(231)를 수신 또는 취득하고, 이러한 데이터를 예측을 위해 처리하도록, 즉, 인터 예측된 블록(145) 또는 인트라 예측된 블록(155)일 수 있는 예측 블록(165)을 제공하도록 구성된다.
모드 선택 유닛(162)은 잔여 블록(105)의 계산을 위해 또한 복원된 블록(115)의 복원을 위해 예측 모드(예컨대, 인트라 또는 인터 예측 모드) 및/또는 예측 블록(165)으로서 사용될 상응하는 예측 블록(145 또는 155)을 선택하도록 구성될 수 있다.
모드 선택 유닛(162)의 실시형태들은, 최상의 매치 또는 다시 말하면 최소 잔여(최소 잔여는 전송 또는 저장에 대한 더 양호한 압축을 의미함), 또는 최소 시그널링 오버헤드(최소 시그널링 오버헤드는 전송 또는 저장에 대한 더 양호한 압축을 의미함), 또는 둘 다를 고려하거나 균형을 유지한 것을 제공하는 예측 모드(예컨대, 예측 유닛(160)에 의해 지지되는 것들로부터의 모드)를 선택하도록 구성될 수 있다. 모드 선택 유닛(162)은 레이트 왜곡 최적화(RDO)에 기초하여 예측 모드를 결정, 즉, 최소 레이트 왜곡 최적화를 제공하는 예측 모드 또는 연관 레이트 왜곡이 적어도 예측 모드 선택 기준을 준수하는 예측 모드를 선택하도록 구성될 수 있다.
하기에서는, 예시적인 인코더(100)에 의해 수행되는 예측 처리(예컨대, 예측 유닛(160)) 및 모드 선택(예컨대, 모드 선택 유니(162)에 의함)을 더 상세하게 설명한다.
전술한 바와 같이, 인코더(100)는 최선의 또는 최적의 예측 모드를 (소정의) 예측 모드 세트로부터 결정 또는 선택하도록 구성된다. 예측 모드 세트는, 예컨대, 인트라 예측 모드 및/또는 인터 예측 모드를 포함할 수 있다.
인트라 예측 모드 세트는 32 개의 상이한 인트라 예측 모드, 예컨대, DC(또는 평균) 모드 및 평면 모드와 같은 비-방향성 모드, 또는, 예컨대, H.264에 정의된 바와 같은 방향성 모드를 포함할 수 있거나, 또는 65 개의 상이한 인트라 예측 모드, 예컨대, DC(또는 평균) 모드 및 평면 모드와 같은 비-방향성 모드, 또는, 예컨대, H.265에 정의된 바와 같은 방향성 모드를 포함할 수 있다.
(또는 가능한) 인터 예측 모드 세트는 가용 참조 영상(즉, 예컨대, DPB(230)에 저장된 이전의 적어도 부분적으로 디코딩된 영상) 및 다른 인터 예측 파라미터, 예컨대, 전체 참조 영상 또는 단지 일부분, 예컨대, 참조 영상의 현재의 블록의 영역 주변의 검색 윈도우가 최상의 매칭 참조 블록을 검색하는 데 사용되는지의 여부, 및/또는 예컨대, 픽셀 보간, 예컨대, 하프/세미-펠 및/또는 쿼터-펠 보간이 적용되는지의 여부에 의존한다.
상기 예측 모드에 더하여, 스킵 모드 및/또는 직접 모드가 적용될 수 있다.
예측 유닛(160)은, 예컨대, 쿼드-트리-분할(QT), 이진 분할(BT) 또는 트리플-트리-분할(TT) 또는 이들의 임의의 조합을 반복적으로 사용해서, 블록(103)을 작은 블록 분할들로 또는 서브-블록들로 분할하고, 예컨대, 각각의 블록 분할들 또는 서브-블록들에 대한 예측을 수행하도록 더 구성될 수 있으며, 여기서 모드 선택은 분할된 블록(103)의 트리-구조 및 각각의 블록 분할들 또는 서브-블록들에 적용되는 예측 모드의 선택을 포함한다.
인터 영상 추정 유닛(142)이라고도 하는 인터 추정 유닛(142)은 영상 블록(103)(현재의 영상(101)의 현재의 영상 블록(103)) 및 디코딩된 영상(231), 또는 적어도 하나의 또는 복수의 사전에 복원된 블록, 예컨대, 인터 추정(또는 "인터 영상 추정(inter picture estimation)")을 위해 하나 또는 복수의 다른/상이한 사전에 디코딩된 영상(231)의 복원된 블록을 수신 또는 취득하도록 구성된다. 예컨대, 비디오 시퀀스는 현재의 영상 및 사전에 디코딩된 영상(231)을 포함할 수 있거나, 다시 말해, 현재의 영상 및 사전에 디코딩된 영상(231)은 비디오 시퀀스를 형성하는 영상 시퀀스의 일부일 수 있거나 또는 이를 형성할 수 있다.
인코더(100)는, 예컨대, 복수의 다른 영상들의 동일한 또는 상이한 영상들의 복수의 참조 블록으로부터 참조 블록을 선택(취득/결정)하고 참조 영상(또는 참조 영상 인덱스, ...) 및/또는 참조 블록의 위치(x, y 좌표)와 현재의 블록의 위치 사이의 오프셋(공간 오프셋)을 인터 예측 유닛(144)에 대한 인터 추정 파라미터(143)로서 제공하도록 구성될 수 있다. 이 오프셋을 모션 벡터(MV)라고도 한다. 인터 추정을 모션 추정(ME)이라고도 하며, 인터 예측을 모션 예측(MP)이라고도 한다.
인터 예측 유닛(144)은 인터 예측 파라미터(143)를 취득, 예컨대, 수신하고, 인터 예측 파라미터(143)에 기초하여 또는 이를 사용해서 인터 예측을 수행하여 인터 예측 블록(145)을 취득하도록 구성된다.
도 2가 인터-코딩, 즉 인터 추정(142) 및 인터 예측(152)을 위한 2 개의 별개의 유닛(또는 단계)을 도시하고 있지만, 예컨대, 현재 최선의 인터 예측 모드 및 각각의 인터 예측 블록을 저장한 상태에서 가능한 인터 예측 모드의 가능한 모든 또는 소정의 서브세트를 반복적으로 테스트하고, 다른 시간에 인터 예측(144)을 수행하지 않고 현재 최선의 인터 예측 모드 및 각각의 인터 예측 블록을 (최종) 인터 예측 파라미터(143) 및 인터 예측 블록(145)으로서 사용함으로써, 두 기능이 하나로서 수행될 수 있다(인터 추정은 일반적으로 인터 예측 블록, 즉, 그러한 또는 이와 같은 인터 예측(144)을 계산하는 것을 요구/포함함).
인트라 추정 유닛(152)은 영상 블록(103)(현재의 영상 블록) 및 하나 또는 복수의 사전에 복원된 블록, 예컨대, 인트라 예측을 위해 동일한 영상의 복원된 이웃 블록을 취득, 예컨대, 수신하도록 구성된다. 인코더(100)는, 예컨대, 복수의 인트라 예측 모드로부터 인트라 예측 모드를 선택(취득/결정)하여 인트라 추정 파라미터(153)로서 인트라 예측 유닛(154)에 제공하도록 구성될 수 있다.
인코더(100)의 실시형태들은 최적화 기준, 예컨대, 최소 잔여(예컨대, 인트라 예측 모드가 현재의 영상 블록(103)과 가장 유사한 예측 블록(155)을 제공함) 또는 최소 레이트 왜곡에 기초하여 인트라 예측 모드를 선택하도록 구성될 수 있다.
인트라 예측 유닛(154)은 인트라 예측 파라미터(153), 예컨대, 선택된 인트라 예측 모드(153)에 기초하여, 인트라 예측 블록(155)을 결정하도록 구성된다.
도 2가 인트라-코딩, 즉 인트라 추정(152) 및 인트라 예측(154)을 위한 2 개의 별개의 유닛(또는 단계)을 도시하고 있지만, 예컨대, 현재 최선의 인트라 예측 모드 및 각각의 인트라 예측 블록을 저장한 상태에서 가능한 인트라 예측 모드의 가능한 모든 또는 소정의 서브세트를 반복적으로 테스트하고, 다른 시간에 인트라 예측(154)을 수행하지 않고 현재 최선의 인트라 예측 모드 및 각각의 인트라 예측 블록을 (최종) 인트라 예측 파라미터(153) 및 인트라 예측 블록(155)으로서 사용함으로써, 두 기능이 하나로서 수행될 수 있다(인트라 추정은 일반적으로 인트라 예측 블록, 즉, 그러한 또는 이와 같은 인트라 예측(154)을 계산하는 것을 요구/포함함).
엔트로피 인코딩 유닛(170)은 엔트로피 인코딩 알고리즘 또는 스킴(예컨대, 가변 길이 코딩(VLC) 스킴, 콘텍스트 적응형 VLC 스킴(CALVC), 산술 코딩 스킴, 콘텍스트 적응형 이진 산술 코딩(CABAC))을 양자화된 잔여 계수(109), 인터 예측 파라미터(143), 인트라 예측 파라미터(153), 및/또는 루프 필터 파라미터에 개별적으로 또는 공동으로(또는 전혀) 적용하여, 출력(172)에 의해, 예컨대, 인코딩된 비트 스트림(171) 형태로 출력될 수 있는 인코딩된 영상 데이터(171)를 취득하도록 구성된다.
디코더(DECODER)
도 3은, 예컨대, 인코더(100)에 의해 인코딩되는, 인코딩된 영상 데이터(예컨대, 인코딩된 비트 스트림)(171)를 수신하여, 디코딩된 영상(231)을 취득하도록 구성되는 예시적인 비디오 디코더(200)를 도시한다.
디코더(200)는, 입력(202), 엔트로피 디코딩 유닛(204), 역양자화 유닛(210), 역변환 유닛(212), 복원 유닛(214), 버퍼(216), 루프 필터(220), 디코딩된 영상 버퍼(230), 예측 유닛(260)― 인터 예측 유닛(244), 인트라 예측 유닛(254), 및 모드 선택 유닛(262)을 포함함 ―, 및 출력(232)을 포함한다.
엔트로피 디코딩 유닛(204)은 인코딩된 영상 데이터(171)에 대하여 엔트로피 디코딩을 수행하여, 예컨대, 양자화된 계수(209) 및/또는 디코딩된 코딩 파라미터(도 3에는 도시되지 않음), 예컨대, (디코딩된) 임의의 또는 모든 인터 예측 파라미터(143), 인트라 예측 파라미터(153), 및/또는 루프 필터 파라미터를 취득하도록 구성된다.
디코더(200)의 실시형태들에 있어서, 역양자화 유닛(210), 역변환 유닛(212), 복원 유닛(214), 버퍼(216), 루프 필터(220), 디코딩된 영상 버퍼(230), 예측 유닛(260) 및 모드 선택 유닛(262)은 인코더(100)(및 각각의 기능 유닛)의 반대의 처리를 수행하여 인코딩된 영상 데이터(171)를 디코딩하도록 구성된다.
특히, 역양자화 유닛(210)은 역양자화 유닛(110)과 기능 면에서 동일할 수 있고, 역변환 유닛(212)은 역변환 유닛(112)과 기능 면에서 동일할 수 있으며, 복원 유닛(214)은 복원 유닛(114)과 기능 면에서 동일할 수 있고, 버퍼(216)는 버퍼(116)와 기능 면에서 동일할 수 있으며, 루프 필터(220)는 루프 필터(120)와 기능 면에서 동일할 수 있으며(실제 루프 필터와 관련하여, 루프 필터(220)는 일반적으로 필터 분석 유닛을 포함하여 원본 이미지(101) 또는 블록(103)에 기초하여 필터 파라미터를 결정하는 것이 아니라, 인코딩에 사용되는 필터 파라미터를 엔트로피 디코딩 유닛(204)으로부터 (명시적 또는 암시적으로) 수신 또는 취득함), 디코딩된 영상 버퍼(230)는 디코딩된 영상 버퍼(130)와 기능 면에서 동일할 수 있다.
예측 유닛(260)은 인터 예측 유닛(244) 및 인트라 예측 유닛(254)을 포함할 수 있으며, 인터 예측 유닛(244)은 인터 예측 유닛(144)과 기능 면에서 동일할 수 있고, 인트라 예측 유닛(254)은 인트라 예측 유닛(154)과 기능 면에서 동일할 수 있다. 예측 유닛(260) 및 모드 선택 유닛(262)은 일반적으로 블록 예측을 수행하거나 및/또는 (원본 이미지(101)에 관한 어떠한 추가 정보도 없이) 단지 인코딩된 데이터(171)로부터 예측된 블록(265)을 취득하고 예측 파라미터(143 또는 153) 및/또는 선택된 예측 모드에 관한 정보를, 예컨대, 엔트로피 디코딩 유닛(204)으로부터 (명시적 또는 암시적으로) 수신 또는 취득하도록 구성된다.
디코더(200)는 사용자에게 제시 또는 보이도록, 예컨대, 출력(232)을 통해 디코딩된 영상(231)을 출력하도록 구성된다.
도 1을 다시 참조하면, 디코더(200)로부터 출력된 디코딩된 영상(231)은 후처리기(326)에서 후처리될 수 있다. 최종 후처리된 영상(327)은 내부 또는 외부 디스플레이 디바이스(328)에 전송되어 디스플레이될 수 있다.
실시형태들의 세부 내용(DETAILS of embodiments)
본 발명은 곱셈 연산이 단순화되는 바와 같은 방식으로 적응형 곱셈 필터의 필터 계수에 의해 상정될 수 있는 값들을 제한한다. 이미지의 신호 샘플 세트의 필터링은 적응형 곱셈 계수를 갖는 필터를 사용하고, 여기서 곱셈 계수는 정수로 표현된다. 계수 C의 절대값의 최고값이 N일 경우, N의 이진 표현은 L= ceil(log2(N)) 개의 이진 숫자를 필요로 한다. 다시 말해, L 개의 이진 숫자를 이용하여, 영("영(zeroes)"이 L개인 경우) 내지 2L-1("일(ones)"이 L개인 경우) 사이의 절대 계수 값이 표현될 수 있다(계수의 부호는 여기서는 논의되지 않는 별도의 부호 비트에 의해 표현됨). 본 발명의 특정한 접근법에 따르면, 이 값 세트는 계수 C에 의해 상정될 수 있는 임의의 값이 이진 표현에서 최대 P 개(P < L임)의 "일(ones)"("1")을 포함하도록 제한된다. 예를 들면, 모두 "일(ones)"("일(ones)"이 L 개)인 경우는 제외된다.
아래에 도시되는 바와 같이, 허용된 "일(ones)"의 개수 P가 작을수록, 효율이 개선되고 필터링 동작의 성능이 향상된다. 예를 들면, 계수 C에 의해 상정될 수 있는 임의의 값이 단일의 "1"까지만, 즉, 최대 하나의 "1"을 포함하면, 최고의 효율 개선이 달성될 수 있다.
하기에서는, 본 발명을 구현하는 특정 실시형태들을 상세하게 설명한다.
아래에 주어지는 예시적인 파라미터 값들은 설명을 위한 것일 뿐이며, 당업자라면 이 값들이 첨부된 청구항들의 범위에 속하는 임의의 다른 가능한 값들 내에서 대체될 수 있음을 인식할 것이라는 점에 유의한다.
일반적으로, 필터 계수는 유한 정밀도를 사용해서 구현된다. 필터 계수는, 선택적인 부호 비트와 함께, L 비트를 사용해서 표현된다. 비트 L의 수량은 계수의 최대 절대값에 의존한다. 구체적으로, 계수 C의 절대값의 최고값이 N일 경우, N의 이진 표현은 L= ceil(log2(N)) 개의 이진 숫자를 필요로 한다.
[x] 또는 ceiling(x)로도 표시되는 ceil(x) 함수는 x를 x보다 크거나 같은 최소 정수에 맵핑한다.
본 발명의 예시적인 제1 실시형태에 따르면, 필터 계수의 L 비트 중 최대 하나(즉, 부호 비트는 제외)가 동시에 "일(one)"("1")일 수 있다. 그 밖의 가능성은 허용되지 않는다.
예를 들어:
L = 6이고, 일 비트(가장 좌측 비트)가 계수의 부호를 표시하는 데 사용된다고 가정한다.
예를 들면, 다음과 같은 필터 계수들이 허용된다: 0 (0000000), 1 (0000001), -1 (1000001), 2 (0000010), -2 (1000010), 4 (0000100), -4 (1000100), 8 (0001000), -8 (1001000), 16 (0010000) ..., -32 (1100000).
예를 들면, 다음과 같은 필터 계수들은 허용되지 않는다: 3 (0000011), -15 (1001111), 31 (0011111) ...
이 경우, 제한을 통해, 곱셈이 단일 비트 시프팅 연산으로 구현될 수 있기 때문에, 이점이 달성된다.
비트 시프팅 연산은 수학적으로 f(X,M) = X * 2M과 같이 표현될 수 있으며, 여기서 M은 0보다 크거나 같은 정수이다. 상기 실시형태의 일반화에 따르면, 필터 계수의 L 비트 중 최대 M 개는 동시에 "1"일 수 있다. 그 밖의 가능성은 허용되지 않는다.
예를 들어:
L = 6이고, M = 2이며, 일 비트가 계수의 부호를 표시하는 데 사용된다고 가정한다.
예를 들면, 다음과 같은 필터 계수들이 허용된다: 0 (0000000), 3 (0000011), 9 (0001001), -4 (1000100), -9 (1001001), 18 (0010010), 33 (0100001) ...
예를 들면, 다음과 같은 필터 계수들은 허용되지 않는다: 7 (0000111), -19 (1010011), 31 (0011111) ...
이 경우, 제한을 통해, 곱셈이 2 비트 시프팅 및 1 덧셈 연산으로 곱셈을 구현할 수 있다.
위에서 설명한 보다 일반적인 경우에 있어서, 일반적인 M<L을 이용하면, 제한을 통해, M 비트 시프팅 및 M-1 덧셈 연산으로 곱셈을 달성할 수 있기 때문에, 이점이 달성된다.
상기에 주어진 실시예들에 있어서는, 제한된 절대값 세트가 적응형 필터의 곱셈의 모든 필터 계수에 적용될 것으로 상정된다.
하기에서는, 보다 복잡한 예시적인 실시형태를 도 7을 참조하여 설명하고, 여기서 본 발명에 따른 제한이 적용되지만, 고려 대상 필터의 모든 필터 계수에 적용되는 것은 아니다.
실시예에 있어서, 제1 단계에서는, 계수들이 2 개의 그룹으로 그룹화된다. 도면에 있어서, 제1 그룹은 필터의 중심부에 있는 비어 있는 원으로 표시되는 계수 위치들에 대응하고, 도면에 있어서, 제2 그룹은 필터의 주변부에 있는 검게 채워진 원으로 표시되는 계수 위치들에 대응한다.
제1 그룹의 필터 계수들은 소정의 범위 내의 임의의 값을 상정할 수 있다. 예시된 실시예에 있어서는, 해당 범위가 세트 "S1"에 대응하는 것으로 상정되고, 여기서 S1 = [-511, ..., 511]이다. 이는 L = 9의 전체 비트 수(부호 비트는 제외)에 대응한다.
제2 그룹의 필터 계수들은 세트 "S2"의 임의의 값을 상정할 수 있고, 여기서 "S2"는 S1의 서브세트이다. 보다 구체적으로, 실시예에 있어서, 세트 S2는 S2 = [-32,-16,-8,-4,-2,-1,0,1,2,4,8,16,32]로 정의된다. 따라서, 세트 S2에서 허용되는 값들은 이전 표현에서 단일의 "1"로 표현될 수 있는 값들로 제한된다. 또한, 최대 절대 허용값은 32로 제한되고, 즉, 수 L이 L = 6으로 제한되는 것으로 더 상정된다. 일반적으로, 수 L은 각각의 그룹마다 개별적으로 상이하게 설정될 수 있다는 점에 유의한다. 또한, 허용값 세트들의 특정한 그룹화 및 정의는 이미지마다(프레임마다) 달라질 수 있다. 대안으로서, 세트들의 그룹화 및 정의는 상이한 필터 모양(예컨대, 도 5에 설명된 바와 같이, 5×5 다이아몬드, 7×7 다이아몬드, 9×9 다이아몬드)에 대하여 상이할 수 있다. 대안으로서, 그룹화 및 정의는 미리 정의될 수 있다.
이 실시예에 있어서는, 9 비트 곱셈을 대신하여, 세트 S2에 대하여 1 비트 시프팅이 사용된다는 점이 이점이다.
각각의 데이터는 인코더에서 비트 스트림에 포함되어야 하고 필터 계수가 디코더에서도 정확하게 결정될 수 있도록 디코더에 시그널링되어야 한다. 물론, 제한된 허용 계수 값 세트를 적용하면, 시그널링 오버헤드가 감소되고, 그에 따라 비트 스트림에서 시그널링될 계수를 표현하는 데 필요한 비트가 적기 때문에 더욱 효율적인 코딩이 가능하다.
더 구체적으로, 인코더에 의해 적용된 필터 계수들의 값은 코딩되어 디코더에 전송되어야 한다. 인코더 측에서는, 필터 계수들의 값들이 맵핑 테이블 또는 맵핑 함수를 통해 이진 코드워드로 전환된다(필터 값으로부터 코드워드로). 필터 계수를 정확하게 해석하기 위해 동일한 맵핑 동작이 디코더에 적용(코드워드로부터 필터 계수 값으로)되어야 한다.
맵핑 함수 또는 테이블은 S1 및 S2에 대하여 상이할 수 있다. 필터 계수 세트 S1 및 S2에 대하여 예시적인 맵핑 동작들이 아래에 주어진다.
아래의 실시예에 있어서, S1은 {0,1,...,511}로 주어지고 S2는 {0,2,4,8,16,32}로 주어진다(절대값만 고려됨).
Figure pct00006
디코더가 필터 계수 값들을 정확하게 해석할 수 있도록 인코더 및 디코더에는 순방향(인코더의 경우) 및 역방향(디코더의 경우) 맵핑 동작이 사용될 필요가 있다. 상기 실시예에 있어서, S2에서의 서로 구별되는 값들의 수가 훨씬 적고 S1의 맵핑을 사용하여 S2 필터 계수를 표현하는 것은 낭비이기 때문에, 필터 계수 맵핑 동작은 S2 및 S1에 대하여 상이하다. 따라서, 본 발명에 의하면, 시그널링 오버헤드가 감소되고, 그에 따라 비트 스트림에서 시그널링될 계수를 표현하는 데 필요한 비트가 적기 때문에 더욱 효율적인 코딩이 가능하다.
하기에서는, 필터 계수의 시그널링에 대한 일반적인 개요가 도 8을 참조하여 주어질 것이다. 도 8a는 인코더 측에서의 처리를 예시하고, 도 8b는 디코더 측에서의 처리를 예시한다.
인코더에 있어서, 복원된 샘플에 적용될 필터 계수들은 본 발명의 특정한 접근법에 의해 결정되는 바와 같이 허용된 계수 값들에 따라 결정된다(단계 S80).
결정된 필터 계수들은 복원된 이미지 샘플들을 필터링하는 데 사용된다(단계 S82). 본 발명에 따르면, 복원된 이미지 샘플들에 적용된 필터 계수들은 본 발명에 따라 제시된 바와 같은 규칙을 따라야 한다.
하기의 필터 계수의 예측 단계(단계 S84)는 선택적인 단계이다. 필터 계수 예측은 디코더에 시그널링될 정보를 줄이기 위해 선택적으로 적용될 수 있다. 가능한 예측 방법은 미리 정의된 필터 예측자를 사용하는 예측 및 사전에 시그널링된 필터 계수로부터의 예측이다. 그러나, 예측 방법은 여기에 예로서 주어진 방법들로 제한되지 않으며, 당업자가 인식하고 있는 임의의 적절한 예측 방법이 적용될 수 있다.
다음 단계(S86)에서, 이진 코드워드에 대한 잔여 계수들의 맵핑이 수행된다. 전술한 예측 단계 S84가 선택적인 단계이기 때문에, 대안으로서, 단계 S80에서 결정되는 필터 계수들에 직접적으로 맵핑이 적용된다는 점에 유의한다.
보다 구체적으로, 각각의 정수 값의 필터 계수(필터 계수 잔여)는 비트 스트림에 포함되기 전에 이진 코드워드로 전환된다. 필터 계수 값들(필터 계수 잔여 값들)에 가능한 한 많은 코드워드들이 존재한다. 코드워드 대 값 맵핑(일대일 맵핑임)은 고정된 맵핑일 수 있거나, 또는 시그널링된 부가 정보에 따라 변경될 수 있다.
최종 단계 S88에서, 이진화된(선택적으로 잔여) 필터 계수들, 즉, 이들이 맵핑된 코드워드들이 비트 스트림에 포함된다. 단계 S84에서 예측이 수행되는 경우, 복원을 수행할 수 있도록, 예측 처리에 관한 필요 정보를 디코더에 시그널링하기 위해, 예측 제어 정보를 생성하고 상기 예측 제어 정보를 비트 스트림에 포함시키는 것이 더 필요하다.
일반적으로, 인코더에 적용되는 동작들은 역순으로 디코더에 적용된다. 이는 도 8b를 참조하여 아래에서 더 상세하게 설명될 것이다.
초기 단계 S90에서, 수신된 비트 스트림이 파싱된다. 결과적인 이진화된 필터 계수들(즉, 전송된 코드워드들)은 선택적으로 잔여 필터 계수들을 나타내고 있다(인코더 측에서 예측이 적용되었을 경우). 이는 파싱된 비트 스트림으로부터 예측 제어 정보를 추가적으로 취득함으로써 표시된다.
어쨌든, 이진 코드워드들은 단계 S92에서 역방향 맵핑 절차(인코더와 비교했을 때)에 의해 필터 계수들(또는 잔여 필터 계수들)에 맵핑된다.
결과적으로, 디코더 측에서 필터 계수들이 결정(복원)된다(단계 S94). 단계 S92에 기인한 필터 계수들이 잔여 필터 계수들이 되도록, 예측이 적용되었을 경우, 복원은 예측 제어 정보에 의해 지시된 바와 같은 예측을 수행하는 것 및 복원된 필터 계수들을 취득하기 위해 예측 결과를 잔여 필터 계수들에 추가하는 것을 추가적으로 포함한다.
필터 계수들이 복원된 후에(해당될 경우, 예측자 정보 및 필터 잔여를 결합함으로써), 이들 계수가 복원된 이미지 샘플들에 적용된다(단계 S96).
본 발명에 따르면, 복원된 이미지 샘플들에 적용된 필터 계수들은 본 발명에 따라 정의된 규칙을 따라야 한다.
따라서, 복원(특히: 예측 및 잔여 결과의 결합)에 기인한 필터 계수가 본 발명의 규칙에 따라 허용된 필터 계수 값을 갖지 않으면(허용된 값들의 세트 안에 없는 필터 계수 값), 필터 계수의 복원 프로세스는 반올림 연산을 더 수행한다. 구체적으로, 반올림 연산은 입력 필터 계수 값을 가장 가까운 허용된 계수 값으로 전환할 수 있다.
필터 계수 예측이 적용되면, 필터링을 위해 복원된 이미지 샘플들에 적용될 필터 계수들은 예측 결과("예측자(predictor)") 및 잔여 필터 계수(이전의 단락에서 인코더 및 디코더 각각으로부터 설명됨)를 더함으로써 취득된다. 분명하게는, 특히 예측이 완벽에 가까울 경우(예측될 필터 계수들이 예측자와 매우 유사함) 잔여 필터 계수들이 존재하지 않을(0과 같음) 가능성이 있다. 이 경우, 본 발명에 따르면, 다음 2 가지 옵션 중 하나가 적용된다:
1. 예측에 의해 취득되는 계수 값들은 본 발명에 따라 정의된 규칙을 따라야 한다. 예를 들어, 미리 정의된 필터로부터의 예측의 경우, 미리 정의된 필터의 필터 계수는 본 발명에 따라 정의된 규칙을 따라야 한다.
2. 예측 이후에 취득된 필터 계수들은 가장 가까운 허용된 계수 값으로 반올림되어야 한다.
여기서는, 단순히 간략화를 위해 그룹의 수를 2 개로 분할한 것을 설명했지만, 2 개 이상의 그룹도 가능하며, 이 경우, 적어도 하나의 그룹에 대하여 허용 가능한 값들의 세트가 본 발명에 따라 결정되고, 즉, 소정의 전체 이진 자릿수 내에 제한된 수의 "일(ones)"만을 포함한다는 점에 더욱 유의한다.
예를 들면, 도 9는 필터의 계수들이 3 개의 그룹으로 그룹화된 경우를 예시한다.
필터 커널의 중심에 가깝게 위치된 제1 계수 그룹은 세트 S1 = [-511, ..., 511] 내의 필터 계수 값들을 허용한다.
커널의 주변에 위치되며 파선의 원으로 표시된 제2 필터 계수 그룹은 수정된 제한된 세트 S2 내의 필터 계수 값들을 허용하고, 여기서 S2는, S2 = [-128,-64,-32,-16,-8,-4,-2,-1,0,1,2,4,8,16,32,64,128]이다. 이는 단일의 "일(one)"만 있는 L = 8 개의 이진 숫자로 표현될 수 있는 모든 계수 값들의 세트이다.
제1 그룹과 제2 그룹 사이에 위치되며 채워진 원으로 표시되는 제3 필터 계수 그룹은 다른 제한된 세트 S3 내의 필터 계수 값들을 허용하고, 여기서
S3 = [-64,-48,-40, ... ,0,1,2,3,4,5,6,8,9,10,12,16,17,18,20,24,32,33, 34,36,40,48,64]이다.
다시 말해, 세트 S3은 L = 7 개의 이진 숫자로 표현될 수 있는 모든 계수들의 세트이며, 이 경우, 최대 2 개의 비트가 계수의 절대값으로 "일(one)"이고, 최대 절대값은 64로 설정된다는 추가적인 제한이 적용된다. (그렇지 않으면, 예를 들어, 절대값 96이 허용되어야 하는 데, 그 이유는 7 개의 이진 숫자에서 2 개의 선행하는 "일(ones)"로 표현될 수 있기 때문이다.)
하기에서는, 도 10에 예시된 다른 예시적인 실시형태에 의해 본 발명의 특정한 이점을 설명한다.
도 10의 실시예에 있어서는, 도 7에서와 동일한 방식으로 그룹화가 수행된다.
제1 그룹 내의 필터 계수들은 9 비트 전체 범위 및 부호 비트, 즉, 전술한 세트 S1 = [-511, 511]을 갖는 임의의 값들을 상정할 수 있다.
제2 그룹 내의 필터 계수들은 제한된 값들의 세트 S2를 상정할 수 있으며, 여기서 S2는, S2 = [-128,-64,-32,-16,-8,-4,-2,-1,0,1,2,4,8,16,32,64,128]이다. 이는 이진 표현의 단일의 "1"로 표현될 수 있는 값들에 대응한다. 또한, 최대 절대 허용값은 128로 제한되고, 즉, 수 L이 L = 8로 제한되는 것으로 더 상정된다.
다시 말해, 필터 크기는 도 4에 도시된 것, 즉, 9×9 다이아몬드 모양의 필터에 대응한다. 배경기술 단락에서 기술된 바와 같이, 9-비트 필터 계수를 이용한 종래에 필요했던 41 회의 곱셈이 필요하다. 1 회의 곱셈이 8 회의 이진 덧셈과 동일하기 때문에, 배경기술 단락에서 언급한 바와 같이, 픽셀 당 추가적인 연산의 수는 48*8 = 328 회의 덧셈 연산이다.
본 발명에 따르면, 주변의 28 개의 계수(즉, 제2 그룹 내의 계수들)가 단일의 비트 시프트 연산으로서 구현될 수 있다. 비트 시프트 연산의 구현은 하드웨어 면에서는 매우 사소한 복잡도이기 때문에, 계산에서 생략될 수 있다.
9-비트 계수를 이용한 13 회의 곱셈 연산은 픽셀 당 13*8 = 104 회의 덧셈에 해당한다. 픽셀 당 연산의 수는 68% 감소된다.
상기의 수들은 대략적인 추정치이며 복잡도 감소의 정확한 값은 실제 구현에 의존한다.
하기에서는, 적어도 2 개의 계수 그룹을 사용한 추가적인 구현의 이점을 설명한다.
본 발명에 따르면, 모든 필터 계수가 거칠게 양자화되는 것은 아니며, 제1 그룹 내의 필터 계수들은 더 미세한 양자화를 갖는다.
통상, 필터 계수들의 거친 양자화는 코딩 손실을 유발한다. 그러나, 대규모의 값들의 세트를 상정하도록 허용된 제1 그룹의 필터 계수들을 갖는 것은 인코더에 의한 코딩 손실을 보상하는 데 사용될 수 있다.
가능한 인코더 구현예는 다음과 같다. 하기의 설명에 있어서, 사용되는 필터 계수 레이블들은 도 11에 표시된 바와 같은 것들이며, 이는 다른 도면들과 함께 앞서 사용된 레이블들과는 다를 수 있다:
단계 1: 계수 값들에 대한 제한이 없다고 추정함으로써 최소 제곱법을 사용해서 모든 필터 계수(C0,...,C20)를 도출한다.
단계 2: 계수들(C7,...,C20)을 가장 가까운 허용값으로 반올림함으로써 제한을 부과한다.
이 단계는 필터 계수들에 양자화 노이즈를 도입하기 때문에, 코딩 이득을 줄인다.
단계 3: 양자화 에러를 보상하기 위해 자유롭게 선택 가능한 필터 계수(C0,...,C6)를 재-추정한다. 이 세 번째 단계에서는, 단계 2에서 도입된 대부분의 코딩 손실이 복구될 수 있다.
보다 상세하게는:
첫 번째 단계에서, 41 개의 탭 필터(21 개의 고유한 계수를 가짐)에 대하여 아래에 주어진 방정식을 푼다:
Figure pct00007
상기 방정식은 최소 제곱 방정식이라고 하며 인코더에서 필터 계수 Cx를 찾는 데 사용된다.
Xx,y 항은 R(i+k,j+l)*R(i+m,j+n), 필터링 이전의 2 개의 복원된 샘플 사이의 상관관계의 기대값이다. 인덱스 k,l,m 및 n은 적용될 필터의 모양에 따라 선택된다.
Px 항은 R(i+k,j+l)*O(i,j)의 기대값을 나타낸다.
두 번째 단계에서, 필터 계수 C7 내지 C20에 대하여, 하기의 제한을 충족하는 가장 가까운 근사 계수들이 확인된다.
Figure pct00008
계수 C7' 내지 C20'은 본 발명에 의해 지정되는 규칙을 따른다. 전술한 함수 f()는 최소 제곱 방정식을 풀어서 사전에 얻은 필터 계수 C7 내지 C20에 양자화 노이즈를 도입한다는 점에 유의한다.
두 번째 단계에서 도입되는 양자화 노이즈는 필터링 동작의 성능을 저하시킬 것으로 예상된다. 필터링의 성능은 일반적으로 PSNR(피크 신호 대 잡음비)과 같은 메트릭으로 측정되므로, 단계 2 이후에는, 필터링된 이미지의 PSNR이 감소된다.
세 번째 단계에서는, 13 개의 탭 필터(7 개의 고유한 계수를 가짐)에 대하여 하기의 방정식을 푼다:
Figure pct00009
세 번째 단계에서, 필터링 계수 C0 내지 C7은 두 번째 단계에서 도입된 양자화 노이즈를 고려하여 다시 계산된다. 세 번째 단계는 단계 2의 적용에 의해 야기된 필터링 성능의 저하를 유리하게 감소시킨다.
일반적으로, 적응형 곱셈 필터 계수를 이용한 필터링 동작의 적용은 복원된 이미지 샘플들로 제한되지 않는다. 도 2 및 도 3에서 설명한 바와 같이, 복원된 블록은 일반적으로 역변환된 블록 및 예측 블록의 결합 이후에 얻은 이미지 블록에 대응한다. 당업자에게 자명한 바와 같이, 적응형 필터 계수를 이용한 필터링 동작은 인코딩 및 디코딩 동작의 다른 단계들, 예컨대, 예측 블록(265, 165), 역변환된 블록(213, 113), 양자화된 계수(209, 109), 역양자화된 계수(111, 211) 또는 디코딩된 영상(231)에도 적용될 수 있다. 이 경우, 본 발명은 필터링 동작의 필터 계수에 적용된다.
요약하면, 본 발명은 복원된 이미지, 특히, 비디오 이미지를 적응형 곱셈 필터를 이용하여 필터링하기 위한 개선된 장치 및 방법에 관한 것이다. 필터 계수의 허용 가능한 값들을 이진 표현의 제한된 수 "일(ones)"만을 갖는 값들로 제한함으로써 필터링 동작의 효율이 증가된다.
본 명세서는 영상(프레임)에 대한 설명을 제공하지만, 분야는 인터레이스 영상 신호의 경우의 영상으로 대체된다는 점에 유의한다.
본 발명의 실시형태들이 주로 비디오 코딩에 기초하여 설명되었지만, 인코더(100) 및 디코더(200)(및 상응하는 시스템(300))의 실시형태들이 정지 영상 처리 또는 코딩, 즉 비디오 코딩에서와 같은 임의의 선행 또는 연속 영상과는 독립적인 개별 영상의 처리 또는 코딩에 대해서도 구성될 수 있다는 점에 유의해야 한다. 일반적으로, 영상 처리 코딩이 단일의 영상(101)으로 제한되는 경우에는, 인터-추정(142), 인터-예측(144, 244)만 이용 불가하다. 비디오 인코더(100) 및 비디오 디코더(200)의, 전부는 아니더라도 대부분의 다른 기능(도구 또는 기술이라고도 함)은 정지 영상, 예컨대, 분할, 변환(스케일링)(106), 양자화(108), 역양자화(110), 역변환(112), 인트라-추정(142), 인트라-예측(154, 254) 및/또는 루프 필터링(120, 220), 및 엔트로피 코딩(170) 및 엔트로피 디코딩(204)에 동일하게 사용될 수 있다.
실시형태들 및 상세한 설명이 "메모리(memory)"라는 용어를 참조할 때마다, 용어 "메모리"는 명시적으로 달리 언급되지 않는 한, 자기 디스크, 광 디스크, 솔리드 스테이트 드라이브(SSD), 리드-온리 메모리(Read-Only Memory, ROM), 랜덤 액세스 메모리(Random Access Memory, RAM), USB 플래시 드라이브, 또는 임의의 다른 적절한 종류의 메모리로 이해되거나 및/또는 이를 포함할 것이다.
실시형태들 및 상세한 설명이 "네트워크(network)"라는 용어를 참조할 때마다, 용어 "네트워크"는 명시적으로 달리 언급되지 않는 한, 로컬 에어리어 네트워크(Local Area Network (LAN)), 무선 랜(Wireless LAN (WLAN)), 와이드 에어리어 네트워크(Wide Area Network (WAN)), 이더넷(Ethernet), 인터넷(Internet), 모바일 네트워크 등과 같은 임의의 종류의 무선 또는 유선 네트워크로 이해되거나 및/또는 이를 포함할 것이다.
당업자라면, 다양한 도면(방법 및 장치)의 "블록(block)"("유닛(unit)" 또는 "모듈(module)")은 (반드시 하드웨어 또는 소프트웨어의 개별 "유닛(unit)"이 아니라) 본 발명의 실시형태들의 기능을 나타내거나 설명하는 것이며 그에 따라 방법 실시형태 뿐만 아니라 장치 실시형태의 기능 또는 특징을 동일하게 설명(유닛 = 단계)한다는 점을 이해할 것이다.
"유닛(unit)"이라는 용어는 단지 인코더/디코더의 실시형태들의 기능을 예시할 목적으로만 사용되며 본 개시물을 제한하려는 것이 아니다.
본원에서 제공되는 몇몇 실시형태들에 있어서는, 개시된 시스템, 장치, 및 방법이 다른 방식들로 구현될 수 있음을 이해해야 한다. 예를 들어, 설명된 장치 실시형태는 단지 예시적인 것일 뿐이다. 예를 들어, 유닛 구분은 단지 논리적인 기능 구분일 뿐이며, 실제 구현에 있어서는 다른 구분일 수 있다. 예를 들어, 복수의 유닛 또는 컴포넌트가 다른 시스템에 결합 또는 통합될 수 있거나, 일부 특징은 무시되거나 수행되지 않을 수도 있다. 또한, 디스플레이된 또는 논의된 상호 결합 또는 직접 결합 또는 통신 연결은 일부 인터페이스를 사용해서 구현될 수 있다. 장치들 또는 유닛들 사이의 간접 결합 또는 통신 연결은 전기, 기계, 또는 그 밖의 형태로 구현될 수 있다.
개별 부품들로서 설명된 유닛들은 물리적으로 분리될 수도, 또는 그렇지 않을 수도 있고, 유닛으로서 표시된 부품들은 물리적 유닛일 수도, 또는 그렇지 않을 수도 있고, 한 위치에 배치될 수 있거나, 또는 복수의 네트워크 유닛 상에 분포될 수도 있다. 유닛들의 일부 또는 전부는 실시형태들의 해법의 목적을 달성하기 위해 실제 요구에 따라 선택될 수 있다.
또한, 본 발명의 실시형태들에 있어서의 기능 유닛들은 하나의 처리 유닛에 통합될 수 있거나, 또는 유닛들 각각이 물리적으로 단독으로 존재할 수 있거나, 또는 2개 이상의 유닛이 하나의 유닛으로 통합된다.
본 발명의 실시형태들은 본 명세서에서 설명되는 방법들 및/또는 프로세스들 중 어느 하나를 수행하도록 구성된 처리 회로를 포함하는 장치, 예컨대, 인코더 및/또는 디코더를 더 포함할 수 있다.
인코더(100) 및/또는 디코더(200)의 실시형태들은 하드웨어, 펌웨어, 소프트웨어 또는 그 임의의 조합으로 구현될 수 있다. 예를 들어, 인코더/인코딩 또는 디코더/디코딩의 기능은 펌웨어 또는 소프트웨어가 있는 또는 없는 처리 회로, 예컨대, 프로세서, 마이크로컨트롤러, 디지털 신호 프로세서(DSP), 필드 프로그램 가능 게이트 어레이(FPGA), 주문형 반도체(ASIC) 등에 의해 수행될 수 있다.
인코더(100)(및 상응하는 인코딩 방법(100)) 및/또는 디코더(200)(및 상응하는 디코딩 방법(200))의 기능은 컴퓨터 판독 가능 매체에 저장된 프로그램 명령어에 의해 구현될 수 있다. 프로그램 명령어는, 실행시에, 처리 회로, 컴퓨터, 프로세서 등이 인코딩 및/또는 디코딩 방법의 단계들을 수행하게 한다. 컴퓨터 판독 가능 매체는 블루레이 디스크, DVD, CD, USB (플래시) 드라이브, 하드 디스크, 네트워크를 통해 이용 가능한 서버 스토리지 등과 같이 프로그램이 저장되는 비일시적 저장 매체를 포함하는 임의의 매체일 수 있다.
본 발명의 실시형태는, 컴퓨터에서의 실행시에, 본 명세서에서 설명되는 방법들 중 어느 하나를 수행하기 위한 프로그램 코드를 포함하는 컴퓨터 프로그램이거나, 이를 포함한다.
본 발명의 실시형태는, 프로세서에 의한 실행시에, 컴퓨터 시스템으로 하여금 본 명세서에서 설명되는 방법들 중 어느 하나를 수행하게 하는 프로그램 코드를 포함하는 컴퓨터 판독 가능 매체이거나, 이를 포함한다.
본 발명의 실시형태는 본 명세서에서 설명되는 방법들 중 어느 하나를 수행하는 칩셋이거나, 이를 포함한다.
100 인코더
102 입력(예컨대, 입력 포트, 입력 인터페이스)
103 영상 블록
104 잔여 계산 [유닛 또는 단계]
105 잔여 블록
106 변환(예컨대, 스케일링을 추가적으로 포함) [유닛 또는 단계]
107 변환된 계수
108 양자화 [유닛 또는 단계]
109 양자화된 계수
110 역양자화 [유닛 또는 단계]
111 역양자화된 계수
112 역변환(예컨대, 스케일링을 추가적으로 포함) [유닛 또는 단계]
113 역변환된 블록
114 복원 [유닛 또는 단계]
115 복원된 블록
116 (라인) 버퍼 [유닛 또는 단계]
117 참조 샘플
120 루프 필터 [유닛 또는 단계]
121 필터링된 블록
130 디코딩된 영상 버퍼(DPB) [유닛 또는 단계]
142 인터 추정(또는 인터 영상 추정) [유닛 또는 단계]
143 인터 추정 파라미터(예컨대, 참조 영상/참조 영상 인덱스, 모션 벡터/오프셋)
144 인터 예측(또는 인터 영상 예측) [유닛 또는 단계]
145 인터 예측 블록
152 인트라 추정(또는 인트라 영상 추정) [유닛 또는 단계]
153 인트라 예측 파라미터(예컨대, 인트라 예측 모드)
154 인트라 예측(인트라 프레임/영상 예측) [유닛 또는 단계]
155 인트라 예측 블록
162 모드 선택 [유닛 또는 단계]
165 예측 블록(인터 예측 블록(145) 또는 인트라 예측 블록(155))
170 엔트로피 인코딩 [유닛 또는 단계]
171 인코딩된 영상 데이터(예컨대, 비트스트림)
172 출력(출력 포트, 출력 인터페이스)
200 디코더
202 입력(포트/인터페이스)
204 엔트로피 디코딩
209 양자화된 계수
210 역양자화
211 역양자화된 계수
212 역변환(스케일링)
213 역변환된 블록
214 복원(유닛)
215 복원된 블록
216 (라인) 버퍼
217 참조 샘플
220 루프 필터(인 루프 필터)
221 필터링된 블록
230 디코딩된 영상 버퍼(DPB)
231 디코딩된 영상
232 출력(포트/인터페이스)
244 인터 예측(인터 프레임/영상 예측)
245 인터 예측 블록
254 인트라 예측(인트라 프레임/영상 예측)
255 인트라 예측 블록
260 모드 선택
265 예측 블록(인터 예측 블록(245) 또는 인트라 예측 블록(255))
300 코딩 시스템
310 소스 디바이스
312 영상 소스
313 (원시) 영상 데이터
314 전처리기/전처리 유닛
315 전처리된 영상 데이터
318 통신 유닛/인터페이스
320 수신지 디바이스
322 통신 유닛/인터페이스
326 후처리기/후처리 유닛
327 후처리된 영상 데이터
328 디스플레이 디바이스/유닛
330 전송된/수신된/통신된 (인코딩된) 영상 데이터

Claims (20)

  1. 정수로 표현되는 적응형 곱셈 계수들을 갖는 필터(120; 220)를 사용하여 이미지의 샘플 세트(115; 215)를 필터링하기 위한 장치로서,
    상기 장치는 처리 회로를 포함하고, 상기 처리 회로는,
    상기 필터(120; 220)의 적어도 하나의 곱셈 계수의 값이 허용값 세트 (a set of allowed values) 내에 있도록 결정하되, 상기 적어도 하나의 곱셈 계수의 절대값의 이진 표현 - 상기 이진 표현은 소정의 자릿수 L(a predetermined number L of digits)을 갖음 - 이 적어도 하나의 "영(zero)"을 포함하도록 하고,
    상기 필터(120; 220)로 상기 이미지의 샘플 세트(115; 215)를 필터링하도록 구성되는
    장치.
  2. 제1항에 있어서,
    상기 세트의 최고 절대값은 소정의 최대값 Nmax로 제한되는
    장치.
  3. 제1항 또는 제2항에 있어서,
    상기 적어도 하나의 곱셈 계수의 절대값의 이진 표현은 최대 2 개의 "일(ones)"을 포함하는
    장치.
  4. 제3항에 있어서,
    상기 적어도 하나의 곱셈 계수의 절대값의 이진 표현은 최대 하나의 "일(one)"을 포함하는
    장치.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서,
    상기 필터(120; 220)의 모든 곱셈 계수는 상기 허용값 세트 내에 있는 것으로 결정되는
    장치.
  6. 제1항 내지 제4항 중 어느 한 항에 있어서,
    상기 처리 회로는 상기 필터(120; 220)의 곱셈 계수들을 적어도 2 개의 그룹으로 그룹화하도록 더 구성되고,
    상기 그룹들 중 한 그룹의 곱셈 계수들은 상기 허용값 세트로 제한되는
    장치.
  7. 제6항에 있어서,
    상기 그룹들 중 다른 한 그룹의 곱셈 계수들은 상기 절대값의 소정의 최대값에 의해 정의되는 범위 내의 모든 값을 상정(assume)하도록 허용되는
    장치.
  8. 제1항 내지 제7항 중 어느 한 항에 있어서,
    상기 이미지의 샘플 세트는 비디오 이미지의 샘플 세트(115; 215)인
    장치.
  9. 제8항에 있어서,
    상기 장치는 각각의 영상 및 각각의 픽셀에 대한 곱셈 계수들을 개별적으로 적응시키도록 구성되는
    장치.
  10. 정수로 표현되는 적응형 곱셈 계수들을 갖는 필터(120; 220)를 사용하여 이미지의 샘플 세트(115; 215)를 필터링하기 위한 방법으로서,
    상기 필터(120; 220)의 적어도 하나의 곱셈 계수의 값이 허용값 세트 내에 있도록 결정하되, 상기 적어도 하나의 곱셈 계수의 절대값의 이진 표현 - 상기 이진 표현은 소정의 자릿수 L을 갖음 - 이 적어도 하나의 "영(zero)"을 포함하도록 하는 단계(S80; S92, S94)와,
    상기 필터(120; 220)로 상기 이미지의 샘플 세트(115; 215)를 필터링하는 단계(S82; S96)를 포함하는
    방법.
  11. 복수의 픽셀을 포함하는 이미지의 현재의 샘플 세트(103)를 인코딩하기 위한 장치로서,
    상기 현재의 세트를 복원하기 위한 디코더(110, 112, 114)를 갖는 인코더, 및
    상기 복원된 세트(115)를 필터링하기 위한 제1항 내지 제9항 중 어느 한 항에 기재된 장치를 포함하는
    장치.
  12. 제11항에 있어서,
    처리 회로를 더 포함하고, 상기 처리 회로는,
    상기 곱셈 계수들의 값들을 이진 코드워드들에 맵핑하고;
    디코딩 장치(200)에 전송되도록 비트 스트림(330)에 상기 코드워드들을 포함시키도록 구성되는
    장치.
  13. 제12항에 있어서,
    상기 코드워드들의 길이는 서로 구별되는 (distinct) 곱셈 계수 값들의 수에 의존하는
    장치.
  14. 제12항 또는 제13항에 있어서,
    상기 처리 회로는,
    상기 필터(120)의 상기 곱셈 계수들의 예측을 수행하고;
    실제 결정된 값들을 상기 예측에 따라 예측된 값들과 비교함으로써 잔여 곱셈 계수들을 결정― 상기 이진 코드워드들에 대한 맵핑은 상기 잔여 곱셈 계수들에 적용됨 ―하도록 더 구성되는
    장치.
  15. 제14항에 있어서,
    상기 처리 회로는 예측 제어 정보를 생성하고 상기 예측 제어 정보를 상기 비트 스트림(330)에 포함시키도록 더 구성되는
    장치.
  16. 복수의 픽셀을 포함하는 이미지의 코딩된 현재의 샘플 세트(171)를 디코딩하기 위한 장치로서,
    상기 현재의 세트를 복원하기 위한 디코더(204, 210, 212, 214), 및
    상기 복원된 세트(215)를 필터링하기 위한 제1항 내지 제9항 중 어느 한 항에 기재된 장치를 포함하는
    장치.
  17. 제16항에 있어서,
    상기 처리 회로는 맵핑 동작을 적용함으로써 수신된 비트 스트림(330)에 포함되는 이진 코드워드들로부터 곱셈 계수들을 취득하도록 더 구성되는
    장치.
  18. 제17항에 있어서,
    상기 취득된 곱셈 계수들은 실제 계수 값들과 예측 스킴에 따라 예측되는 곱셈 계수들 사이의 차이를 나타내는 잔여 곱셈 계수들이고;
    상기 처리 회로는 상기 취득된 잔여 곱셈 계수들로부터 복원함으로써 상기 필터(220)의 상기 곱셈 계수들의 값을 결정하도록 구성되는
    장치.
  19. 제18항에 있어서,
    상기 예측 스킴은 상기 수신된 비트 스트림(330)에 더 포함되는 예측 제어 정보에 의해 표시되고;
    상기 처리 회로는 상기 복원에서 상기 예측 제어 정보를 더 사용하도록 구성되는
    장치.
  20. 제17항 내지 제19항 중 어느 한 항에 있어서,
    상기 처리 회로에 의한 결정은,
    상기 맵핑 동작에 의해 또는 상기 취득된 잔여 곱셈 계수들로부터의 복원에 의해 상기 수신된 비트 스트림(330)으로부터 직접 취득되는 상기 적어도 하나의 곱셈 계수의 상기 결정된 값이 상기 허용값 세트 내에 있는지의 여부에 대한 결정을 수행하는 것을 더 포함하거나, 또는
    상기 결정된 값을 상기 허용값 세트 내에 있는 가장 가까운 값으로 전환하는 것을 더 포함하는
    장치.
KR1020207027561A 2018-03-09 2018-03-29 적응형 곱셈 계수를 이용한 이미지 필터링을 위한 방법 및 장치 KR102464520B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020227038331A KR20220153105A (ko) 2018-03-09 2018-03-29 적응형 곱셈 계수를 이용한 이미지 필터링을 위한 방법 및 장치

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EPPCT/EP2018/055979 2018-03-09
EP2018055979 2018-03-09
PCT/EP2018/058090 WO2019170258A1 (en) 2018-03-09 2018-03-29 Method and apparatus for image filtering with adaptive multiplier coefficients

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020227038331A Division KR20220153105A (ko) 2018-03-09 2018-03-29 적응형 곱셈 계수를 이용한 이미지 필터링을 위한 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20200123826A true KR20200123826A (ko) 2020-10-30
KR102464520B1 KR102464520B1 (ko) 2022-11-07

Family

ID=61800553

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020247008926A KR20240040128A (ko) 2018-03-09 2018-03-29 적응형 곱셈 계수를 이용한 이미지 필터링을 위한 방법 및 장치
KR1020207027561A KR102464520B1 (ko) 2018-03-09 2018-03-29 적응형 곱셈 계수를 이용한 이미지 필터링을 위한 방법 및 장치
KR1020227038331A KR20220153105A (ko) 2018-03-09 2018-03-29 적응형 곱셈 계수를 이용한 이미지 필터링을 위한 방법 및 장치

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020247008926A KR20240040128A (ko) 2018-03-09 2018-03-29 적응형 곱셈 계수를 이용한 이미지 필터링을 위한 방법 및 장치

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020227038331A KR20220153105A (ko) 2018-03-09 2018-03-29 적응형 곱셈 계수를 이용한 이미지 필터링을 위한 방법 및 장치

Country Status (14)

Country Link
US (3) US11265538B2 (ko)
EP (2) EP4037315A1 (ko)
JP (3) JP7124100B2 (ko)
KR (3) KR20240040128A (ko)
CN (3) CN111869208B (ko)
AU (2) AU2018412414B2 (ko)
BR (1) BR112020018410A2 (ko)
CA (1) CA3092900A1 (ko)
ES (1) ES2905572T3 (ko)
HU (1) HUE057655T2 (ko)
MX (1) MX2020009369A (ko)
PL (1) PL3756346T3 (ko)
PT (1) PT3756346T (ko)
WO (1) WO2019170258A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020097076A1 (en) 2018-11-05 2020-05-14 Usic, Llc Systems and methods for autonomous marking identification
US11467582B2 (en) 2018-11-05 2022-10-11 Usic, Llc Systems and methods for an autonomous marking apparatus
US11936916B2 (en) * 2019-06-25 2024-03-19 Lg Electronics Inc. Image decoding method using lossless coding in image coding system and apparatus therefor

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1626499A1 (en) * 2003-05-15 2006-02-15 Neuro Solution Corp. Digital filter, design method thereof, design device, and digital filter design program
US20120183081A1 (en) * 2011-01-18 2012-07-19 Sony Corporation Simplifying parametric loop filters

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1964490A (zh) * 2005-11-09 2007-05-16 松下电器产业株式会社 一种滤波器及滤波方法
EP2048886A1 (en) * 2007-10-11 2009-04-15 Panasonic Corporation Coding of adaptive interpolation filter coefficients
RU2010119176A (ru) 2007-10-14 2011-11-20 Нокиа Корпорейшн (Fi) Реализация адаптивного фильтра изображений с фиксированной точкой с высокой эффективностью кодирования
CN101163246B (zh) * 2007-11-30 2010-06-23 北京航空航天大学 一种数字电视多媒体广播传输系统激励器
US8805100B2 (en) * 2010-06-03 2014-08-12 Sharp Kabushiki Kaisha Filter device, image decoding device, image encoding device, and filter parameter data structure
JP5685908B2 (ja) * 2010-11-30 2015-03-18 富士通株式会社 ループフィルタ
CN102857751B (zh) * 2011-07-01 2015-01-21 华为技术有限公司 一种视频编解码方法和装置
AU2012303976B2 (en) * 2011-08-31 2015-08-13 Mediatek Inc. Method and apparatus for adaptive loop filter with constrained filter coefficients
US10129540B2 (en) * 2012-04-10 2018-11-13 Texas Instruments Incorporated Reduced complexity coefficient transmission for adaptive loop filtering (ALF) in video coding
US20140010278A1 (en) * 2012-07-09 2014-01-09 Motorola Mobility Llc Method and apparatus for coding adaptive-loop filter coefficients
US9047665B2 (en) * 2013-08-21 2015-06-02 Panasonic Intellectual Property Management Co., Ltd. Image processing apparatus
CN103700072A (zh) * 2013-12-17 2014-04-02 北京工业大学 一种基于自适应小波阈值和双边滤波器的图像去噪方法
US10057574B2 (en) * 2015-02-11 2018-08-21 Qualcomm Incorporated Coding tree unit (CTU) level adaptive loop filter (ALF)
CN104734668B (zh) * 2015-03-31 2017-11-07 中国科学院微电子研究所 一种插值滤波器
CN105808206B (zh) * 2016-03-04 2019-01-08 广州海格通信集团股份有限公司 基于ram实现乘法运算的方法及其系统
JP7094076B2 (ja) * 2016-08-19 2022-07-01 沖電気工業株式会社 映像符号化装置、プログラム及び方法、並びに、映像復号装置、プログラム及び方法、並びに、映像伝送システム
CN107295353B (zh) * 2017-08-15 2019-12-31 电子科技大学 视频编码参考块滤波方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1626499A1 (en) * 2003-05-15 2006-02-15 Neuro Solution Corp. Digital filter, design method thereof, design device, and digital filter design program
US20120183081A1 (en) * 2011-01-18 2012-07-19 Sony Corporation Simplifying parametric loop filters

Also Published As

Publication number Publication date
JP2022172137A (ja) 2022-11-15
HUE057655T2 (hu) 2022-06-28
EP3756346B1 (en) 2021-12-29
RU2020133183A3 (ko) 2022-04-11
JP2021515494A (ja) 2021-06-17
KR20220153105A (ko) 2022-11-17
US11265538B2 (en) 2022-03-01
MX2020009369A (es) 2020-12-11
PL3756346T3 (pl) 2022-02-21
US20220224895A1 (en) 2022-07-14
CN113965765A (zh) 2022-01-21
AU2018412414A1 (en) 2020-10-15
AU2018412414B2 (en) 2023-05-11
EP3756346A1 (en) 2020-12-30
RU2020133183A (ru) 2022-04-11
JP7124100B2 (ja) 2022-08-23
US20200413054A1 (en) 2020-12-31
US11765351B2 (en) 2023-09-19
JP7384974B2 (ja) 2023-11-21
CN114125444B (zh) 2022-10-11
PT3756346T (pt) 2022-02-03
KR102464520B1 (ko) 2022-11-07
CN114125444A (zh) 2022-03-01
BR112020018410A2 (pt) 2020-12-22
KR20240040128A (ko) 2024-03-27
CA3092900A1 (en) 2019-09-12
US20230388493A1 (en) 2023-11-30
CN111869208B (zh) 2021-10-26
AU2023214322A1 (en) 2023-08-31
EP4037315A1 (en) 2022-08-03
ES2905572T3 (es) 2022-04-11
JP2024020330A (ja) 2024-02-14
WO2019170258A1 (en) 2019-09-12
CN111869208A (zh) 2020-10-30

Similar Documents

Publication Publication Date Title
CN111819852B (zh) 用于变换域中残差符号预测的方法及装置
US11533480B2 (en) Method and apparatus for image filtering with adaptive multiplier coefficients
JP7384974B2 (ja) 適応乗算係数を用いた画像フィルタリングのための方法および装置
JP2022179505A (ja) ビデオ復号方法およびビデオデコーダ
WO2019172800A1 (en) Loop filter apparatus and method for video coding
JP2023134576A (ja) コンパクトなmvストレージを用いるエンコーダ、デコーダ、及び対応する方法
JP2023085337A (ja) イントラ予測のためのクロスコンポーネント線形モデリングの方法、装置、デコーダ、エンコーダおよびプログラム
KR20220024900A (ko) 비선형 적응 루프 필터의 클리핑 레벨
RU2772313C2 (ru) Способ и устройство для фильтрации изображений с адаптивными коэффициентами множителя
KR20210015963A (ko) 인트라-예측을 위한 디바이스 및 방법

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant