KR101885382B1 - 공간적으로 변하는 잔류물 코딩을 위한 방법 및 장치 - Google Patents

공간적으로 변하는 잔류물 코딩을 위한 방법 및 장치 Download PDF

Info

Publication number
KR101885382B1
KR101885382B1 KR1020127000521A KR20127000521A KR101885382B1 KR 101885382 B1 KR101885382 B1 KR 101885382B1 KR 1020127000521 A KR1020127000521 A KR 1020127000521A KR 20127000521 A KR20127000521 A KR 20127000521A KR 101885382 B1 KR101885382 B1 KR 101885382B1
Authority
KR
South Korea
Prior art keywords
residue
block
encoding
filter
transform
Prior art date
Application number
KR1020127000521A
Other languages
English (en)
Other versions
KR20120096452A (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=42665840&utm_source=***_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=KR101885382(B1) "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 KR20120096452A publication Critical patent/KR20120096452A/ko
Application granted granted Critical
Publication of KR101885382B1 publication Critical patent/KR101885382B1/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/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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • 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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • 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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/33Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the spatial domain
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • 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/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)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

공간적으로 변하는 잔류물 코딩을 위한 방법들 및 장치들이 제공된다. 장치는, 화상 내의 적어도 하나의 블록의 원래 형태와 적어도 하나의 기준 블록 사이의 차이에 대응하는 잔류물에 대한 공간적으로 변하는 엔코딩 방법을 선택함으로써 화상 내의 적어도 하나의 블록에 대한 화상 데이터를 엔코딩하기 위한 비디오 엔코더(300)를 포함한다. 블록의 일 부분을 변환하기 위하여 하나 이상의 변환들이 사용되고, 블록의 나머지 영역은 하나 이상의 변환들에 대해 다른 엔코딩 방법을 사용하여 엔코딩된다.

Description

공간적으로 변하는 잔류물 코딩을 위한 방법 및 장치{METHODS AND APPARATUS FOR SPATIALLY VARYING RESIDUE CODING}
본 출원은, 2009년 7월 6일에 출원된, 미국 가특허출원 제61/223,277호(대리인 관리 번호 PU090058호)의 이익을 주장하며, 상기 출원은 그 전체가 본 명세서에 참조로서 통합된다.
본 발명의 원리들은 기본적으로 비디오 코딩과 디코딩에 관한 것이고, 보다 상세하게는 공간적으로 변하는 잔류물 코딩을 위한 방법 및 장치에 관한 것이다.
블록에 기반한 이산 변환은, 예컨대 JPEG(the Joint Photographic Experts Group), ITU-T(the International Telecommunication Union, Telecommunication Sector) H.263 권고(이후로, "H.263 권고"로 칭한다), ISO/IEC(International Organization for Standardization/International Electrotechnical Commission) MPEG-1(Moving Pictrue Experts Group-1) 표준, ISO/IEC MEPG-2 표준, ISO/IEC MEPG-4 Part 10 AVC(Advanced Video coding) 표준/ITU-T H.264 권고안(이후, "MPEG-4 AVC 표준"으로 칭함), 및 기타 표준을 포함하지만 이에 국한되지 않는 많은 영상 및 비디오 압축 표준들의 기본적인 구성요소이고, 폭넓은 범위의 응용에서 사용된다.
이산 코사인 변환(DCT : discrete cosine transform)은 가장 광범위하게 사용되는 블록 변환이다. DCT 설계는 화상을 픽셀들의 블록(주로 4×4 및 8×8)으로 분할하고, DCT를 사용하여 각 블록을 공간 영역으로부터 주파수 영역으로 변환하고, 변환 계수를 양자화함으로써 화상의 로컬 공간 상관관계 특성을 이용한다. 대부분의 영상 및 비디오 압축 표준들은 고정된 2-차원(2-D)의 분리 가능한 DCT 블록 변환을 사용한다. 만약 수 개의 블록 크기들이 허용된다면(전형적으로, 4×4로부터 및 16×16 블록들), 블록의 크기에 대응하는 크기를 갖는 DCT가 사용된다. 그러나, 각 블록 크기에 대해 오직 한 가지 변환만이 존재하고, 블록 내의 모든 픽셀들은 그 변환을 사용하여 처리된다.
예컨대, MPEG-4 AVC 표준과 같은 영상 및 비디오 코딩 표준들에 있어서, 각 블록 크기에 대해 사용할 블록 변환에 대해 한 가지 선택이 존재한다. 만약 잔류물(즉, 예측 에러)이 코딩된다면, 이러한 코딩은 변환 계수들을 통해 수행된다. 모든 픽셀들이 변환된다. 도 1을 참조하면, MPEG-4 AVC 표준에서 일부 변환 크기들은 일반적으로 참조번호 100으로 표시된다. 도시된 변환 크기들(100)에 관해, 코딩될 8×8 블록(110)에 대해, 8×8 블록(110)은 4×4 변환을 통해 변환되는 4개의 4×4 블록들(121 내지 124)로 분할된다. 일부 경우에 있어서, 변환 계수들을 송신하는 것은 4×4 블록들의 일부에 대해서는 필요하지 않을 수 있다. 예컨대, 도시된 변환 크기들(100)에 대해, 잔류물(대응하는 계수들로 표시되는)은 3개의 4×4 블록들(121, 122 및 123)(빗금 패턴으로 표시되지 않은)에 대해 송신되지 않는 반면, 잔류물은 나머지 4×4 블록(124)(사선의 빗금 패턴을 사용하여 도시된)에 대해 송신된다. 주된 단점은 변환들의 공간 지원이 고정되어, 잔류물을 엔코딩하는 것에 대한 유연성이 상당히 감소한다는 점이다.
종래 기술의 한 가지 접근법은 공간적으로 변하는 변환을 제안함으로써 잔류물 코딩 단계에서 더 많은 유연성을 도입한다. 도 2를 참조하면, 공간적으로 변하는 변환은 일반적으로 참조번호 200으로 표시된다. 이러한 경우에 있어서, 잔류물은 MPEG-4 AVC 표준에 따라 코딩될 수 있지만, 공간적으로 변하는 변환이 또한 허용된다. 공간적으로 변하는 변환은 하위-블록(210)(사선의 빗금 패턴을 사용하여 도시된)에만 적용되고, 잔류물의 남는 부분은 코딩되지 않은채 남겨둔다. 그러므로, N×N 블록(220)으로부터 M×M 픽셀들의 하위-블록(210)이 변환된다. 엔코더는 M×M 하위-블록(210)의 위치(즉, 위치 x 및 y)를 신호발신해야 한다. 그러나, 이러한 접근법은 여전히 유연성이 부족하다. 예컨대, 블록(220) 내에서 오직 한 가지 블록만이 존재하고, 이러한 접근법이 잔류물 데이터의 부분을 코딩하지 않고, 시각 품질을 개선하기 위한 어떠한 사전 필터링도 존재하지 않기 때문에, 이러한 접근법은 유연성이 부족하다.
제2의 종래 기술의 접근법은 소위 말하는 적응 예측 에러 코딩(Adaptive Prediction Error Coding : APEC) 기술을 제안한다. 프레임 사이의 잔류물은 낮은 상관관계를 갖고, DCT는 높게 상관관계된 데이터를 위해서만 적합하다. 그러므로, 제2의 종래 기술의 접근법은 공간 및 주파수 영역에서 적응 예측 에러 코딩을 가능케 하는 것을 제안한다. 예측 에러의 각 블록에 대해, 변환 코딩 또는 공간 영역의 코딩이 적용된다. 낮은 비율-왜곡 경비를 갖는 알고리즘이 블록을 위해 선택된다. 결국, 제2의 종래 기술의 접근법은 블록의 잔류물을 코딩하기 위해 변환 사용 여부의 선택을 제안하지만, 궁극적으로 다음의 두 가지 선택사항중 오직 하나만이 각 블록에 적용되는데, 이 선택사항은, 엔트로피 코딩 이전에 모든 픽셀이 변환되거나, 또는 모든 픽셀들이 공간 영역에서 직접 엔트로피 코딩되는 것이다.
종래 기술의 이들 및 다른 결점들 및 단점들은, 공간적으로 변하는 잔류물 코딩을 위한 방법 및 장치에 관한 본 발명의 원리들에 의해 다루어진다.
본 발명의 원리들의 일 양상에 따라, 장치가 제공된다. 이러한 장치는, 블록의 원래 형태와 적어도 하나의 기준 블록 사이의 차이에 대응하는 잔류물에 대한 공간적으로 변하는 엔코딩 방법을 선택함으로써 화상 내의 적어도 하나의 블록에 대한 화상 데이터를 엔코딩하기 위한 비디오 엔코더를 포함한다. 하나 이상의 변환들은 블록의 일 부분을 변환하기 위하여 사용되고, 블록의 나머지 영역은 하나 이상의 변환들에 대해 다른 엔코딩 방법을 사용하여 엔코딩되거나, 또는 엔코딩되지 않는다.
본 발명의 원리들의 다른 양상에 따라, 비디오 엔코더에서의 방법이 제공된다. 이러한 방법은, 블록의 원래 형태와 적어도 하나의 기준 블록 사이의 차이에 대응하는 잔류물에 대한 공간적으로 변하는 엔코딩 방법을 선택함으로써 화상 내의 적어도 하나의 블록에 대한 화상 데이터를 엔코딩하는 단계를 포함한다. 하나 이상의 변환들은 블록의 일 부분을 변환하기 위하여 사용되고, 블록의 나머지 영역은 하나 이상의 변환들에 대해 다른 엔코딩 방법을 사용하여 엔코딩되거나, 또는 엔코딩되지 않는다.
본 발명의 원리들의 또 다른 양상에 따라, 장치가 제공된다. 이러한 장치는, 블록의 원래 형태와 적어도 하나의 기준 블록 사이의 차이에 대응하는 잔류물에 대한 공간적으로 변하는 디코딩 방법을 선택함으로써 화상 내의 적어도 하나의 블록에 대한 화상 데이터를 디코딩하기 위한 비디오 디코더를 포함한다. 하나 이상의 역변환들은 블록의 일 부분을 역변환하기 위하여 사용되고, 블록의 나머지 영역은 하나 이상의 역변환들에 대해 다른 디코딩 방법을 사용하여 디코딩된다.
본 발명의 원리들의 또 다른 양상에 따라, 비디오 디코더에서의 방법이 제공된다. 이러한 방법은, 블록의 원래 형태와 적어도 하나의 기준 블록 사이의 차이에 대응하는 잔류물에 대한 공간적으로 변하는 디코딩 방법을 선택함으로써 화상 내의 적어도 하나의 블록에 대한 화상 데이터를 디코딩하는 단계를 포함한다. 하나 이상의 역변환들은 블록의 일 부분을 역변환하기 위하여 사용되고, 블록의 나머지 영역은 하나 이상의 역변환들에 대해 다른 디코딩 방법을 사용하여 디코딩된다(920).
본 발명의 원리들의 추가 양상에 따라, 장치가 제공된다. 이러한 장치는 다층(multi-tier) 잔류물 코딩을 사용하여 화상 내의 적어도 하나의 블록에 대해 화상 데이터를 엔코딩하기 위한 비디오 엔코더를 포함한다. 블록의 원래 형태와 적어도 하나의 기준 블록 사이의 차이에 대응하는 원래의 잔류물은 엔코딩된 잔류물을 얻기 위해 제 1 엔코딩 방법을 사용하여 엔코딩된다. 엔코딩된 잔류물은 원래의 잔류물로부터 감산되고, 블록의 일 부분은 제 2 엔코딩 방법을 이용하여 엔코딩된다.
본 발명의 원리들의 다른 추가 양상에 따라, 비디오 엔코더에서의 방법이 제공된다. 이러한 방법은 다층(multi-tier) 잔류물 코딩을 사용하여 화상 내의 적어도 하나의 블록에 대해 화상 데이터를 엔코딩하는 단계를 포함한다. 블록의 원래 형태와 적어도 하나의 기준 블록 사이의 차이에 대응하는 원래의 잔류물은 엔코딩된 잔류물을 얻기 위해 제 1 엔코딩 방법을 사용하여 엔코딩된다. 엔코딩된 잔류물은 원래의 잔류물로부터 감산되고, 블록의 일 부분은 제 2 엔코딩 방법을 이용하여 엔코딩된다.
본 발명의 원리들의 또 다른 추가 양상에 따라, 장치가 제공된다. 이러한 장치는 다층 잔류물 디코딩을 사용하여 화상 내의 적어도 하나의 블록에 대해 화상 데이터를 디코딩하기 위한 비디오 디코더를 포함한다. 블록의 원래 형태와 적어도 하나의 기준 블록 사이의 차이에 대응하는 원래의 잔류물은 디코딩된 잔류물을 얻기 위해 제 1 디코딩 방법을 사용하여 디코딩된다. 디코딩된 잔류물은 원래의 잔류물로부터 감산되고, 블록의 일 부분은 제 2 디코딩 방법을 이용하여 디코딩된다.
본 발명의 원리들의 또 다른 추가 양상에 따라, 비디오 디코더에서의 방법이 제공된다. 이러한 방법은 다층 잔류물 디코딩을 사용하여 화상 내의 적어도 하나의 블록에 대해 화상 데이터를 디코딩하는 단계를 포함한다. 블록의 원래 형태와 적어도 하나의 기준 블록 사이의 차이에 대응하는 원래의 잔류물은 디코딩된 잔류물을 얻기 위해 제 1 디코딩 방법을 사용하여 디코딩된다. 디코딩된 잔류물은 원래의 잔류물로부터 감산되고, 블록의 일 부분은 제 2 디코딩 방법을 이용하여 디코딩된다.
본 발명의 원리의 이들 및 다른 양상들, 특징들 및 장점들은 첨부된 도면들과 관련하여 읽혀질 예시적인 실시예들의 다음의 상세한 설명으로부터 자명해질 것이다.
본 발명의 원리들은 다음의 예시적인 도면들에 따라 더 잘 이해될 것이다.
본 발명은 잔류물의 공간적으로-변하는 변환들 및 코딩 방법들과, 보완 필터링 기술들을 사용하여, 영상 및 비디오 데이터의 효율 및 시각 품질을 개선한다.
도 1은 MPEG-4 AVC 표준에서 일부 변환 크기들을 도시하는 도면.
도 2는 공간적으로 변하는 변환을 도시하는 도면.
도 3은 본 발명의 원리들의 일 실시예에 따라 본 발명의 원리들이 적용될 수 있는 예시적인 비디오 엔코더를 도시하는 블록도.
도 4는 본 발명의 원리들의 일 실시예에 따라 본 발명의 원리들이 적용될 수 있는 예시적인 비디오 디코더를 도시하는 블록도.
도 5는 본 발명의 원리들의 일 실시예에 따른 공간적으로 변하는 잔류물 코딩의 일 예를 도시하는 도면.
도 6은 본 발명의 원리들의 일 실시예에 따라, 두 개의 완전히 중첩되는 변환들의 조합을 수반하는, 공간적으로 변하는 잔류물 코딩의 일 예를 도시하는 도면.
도 7은 본 발명의 원리들의 일 실시예에 따라, 필터링을 수반하는 공간적으로 변하는 잔류물 코딩의 일 예를 도시하는 도면.
도 8은 본 발명의 원리들의 일 실시예에 따라, 블록 잔류물의 공간적으로 변하는 엔코딩을 수행하는 예시적인 방법을 도시하는 흐름도.
도 9는 본 발명의 원리들의 일 실시예에 따라, 블록 잔류물의 공간적으로 변하는 디코딩을 수행하는 예시적인 방법을 도시하는 흐름도.
도 10은 본 발명의 원리들의 일 실시예에 따라, 블록 잔류물의 공간적으로 변하는 엔코딩을 수행하는 다른 예시적인 방법을 도시하는 흐름도.
도 11은 본 발명의 원리들의 일 실시예에 따라, 블록 잔류물의 공간적으로 변하는 디코딩을 수행하는 다른 예시적인 방법을 도시하는 흐름도.
도 12는 본 발명의 원리들의 일 실시예에 따라, 블록 잔류물의 공간적으로 변하는 엔코딩을 수행하는 또 다른 예시적인 방법을 도시하는 흐름도.
도 13은 본 발명의 원리들의 일 실시예에 따라, 블록 잔류물의 공간적으로 변하는 디코딩을 수행하는 또 다른 예시적인 방법을 도시하는 흐름도.
본 발명의 원리들은 공간적으로 변하는 잔류물 코딩을 위한 방법 및 장치에 관한 것이다.
본 설명은 본 발명의 원리들을 설명한다. 따라서 당업자가 본 명세서에서 명시적으로 기술되거나 도시되지는 않았지만, 본 발명의 원리를 구현하고 본 발명의 사상과 범주 내에 포함되는 다양한 장치들을 안출할 수 있을 것임을 인식할 수 있을 것이다.
본 명세서에 상술된 모든 예시들 및 조건적 언어는 해당 기술을 진전시키기 위해 본 발명자에 의해 공헌된 본 발명의 원리 및 개념을 독자가 이해하는 것을 돕기 위한 교육적인 목적을 위한 것이며, 그렇게 명확하게 상술한 예시들 및 조건들로 제한되지 않는 것으로 해석되어야 한다.
더욱이, 본 발명의 특정 예시들뿐만 아니라, 본 발명의 원리, 양상, 및 실시예들을 상술하는 본 명세서에서의 모든 진술은, 본 발명의 구조적 그리고 기능적 등가물들을 모두 포함하도록 의도된다. 덧붙여, 그러한 등가물들은 현재 알려진 등가물 및 미래에 개발될 등가물 모두, 즉, 구조에 관계없이 동일한 기능을 수행하는 임의의 개발된 요소를 포함하도록 의도된다.
그러므로, 예컨대, 당업자라면 본 명세서에 제공된 블록도는 본 발명의 원리를 구현하는 예시적 회로의 개념적 개관을 나타낸다는 점을 이해할 것이다. 마찬가지로, 임의의 흐름도, 순서도, 상태 전이도, 의사 코드(pseudocode) 등은, 실질적으로 컴퓨터 판독 가능한 매체에 제공될 수 있고 따라서, 컴퓨터 또는 프로세서가 명시적으로 도시되어있는지의 여부에 관계없이, 컴퓨터 또는 프로세서에 의해 실행되는 다양한 프로세스들을 나타낸다는 것이 이해될 것이다.
도면들에 도시된 다양한 요소들의 기능들은 전용 하드웨어 및, 적절한 소프트웨어와 결합하여 소프트웨어를 실행할 수 있는 하드웨어의 이용을 통해 제공될 수도 있다. 프로세서에 의해 제공될 때, 기능들은 단일의 전용 프로세서에 의해, 단일의 공유된 프로세서에 의해, 또는 일부가 공유될 수 있는 복수의 개별적인 프로세서에 의해 제공될 수도 있다. 또한, 용어 "프로세서(processor)" 또는 "제어기(controller)"의 명시적인 사용은 소프트웨어를 실행할 수 있는 하드웨어를 배타적으로 지칭하는 것으로 해석되어서는 안 되며, 이들은, 제한 없이, 디지털 신호 프로세서("DSP") 하드웨어, 소프트웨어를 저장하기 위한 판독-전용 메모리("ROM"), 랜덤 액세스 메모리("RAM"), 그리고 비-휘발성 저장 장치를 암묵적으로 포함할 수도 있다.
종래의 및/또는 맞춤화된 다른 하드웨어가 또한 포함될 수도 있다. 마찬가지로, 도면들에 도시된 임의의 스위치들은 오직 개념적이다. 그러한 스위치들의 기능은 프로그램 로직의 동작을 통해, 전용 로직을 통해, 프로그램 제어와 전용 로직의 상호작용을 통해, 또는 수동으로까지 수행될 수도 있으며, 문맥으로부터 더욱 명확하게 이해되는 것과 같이, 이러한 특정 기술은 구현자에 의해 선택될 수 있다.
본 명세서의 청구항들에서, 특정 기능을 수행하는 수단으로 표현된 임의의 요소들은 그러한 기능을 수행하는 임의의 방법을 포함하도록 의도되는데, 임의의 방법은 예컨대, a) 그러한 기능을 수행하는 회로 요소들의 결합 또는 b) 임의의 형태의, 따라서 그러한 기능을 수행하기 위한 소프트웨어를 실행시키기 위한 적절한 회로와 결합된 펌웨어, 마이크로코드, 등을 포함하는, 소프트웨어를 포함한다. 그러한 청구항들에 의해 한정되는 본 발명의 원리는, 다양한 상술한 수단들에 의해 제공되는 기능이 청구항들이 요구하는 방식으로 결합되며 함께 제공되는 사실에 존재한다. 그러므로, 그러한 기능들을 제공할 수 있는 임의의 수단은 본 명세서에 도시된 수단들과 동등한 것으로 간주된다.
본 명세서에서, 본 발명의 원리의 다른 변형뿐만 아니라 본 발명의 원리의 "하나의 실시예" 또는 "일 실시예"에 대한 언급은, 그러한 실시예와 관련되어 설명되는 특정한 특징, 구조 특성 등이 본 발명의 원리의 적어도 한 실시예에 포함된다는 것을 의미한다. 그러므로, 본 명세서 전반에 걸쳐서 다양한 위치에 나타나는 "일 실시예에서" 또는 "하나의 실시예에서" 및 임의의 다른 변형의 구절의 출현은 반드시 모두 동일한 실시예를 언급하는 것은 아니다.
예컨대 "A/B", "A 및/또는 B", 및 "A와 B 중 적어도 하나"의 경우에서와 같이 "/", "및/또는(and/or)"과 "중 적어도 하나" 중 임의의 것의 사용은 첫 번째로 열거된 옵션(A)만의 선택, 또는 두 번째로 열거된 옵션(B)만의 선택, 또는 옵션(A와 B) 모두의 선택을 포함하는 것으로 의도된다는 점을 알아야 한다. 또 다른 예로서, "A, B 및/또는 C"와 "A, B 및 C 중 적어도 하나"의 경우들에서, 그러한 어법은 첫 번째 열거된 옵션(A)만의 선택, 또는 두 번째 열거된 옵션(B)만의 선택, 또는 세 번째 열거된 옵션(C)만의 선택, 또는 첫 번째 및 두 번째 열거된 옵션들(A, B)만의 선택, 또는 첫 번째 및 세 번째 열거된 옵션(A, C)만의 선택, 또는 두 번째 및 세 번째 열거된 옵션(B,C)만의 선택, 또는 3개의 옵션(A, B, C) 전부의 선택을 포함하는 것으로 의도된다. 이는 당업자에게 바로 명백해 지듯이, 열거된 많은 항목에 관해 확장될 수 있다.
또한 본 명세서에서 사용된 용어, "화상"과 "이미지"는 교환가능하게 사용되며, 정지 이미지 또는 비디오 시퀀스로부터의 화상을 언급한다. 알려진 바와 같이, 화상은 한 프레임 또는 한 필드이다.
부가적으로, 본 명세서에서 사용된 용어, "신호발신"("signal")은 특히 대응하는 디코더에 무언가를 지시하는 것을 언급할 수 있다. 예컨대, 엔코더는 디코더가 어떤 특정 필터 파라미터들이 엔코더 측에서 사용되었는지를 알 수 있게 하기 위하여, 공간적으로 변하는 잔류물 코딩에 관한 하나 이상의 파라미터들을 신호발신할 수 있다. 이러한 방식으로, 동일한 파라미터들은 엔코더 측과 디코더 측 모두에서 사용될 수 있다. 따라서 예컨대, 엔코더는 특정 파라미터를 디코더에 송신할 수 있어서, 디코더는 동일한 특정 파라미터를 사용할 수 있거나, 또는 만약 디코더가 다른 것뿐만 아니라 특정 파라미터를 이미 가지고 있다면, 단순히 디코더가 특정 파라미터를 알고 선택하는 것을 허용하기 위하여, (송신을 하지 않고) 신호발신이 사용될 수 있다. 임의의 실제 파라미터들의 송신을 회피함으로써, 비트 절약이 실현된다. 신호발신은 다양한 방식으로 달성될 수 있음을 알아야 한다. 예컨대, 대응하는 디코더에 정보를 신호발신하기 위하여 하나 이상의 구문 요소들, 플래그들 등이 사용될 수 있다.
도 3을 참조하면, 본 발명의 원리들이 적용될 수 있는 예시적인 비디오 엔코더가 일반적으로 참조번호 300으로 표시되었다. 비디오 엔코더(300)는 하나의 출력을 갖는 프레임 배열 버퍼(310)를 포함하고, 이 출력은 결합기(385)의 비반전 입력에 교신하도록 연결된다. 결합기(385)의 출력은 변환기 및 양자화기(325)의 입력과 공간적으로 변하는 기술 모듈(311)의 입력에 교신하도록 연결된다. 공간적으로 변하는 기술 모듈(311)의 출력은 선택 모듈(312)의 제 1 입력에 교신하도록 연결된다. 변환기 및 양자화기(325)의 출력은 선택 모듈(312)의 제 2 입력에 교신하도록 연결된다. 선택 모듈(312)의 출력은 엔트로피 코더(345)의 제 1 입력과, 역공간적으로 변하는 기술 모듈(313)의 제 1 입력, 역변환기 및 역양자화기(350)의 제 1 입력에 교신하도록 연결된다. 엔트로피 코더(345)의 출력은 결합기(390)의 제 1 비반전 입력에 교신하도록 연결된다. 결합기(390)의 출력은 출력 버퍼(335)의 제 1 입력에 교신하도록 연결된다.
엔코더 제어기(305)의 제 1 출력은 프레임 배열 버퍼(310)의 제 2 입력, 역공간적으로 변하는 기술 모듈(313)의 제 2 입력, 역 변환기 및 역 양자화기(350)의 제 2 입력, 화상-유형 결정 모듈(315)의 입력, 매크로블록(MB)-유형 결정 모듈(320)의 제 1 입력, 인트라 예측 모듈(360)의 제 2 입력, 블록킹해제 필터(365)의 제 2 입력, 움직임 보상기(370)의 제 1 입력, 움직임 추정기(375)의 제 1 입력, 및 기준 화상 버퍼(380)의 제 2 입력에 교신하도록 연결된다.
엔코더 제어기(305)의 제 2 출력은 보충 강화 정보(SEI : Supplemental Enhancement Information) 삽입기(330)의 제 1 입력, 엔트로피 코더(345)의 제 2 입력, 출력 버퍼(335)의 제 2 입력, 및 시퀀스 파라미터 세트(SPS) 및 화상 파라미터 세트(PPS) 삽입기(340)의 입력에 교신하도록 연결된다.
SEI 삽입기(330)의 출력은 결합기(390)의 제 2 비반전 입력에 교신하도록 연결된다.
화상-유형 결정 모듈(315)의 제 1 출력은 프레임 배열 버퍼(310)의 제 3 입력에 교신하도록 연결된다. 화상-유형 결정 모듈(315)의 제 2 출력은 매크로블록-유형 결정 모듈(320)의 제 2 입력에 교신하도록 연결된다.
시퀀스 파라미터 세트(SPS) 및 화상 파라미터 세트(PPS) 삽입기(340)의 출력은 결합기(390)의 제 3 비반전 입력에 교신하도록 연결된다.
역 변환기 및 역 양자화기(350)의 출력과 역공간적으로 변하는 기술 모듈(313)의 출력은 결합기(319)의 제 1 비반전 입력에 교신하도록 연결된다. 결합기(319)의 출력은 인트라 예측 모듈(360)의 제 1 입력과 블록킹해제 필터(365)의 제 1 입력에 교신하도록 연결된다. 블록킹해제 필터(365)의 출력은 기준 화상 버퍼(380)의 제 1 입력에 교신하도록 연결된다. 기준 화상 버퍼(380)의 출력은 움직임 추정기(375)의 제 2 입력과 움직임 보상기(370)의 제 3 입력에 교신하도록 연결된다. 움직임 추정기(375)의 제 1 출력은 움직임 보상기(370)의 제 2 입력에 교신하도록 연결된다. 움직임 추정기(375)의 제 2 출력은 엔트로피 코더(345)의 제 3 입력에 교신하도록 연결된다.
움직임 보상기(370)의 출력은 스위치(397)의 제 1 입력에 교신하도록 연결된다. 인트라 예측 모듈(360)의 출력은 스위치(397)의 제 2 입력에 교신하도록 연결된다. 매크로블록-유형 결정 모듈(320)의 출력은 스위치(397)의 제 3 입력에 교신하도록 연결된다. 스위치(397)의 제 3 입력은 스위치의 "데이터" 입력이 (제어 입력 즉 제 3 입력과 비교하여) 움직임 보상기(370) 또는 인트라 예측 모듈(360)에 의해 제공될 지의 여부를 결정한다. 스위치(397)의 출력은 결합기(319)의 제 2 비반전 입력과 결합기(385)의 반전 입력에 교신하도록 연결된다.
프레임 배열 버퍼(310)의 제 1 입력과 엔코더 제어기(305)의 입력은 입력 화상(301)을 수신하기 위한 엔코더(100)의 입력으로 사용 가능하다. 더욱이, 보충 강화 정보(SEI) 삽입기(330)의 제 2 입력은 메타 데이터를 수신하기 위한 엔코더(300)의 입력으로 사용 가능하다. 출력 버퍼(335)의 출력은 비트 스트림을 출력하기 위한 엔코더(300)의 출력으로 사용 가능하다.
도 4를 참조하면, 본 발명의 원리들이 적용될 수 있는 예시적인 비디오 디코더가 일반적으로 참조번호 400으로 표시된다. 비디오 디코더(400)는 엔트로피 디코더(445)의 제 1 입력과 교신하도록 연결된 출력을 가지는 입력 버퍼(410)를 포함한다. 엔트로피 디코더(445)의 제 1 출력은 선택기(412)의 입력과 교신하도록 연결된다. 선택기(412)의 출력은 역 변환기 및 역 양자화기(450)의 제 1 입력과 역공간적으로 변하는 기술 모듈(413)의 제 1 입력과 교신하도록 연결된다. 역 변환기 및 역 양자화기(450)의 출력과 역공간적으로 변하는 기술 모듈(413)의 출력은 결합기(425)의 제 2 비반전 입력과 교신하도록 연결된다. 결합기(425)의 출력은 블록킹해제 필터(465)의 제 2 입력 및 인트라 예측 모듈(460)의 제 1 입력과 교신하도록 연결된다. 블록킹해제 필터(465)의 제 2 출력은 기준 화상 버퍼(480)의 제 1 입력과 교신하도록 연결된다. 기준 화상 버퍼(480)의 출력은 움직임 보상기(470)의 제 2 입력과 교신하도록 연결된다.
엔트로피 디코더(445)의 제 2 출력은, 움직임 보상기(470)의 제 3 입력, 블록킹해제 필터(465)의 제 1 입력, 및 인트라 예측기(460)의 제 3 입력과 교신하도록 연결된다. 엔트로피 디코더(445)의 제 3 출력은 디코더 제어기(405)의 입력과 교신하도록 연결된다. 디코더 제어기(405)의 제 1 출력은 엔트로피 디코더(445)의 제 2 입력과 교신하도록 연결된다. 디코더 제어기(405)의 제 2 출력은 역 변환기 및 역 양자화기(450)의 제 2 입력과 교신하도록 연결된다. 디코더 제어기(405)의 제 3 출력은 블록킹해제 필터(465)의 제 3 입력과 교신하도록 연결된다. 디코더 제어기(405)의 제 4 출력은 인트라 예측 모듈(460)의 제 2 입력, 움직임 보상기(470)의 제 1 입력, 및 기준 화상 버퍼(480)의 제 2 입력과 교신하도록 연결된다. 디코더 제어기(405)의 제 5 출력은 역공간적으로 변하는 기술 모듈(413)의 제 2 입력과 교신하도록 연결된다.
움직임 보상기(470)의 출력은 스위치(497)의 제 1 입력과 교신하도록 연결된다. 인트라 예측 모듈(460)의 출력은 스위치(497)의 제 2 입력과 교신하도록 연결된다. 엔트로피 디코더(445)의 제 4 출력은 스위치(497)의 제 3 입력과 교신하도록 연결된다. 스위치(497)의 제 3 입력은 스위치의 "데이터" 입력이 (제어 입력 즉 제 3 입력과 비교하여) 움직임 보상기(470) 또는 인트라 예측 모듈(460)에 의해 제공될 지의 여부를 결정한다. 스위치(497)의 출력은 결합기(425)의 제 1 비반전 입력과 교신하도록 연결된다.
입력 버퍼(410)의 입력은 입력 비트스트림을 수신하기 위한 디코더(400)의 입력으로서 사용 가능하다. 블록킹해제 필터(465)의 제 1 출력은 출력 화상을 출력하기 위한 디코더(400)의 출력으로서 사용 가능하다.
대부분의 현대 비디오 코딩 표준들은 공간 영역에서 잔류물의 상관관계를 유효하게 감소시키기 위하여 변환들을 사용한다. 변환들의 크기는 주로 예측 데이터의 크기에 의해 결정된다. 또한, 변환 코딩은 잔류물의 변하는 특성을 다루기 위하여 다른 코딩 기술들과 결합되지 않는다. 각 블록 크기에 대해 오직 하나의 변환만이 존재하고 그 블록 내의 모든 픽셀들이 그 변환으로 처리되는 이들 설계들에 있어서, 한계가 존재한다. 영상 및 비디오 콘텐트 데이터는 변하는 통계들 및 특성들을 갖는다. 그러므로, 만약 수 개의 변환들이 각 블록에 대해 사용되고, 잔류물 데이터의 일부를 압축하기 위하여 다른 기술들이 허용된다면, 잠재적인 압축 이득들이 존재한다. 우리는 이러한 비능률을 인식하고, 그러므로 본 발명의 원리들에 따라, 또한 다른 기술들이 변환되지 않은 잔류물 데이터를 코딩하도록 허용하면서, 동시에 한 블록 내에서 수 개의 변환들의 사용을 결합하기 위한 방법 및 장치를 제안한다. 바람직한 일 실시예에 있어서, 시각 품질 및 효율을 개선하기 위하여 사전-필터링 및 사후-필터링 기술들의 사용을 통해 이러한 접근법을 강화한다. 따라서, 하나 이상의 실시예들에 있어서, 본 발명의 원리들은 영상 및 비디오 데이터의 효율 및 시각 품질을 개선하기 위하여 잔류물의 공간적으로-변하는 변환들 및 코딩 방법들과, 보완 필터링 기술들을 사용한다.
잔류물의 코딩을 위한 공간적으로 변하는 기술들
비디오 코딩 기술은 더 큰 디스플레이 해상도와 고품위(HD) 콘텐트의 증가된 사용의 요건을 충족시키기 위하여 진행되고 있다. 고품위 콘텐트 코딩 효율은 더 큰 블록 크기로부터 이익들을 얻는다. 그러므로, 예측 유닛과 최종 잔류물 변환은 더 커진다. 전형적으로, 블록 크기는 4×4 또는 8×8 블록들로부터 32×32 또는 64×64 블록들로 확대되고 있다. 심지어 128×128 픽셀들만큼 큰 코딩 유닛들의 사용에 대한 제안도 존재한다.
다른 한 편으로, 예측 기술들은 급속하게 개선되고 있어, 이전의 비디오 코딩 표준들과는 상당히 다른 낮은 공간 상관관계 및 성김(sparsity) 특성들을 갖는 잔류물 데이터를 초래한다.
이들 두 가지 경향들(더 큰 유닛과 더 양호한 예측)의 결과로서, DCT 접근법은 잔류물 코딩을 적절하게 다루지 못한다. 잔류물의 공간적인 변화성에 적응될 수 있는 새로운 기술이 필요하다.
본 발명의 원리들에 따라, 블록의 잔류물을 코딩하기 위하여 다른 변환들과 다른 기술들을 결합하는 것을 제안한다. 이러한 방식으로, 잔류물 데이터의 일부 부분들상에서 관찰된 공간 상관관계를 사용하고, 동시에 동일한 블록의 잔류물의 다른 부분들의 관찰된 성김을 사용하는 것이 가능하다. 본 발명의 원리들이, 더 적은 블록들을 수반하는 기존 비디오 코딩 표준들, 권고안들, 및 이들의 확장들뿐만 아니라, 더 큰 블록들과 개선된 예측 방법들을 갖는 새로운 코덱 파라다임에 적합한 것을 인식해야 한다. 즉, 본 발명의 원리들은 임의의 블록 크기를 수반하는 비디오 코딩 표준들, 권고안들, 및 이들의 확장들에 적용될 수 있다.
도 5를 참조하면, 공간적으로 변하는 잔류물 코딩의 예가 일반적으로 참조번호 500으로 표시된다. 공간적으로 변하는 잔류물 코딩(500)은 블록(505)을 형성하는 화상 데이터의 N 개 픽셀들 × N 개 픽셀들을 수반한다. 블록(505)은 전체 블록(505)을 꼭 덮는 것은 아닌 하나 이상의 변환들로 코딩된다. 예컨대, 블록(505) 내의 하위-블록들(511 내지 513)(빗금 사선 패턴을 사용하여 도시)은 블록을 덮지 않는다. 하위-블록들(511 내지 513)은 하나 이상의 변환들을 사용하여 코딩된다. 나머지 잔류물(빗금이 없는 배경)은 대안적인 방법으로 코딩된다. 이러한 대안적인 방법(이후로 "배경 방법"으로 칭함)은 예컨대 상술한 제 2 종래 기술의 접근법에 대응하는 공간 영역의 코딩이 될 수 있거나, 또는 당업자에게 알려진 일부 다른 대안적인 방법을 수반할 수 있다. 다른 실시예에 있어서, 배경 방법은 렘펠-지브(Lempel-ziv) 방법이 될 수 있거나, 또는 멀티-스케일 재현 패턴, 또는 적응 확률 모델들 또는 벡터 양자화를 갖는 멀티-스케일 재현 패턴, 등을 수반할 수 있다. 본 명세서에서 제공된 본 발명의 원리의 가르침이 주어진다면, 당업자가 나머지 잔류물을 엔코딩하기 위한 이들 및 많은 다른 선택사항을 예상할 것임을 인식할 수 있을 것이다. 더욱이, 두 가지 이상의 이들 (배경) 방법들이 나머지 잔류물을 엔코딩하기 위하여 결합될 수 있음을 추가로 인식할 것이다. 최종적으로, 엔코더는 "종래의" 변환 설계 또는 제안된 공간적으로 변하는 기술들을 사용하는 선택을 가질 수 있어서, 엔코더는 전체 블록에 대한 변환을 사용하는 선택사항(확실히 모든 상황에서는 아니지만 많은 상황에서 양호하게 작용하는 것으로 증명된)을 유지하면서 새로운 기술로부터 이득을 취할 수 있다.
이렇한 설정에 있어서, 엔코더는 변환들 수, 이들의 크기 및 위치, 또한 나머지 잔류물을 엔코딩하기 위해 선택된 배경 방법이 무엇인지를 표시해야 한다. 이들 파라미터들은 예컨대 설계에 의해, 시퀀스 레벨, 프레임 레벨, 슬라이스 레벨 및/또는 일부 다른 레벨에서 고정될 수 있고, 따라서 이들 파라미터들의 일부 또는 모두는 반드시 항상 표시되어야 하는 것은 아니다.
블록 내에서 변환들의 세트의 위치는 적응적일 수 있다. 일 실시예에 있어서, 엔코더는 명시적으로 각 변환의 위치를 나타낸다. 송신할 파라미터들은, 예컨대 (1) 각 변환의 x 및 y, (2) 이전 변환에 대한 x 및 y, 또는 (3) (상대) 위치의 각도 및 계수와 같이 x 및 y에 등가인 다른 값들을 포함하지만 이들에 국한되지는 않는다. 물론, 본 명세서에서 제공된 본 발명의 원리들의 가르침이 주어진다면, 당업자는, 본 발명의 원리의 사상을 유지하면서, 본 발명의 원리들에 따라 송신될 이들 및 다른 파라미터들을 예상할 것이다.
다른 실시예에 있어서, 디코더는 이전에 재구성된 데이터 및 엔코딩 선택들로부터 변환들의 위치를 추론한다. 예컨대, 변환들의 위치 및 수는 예측 데이터, 예측 모드, 예측 잔류물 또는 이전 블록들의 움직임 벡터, 등에 의존할 수 있지만, 이에 국한되는 것은 아니다. 선택은 엔코더와 디코더에서 모두 사용될 수 있는 데이터에 의존하여, 엔코더와 디코더는 동일한 결정을 내릴 수 있고, 따라서 동시에 이루어질 수 있다(따라서 동일한 것의 지원에서 부가적인 정보를 송신하는 필요성을 제거한다).
일반적으로, 제안된 방법은 변환들이 서로 겹쳐지 않을 때 더 많은 이득들을 초래할 수 있지만, 일부 상황에서 이러한 겹침은 성능에 유익할 수 있다. 하나 이상의 실시예에 있어서, 제안된 방법들은 변환들 및 배경 방법들의 위치를 제안하지 않는다, 즉 이들은 겹치지 않는다.
이러한 점은 다층 잔류물 코딩을 수반하는 다른 실시예를 초래한다. 도 6을 참조하면, 전체가 겹치는 2개의 변환들의 결합을 수반하는 공간적으로 변하는 잔류물 코딩의 예가 일반적으로 참조번호 600으로 표시된다. 이 경우에 있어서, 잔류물은 하나의 방법으로 먼저 엔코딩된다. 그후, 엔코딩된 잔류물은 원래의 잔류물로부터 감산된다. 이 후, 나머지 잔류물은 다른 방법으로 엔코딩된다. 이러한 방법의 양호한 예시는 다음과 같다.
1. 변환 접근법을 사용하여 블록(N×N)(610)을 엔코딩한다.
2. 변환의 가장 큰 낮은 빈도의 계수들만을 유지한다.
3. 원래의 잔류물로부터 엔코딩된 잔류물을 감산한다.
4. 변환을 사용하여 (하나 이상의) 하위-블록들{예, 사선패턴을 이용하여 도시된, M×M 하위-블록(620)}을 엔코딩한다.
이러한 다층 잔류물 코딩 방법은 2개 층의 잔류물을 사용하고, 이는 공간적으로 변한다. 제 1 층은 전체 블록(610)에 대한 잔류물의 넓은 설명을 제공한다. 제 2 층은 엔코딩하기 특별히 여려운 영역 또는 관심 영역{예, 하위-블록(620)}에 대해 집중할 수 있어서, 제 2 층은 그 특별한 영역을 위해 제 1 층을 정제한다. 이러한 접근법은 크기조정 가능한 비디오 코딩(SVC)에서 신호대 잡음 비율(SNR)의 크기조정 가능성으로 쉽게 확장될 수 있다.
이러한 것은 오직 하나의 예시이다. 따라서, 본 발명의 원리들은 2개(또는 그 이상의) 층들이 변환 코딩에 의존하는 경우에 국한되지 않는다. 예컨대, 제 2 층은 공간 영역의 접근법으로 엔코딩될 수 있다. 이들 및 다른 변형들은 본 발명의 원리의 가르침이 주어진다면, 당업자에 의해 쉽게 예상될 수 있다.
잔류물 엔코딩을 위한 공간적으로 변하는 기술들에 대한 필터링
공간적으로 변하는 기술들은 다른 방법들 또는 변환들로 재구성된 인접 데이터를 초래하고, 따라서 차례로 대부분의 비디오 코딩 표준들에서 발견되는 블록킹 아티팩트들, 등과 유사한 경계를 따른 아티팩트를 초래한다. 아티팩트들은 필터링이 수행된다면 감소되거나 제거될 수 있다. 이러한 필터링은 블록킹해제 필터, 저역 필터, 비선형 필터, 겹쳐진 변환, 등이 될 수 있다. 변환의 유형 및 크기, 양자화 레벨, 및 다른 코딩 파라미터들은 이러한 필터링을 위한 최상의 선택을 결정한다.
도 7을 참조하면, 필터링을 수반하는 공간적으로 변하는 잔류물 코딩의 예가 일반적으로 참조번호 700으로 표시된다. 도시된 바와 같이, 블록(705) 내에서 (예, 하위-블록의) 경계를 가로지르는 필터링이 수행될 수 있다. 필터링은 인접 영역들에 따라 다를 수 있다. 예컨대, 블록킹해제 필터는 두 개의 변환 하위-블록들(711 및 712)(빗금 사선 패턴으로 도시)을 가로질러(도 7에 흰색 화살표) 사용될 수 있는 반면, 저역 필터링은 변환 하위-블록(711 및 712)(빗금 사선 패턴을 사용하여 도시)과 배경 방법으로 엔코딩된 인접 영역(빗금이 없는 패턴으로 도시됨)을 가로질러(도 7에서 검은색 화살표) 사용될 수 있다.
일 실시예에 있어서, 모든 이들 필터들은 블록의 재구성 이후 적용된다. 그러나, 다른 실시예에 있어서, 공간적으로 변하는 기술로 데이터를 코딩하기 이전에 데이터를 사전-필터링하기 위한 대안이 존재한다. 이 경우, 먼저 필터는 다른 기술들로 코딩될 영역을 가로질러 적용되고, 그 후 이와같이 필터링된 잔류물이 엔코딩된다.
디코더에서, 역처리가 적용된다. 먼저, 잔류물이 공간적으로 변하는 방법을 사용하여 디코딩되고, 그 후 그 영역을 가로지른 역필터링이 적용된다.
이러한 필터의 예는 선형 필터 F이다.
Figure 112012001715225-pct00001
수학식 1에서 a,b,c 및 d는 필터의 파라미터들이다. 이는 경계에서 4개의 픽셀들에 적용되는, 즉 영역 경계의 한 측에서 2개 및 다른 측에서 2개에 적용되는 1-D 선형 필터이다. 물론, 본 발명의 원리들이 선행하는 필터에만 국한되지 않고, 따라서 본 발명의 원리들의 사상과 범주를 유지하면서 비선형, 적응형, 2-D, 및 필터의 많은 다른 변형들이 본 발명의 원리들에 따라 사용될 수 있다는 것이 인식될 것이다.
디코더 측에서 역필터(F-1)가 적용될 것이다.
결국, 하나 이상의 실시예들에 있어서, 잔류물 코딩을 위한 공간적으로 변하는 기술들과 협력한 필터링을 제안한다. 일 실시예에 있어서, 사전-필터가 (잔류물 엔코딩 이전에) 사용된다. 다른 실시예에 있어서, 사후-필터가 (잔류물 엔코딩 이후에) 사용된다. 또 다른 실시예에 있어서, 사전-필터 및 사후-필터 모두가 사용된다.
도 8을 참조하면, 블록 잔류물의 공간적으로 변하는 엔코딩을 수행하기 위한 예시적인 방법이 일반적으로 참조번호 800으로 표시된다. 방법(800)은 제어를 기능블록(810)에 전달하는 시작 블록(805)을 포함한다. 기능블록(810)은 크기 N×N의 블록 잔류물 데이터를 입력하고, 제어를 기능블록(815)와 기능블록(820)에 전달한다. 기능블록(815)은 크기 N×N의 변환을 블록 잔류물 데이터에 적용하고, 제어를 기능블록(825)에 전달한다. 기능블록(825)은 (크기 N×N의 변환을 적용한 결과에 기초하여) 비율-왜곡 분석을 수행하고, 제어를 기능블록(835)에 전달한다. 기능블록(820)은 크기 Mk×Mk의 K개 변환들과 배경 방법을 블록 잔류물 데이터에 적용하고, 제어를 기능블록(823)에 전달한다. 기능블록(823)은 다른 변환들 또는 방법들을 사용하여 블록의 부분들을 가로질러 필터링하고, 제어를 기능블록(830)에 전달한다. 기능블록(830)은 (크기 Mk×Mk의 K개 변환들과 배경 방법을 적용한 결과에 기초하여) 비율-왜곡 분석을 수행하고, 제어를 기능블록(835)에 전달한다.
기능블록(835)은 기능블록들(825와 830)에 의해 수행된 각 비율 왜곡 분석의 결과간의 비교를 수행하고, 비교의 결과에 기초하여 적용할 변환을 선택하고, 선택된 변환을 잔류물을 엔코딩하기 위해 적용하고, 제어를 기능블록(840)에 전달한다. 기능블록(840)은 선택된 변환과 엔코딩된 잔류물을 출력하고, 제어를 기능블록(899)에 전달한다.
도 9를 참조하면, 블록 잔류물의 공간적으로 변하는 디코딩을 수행하는 예시적인 방법이 일반적으로 참조번호 900으로 표시된다. 방법(900)은 제어를 기능블록(910)으로 전달하는 시작블록(905)을 포함한다. 기능블록(910)은 엔코딩된 잔류물을 입력하고, 제어를 결정 블록(915)에 전달한다. 결정 블록(915)은 공간적으로 변하는 잔류물 디코딩을 수행할지의 여부를 결정한다(엔코더가 행한 것에 따라, 즉 엔코더에서 취해진 결정을 디코딩한다). 수행할 것이라면, 제어는 기능블록(920)에 전달된다. 그렇지 않을 경우, 제어는 기능블록(925)에 전달된다. 기능블록(920)은 크기 Mk×Mk의 K개의 역변환들과 역배경 방법을 엔코딩된 잔류물에 적용하고, 제어를 기능블록(923)에 전달한다. 기능블록(923)은 다른 변환들 또는 방법을 사용하여 블록의 부분들을 가로질러 필터링하고, 제어를 기능블록(925)에 전달한다. 기능블록(925)은 역 N×N 변환을 엔코딩된 잔류물에 적용하고, 제어를 기능블록(930)에 전달한다. 기능블록(930)은 최종 잔류물 데이터를 출력하고 제어를 기능블록(999)에 전달한다.
도 10을 참조하면, 블록 잔류물의 공간적으로 변하는 엔코딩을 수행하는 다른 예시적인 방법이 일반적으로 참조번호 1000으로 표시된다. 방법(1000)은 제어를 기능블록(1010)에 전달하는 시작 블록(1005)을 포함한다. 기능블록(1010)은 크기 N×N의 블록 잔류물 데이터를 입력하고, 제어를 기능블록(1020)과 기능블록(1040)에 전달한다. 기능블록(1020)은 크기 N×N의 변환을 적용하고, 제어를 기능블록(1025)에 전달한다. 기능블록(1025)은 원래의 잔류물로부터 엔코딩된 잔류물을 감산하고, 제어를 기능블록(1030)에 전달한다. 기능블록(1030)은 크기 M×M의 M×M 변환을 적용하고, 제어를 기능블록(1050)에 전달한다. 기능블록(1050)은 (크기 M×M의 변환을 적용한 결과에 기초하여) 비율-왜곡 분석을 수행하고, 제어를 기능블록(1060)에 전달한다. 기능블록(1040)은 다수-크기의 재현 패턴 방법에 기초하여 크기 M×M의 변환과 배경 방법을 적용하고, 제어를 기능블록(1045)에 전달한다. 기능블록(1045)은 변환의 크기 M과 위치를 송신하고, 제어를 기능블록(1055)에 전달한다. 기능블록(1055)은 (크기 M×M의 변환을 적용한 결과에 기초하여) 비율-왜곡 분석을 수행하고, 제어를 기능블록(1060)에 전달한다. 기능블록(1060)은 비율 왜곡 분석 결과들 간의 비교를 수행하고, 비교 결과에 기초하여 변환을 선택하고, 선택된 변환을 적용하고, 제어를 기능블록(1065)에 전달한다. 기능블록(1065)은 엔코딩 선택과 엔코딩된 잔류물을 출력하고, 제어를 기능블록(1099)에 전달한다.
도 11을 참조하면, 블록 잔류물의 공간적으로 변하는 디코딩을 수행하는 다른 예시적인 방법이 일반적으로 참조번호 1100으로 표시된다. 방법(1100)은 제어를 기능블록(1110)으로 전달하는 시작블록(1105)을 포함한다. 기능블록(1110)은 엔코딩된 잔류물을 입력하고, 제어를 기능블록(1115)에 전달한다. 기능블록(1115)은 다층 디코딩 방법이 사용될 지의 여부를 결정한다. 만약 사용된다면, 제어는 기능블록(1130)에 전달된다. 그렇지 않을 경우, 제어는 기능블록(1150)에 전달된다. 기능블록(1130)은 변환의 크기 M 및 위치를 디코딩하고, 제어를 기능블록(1140)에 전달한다. 기능블록(1140)은 다층 재현 패턴 방법에 기초하여 역 M×M 변환과 배경 방법을 적용하고, 제어를 기능블록(1170)에 전달한다. 기능블록(1150)은 크기 M×M의 역변환을 적용하고, 제어를 기능블록(1155)에 전달한다. 기능블록(1155)은 크기 N×N의 역변환을 적용하고, 제어를 기능블록(1160)에 전달한다. 기능블록(1160)은 N×N 및 M×M 변환들로부터의 잔류물들을 더하고, 제어를 기능블록(1170)에 전달한다. 기능블록(1170)은 엔코딩된 잔류물을 출력하고, 제어를 종료블록(1199)에 전달한다.
도 12를 참조하면, 블록 잔류물의 공간적으로 변하는 엔코딩을 수행하는 또 다른 예시적인 방법이 일반적으로 참조번호 1200으로 표시된다. 방법(1200)은 제어를 기능블록(1205)으로 전달하는 시작블록(1202)을 포함한다. 기능블록(1205)은 원래의 잔류물에 대응하는 크기 N×N의 블록 잔류물 데이터를 입력하고, 제어를 기능블록(1210)에 전달한다. 기능블록(1210)은 (엔코딩된 잔류물을 얻기 위해 원래의 잔류물에) N×N 변환을 적용하고, 제어를 기능블록(1215)에 전달한다. 기능블록(1215)은 원래의 잔류물로부터 엔코딩된 잔류물을 감산하고, 제어를 기능블록(1220)과 기능블록(1230)으로 전달한다. 기능블록(1220)은 블록의 일부에 배경 방법을 적용하고, 제어를 기능블록(1225)에 전달한다. 기능블록(1225)은 (블록의 일부에 배경 방법을 적용한 결과에 기초하여) 비율 왜곡 분석을 수행하고, 제어를 기능블록(1255)에 전달한다.
기능블록(1230)은 다수-크기의 재현 패턴 방법에 기초하여 M×M 변환과 배경 방법을 적용하고, 제어를 기능블록(1235)에 전달한다. 기능블록(1235)은 변환의 크기 M과 위치를 송신하고, 제어를 기능블록(1240)에 전달한다. 기능블록(1240)은 ( M×M 변환과 배경 방법을 적용한 결과에 기초하여) 비율-왜곡 분석을 수행하고, 제어를 기능블록(1255)에 전달한다.
기능블록(1255)은 비율-왜곡 분석들의 결과들 간의 비교를 수행하고, 비교의 결과에 기초하여 변환을 선택하고, 선택된 변환을 적용하고, 제어를 기능블록(1260)에 전달한다. 기능블록(1260)은 엔코딩 선택과 엔코딩된 잔류물을 출력하고, 제어를 종료블록(1299)에 전달한다.
도 13을 참조하면, 블록 잔류물의 공간적으로 변하는 디코딩을 수행하는 또 다른 예시적인 방법이 일반적으로 참조번호 1300으로 표시된다. 방법(1300)은 제어를 기능블록(1310)으로 전달하는 시작블록(1305)을 포함한다. 기능블록(1310)은 엔코딩된 잔류물을 입력하고, 제어를 결정블록(1315)에 전달한다. 결정블록(1315)은 크기 M의 역변환을 적용할지의 여부를 결정한다. 적용할 경우, 제어는 기능블록(1320)에 전달된다. 그렇지 않을 경우, 제어는 기능블록(1330)에 전달된다. 기능블록(1320)은 변환의 크기 M과 위치를 디코딩하고, 제어를 기능블록(1325)에 전달한다. 기능블록(1325)은 다수-크기의 재현 패턴 방법에 기초하여 역 M×M 변환과 배경 방법을 적용하고, 제어를 기능블록(1335)에 전달한다. 기능블록(1330)은 블록의 일부에 역배경 방법을 적용하고, 제어를 기능블록(1335)에 전달한다. 기능블록(1335)은 역 N×N 변환을 적용하고, 제어를 기능블록(1340)에 전달한다. 기능블록(1340)은 잔류물들을 합산하고, 제어를 기능블록(1345)에 전달한다. 기능블록(1345)은 디코딩된 잔류물을 출력하고, 제어를 종료블록(1399)에 전달한다.
일부가 상술된 본 발명의 많은 수반하는 장점들/특징들의 일부에 대한 설명이 이제 주어진다. 예컨대, 하나의 장점/특징은 블록의 원래 형태와 적어도 하나의 기준 블록 사이의 차이에 대응하는 잔류물을 위한 공간적으로 변하는 엔코딩 방법을 선택함으로써 화상 내의 적어도 하나의 블록에 대한 화상 데이터를 엔코딩하기 위한 비디오 엔코더를 구비한 장치이고, 이 장치에서 하나 이상의 변환들이 블록의 일부를 변환하기 위하여 사용되고, 블록의 나머지 영역은 하나 이상의 변환에 대해 다른 엔코딩 방법을 사용하여 엔코딩되거나, 또는 엔코딩되지 않는다.
다른 장점/특징은 상술한 비디오 엔코더를 구비한 장치이고, 이 장치에서 공간적으로 변하는 엔코딩 방법은 다층 잔류물 코딩에 사용된다.
또 다른 장점/특징은 상술한 비디오 엔코더를 구비한 장치이고, 이 장치에서 하나 이상의 필터들이 잔류물 내의 엔코딩 아티팩트들을 감소시키거나 제거하기 위하여 잔류물을 필터링하기 위하여 사용된다.
또 다른 장점/특징은 비디오 엔코더를 구비한 장치이고, 이 장치에서 하나 이상의 필터는 상술한 엔코딩 아티팩트들을 감소시키거나 제거하기 위하여 잔류물을 필터링하기 위하여 사용되고, 하나 이상의 필터들은 하나 이상의 사전-처리 필터들, 하나 이상의 사후-처리 필터들, 또는 하나 이상의 사전-처리 필터들과 하나 이상의 사후-처리 필터들의 조합으로 구성된다.
더욱이, 다른 장점/특징은 상술한 비디오 엔코더를 구비한 장치이고, 이 장치에서 다른 엔코딩 방법은 비-변환에 기초한 엔코딩 방법, 렘펠-지브(Lempel-ziv) 방법, 다수-크기의 재현 패턴 방법, 적응 확률 모델들을 갖는 다수-크기의 재현 패턴 방법, 및 벡터 양자화 방법 중 적어도 하나를 포함한다.
또한, 다른 장점/특징은 상술한 비디오 엔코더를 구비한 장치이고, 이 장치에서 공간적으로 변하는 엔코딩 방법의 파라미터들의 적어도 하나의 서브세트는 대응하는 디코더에 송신되고, 파라미터들은, 적용될 하나 이상의 변환들의 수, 하나 이상의 변환들의 크기, 하나 이상의 변환들의 위치들, 및 다른 엔코딩 방법 중 적어도 하나를 포함한다.
또한, 다른 장점/특징은 비디오 엔코더를 구비한 장치이고, 이 장치에서 공간적으로 변하는 엔코딩 방법의 파라미터들의 적어도 하나의 서브세트는 대응하는 디코더에 송신되고, 파라미터들은, 적용될 하나 이상의 변환들의 수, 하나 이상의 변환들의 크기, 하나 이상의 변환들의 위치들, 및 상술한 다른 엔코딩 방법 중 적어도 하나를 포함하고, 서브세트 내의 나머지 파라미터들은 고정되고, 상기 엔코더와 대응하는 디코더에 의해 식별된다.
본 발명의 원리들의 이들 및 다른 특징들 및 장점들은 본 명세서의 가르침을 기초로 당업자에 의해 쉽게 확인될 수 있다. 본 발명의 원리들의 가름침이 하드웨어, 소프트웨어, 펌웨어, 특수목적 프로세서들, 또는 이들의 조합의 다양한 형태로 구현될 수 있음을 이해될 것이다.
가장 바람직하게, 본 발명의 원리들의 가르침들은 하드웨어와 소프트웨어의 조합으로 구현된다. 더욱이, 소프트웨어는, 프로그램 저장 유닛 상에 실체적으로 구체화되는 응용 프로그램으로서 구현될 수도 있다. 응용 프로그램은, 임의의 적당한 구조를 포함하는 기계로 업로드되거나, 그러한 기계에 의해 실행될 수도 있다. 바람직하게, 그러한 기계는 하나 이상의 중앙 처리 장치("CPU"), 랜덤 액세스 메모리("RAM"), 그리고 입력/출력("I/O") 인터페이스와 같은 하드웨어를 갖는 컴퓨터 플랫폼상에서 구현된다. 컴퓨터 플랫폼은 또한 운영 체계 및 마이크로명령어(microinstruction) 코드를 포함할 수도 있다. 본 명세서에 기술된 다양한 프로세스 및 기능은 CPU에 의해 실행될 수 있는 마이크로명령어 코드의 부분, 또는 응용 프로그램의 부분일 수도 있으며, 또는 그들의 임의의 조합일 수도 있다. 또한, 추가적인 데이터 저장 유닛 및 프린팅 유닛과 같은 다양한 다른 주변 유닛이 컴퓨터 플랫폼에 연결될 수도 있다.
첨부 도면에 도시된 구성 시스템 구성요소들 및 방법들의 일부가 바람직하게 소프트웨어로 구현되므로, 시스템 구성요소들 또는 프로세스 기능 블록들 사이의 실제 연결은 본 발명의 원리가 프로그래밍되는 방법에 따라서 달라질 수도 있다는 것이 또한 이해되어야 한다. 본 명세서의 가르침들이 주어지면, 당업자라면 본 발명의 원리의 이들 그리고 유사한 구현들 또는 구성들을 예상할 수 있을 것이다.
본 명세서에서 기술된 예시적 실시예들이 첨부 도면을 참조하여 설명되었지만, 본 발명의 원리는 그러한 정확한 실시예들로 제한되지 않으며, 본 발명의 원리의 범주 또는 사상으로부터 벗어나지 않으면서, 당업자에 의해 그러한 실시예들에서 다양한 변화 및 수정이 이루어질 수도 있다는 것이 이해되어야 한다. 모든 그러한 변화 및 수정은 첨부되는 청구항에 설명된 본 발명의 원리의 범주 내에 포함되도록 의도된다.
300 : 비디오 엔코더 301 : 입력 화상
305 : 엔코더 제어기 310 : 프레임 배열 버퍼
311 : 공간적으로 변하는 기술 모듈 312 : 선택 모듈
313 : 역공간적으로 변하는 기술 모듈 315 : 화상-유형 결정 모듈
320 : MB-유형 결정 모듈 325 : 변환기 및 양자화기
330 : 보충 강화 정보(SEI) 삽입기 335 : 출력 버퍼
340 : SPS 및 PPS 삽입기 345,445 : 엔트로피 코더
350,450 : 역변환기 및 역양자화기 360,460 : 인트라 예측 모듈
365,465 : 블록킹해제 필터 370,470 : 움직임 보상기
375 : 움직임 추정기 380,480 : 기준 화상 버퍼
385,390,425, : 결합기 397,497 : 스위치
400 : 비디오 디코더 405 : 디코더 제어기
410 : 입력 버퍼 412 : 선택기

Claims (36)

  1. 잔류물을 디코딩하는 장치로서,
    비트스트림으로부터 비디오 시퀀스에서 화상의 하나의 블록의 잔류물을 디코딩하도록 구성된 비디오 디코더를 포함하고,
    비디오 디코더는 제 1 역 변환을 이용하여 블록의 제 1 하위-블록의 제 1 잔류물을 디코딩하는 제 1 디코딩 방법, 및 제 2 역 변환을 이용하여 블록의 적어도 하나의 제 2 하위-블록의 제 2 잔류물을 디코딩하는 제2 디코딩 방법을 선택하도록 구성되며,
    제 1 역 변환은 제 2 역 변환과는 상이하고,
    역 변환의 위치 및 블록에 대해 이용되는 역 변환의 수 중 적어도 하나는 예측 데이터, 예측 모드, 잔류물, 및 이전 블록의 움직임 벡터 중 적어도 하나에 기초하는, 잔류물을 디코딩하는 장치.
  2. 삭제
  3. 삭제
  4. 제1항에 있어서,
    잔류물 내의 엔코딩 아티팩트들을 감소시키거나 제거하기 위하여 잔류물의 적어도 일부분을 필터링하도록 구성된 적어도 하나의 필터를 더 포함하는, 잔류물을 디코딩하는 장치.
  5. 제4항에 있어서,
    적어도 하나의 필터는, 적어도 하나의 사전-처리 필터, 적어도 하나의 사후-처리 필터, 및 적어도 하나의 사전-처리 필터와 적어도 하나의 사후-처리 필터의 조합 중 적어도 하나로서 구성되는, 잔류물을 디코딩하는 장치.
  6. 비디오 디코더에서 잔류물을 디코딩하는 방법으로서,
    비트스트림으로부터 비디오 시퀀스에서 화상의 하나의 블록의 잔류물을 디코딩하는 단계를 포함하고,
    상기 디코딩하는 단계는 제 1 역 변환을 이용하여 블록의 제 1 하위-블록의 제 1 잔류물을 디코딩하는 제 1 디코딩 방법을 선택하는 단계와, 제 2 역 변환을 이용하여 블록의 적어도 하나의 제 2 하위-블록의 제 2 잔류물을 디코딩하는 제2 디코딩 방법을 선택하는 단계를 포함하며,
    제 1 역 변환은 제 2 역 변환과는 상이하고,
    역 변환의 위치 및 블록에 대해 이용되는 역 변환의 수 중 적어도 하나는 예측 데이터, 예측 모드, 잔류물, 및 이전 블록의 움직임 벡터 중 적어도 하나에 기초하는, 비디오 디코더에서 잔류물을 디코딩하는 방법.
  7. 삭제
  8. 삭제
  9. 제6항에 있어서,
    잔류물 내의 엔코딩 아티팩트들을 감소시키거나 제거하기 위해 적어도 하나의 필터를 사용하여 잔류물의 적어도 일부분을 필터링하는 단계를 더 포함하는, 비디오 디코더에서 잔류물을 디코딩하는 방법.
  10. 제9항에 있어서,
    적어도 하나의 필터는, 적어도 하나의 사전-처리 필터, 적어도 하나의 사후-처리 필터, 및 적어도 하나의 사전-처리 필터와 적어도 하나의 사후-처리 필터의 조합 중 적어도 하나로서 구성되는, 비디오 디코더에서 잔류물을 디코딩하는 방법.
  11. 비디오 엔코더에서 잔류물을 엔코딩하는 방법으로서,
    비트스트림으로 비디오 시퀀스에서 화상의 하나의 블록의 잔류물을 엔코딩하는 단계를 포함하고,
    상기 엔코딩하는 단계는 제 1 변환을 이용하여 블록의 제 1 하위-블록의 제 1 잔류물을 엔코딩하는 제 1 엔코딩 방법을 선택하는 단계와, 제 2 변환을 이용하여 블록의 적어도 하나의 제 2 하위-블록의 제 2 잔류물을 엔코딩하는 제2 엔코딩 방법을 선택하는 단계를 포함하며,
    제 1 변환은 제 2 변환과는 상이하고,
    변환의 위치 및 블록에 대해 이용되는 변환의 수 중 적어도 하나는 예측 데이터, 예측 모드, 잔류물, 및 이전 블록의 움직임 벡터 중 적어도 하나에 기초하는, 비디오 엔코더에서 잔류물을 엔코딩하는 방법.
  12. 삭제
  13. 삭제
  14. 제11항에 있어서,
    잔류물 내의 엔코딩 아티팩트들을 감소시키거나 제거하기 위해 적어도 하나의 필터를 사용하여 잔류물의 적어도 일부분을 필터링하는 단계를 더 포함하는, 비디오 엔코더에서 잔류물을 엔코딩하는 방법.
  15. 제14항에 있어서,
    적어도 하나의 필터는, 적어도 하나의 사전-처리 필터, 적어도 하나의 사후-처리 필터, 및 적어도 하나의 사전-처리 필터와 적어도 하나의 사후-처리 필터의 조합 중 적어도 하나로서 구성되는, 비디오 엔코더에서 잔류물을 엔코딩하는 방법.
  16. 잔류물을 엔코딩하는 장치로서,
    비트스트림으로 비디오 시퀀스에서 화상의 하나의 블록의 잔류물을 엔코딩하도록 구성된 비디오 엔코더를 포함하고,
    비디오 엔코더는 제 1 변환을 이용하여 블록의 제 1 하위-블록의 제 1 잔류물을 엔코딩하는 제 1 엔코딩 방법, 및 제 2 변환을 이용하여 블록의 적어도 하나의 제 2 하위-블록의 제 2 잔류물을 엔코딩하는 제2 엔코딩 방법을 선택하도록 구성되며,
    제 1 변환은 제 2 변환과는 상이하고,
    변환의 위치 및 블록에 대해 이용되는 변환의 수 중 적어도 하나는 예측 데이터, 예측 모드, 잔류물, 및 이전 블록의 움직임 벡터 중 적어도 하나에 기초하는, 잔류물을 엔코딩하는 장치.
  17. 삭제
  18. 삭제
  19. 제16항에 있어서,
    잔류물 내의 엔코딩 아티팩트들을 감소시키거나 제거하기 위하여 잔류물의 적어도 일부분을 필터링하도록 구성된 적어도 하나의 필터를 더 포함하는, 잔류물을 엔코딩하는 장치.
  20. 제19항에 있어서,
    적어도 하나의 필터는, 적어도 하나의 사전-처리 필터, 적어도 하나의 사후-처리 필터, 및 적어도 하나의 사전-처리 필터와 적어도 하나의 사후-처리 필터의 조합 중 적어도 하나로서 구성되는, 잔류물을 엔코딩하는 장치.
  21. 비트스트림을 송신하는 장치로서,
    비디오 엔코더에 의해 엔코딩된 화상의 하나의 블록의 잔류물을 포함하는 비트스트림을 송신하도록 구성된 송신기를 포함하고,
    비디오 엔코더는 제 1 변환을 이용하여 블록의 제 1 하위-블록의 제 1 잔류물을 엔코딩하는 제 1 엔코딩 방법, 및 제 2 변환을 이용하여 블록의 적어도 하나의 제 2 하위-블록의 제 2 잔류물을 엔코딩하는 제2 엔코딩 방법을 선택하도록 구성되며,
    제 1 변환은 제 2 변환과는 상이하고,
    변환의 위치 및 블록에 대해 이용되는 변환의 수 중 적어도 하나는 예측 데이터, 예측 모드, 잔류물, 및 이전 블록의 움직임 벡터 중 적어도 하나에 기초하는, 비트스트림을 송신하는 장치.
  22. 삭제
  23. 삭제
  24. 제21항에 있어서,
    잔류물 내의 엔코딩 아티팩트들을 감소시키거나 제거하기 위하여 잔류물의 적어도 일부분을 필터링하도록 구성된 적어도 하나의 필터를 더 포함하는, 비트스트림을 송신하는 장치.
  25. 제24항에 있어서,
    적어도 하나의 필터는, 적어도 하나의 사전-처리 필터, 적어도 하나의 사후-처리 필터, 및 적어도 하나의 사전-처리 필터와 적어도 하나의 사후-처리 필터의 조합 중 적어도 하나로서 구성되는, 비트스트림을 송신하는 장치.
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
  34. 삭제
  35. 삭제
  36. 삭제
KR1020127000521A 2009-07-06 2010-07-01 공간적으로 변하는 잔류물 코딩을 위한 방법 및 장치 KR101885382B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US22327709P 2009-07-06 2009-07-06
US61/223,277 2009-07-06
PCT/US2010/001884 WO2011005303A1 (en) 2009-07-06 2010-07-01 Methods and apparatus for spatially varying residue coding

Publications (2)

Publication Number Publication Date
KR20120096452A KR20120096452A (ko) 2012-08-30
KR101885382B1 true KR101885382B1 (ko) 2018-08-03

Family

ID=42665840

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020127000521A KR101885382B1 (ko) 2009-07-06 2010-07-01 공간적으로 변하는 잔류물 코딩을 위한 방법 및 장치

Country Status (6)

Country Link
US (1) US9736500B2 (ko)
EP (1) EP2452499A1 (ko)
JP (2) JP5732454B2 (ko)
KR (1) KR101885382B1 (ko)
CN (2) CN102484701A (ko)
WO (1) WO2011005303A1 (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8879632B2 (en) 2010-02-18 2014-11-04 Qualcomm Incorporated Fixed point implementation for geometric motion partitioning
US9172968B2 (en) 2010-07-09 2015-10-27 Qualcomm Incorporated Video coding using directional transforms
US10992958B2 (en) 2010-12-29 2021-04-27 Qualcomm Incorporated Video coding using mapped transforms and scanning modes
CN102857755B (zh) 2011-07-01 2016-12-14 华为技术有限公司 确定变换块尺寸的方法和设备
US10631012B2 (en) * 2016-12-02 2020-04-21 Centurylink Intellectual Property Llc Method and system for implementing detection and visual enhancement of video encoding artifacts
CN110651478B (zh) * 2017-05-17 2023-11-21 株式会社Kt 用于视频信号处理的方法和装置
SG11202008036TA (en) 2018-02-23 2020-09-29 Huawei Technologes Co Ltd Position dependent spatial varying transform for video coding
KR102306884B1 (ko) * 2018-03-29 2021-09-30 닛폰 호소 교카이 화상 부호화 장치, 화상 복호 장치 및 프로그램
CN110324668B (zh) * 2018-03-31 2021-01-05 华为技术有限公司 图像块编码中的变换方法、解码中的反变换方法及装置
JP7160948B2 (ja) * 2018-05-31 2022-10-25 華為技術有限公司 適応変換タイプを有する空間的に変化する変換
US10516885B1 (en) * 2018-07-11 2019-12-24 Tencent America LLC Method and apparatus for video coding
US11323743B2 (en) * 2019-08-26 2022-05-03 Tencent America LLC Interaction between CU partitions and sub-block transform

Family Cites Families (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05207287A (ja) * 1991-05-31 1993-08-13 Kyocera Corp 画像符号化装置及び画像復号化装置
JPH0522715A (ja) 1991-07-12 1993-01-29 Sony Corp 画像符号化装置
US6285710B1 (en) 1993-10-13 2001-09-04 Thomson Licensing S.A. Noise estimation and reduction apparatus for video signal processing
JP3764765B2 (ja) * 1995-09-06 2006-04-12 インターナショナル・ビジネス・マシーンズ・コーポレーション ディジタル画像の処理方法及びシステム
JP3788823B2 (ja) * 1995-10-27 2006-06-21 株式会社東芝 動画像符号化装置および動画像復号化装置
JPH11164321A (ja) 1997-09-26 1999-06-18 Matsushita Electric Ind Co Ltd 画像復号化方法,画像復号化装置,及びデータ記憶媒体
EP0905987B1 (en) 1997-09-26 2005-06-15 Matsushita Electric Industrial Co., Ltd. Image decoding method and apparatus, and data recording medium
US7194138B1 (en) * 1998-11-04 2007-03-20 International Business Machines Corporation Reduced-error processing of transformed digital data
JP2000270334A (ja) 1999-03-15 2000-09-29 Fuji Xerox Co Ltd 符号化装置、復号化装置、画像処理装置、符号化方法、復号化方法及び画像処理方法
JP2002315004A (ja) 2001-04-09 2002-10-25 Ntt Docomo Inc 画像符号化方法及び装置、画像復号方法及び装置、並びに画像処理システム
CN101448162B (zh) * 2001-12-17 2013-01-02 微软公司 处理视频图像的方法
JP4447197B2 (ja) * 2002-01-07 2010-04-07 三菱電機株式会社 動画像符号化装置および動画像復号装置
US7376280B2 (en) * 2002-07-14 2008-05-20 Apple Inc Video encoding and decoding
JP4344184B2 (ja) * 2003-07-17 2009-10-14 株式会社エヌ・ティ・ティ・ドコモ 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、動画像復号装置、動画像復号方法、及び動画像復号プログラム
JP2005167655A (ja) * 2003-12-03 2005-06-23 Matsushita Electric Ind Co Ltd 変換符号化方法および変換復号化方法
JP4479530B2 (ja) * 2004-12-28 2010-06-09 カシオ電子工業株式会社 データ圧縮装置、及びデータ復元装置
US8576924B2 (en) * 2005-01-25 2013-11-05 Advanced Micro Devices, Inc. Piecewise processing of overlap smoothing and in-loop deblocking
US7706440B2 (en) * 2005-02-08 2010-04-27 Hong Kong Applied Science And Technology Research Institute Co., Ltd. Method for reducing bit rate requirements for encoding multimedia data
KR101246915B1 (ko) * 2005-04-18 2013-03-25 삼성전자주식회사 동영상 부호화 또는 복호화 방법 및 장치
WO2007046644A1 (en) * 2005-10-21 2007-04-26 Electronics And Telecommunications Research Institute Apparatus and method for encoding and decoding moving picture using adaptive scanning
KR100772868B1 (ko) 2005-11-29 2007-11-02 삼성전자주식회사 복수 계층을 기반으로 하는 스케일러블 비디오 코딩 방법및 장치
KR100772391B1 (ko) * 2006-01-23 2007-11-01 삼성전자주식회사 직교 변환 및 벡터 양자화에 기반한 동영상 부호화 및복호화 방법과 이를 이용한 장치
WO2007094329A1 (ja) 2006-02-15 2007-08-23 Nec Corporation 動画像処理装置、動画像処理方法、および動画像処理プログラム
KR100927733B1 (ko) * 2006-09-20 2009-11-18 한국전자통신연구원 잔여계수의 상관성에 따라 변환기를 선택적으로 이용한부호화/복호화 장치 및 그 방법
WO2008035842A1 (en) * 2006-09-20 2008-03-27 Electronics And Telecommunications Research Institute Apparatus and method for encoding and decoding using alternative converter according to the correlation of residual signal
CN101711481B (zh) * 2006-10-18 2013-01-09 汤姆森特许公司 使用预测数据精选进行视频编码的方法和装置
JP4719854B2 (ja) 2006-10-26 2011-07-06 日本ビクター株式会社 動画像符号化装置、動画像符号化プログラム、動画像復号化装置及び動画像復号化プログラム
CN105376574A (zh) 2006-11-08 2016-03-02 汤姆逊许可证公司 用于环内去伪影滤波的方法和设备
CN101179734B (zh) * 2006-11-28 2010-09-15 腾讯科技(深圳)有限公司 一种视频压缩的帧内预测方法和***
JP2008219205A (ja) 2007-02-28 2008-09-18 Sony Corp 画像情報符号化装置及び画像情報符号化方法
US20080225947A1 (en) * 2007-03-13 2008-09-18 Matthias Narroschke Quantization for hybrid video coding
US9648325B2 (en) * 2007-06-30 2017-05-09 Microsoft Technology Licensing, Llc Video decoding implementations for a graphics processing unit
US8437564B2 (en) * 2007-08-07 2013-05-07 Ntt Docomo, Inc. Image and video compression using sparse orthonormal transforms
CN101415121B (zh) * 2007-10-15 2010-09-29 华为技术有限公司 一种自适应的帧预测的方法及装置
EP2324641A1 (en) * 2008-08-12 2011-05-25 Nokia Corporation Video coding using spatially varying transform
CN101383972A (zh) * 2008-09-28 2009-03-11 北京航空航天大学 基于空间预测与变换的遥感图像压缩方法
KR101619972B1 (ko) * 2008-10-02 2016-05-11 한국전자통신연구원 이산 여현 변환/이산 정현 변환을 선택적으로 이용하는 부호화/복호화 장치 및 방법
WO2010051846A1 (en) * 2008-11-06 2010-05-14 Nokia Corporation Fast block selection algorithm for video coding using spatially varying transform
EP2200321A1 (en) * 2008-12-19 2010-06-23 Thomson Licensing Method for browsing video streams
US9094691B2 (en) * 2010-03-15 2015-07-28 Mediatek Singapore Pte. Ltd. Methods of utilizing tables adaptively updated for coding/decoding and related processing circuits thereof
CN102215396A (zh) * 2010-04-09 2011-10-12 华为技术有限公司 一种视频编解码方法和***
US8638863B1 (en) * 2010-05-18 2014-01-28 Google Inc. Apparatus and method for filtering video using extended edge-detection
US9172968B2 (en) * 2010-07-09 2015-10-27 Qualcomm Incorporated Video coding using directional transforms
US8913662B2 (en) * 2011-01-06 2014-12-16 Qualcomm Incorporated Indicating intra-prediction mode selection for video coding using CABAC
CN103314588B (zh) * 2011-01-07 2016-05-11 联发科技(新加坡)私人有限公司 编码方法与装置以及解码方法与装置
US9807424B2 (en) * 2011-01-10 2017-10-31 Qualcomm Incorporated Adaptive selection of region size for identification of samples in a transition zone for overlapped block motion compensation
CN102611884B (zh) * 2011-01-19 2014-07-09 华为技术有限公司 图像编解码方法及编解码设备
US20120195366A1 (en) * 2011-02-01 2012-08-02 Mediatek Singapore Pte. Ltd. Method and Apparatus of Adaptive Inter Mode Coding Using Variable Length Codes
US9654785B2 (en) * 2011-06-09 2017-05-16 Qualcomm Incorporated Enhanced intra-prediction mode signaling for video coding using neighboring mode
CN107257466B (zh) * 2011-06-17 2020-06-26 寰发股份有限公司 内部预测模式编码的方法及装置
JP2014523710A (ja) * 2011-07-22 2014-09-11 モトローラ モビリティ エルエルシー ビデオ・コーディングにおける直交形状変換をスキャンするためのデバイスおよび方法
US9154796B2 (en) * 2011-11-04 2015-10-06 Qualcomm Incorporated Intra-mode video coding
US9531990B1 (en) * 2012-01-21 2016-12-27 Google Inc. Compound prediction using multiple sources or prediction modes
US9167268B1 (en) * 2012-08-09 2015-10-20 Google Inc. Second-order orthogonal spatial intra prediction
US9344742B2 (en) * 2012-08-10 2016-05-17 Google Inc. Transform-domain intra prediction
US20140301436A1 (en) * 2013-04-05 2014-10-09 Qualcomm Incorporated Cross-layer alignment in multi-layer video coding
US9247251B1 (en) * 2013-07-26 2016-01-26 Google Inc. Right-edge extension for quad-tree intra-prediction
US9609343B1 (en) * 2013-12-20 2017-03-28 Google Inc. Video coding using compound prediction

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Cixun Zhang et al, "Video coding using Variable Block Size Spatially Varying Transforms", 2009 IEEE Inter. Conf. on Acoustics, Speech and Signal Processing, 19-24 April 2009. pp.905-908.

Also Published As

Publication number Publication date
CN102484701A (zh) 2012-05-30
US20120099642A1 (en) 2012-04-26
EP2452499A1 (en) 2012-05-16
JP6425609B2 (ja) 2018-11-21
WO2011005303A1 (en) 2011-01-13
JP2015156700A (ja) 2015-08-27
US9736500B2 (en) 2017-08-15
JP2012532561A (ja) 2012-12-13
KR20120096452A (ko) 2012-08-30
CN107277512A (zh) 2017-10-20
JP5732454B2 (ja) 2015-06-10
CN107277512B (zh) 2020-11-03

Similar Documents

Publication Publication Date Title
KR101885382B1 (ko) 공간적으로 변하는 잔류물 코딩을 위한 방법 및 장치
JP6111295B2 (ja) 符号化及び復号化のための装置
KR101735137B1 (ko) 인트라 예측 모드의 효율적인 비디오 인코딩 및 디코딩에 대한 방법 및 장치
KR101566557B1 (ko) 예측 데이터 리파인먼트를 이용한 비디오 코딩 방법 및 장치
KR101512833B1 (ko) 비트 깊이 확장성을 위한 아티팩트 제거를 위한 방법 및 장치
KR101874945B1 (ko) 향상된 엔트로피 인코딩 및 디코딩을 위한 방법 및 장치
JP2018201222A (ja) ビデオ符号化およびビデオ復号における変換の選択のための方法および装置
KR101378749B1 (ko) 성김에 기반한 아티팩트 제거 필터링에서 가변 변환들에 응답하여 필터 파라미터 결정 및 선택을 위한 방법과 장치
KR101753273B1 (ko) 변환 선택을 갖는 비디오 코딩 및 디코딩을 위한 제약 변환 방법 및 장치
KR101837206B1 (ko) 비디오 인코딩 및 디코딩에서 적응적 변환 선택을 위한 방법들 및 장치
KR20100103822A (ko) 다중 격자 성김-기반의 필터링을 사용하는 아티팩트 제거 필터링 방법 및 장치
KR20180113636A (ko) 영역 기반 필터에 대해서 협력적 분할 부호화하는 방법 및 장치
CN112740690B (zh) 用于编码和解码代表至少一个图像的数据流的方法和设备

Legal Events

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