KR101841783B1 - 비디오 인코딩 및 디코딩에서 인터 프레임을 위한 개선된 색차 변환을 위한 방법 및 장치 - Google Patents

비디오 인코딩 및 디코딩에서 인터 프레임을 위한 개선된 색차 변환을 위한 방법 및 장치 Download PDF

Info

Publication number
KR101841783B1
KR101841783B1 KR1020127017053A KR20127017053A KR101841783B1 KR 101841783 B1 KR101841783 B1 KR 101841783B1 KR 1020127017053 A KR1020127017053 A KR 1020127017053A KR 20127017053 A KR20127017053 A KR 20127017053A KR 101841783 B1 KR101841783 B1 KR 101841783B1
Authority
KR
South Korea
Prior art keywords
transform
chrominance
block
input
luminance
Prior art date
Application number
KR1020127017053A
Other languages
English (en)
Other versions
KR20120091413A (ko
Inventor
시아오안 루
펑 인
윤페이 정
치안 수
조엘 솔
Original Assignee
톰슨 라이센싱
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 톰슨 라이센싱 filed Critical 톰슨 라이센싱
Publication of KR20120091413A publication Critical patent/KR20120091413A/ko
Application granted granted Critical
Publication of KR101841783B1 publication Critical patent/KR101841783B1/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/186Methods 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 colour or a chrominance component
    • 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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • 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/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/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

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

비디오 인코딩 및 디코딩에서 인터 프레임을 위한 개선된 색차 변환을 위한 방법 및 장치가 개시된다. 본 장치 및 방법은 인터-코딩을 사용하여 화상의 적어도 일부를 인코딩하되, 적어도 하나의 선택 기준에 응답하여 상기 일부의 색차 성분에 적용되는 변환이 복수의 변환들 중에서 적응적으로 선택된다(650, 850, 1050).

Description

비디오 인코딩 및 디코딩에서 인터 프레임을 위한 개선된 색차 변환을 위한 방법 및 장치{METHODS AND APPARATUS FOR IMPROVED CHROMA TRANSFORMS FOR INTER FRAMES IN VIDEO ENCODING AND DECODING}
본 출원은 미국 특허 가출원 제61/266,537호(출원일: 2009년 12월 4일)의 이익을 주장하며, 이 기초 출원의 전체 내용은 본 명세서에 참조로 병합된다.
본 발명의 원리는 일반적으로 비디오 인코딩 및 디코딩에 관한 것이고, 보다 상세하게는 비디오 인코딩 및 디코딩에서 인터 프레임(inter frames)을 위한 개선된 색차 변환(chroma transform)을 위한 방법 및 장치에 관한 것이다.
종종 블록 기반 하이브리드 인코딩 방법이라고도 언급되는 일반적이고 효과적인 비디오 코딩 방법은 블록 기반 시간 예측 및 변환 코딩을 사용하는 것을 수반한다. 이 방법은 본질적으로 모든 국제 비디오 코딩 표준의 핵심이다.
블록 기반 하이브리드 비디오 인코더에서, 각 화상은 블록들로 분할된다. 인터 화상에서 각 블록은 움직임 보상된 예측 및 변환 코딩의 조합을 사용하여 코딩된다. 움직임 보상된 예측이 시간 상관을 제거하지만, 이 변환 코딩은 나아가 공간 영역에서 신호들을 상관 해제(de-correlate)시키고 에너지를 수 개의 계수로 콤팩트화한다.
여러 국제 표준을 위한 상이한 변환이 개발되었다. ISO/IEC(International Organization for Standardization/International Electrotechnical Commission) MPEG-4(Moving Picture Experts Group-4) Part 10 AVC (Advanced Video Coding) Standard/ITU-T(International Telecommunication Union, Telecommunication Sector) H.264 Recommendation 이전의 표준(이후 "MPEG-4 AVC 표준")에서, 변환 블록 사이즈는 일반적으로 8×8이었다. 8×8 변환 사이즈는 변환 영역에 대한 국부 트랜전트(transient)로 인해 확산 효과를 최소화할 만큼 충분히 작으면서도 트렌드와 주기성을 캡처할 만큼 충분히 크다는 2가지 장점을 구비한다.
MPEG-4 AVC 표준에서, 3개의 추가적인 변환이 또한 다음과 같이 사용하는데 이용가능하다:
· 16×16 모드에서 예측되는 인트라 매크로블록(intra macroblocks)에서 휘도 DC 계수의 4×4 어레이를 위한 하다마드(Hadamard) 변환;
· 임의의 매크로블록에서 색차 DC 계수의 2×2 어레이를 위한 하다마드 변환; 및
· 4×4 DCT 기반 변환.
이러한 더 작은 4×4 사이즈는 인코더로 하여금 이동하는 물체의 경계면에 예측 에러 코딩을 더 잘 적응하게 하여 움직임 보상의 가장 작은 블록 사이즈와 변환 블록 사이즈를 매칭시키고 일반적으로 국부 예측 에러 신호에 이 변환을 더 잘 적응할 수 있게 한다.
인터 프레임을 위한 휘도 성분의 잔류값 데이터(residual data)를 인코딩하기 위해, 인코더는 8×8 및 4×4 변환으로부터 선택된다. 이와 대조적으로, 이 변환은 색차 성분에 대해서는 다음과 같이, 즉 DC 계수를 위한 2×2 하다마드 변환과 직렬 연결된 4×4 변환으로 고정되어 있다.
KTA 에서 인터 화상을 위한 휘도 및 색차 잔류값을 위한 변환
VCEG "키 기술 영역"(KTA: key technical area) 소프트웨어는 MPEG-4 AVC 표준의 종료 후에 비디오 코딩에 새로운 개선사항을 통합하기 위해 일반적인 플랫폼을 구비하였다. 확장된 블록 사이즈와 큰 변환을 사용하려는 제안이 KTA에 채용되었다. 현재 KTA 소프트웨어에서는, 16×16 픽셀보다 더 큰 움직임 파티션이 구현된다. 구체적으로, 64×64, 64×32, 32×64, 32×32, 32×16, 16×32 사이즈의 매크로블록이 현재의 MPEG-4 AVC 표준 분할 사이즈에 더하여 사용된다. 더 큰 블록 변환은 고선명도 비디오에서 통상적으로 더 평활한 컨텐츠를 더 잘 캡처하는데 또한 사용된다. 더 큰 블록 변환은 16×16, 16×8, 및 8×16 변환을 포함한다. 모든 이들 새로운 변환은 휘도 성분에만 적용된다는 것이 주목된다. 색차 성분을 위한 변환은 직렬 연결된 4×4 변환인 MPEG-4 AVC 표준과 동일하다. 이러한 고정된 변환은 비디오 컨텐츠의 특성을 고려하지 않은 것이다.
일반적인 색차 변환
도 1을 참조하면, 비디오 인코더에서 색차 인코딩을 위한 종래의 방법이 일반적으로 참조 부호 100으로 표시된다. 방법(100)은 제어를 루프 제한 블록(120)으로 전달하는 시작 블록(110)을 포함한다. 루프 제한 블록(120)은 화상(예를 들어, 입력 비디오 시퀀스에 있는)의 1, ..., 수(#)의 범위를 가지는 변수(j)를 사용하여 제1 루프(루프 (1))를 시작하며, 제어를 루프 제한 블록(130)으로 전달한다. 루프 제한 블록(130)은 블록(예를 들어, 입력 비디오 시퀀스의 현재 화상에 있는)의 1, ..., 수(#)의 범위를 가지는 변수(i)를 사용하여 제1 루프(루프 (2))를 시작하며, 제어를 기능 블록(140)으로 전달한다. 기능 블록(140)은 화상(j)에 있는 블록(i)에 대한 휘도 성분을 인코딩하며, 제어를 기능 블록(150)으로 전달한다. 기능 블록(150)은 고정된 변환으로 화상(j)에 있는 블록(i)에 대한 색차 성분을 인코딩하며, 제어를 루프 제한 블록(160)으로 전달한다. 루프 제한 블록(160)은 루프(2)를 종료하며 제어를 기능 블록(170)으로 전달한다. 기능 블록(170)은 루프(1)를 종료하며 제어를 종료 블록(199)으로 전달한다.
도 2를 참조하면, 비디오 디코더에서 색차 디코딩을 위한 종래의 방법이 일반적으로 참조 부호 200으로 표시된다. 방법(200)은 제어를 루프 제한 블록(220)으로 전달하는 시작 블록(210)을 포함한다. 루프 제한 블록(220)은 화상(예를 들어, 입력 비디오 시퀀스에 있는)의 1, ..., 수(#)의 범위를 가지는 변수(j)를 사용하여 제1 루프(루프 (1))를 시작하며, 제어를 루프 제한 블록(230)으로 전달한다. 루프 제한 블록(230)은 블록(예를 들어, 입력 비디오 시퀀스의 현재 화상에 있는)의 1, ..., 수(#)의 범위를 가지는 변수(i)를 사용하여 제1 루프(루프 (2))를 시작하며, 제어를 기능 블록(240)으로 전달한다. 기능 블록(240)은 화상(j)에 있는 블록(i)에 대한 휘도 성분을 디코딩하며 제어를 기능 블록(250)으로 전달한다. 기능 블록(250)은 고정된 변환으로 화상(j)에 있는 블록(i)에 대한 색차 성분을 디코딩하며 제어를 루프 제한 블록(260)으로 전달한다. 루프 제한 블록(260)은 루프 (2)를 종료하며, 제어를 기능 블록(270)으로 전달한다. 기능 블록(270)은 루프(1)를 종료하며 제어를 종료 블록(299)으로 전달한다.
그리하여, 방법(100)에 대해, 전술된 바와 같이 변환은 휘도 성분은 적응적 변환을 사용할 수 있으나 색차에 대해서는 각 블록과 각 화상에 대해서 고정되어 있다. 방법(100)의 일부로서, 블록의 휘도 성분은 적응적으로 선택된 변환을 가질 수 있게 인코딩될 수 있다. 그러나, 색차 성분은 항상 고정된 변환으로 인코딩되고 그리하여 또한 항상 고정된 변환으로 {예를 들어, 방법(200)에 의해} 디코딩된다. 불리하게도, 전술된 바와 같이, 이러한 고정된 변환은 비디오 컨텐츠의 특성을 고려하지 않은 것이다.
종래 기술의 이들 및 다른 단점과 불리함은 비디오 인코딩과 디코딩에서 인터 프레임을 위한 개선된 색차 변환을 위한 방법 및 장치에 관한 본 발명의 원리에 의해 해결된다.
본 발명의 원리의 일 측면에 따라, 장치가 제공된다. 본 장치는 인터-코딩을 사용하여 화상의 적어도 일부를 인코딩하는 비디오 인코더를 포함한다. 적어도 하나의 선택 기준에 응답하여 상기 일부의 색차 성분에 적용할 변환이 복수의 변환들 중에서 적응적으로 선택된다.
본 발명의 원리의 다른 측면에 따라, 비디오 인코더에서 방법이 제공된다. 본 방법은 인터-코딩을 사용하여 화상의 적어도 일부를 인코딩하는 단계를 포함한다. 적어도 하나의 선택 기준에 응답하여 상기 일부의 색차 성분에 적용할 변환이 복수의 변환들 중에서 적응적으로 선택된다.
본 발명의 원리의 또 다른 측면에 따라, 장치가 제공된다. 본 장치는 인터-코딩된 부분의 색차 성분에 적용하기 위해 적응적으로 선택된 변환을 사용하여 화상의 적어도 인터-코딩된 부분을 디코딩하는 비디오 디코더를 포함한다. 이 변환은 적어도 하나의 선택 기준에 응답하여 적응적으로 선택된다.
본 발명의 원리의 더 다른 측면에 따라, 비디오 디코더에서 방법이 제공된다. 본 방법은 인터-코딩된 부분의 색차 성분에 적용하기 위해 적응적으로 선택된 변환을 사용하여 화상의 적어도 인터-코딩된 부분을 디코딩하는 단계를 포함한다. 변환은 적어도 하나의 선택 기준에 응답하여 적응적으로 선택된다.
본 발명의 원리의 이들 및 다른 측면, 특징 및 장점은 첨부 도면과 연계하여 판독될 예시적인 실시예의 이하 상세한 설명으로부터 명백해질 것이다.
본 발명의 원리는 이하 예시적인 도면에 따라 더 잘 이해될 수 있을 것이다.
도 1은 종래 기술에 따라 비디오 인코더에서 색차 인코딩을 하기 위한 종래의 방법을 도시하는 흐름도;
도 2는 종래 기술에 따라 비디오 디코더에서 색차 디코딩을 하기 위한 종래 의 방법을 도시하는 흐름도;
도 3은 본 발명의 원리의 일 실시예에 따라 본 발명의 원리가 적용될 수 있는 예시적인 비디오 인코더를 도시하는 블록도;
도 4는 본 발명의 원리의 일 실시예에 따라 본 발명의 원리가 적용될 수 있는 예시적인 비디오 디코더를 도시하는 블록도;
도 5는 본 발명의 원리의 일 실시예에 따라 본 발명의 원리가 적용될 수 있는 32×32 블록에서 KTA에서 허용하는 움직임 파티션을 도시하는 도면;
도 6은 본 발명의 원리의 일 실시예에 따라 인터 화상에서 색차 성분을 위한 적응적 변환을 사용하여 비디오 시퀀스를 인코딩하는 예시적인 방법을 도시하는 흐름도;
도 7은 본 발명의 원리의 일 실시예에 따라 인터 화상에서 색차 성분을 위한 적응적 변환을 사용하여 비디오 시퀀스를 디코딩하는 예시적인 방법을 도시하는 흐름도;
도 8은 본 발명의 원리의 일 실시예에 따라 인터 화상에서 색차 성분을 위한 적응적 변환을 사용하여 비디오 시퀀스를 인코딩하는 예시적인 방법을 도시하는 흐름도;
도 9는 본 발명의 원리의 일 실시예에 따라 인터 화상에서 색차 성분을 위한 적응적 변환을 사용하여 비디오 시퀀스를 디코딩하는 예시적인 방법을 도시하는 흐름도;
도 10은 본 발명의 원리의 일 실시예에 따라 인터 화상에서 색차 성분을 위한 적응적 변환을 사용하여 비디오 시퀀스를 인코딩하는 다른 예시적인 방법을 도시하는 흐름도;
도 11은 본 발명의 원리의 일 실시예에 따라 인터 화상에서 색차 성분을 위한 적응적 변환을 사용하여 비디오 시퀀스를 디코딩하는 다른 예시적인 방법을 도시하는 흐름도.
본 발명의 원리는 비디오 인코딩 및 디코딩에서 인터 프레임을 위한 개선된 색차 변환을 위한 방법 및 장치에 관한 것이다. 본 설명은 본 발명의 원리를 예시한다. 따라서, 이 기술 분야에 통상의 지식을 가진 자라면 본 명세서에 명시적으로 기술되거나 도시되지는 않았을지라도 본 발명의 사상과 범위 내에 포함되고 본 발명의 원리를 구현하는 여러 배열을 고안할 수 있을 것이라는 것을 이해할 수 있을 것이다.
본 명세서에 언급된 모든 예시와 조건적 언어들은 이 기술을 개선하려고 발명자(들)가 기여한 본 발명의 원리와 개념을 독자들이 이해하는 것을 돕기 위한 설명을 위한 목적으로 의도된 것이며 그러한 구체적으로 언급된 예시와 조건으로 제한하지 않는 것으로 해석되어야 한다.
나아가, 본 발명의 원리, 측면 및 실시예 뿐만 아니라 특정 예시를 언급하는 모든 진술은 구조적 및 기능적으로 균등한 것을 포함하는 것으로 의도된 것이다. 부가적으로, 그러한 균등물은 현재 알려진 균등물 뿐만 아니라 미래에 개발된 균등물, 즉 구조에 상관없이 동일한 기능을 수행하는 개발된 임의의 요소를 포함하는 것으로 의도된다.
따라서, 예를 들어, 이 기술 분야에 통상의 지식을 가진 자라면 본 명세서에 제시된 블록도가 본 발명의 원리를 구현하는 예시적인 회로의 개념적인 관점을 제시하는 것임을 이해할 수 있을 것이다. 이와 유사하게, 임의의 흐름도, 흐름 선도, 상태 전이도, 의사코드 등은 컴퓨터나 프로세서가 명시적으로 도시되지 않을지라도 컴퓨터로 판독가능한 매체에 실질적으로 제공되고 컴퓨터나 프로세서에 의해 실행될 수 있는 여러 공정을 나타낸다는 것을 이해할 수 있을 것이다.
도면에 도시된 여러 요소의 기능은 적절한 소프트웨어와 연관된 소프트웨어를 실행할 수 있는 하드웨어 뿐만 아니라 전용 하드웨어의 사용을 통해 제공될 수 있다. 프로세서에 의해 제공될 때, 그 기능은 단일 전용 프로세서에 의해, 단일 공유 프로세서에 의해 또는 일부가 공유될 수 있는 복수의 개별 프로세서에 의해 제공될 수 있다. 나아가, "프로세서" 또는 "제어기"라는 용어의 명시적인 사용이 소프트웨어를 실행할 수 있는 하드웨어를 배타적으로 말하는 것으로 해석되어서는 아니되며, 디지털 신호 프로세서("DSP") 하드웨어, 소프트웨어를 저장하는 판독 전용 메모리("ROM"), 랜덤 액세스 메모리("RAM") 및 비휘발성 저장장치를 암시적으로 제한 없이 포함할 수 있다.
종래의 것이든 및/또는 주문형이든 상관없이 다른 하드웨어가 또한 포함될 수 있다. 이와 유사하게 이 도면에 도시된 임의의 스위치는 단지 개념적인 것이다. 그 기능은 프로그램 논리의 동작을 통해, 전용 논리를 통해, 프로그램 제어와 전용 논리의 상호작용을 통해 또는 심지어 수동으로 수행될 수 있으며, 특정 기술은 문맥으로부터 보다 구체적으로 이해되는 바와 같이 구현하는 자에 의해 선택될 수 있다.
특허청구범위에서, 특정 기능을 수행하는 수단으로 표시된 임의의 요소는 예를 들어 a) 그 기능을 수행하는 회로 요소의 조합이나 b) 그 기능을 수행하기 위해 그 소프트웨어를 실행하는 적절한 회로와 결합된 펌웨어, 마이크로 코드 등을 포함하는 임의의 형태의 소프트웨어를 포함하여 그 기능을 수행하는 임의의 방법을 포함하는 것으로 의도된다. 특허청구범위에 의해 한정된 본 발명의 원리는 여러 언급된 수단으로 제공된 기능이 결합되며 특허청구범위가 요청하는 방식으로 서로 결합된 것에 존재한다. 따라서, 이들 기능을 제공할 수 있는 임의의 수단은 본 명세서에 도시된 것과 균등한 것이라고 간주된다.
명세서에서 본 발명의 원리의 "일 실시예" 또는 "실시예"라는 언급과 그 다른 변형 어구의 언급은 실시예와 연관하여 기술된 특정 특징, 구조, 특성 등이 본 발명의 원리의 적어도 하나의 실시예에 포함된다는 것을 의미한다. 따라서, 명세서 전체에 걸쳐 여러 곳에 나타나는 "하나의 실시예에서" 또는 "실시예에서"라는 어구의 표현과 그 임의의 다른 변형 어구는 반드시 동일한 실시예를 모두 언급하는 것이 아닐 수 있다.
예를 들어, "A/B", "A 및/또는 B" 그리고 "A 및 B 중 적어도 하나"에 있는 "/", " 및/또는" 및 "∼ 중 적어도 하나" 중 어느 하나의 사용은 처음 나열된 옵션(A)만을 선택하거나 두 번째 나열된 옵션(B)만을 선택하거나 두 개의 옵션(A와 B)을 선택하는 것을 포함하는 것으로 의도된 것이라는 것을 이해하여야 한다. 다른 예로서, "A, B 및/또는 C" 그리고 "A, B 및 C 중 적어도 하나"에서, 이 어구는 처음 나열된 옵션(A)만을 선택하거나, 두 번째 나열된 옵션(B)만을 선택하거나 세 번째 나열된 옵션(C)만을 선택하거나 처음 및 두 번째 나열된 옵션(A 와 B)만을 선택하거나, 처음과 세 번째 나열된 옵션(A와 C)만을 선택하거나 두 번째와 세 번째 나열된 옵션(B와 C)만을 선택하거나 3개의 옵션(A와 B와 C)을 모두 선택하는 것을 포함하는 것으로 의도된 것이다. 이것은 이 기술 분야 및 관련 기술 분야의 통상의 지식을 가진 자에게는 명백한 바와 같이 많은 항목을 나열한 것에 대한 것으로 확장될 수 있다.
또한, 본 명세서에 사용된 바와 같이, "화상" 및 "이미지"라는 용어는 상호 교환 가능하게 사용되며 비디오 시퀀스로부터 정지 이미지 또는 정지 화상을 말한다. 알려진 바와 같이, 화상은 프레임이나 필드일 수 있다.
추가적으로, 본 명세서에 사용된 바와 같이, "신호" 라는 용어는 대응하는 디코더로 가는 어떤 것을 나타내는 것을 말한다. 예를 들어, 인코더는, 인코더 측에서 사용된 특정 유형의 변환 및/또는 역변환이 무엇인지 디코더에 알려주기 위하여 변환 및/또는 역변환의 그룹 중 특정한 것을 신호 송신할 수 있다. 이런 방식으로 동일한 변환이 인코더 측과 디코더 측에서 사용될 수 있다. 따라서, 예를 들어, 인코더는 디코더가 동일한 특정 변환 및/또는 역변환을 사용할 수 있도록 디코더에 특정 변환 및/또는 역변환을 송신할 수 있으며 또는 디코더가 다른 것 뿐아니라 특정 변환 및/또는 역변환을 이미 가지고 있다면, 신호 송신은 디코더에 특정 변환 및/또는 역변환을 알고 선택할 수 있게 하는데 (송신 없이) 사용될 수 있다. 임의의 실제 변환의 송신을 회피함으로써, 비트 절감이 실현될 수 있다. 신호 송신은 여러 방식으로 수행될 수 있다는 것을 이해할 수 있을 것이다. 예를 들어, 하나 이상의 구문 요소, 플래그 등이 대응하는 디코더에 정보를 신호 송신하는데 사용될 수 있다.
나아가, 본 명세서에 사용된 바와 같이, "인과관계의 인접한 블록(causal neighboring blocks)"이라는 어구는 인코딩이나 디코딩 순서 측면에서 현재 블록에 앞서는 인접한 블록을 말한다. 따라서, 이러한 블록은 현재 블록이 처리될 때에는 이미 인코딩되었거나 디코딩된 것이다.
예시와 설명을 위하여, 예들은 본 명세서에서 MPEG-4 AVC 표준과 연계하여 사용되는 KTA 소프트웨어에 대한 개선의 상황에서 설명된 것이다. 그러나, 본 발명의 원리는 이로만 제한되는 것은 아니라는 것을 이해하여야 할 것이다. 본 명세서에 제공되는 본 발명의 원리의 개시 내용을 통해 이 기술 분야 및 관련 분야에 통상의 지식을 가진 자라면 본 발명의 원리가 다른 표준의 확장에 적용될 때에나 아직 개발되지 않은 표준에 적용되거나 및/또는 이에 포함될 때에도 동일하게 적용가능하고 적어도 유사한 이익을 제공할 수 있다는 것을 용이하게 이해할 수 있을 것이다. 나아가 본 발명의 원리는 또한 표준에 순응하지 않고 오히려 독점적인 정의에 순응하는 비디오 인코더와 비디오 디코더에도 적용가능하다는 것을 더 이해할 수 있을 것이다.
더욱이, 간략화를 위해, 본 발명의 원리는 4:2:0 색차 포맷을 사용하여 기술된다. 그러나, 이 기술 분야 및 관련 분야에 통상의 지식을 가진 자라면 본 발명의 원리가 다른 포맷(예를 들어, 4:2:2 포맷, 4:4:4 포맷 등)에도 용이하게 적용될 수 있다는 것을 용이하게 이해할 수 있을 것이다.
도 3을 참조하면, 본 발명의 원리가 적용될 수 있는 예시적인 비디오 인코더가 일반적으로 참조 부호 300으로 표시된다. 비디오 인코더(300)는 가산기(385)의 비반전 입력과 통신 통신가능한 출력을 가지는 프레임 정렬 버퍼(310)를 포함한다. 가산기(385)의 출력은 변환기 및 양자화기(325)의 제1 입력과 신호 통신가능하게 연결된다. 변환기 및 양자화기(345)의 출력은 엔트로피 코더(345)의 제1 입력과 역변환기 및 역양자화기(350)의 제1 입력과 신호 통신가능하게 연결된다. 엔트로피 코더(345)의 출력은 가산기(390)의 제1 비반전 입력과 신호 통신가능하게 연결된다. 가산기(390)의 출력은 출력 버퍼(335)의 제1 입력과 신호 통신가능하게 연결된다.
인코더 제어기(305)의 제1 출력은 프레임 정렬 버퍼(310)의 제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 입력, 변환기 및 양자화기(325)의 제2 입력, 엔트로피 코더(345)의 제2 입력, 출력 버퍼(335)의 제2 입력, 및 SPS(Sequence Parameter Set) 및 PPS(Picture Parameter Set) 삽입기(340)의 입력과 신호 통신가능하게 연결된다.
SEI 삽입기(330)의 출력은 가산기(390)의 제2 비반전 입력과 신호 통신가능하게 연결된다.
화상 유형 결정 모듈(315)의 제1 출력은 프레임 정렬 버퍼(310)의 제3 입력과 신호 통신가능하게 연결된다. 화상 유형 결정 모듈(315)의 제2 출력은 매크로블록 유형 결정 모듈(320)의 제2 입력과 신호 통신가능하게 연결된다.
SPS 및 PPS 삽입기(340)의 출력은 가산기(390)의 제3 비반전 입력과 신호 통신가능하게 연결된다.
역양자화기 및 역변환기(350)의 출력은 가산기(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)의 입력이 입력 화상을 수신하기 위해 인코더(100)의 입력으로 이용가능하다. 나아가, SEI 삽입기(330)의 제2 입력은 메타데이터를 수신하기 위해 인코더(300)의 입력으로 이용가능하다. 출력 버퍼(335)의 출력은 비트스트림을 출력하기 위해 인코더(300)의 출력으로 이용가능하다.
도 4를 참조하면, 본 발명의 원리가 적용될 수 있는 예시적인 비디오 디코더가 일반적으로 참조 부호 400으로 표시된다. 비디오 디코더(400)는 엔트로피 디코더(445)의 제1 입력과 신호 통신가능하게 연결된 출력을 구비하는 입력 버퍼(410)를 포함한다. 엔트로피 디코더(445)의 제1 출력은 역변환기 및 역양자화기(450)의 제1 입력과 신호 통신가능하게 연결된다. 역변환기 및 역양자화기(450)의 출력은 가산기(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 입력과 신호 통신가능하게 연결된다.
움직임 보상기(470)의 출력은 스위치(497)의 제1 입력과 신호 통신가능하게 연결된다. 인트라 예측 모듈(460)의 출력은 스위치(497)의 제2 입력과 신호 통신가능하게 연결된다. 스위치(497)의 출력은 가산기(425)의 제1 비반전 입력과 신호 통신가능하게 연결된다.
입력 버퍼(410)의 입력은 입력 비트스트림을 수신하기 위해 디코더(400)의 입력으로 이용가능하다. 디블록킹 필터(465)의 제1 출력은 출력 화상을 출력하기 위해 디코더(400)의 출력으로 이용가능하다.
전술된 바와 같이, 본 발명의 원리는 비디오 인코딩 및 디코딩에서 인터 프레임을 위해 개선된 색차 변환을 위한 방법 및 장치에 관한 것이다. 즉, 우리는 인터 화상을 위한 색차 성분의 변환을 개선시키는 방법 및 장치를 제안하며, 인터 프레임을 위한 색차 성분의 코딩 효율을 개선시키는 새로운 변환을 제안한다. 일 실시예에서, 우리는 인터 화상을 위한 색차 성분에 더 많은 변환을 도입하고, 인코더가 다수의 변환으로부터 선택할 수 있게 한다. 또한 우리는 선택된 변환을 선택하고 신호 송신하는 방법을 개시하고 기술한다.
개선된 방법 1 - 휘도 정보에 기초하여 색차 변환을 결정
KTA 소프트웨어에서, 32×32 및 64×64의 매크로블록 사이즈가 지원된다. 32×32 블록에 대해, 현재의 MPEG-4 AVC 표준 움직임 파티션 사이즈(16×16, 16×8, 8×16, 8×8, 8×4,4×8 및 4×4)에 더하여, 32×32, 32×16 및 16×32 파티션을 사용하여 인터 코딩하는 것이 또한 가능하다. 도 5를 참조하면, 본 발명의 원리가 적용될 수 있는 32×32 블록에서 KTA에 의해 허용되는 움직임 파티션은 일반적으로 참조 부호 500으로 표시된다. 64×64의 매크로블록 사이즈에 대해, 64×64, 64×32, 및 32×64 파티션이 추가적으로 사용된다.
더 큰 변환은 고선명도 비디오에서 통상 더 평활한 컨텐츠를 더 잘 캡처할 수 있게 한다. 인터 화상에 대해, 16×16, 16×8 및 8×16 변환이 휘도 성분에 대한 4×4 및 8×8 변환에 더하여 사용된다. 구체적으로, 16×16, 16×8 및 8×16 사이즈의 각 움직임 파티션에 대해, 16×16, 16×8 및 8×16 변환이 4×4 및 8×8 변환에 더하여 사용될 수 있다. 16×16보다 더 큰 움직임 파티션에 대해, 16×16 변환이 4×4 및 8×8 변환에 더하여 사용된다.
색차 성분에서 더 평활한 컨텐츠를 또한 더 잘 캡처하기 위해, 우리는 색차를 위해 더 큰 변환을 도입할 것을 제안한다. 4:2:0 색차 포맷을 고려하면, 색차 파티션이 색차 성분이 두 차원(dimension)에서 반감되므로 휘도 대응값에 비해 1/4이 된다. 더 큰 움직임 파티션 사이즈가 평활한 영역을 위해 종종 선택되므로, 움직임 파티션 사이즈에 비례하여 변환을 설계하는 것이 바람직하다. 일 실시예에서, 파티션 사이즈의 변환이 최대 변환과 최소 변환의 제한과 함께 사용된다. 예를 들어, 움직임 파티션이 16×16일 때, 8×8 변환(두 방향에서 16×16의 절반)이 색차에 사용된다. 움직임 파티션이 64×64일 때, 최대 변환 16×16이 색차에 사용된다.
개선된 방법 1의 제1 변형
다른 고려사항에 대해, 색차 파티션에 대한 변환 사이즈는 공동 위치된 휘도 및 색차 성분 사이에 종속성을 더 반영하여야 한다. 하나의 예에서, 색차 변환은 동일한 움직임 파티션으로부터 휘도 변환에 의해 결정된다. 하나의 실시예에서, 색차 변환은 휘도 변환과 정렬되지만, 최대 변환 사이즈와 최소 변환 사이즈(4×4 직렬연결된 변환)의 제한과 함께 두 차원에서 반감된다(8×8 휘도 변환은 4×4 색차 변환을 의미한다).
개선된 방법 1의 제2 변형
또 다른 고려사항에 대해, 색차 변환 사이즈는 움직임 파티션 사이즈와 휘도 변환 사이즈 모두를 반영하여야 하며, 두 파라미터의 함수로 결정될 수 있다. 하나의 예로써, 움직임 파티션 사이즈가 임계값보다 더 크다면, 색차 변환 사이즈는 휘도 변환 사이즈에 의해 결정된다. 그렇지 않으면, 색차 변환 사이즈는 움직임 파티션 정보 사이즈에 의해 결정된다.
도 6을 참조하면, 인터 화상에서 색차 성분을 위한 적응적 변환을 사용하여 비디오 시퀀스를 인코딩하는 예시적인 방법이 일반적으로 참조 부호 600으로 표시된다. 방법(600)은 제어를 루프 제한 블록(620)으로 전달하는 시작 블록(610)을 포함한다. 루프 제한 블록(620)은 화상(예를 들어, 입력 비디오 시퀀스에 있는)의 1,..., 수(#)의 범위를 가지는 변수(j)를 사용하여 제1 루프(루프(1))를 시작하며 제어를 루프 제한 블록(630)으로 전달한다. 루프 제한 블록(630)은 블록(예를 들어, 입력 비디오 시퀀스의 현재 화상에 있는)의 1, ..., 수(#)의 범위를 가지는 변수(i)를 사용하여 제2 루프(루프(2))를 시작하며, 제어를 기능 블록(640)으로 전달한다. 기능 블록(640)은 화상(j)에 있는 블록(i)에 대한 휘도 성분을 인코딩하며 제어를 기능 블록(650)으로 전달한다. 기능 블록(650)은 적응적 변환으로 화상(j)에 있는 블록(i)에 대한 색차 성분을 인코딩하며 제어를 루프 제한 블록(660)으로 전달한다. 루프 제한 블록(660)은 루프(2)를 종료하며 제어를 기능 블록(670)으로 전달한다. 기능 블록(670)은 루프(1)를 종료하며 제어를 종료 블록(699)으로 전달한다. 기능 블록(650)에 대해 색차 변환은 예를 들어 움직임 파티션 사이즈 및/또는 휘도 변환 사이즈로부터 적응적으로 결정될 수 있다는 것을 이해할 수 있을 것이다.
도 7를 참조하면, 인터 화상에서 색차 성분을 위한 적응적 변환을 사용하여 비디오 시퀀스를 디코딩하는 예시적인 방법이 일반적으로 참조 부호 700으로 표시된다. 방법(700)은 제어를 루프 제한 블록(720)으로 전달하는 시작 블록(710)을 포함한다. 푸르 제한 블록(720)은 화상(예를 들어, 입력 비트스트림에 있는)의 1, ..., 수(#)의 범위를 가지는 변수(j)를 사용하여 제1 루프(루프(1))를 시작하며 제어를 루프 제한 블록(730)으로 전달한다. 루프 제한 블록(739)은 블록(예를 들어, 입력 비트스트림의 현재 화상에 있는)의 1, ..., 수(#)의 범위를 가지는 변수(i)를 사용하여 제2 루프(루프(2))를 시작하며 제어를 기능 블록(740)으로 전달한다. 기능 블록(740)은 화상(j)에 있는 블록(i)에 대한 휘도 성분을 디코딩하며 제어를 기능 블록(750)으로 전달한다. 기능 블록(750)은 적응적 변환으로 화상(j)에 있는 블록(i)에 대한 색차 성분을 디코딩하며 제어를 루프 제한 블록(760)으로 전달한다. 루프 제한 블록(760)은 루프(2)를 종료하며 제어를 기능 블록(770)으로 전달한다. 기능 블록(770)은 루프(1)를 종료하며 제어를 종료 블록(799)으로 전달한다. 기능 블록(750)에 대해, 색차 변환이 예를 들어 움직임 파티션 사이즈 및/또는 휘도 변환 사이즈로부터 적응적으로 결정될 수 있다는 것을 이해할 수 있을 것이다.
개선된 방법 1 - 휘도 정보에 독립적으로 색차 변환을 결정
전술된 방법은 인터 화상을 위한 색차 성분에 더 많은 변환을 도입한다. 나아가, 색차를 위한 변환 사이즈는 휘도 정보로부터 유도되며 오버헤드 비용이 필요치 않다. 한편, 색차 및 휘도 성분은 종종 매우 상관성이 없으며 이에 따라 휘도 정보로부터 색차 변환 사이즈를 결정하는 것은 인코더로 하여금 색차 성분에 컨텐츠 특성을 캡처하지 못하게 할 수 있다.
따라서, 이 방법에 따라, 우리는 그 고유 정보에 기초하여 색차 변환 사이즈를 결정할 것을 제안한다. 인코더는 어느 변환을 사용할지 결정해야 한다. 하나의 접근법은 각 변환 사이즈를 사용하는 것의 속도 왜곡(RD: rate-distortion) RD-비용을 계산하고 최소 비용을 산출하는 변환 사이즈를 선택하는 것이다. 변환 사이즈가 선택된 후에 변환이 표시될 필요가 있다. 변환 사이즈는 블록 레벨, 슬라이스 레벨, 화상 레벨, 시퀀스 레벨 등에 대해 결정/표시될 수 있다. 하나의 예로서 블록 레벨을 사용하면 우리는 각 블록에 대해 선택된 변환 사이즈를 신호 송신할 수 있다. 휘도와 색차 사이의 상관성이 고려될 때 휘도와 색차 변환 사이즈들 사이의 차이점만이 인코딩될 필요가 있다.
색차 변환 사이즈를 표시하는 것에 의해 초래되는 오버헤드 비용을 더 감소시키기 위한 하나의 접근법은 이러한 정보를 암시적으로 표시하는 것이다. 특히, 이 정보는 인코더 및 디코더 모두에서 동일한 형식(formula)을 사용하여 유도될 수 있다. 하나의 실시예에서, 인과관계의 인접한 블록의 중간(median) 변환 사이즈가 최대 및 최소 변환 사이즈에 대한 제한과 함께 현재 블록에 사용된다. 변환 사이즈에 더하여, 움직임 파티션 정보, 휘도 변환 정보와 같은 다른 정보가 또한 현재 블록에 대한 변환을 유도하는데 사용될 수 있다.
이후 도 8 및 도 9는 인코더에 의한 색차 변환을 대응하는 디코더에 명시적으로 신호 송신하는 것을 수반하는 본 발명의 원리의 실시예에 관한 것이다.
도 8을 참조하며, 인터 화상에서 색차 성분을 위한 적응적 변환을 사용하여 비디오 시퀀스를 인코딩하는 예시적인 방법이 일반적으로 참조 부호 800으로 표시된다. 방법(800)에서, 색차 성분을 위한 변환은 명시적으로 최종 비트스트림으로 신호 송신된다. 방법(800)은 제어를 루프 제한 블록(820)으로 전달하는 시작 블록(810)을 포함한다. 루프 제한 블록(820)은 화상(예를 들어, 입력 비디오 시퀀스에 있는)의 1, ..., 수(#)의 범위를 가지는 변수(j)를 사용하여 제1 루프(루프(1))를 시작하며 제어를 루프 제한 블록(830)으로 전달한다. 루프 제한 블록(830)은 블록(예를 들어, 입력 비디오 시퀀스의 현재 화상에 있는)의 1, ..., 수(#)의 범위를 가지는 변수(i)를 사용하여 제2 루프(루프(2))를 시작하며 제어를 기능 블록(840)으로 전달한다. 기능 블록(840)은 화상(j)에 있는 블록(i)에 대한 휘도 성분을 인코드하며 제어를 기능 블록(850)으로 전달한다. 기능 블록(850)은 화상(j)에 있는 블록(i)에 대한 색차 변환을 인코드하며 제어를 기능 블록(860)으로 전달한다. 기능 블록(860)은 결정된 변환으로 화상(j)에 있는 블록(i)에 대한 색차 성분을 인코드하며 제어를 루프 제한 블록(870)으로 전달한다. 루프 제한 블록(870)은 루프(2)를 종료하며 제어를 기능 블록(870)으로 전달한다. 기능 블록(880)은 루프(1)를 종료하며 제어를 종료 블록(899)으로 전달한다. 기능 블록(850)에 대해, 색차 변환 사이즈 그 자체 또는 색차 변환 사이즈로부터의 차이가 인코딩될 수 있다는 것이 이해될 수 있을 것이다.
도 9를 참조하면, 인터 화상에서 색차 성분을 위한 적응적 변환을 사용하여 비디오 시퀀스를 디코딩하는 예시적인 방법이 일반적으로 참조 부호 900으로 표시된다. 방법(900)에서, 색차 성분을 위한 변환은 명시적으로 입력 비트 스트림으로부터 결정된다. 방법(900)은 제어를 루프 제한 블록(920)으로 전달하는 시작 블록(910)을 포함한다. 루프 제한 블록(920)은 화상(예를 들어, 입력 비트스트림에 있는)의 1, ..., 수(#)의 범위를 가지는 변수(j)를 사용하여 제1 루프((루프(1))를 시작하며 제어를 루프 제한 블록(930)으로 전달한다. 루프 제한 블록(930)은 블록(예를 들어, 입력 비트스트림의 현재 화상에 있는)의 1,..., 수(#)의 범위를 가지는 변수(i)를 사용하여 제2 루프(루프(2))를 시작하며 제어를 기능 블록(940)으로 전달한다. 기능 블록(940)은 화상(j)에 있는 블록(i)에 대한 휘도 성분을 디코드하며 제어를 기능 블록(950)으로 전달한다. 기능 블록(950)은 화상(j)에 있는 블록(i)에 대한 색차 변환을 디코드하며 색차 변환의 변환 사이즈를 디코드하며 제어를 기능 블록(960)으로 전달한다. 기능 블록(960)은 결정된 변환으로 화상(j)에 있는 블록(i)에 대한 색차 성분을 디코드하며 제어를 루프 제한 블록(970)으로 전달한다. 루프 제한 블록(970)은 루프(2)를 종료하며 제어를 기능 블록(980)으로 전달한다. 기능 블록(980)은 루프(1)를 종료하며 제어를 종료 블록(999)으로 전달한다. 기능 블록(950)에 대해, 색차 변환 사이즈 그 자체 또는 휘도 변환 사이즈로부터의 차이가 디코딩될 수 있다는 것이 이해될 수 있을 것이다.
이후 도 10 및 도 11은 인코더 및 대응하는 디코더에 의한 색차 변환을 유도하여 색차 변환을 명시적으로 신호 송신해야 하는 것을 회피하는 것을 수반하는 본 발명의 원리의 실시예에 관한 것이다.
도 10을 참조하면, 인터 화상에서 색차 성분을 위한 적응적 변환을 사용하여 비디오 시퀀스를 인코딩하는 다른 예시적인 방법이 일반적으로 참조 부호 1000으로 표시된다. 방법(1000)에서는 색차 성분을 위한 변환이 최종 비트스트림으로 신호 송신되지 않고, 대응하는 디코더로부터 암시적으로 유도된다. 방법(1000)은 제어를 루프 제한 블록(1020)으로 전달하는 시작 블록(1010)을 포함한다. 루프 제한 블록(1020)은 화상(예를 들어, 입력 비디오 시퀀스에 있는)의 1, ..., 수(#)의 범위를 가지는 변수(j)를 사용하여 제1 루프(루프(1))를 시작하며 제어를 루프 제한 블록(1030)으로 전달한다. 루프 제한 블록(1030)은 블록(예를 들어, 입력 비디오 시퀀스의 현재 화상에 있는)의 1, ..., 수(#)의 범위를 가지는 변수(i)를 사용하여 제2 루프(루프(2))를 시작하며 제어를 기능 블록(1040)으로 전달한다. 기능 블록(1040)은 화상(j)에 있는 블록(i)에 대한 휘도 성분을 인코드하며 제어를 기능 블록(1050)으로 전달한다. 기능 블록(1050)은 화상(j)에 있는 블록(i)에 대한 색차 변환을 인코드하며 제어를 루프 제한 블록(1060)으로 전달한다. 루프 제한 블록(1060)은 루프(2)를 종료하며 제어를 기능 블록(1070)으로 전달한다. 기능 블록(1070)은 루프(1)를 종료하며 제어를 종료 블록(1099)으로 전달한다. 기능 블록(1050)에 대해 색차 변환 사이즈는 암시적이다. 색차 변환 사이즈는 인과관계의 인접한 블록들에 사용되는 움직임 파티션 정보, 휘도 변환 정보 및/또는 변환 사이즈로부터 결정될 수 있다. 예를 들어, 일 실시예에서, 인과관계의 인접한 블록들의 중간 변환 사이즈가 현재 블록에 사용된다.
도 11을 참조하면, 인터 화상에서 색차 성분을 위한 적응적 변환을 사용하여 비디오 시퀀스를 디코딩하는 다른 예시적인 방법이 일반적으로 참조 부호 1100으로 표시된다. 방법(1100)에서는 색차 성분을 위한 변환이 암시적으로 유도된다. 방법(1100)은 제어를 루프 제한 블록(1120)으로 전달하는 시작 블록(1110)을 포함한다. 루프 제한 블록(1120)은 화상(예를 들어, 입력 비디오 시퀀스에 있는)의 1, ..., 수(#)의 범위를 가지는 변수(j)를 사용하여 제1 루프(루프(1))를 시작하며 제어를 루프 제한 블록(1130)으로 전달한다. 루프 제한 블록(1130)은 블록(예를 들어, 입력 비디오 시퀀스의 현재 화상에 있는)의 1, ..., 수(#)의 범위를 가지는 변수(i)를 사용하여 제2 루프(루프(2))를 시작하며 제어를 기능 블록(1140)으로 전달한다. 기능 블록(1140)은 화상(j)에 있는 블록(i)에 대한 색차 성분을 디코드하며 제어를 기능 블록(1150)으로 전달한다. 기능 블록(1150)은 화상(j)에 있는 블록(i)에 대한 색차 성분을 디코드하며 제어를 루프 제한 블록(1160)으로 전달한다. 루프 제한 블록(1160)은 루프(2)를 종료하며 제어를 기능 블록(1170)으로 전달한다. 기능 블록(1170)은 루프(1)를 종료하며 제어를 종료 블록(1199)으로 전달한다. 기능 블록(1150)에 대해, 색차 변환 사이즈는 암시적이다. 색차 변환 사이즈는 인과관계의 인접한 블록에 사용되는 움직임 파티션 정보, 휘도 변환 정보 및/또는 변환 사이즈로부터 결정될 수 있다. 예를 들어, 일 실시예에서, 인과관계의 인접한 블록의 중간 변환 사이즈가 현재 블록에 사용된다.
구문
색차 성분을 위한 변환 사이즈가 각 블록에 대해 명시적으로 표시된다고 가정하면, 우리는 본 발명의 원리를 적용할 구문을 한정하는 방법에 대한 예를 제공한다. 이 구문은 움직임 파티션 레벨, 슬라이스 레벨, 화상 레벨 및/또는 등과 같은 여러 레벨에 적용될 수 있다. 표 1은 본 발명의 원리의 실시예에 따라 인코더로부터 대응하는 디코더로 변환 사이즈가 직접 송신되는 경우에 대한 예시적인 매크로블록 층 구문을 보여준다. 이 예에서, 우리는 3개의 변환 사이즈, 즉 4×4; 8×8; 및 16×16을 고려한다. 표 2는 색차 및 휘도 변환 사이즈들 사이의 차이가 인코더로부터 대응하는 디코더로 송신되는 경우에 대한 예시적인 매크로블록 층 구문을 보여준다. 변환 사이즈는 색차 잔류값이 인터 인코딩될 때에만, 즉 mb_type!=INTRA, CodedBlockPatternChroma > 0, 및 현재 매크로블록이 DIRECT 또는 SKIP 모드로서 인코딩되지 않을 때에만 필요하다.
Figure 112012052283085-pct00001
Figure 112012052283085-pct00002
표 1 및 표 2의 구문 요소들 중 일부의 의미는 다음과 같다:
transform _ size _ chroma는 매크로블록에서 색차를 위한 변환 사이즈의 값을 나타낸다.
transform _ size _ chroma _ luma _ difference는 매크로블록에서 색차 및 휘도 변환 사이즈들 사이의 차이를 나타낸다. 색차 변환 사이즈는 이 값과 휘도 변환 사이즈를 더하는 것에 의해 얻어질 수 있다.
일부가 전술된 본 발명의 많은 부수적인 장점/특징들 중 일부에 대한 설명이 이제 제공된다. 예를 들어, 하나의 장점/특징은 인터-코딩을 사용하여 화상의 적어도 일부를 인코딩하는 비디오 인코더를 구비하는 장치이다. 적어도 하나의 선택 기준에 응답하여 상기 일부의 색차 성분에 적용할 변환이 복수의 변환들 중에서 적응적으로 선택된다.
다른 장점/특징은 적어도 하나의 선택 기준이 움직임 파티션 정보 및 휘도 변환 정보 중 적어도 하나를 포함하는 전술된 비디오 인코더를 구비하는 장치이다.
또 다른 장점/특징은 변환이 대응하는 디코더에 명시적으로 신호 송신되는 전술된 비디오 인코더를 구비하는 장치이다.
더 다른 장점/특징은 색차와 휘도 변환 사이즈들 사이에 인코딩된 차이가 대응하는 디코더에 명시적으로 신호 송신되는 전술된 대응하는 디코더에 변환이 명시적으로 신호 송신되는 비디오 인코더를 구비하는 장치이다.
나아가, 다른 장점/특징은 변환에 대응하는 색차 변환 사이즈가 암시적으로 유도되는 전술된 비디오 인코더를 구비하는 장치이다.
더욱이, 다른 장점/특징은 변환에 대응하는 색차 변환 사이즈가 전술된 바와 같이 암시적으로 유도되며 색차 변환 사이즈가 상기 일부에 대해 인과관계의 인접한 블록에 사용되는 움직임 파티션 정보, 휘도 변환 정보, 및 변환 사이즈 중 적어도 하나로부터 암시적으로 유도되는 비디오 인코더를 구비하는 장치이다.
본 발명의 원리의 이들 및 다른 특징 및 장점은 본 명세서에 있는 교시 내용에 기초하여 이 기술 분야에 통상의 지식을 가진 자라면 용이하게 확인할 수 있다. 본 발명의 교시 내용은 하드웨어, 소프트웨어, 펌웨어, 특정 목적 프로세서 또는 이들의 조합의 여러 형태로 구현될 수 있다는 것을 이해할 수 있을 것이다.
가장 바람직하게는 본 발명의 원리의 교시 내용은 하드웨어와 소프트웨어의 조합으로 구현된다. 나아가, 소프트웨어는 프로그램 저장 장치에 유형적으로 구현된 애플리케이션 프로그램으로 구현될 수 있다. 애플리케이션 프로그램은 임의의 적절한 이키텍처를 포함하는 기계에 업로딩되고 이 기계에 의해 실행될 수 있다. 바람직하게는 이 기계는 하나 이상의 중앙 처리 장치("CPU"), 랜덤 액세스 메모리("RAM") 및 입력/출력("I/O") 인터페이스와 같은 하드웨어를 구비하는 컴퓨터 플랫폼에 구현된다. 컴퓨터 플랫폼은 운영 시스템 및 마이크로명령 코드를 더 포함할 수 있다. 본 명세서에 기술된 여러 공정과 기능은 CPU에 의해 실행될 수 있는 마이크로명령 코드의 일부나 애플리케이션 프로그램의 일부 또는 이들의 임의의 조합일 수 있다. 나아가, 여러 다른 주변 장치들이 추가적인 데이터 저장 장치와 프린팅 장치와 같은 컴퓨터 플랫폼에 연결될 수 있다.
첨부 도면에 도시된 구성 시스템 요소 및 방법의 일부는 바람직하게는 소프트웨어로 구현될 수 있으므로, 시스템 요소나 공정 기능 블록들 사이의 실제 연결은 본 발명의 원리가 프로그래밍되는 방식에 따라 상이할 수 있다는 것을 더 이해할 수 있을 것이다. 본 명세서에 있는 교시 내용에 따라 이 기술 분야에 통상의 지식을 가진 자라면 본 발명의 원리의 이들 및 이와 유사한 구현예나 구성을 구상할 수 있을 것이다.
첨부 도면을 참조하여 본 명세서에서 예시적인 실시예들이 기술되었으나, 본 발명의 원리는 이들 정확한 실시예로 제한되는 것은 아니고 본 발명의 원리의 범위나 사상을 벗어남이 없이 이 기술 분야에 통상의 지식을 가진 자라면 여러 변경과 변형이 이루어질 수 있다는 것을 이해할 수 있을 것이다. 그러므로, 모든 이러한 변경과 변형은 첨부된 청구범위에 개시된 본 발명의 원리의 범위 내에 있는 것으로 의도된다.

Claims (17)

  1. 인터-코딩을 사용하여 화상의 적어도 일부를 인코딩하는 비디오 인코더(300)를 포함하되, 적어도 하나의 선택 기준에 응답하여 상기 일부의 색차 성분에 적용하기 위하여 변환 사이즈가 복수의 변환들 중에서 적응적으로 선택되고,
    변환은 대응하는 디코더에 명시적으로 신호 송신되며,
    색차 및 휘도 변환 사이즈들 사이의 인코딩된 차이는 매크로블록 층 구문을 이용하여 상기 대응하는 디코더에 명시적으로 신호 송신되는 것인 장치.
  2. 제1항에 있어서, 상기 적어도 하나의 선택 기준은 움직임 파티션 정보와 휘도(luma) 변환 정보 중 적어도 하나를 포함하는 것인 장치.
  3. 삭제
  4. 삭제
  5. 제1항에 있어서, 상기 변환에 대응하는 색차 변환 사이즈는 암시적으로 유도되는 것인 장치.
  6. 비디오 인코더에서, 인터-코딩을 사용하여 화상의 적어도 일부를 인코딩하는 단계를 포함하되, 적어도 하나의 선택 기준에 응답하여 상기 일부의 색차 성분에 적용하기 위하여 변환 사이즈가 복수의 변환들 중에서 적응적으로 선택되고(650, 850, 1050),
    변환은 대응하는 디코더에 명시적으로 신호 송신되며,
    색차 및 휘도 변환 사이즈들 사이의 인코딩된 차이는 매크로블록 층 구문을 이용하여 상기 대응하는 디코더에 명시적으로 신호 송신되는 것인 방법.
  7. 제6항에 있어서, 상기 적어도 하나의 선택 기준은 움직임 파티션 정보와 휘도 변환 정보 중 적어도 하나를 포함하는(650, 850) 것인 방법.
  8. 삭제
  9. 삭제
  10. 제6항에 있어서, 상기 변환에 대응하는 색차 변환 사이즈는 암시적으로 유도되는 (1050) 것인 방법.
  11. 화상의 인터-코딩된 부분의 색차 성분에 적용하기 위해 적응적으로 선택된 변환을 사용하여 상기 화상의 적어도 인터-코딩된 부분을 디코딩하는 비디오 디코더(400)를 포함하되, 상기 변환의 사이즈가 적어도 하나의 선택 기준에 응답하여 적응적으로 선택되고,
    상기 변환은 대응하는 인코더로부터 명시적으로 신호 수신되며,
    색차 및 휘도 변환 사이즈들 사이의 인코딩된 차이는 매크로블록 층 구문을 이용하여 상기 대응하는 인코더로부터 명시적으로 신호 수신되는 것인 장치.
  12. 제11항에 있어서, 상기 적어도 하나의 선택 기준은 움직임 파티션 정보와 휘도 변환 정보 중 적어도 하나를 포함하는 것인 장치.
  13. 제11항에 있어서, 상기 변환에 대응하는 색차 변환 사이즈는 암시적으로 유도되는 것인 장치.
  14. 비디오 디코더에서의 방법으로서, 화상의 인터-코딩된 부분의 색차 성분에 적용하기 위해 적응적으로 선택된 변환을 사용하여 상기 화상의 적어도 인터-코딩된 부분을 디코딩하는 단계를 포함하되, 상기 변환의 사이즈가 적어도 하나의 선택 기준에 응답하여 적응적으로 선택되고(750,950,1150),
    상기 변환은 대응하는 인코딩된 스트림으로부터 명시적으로 신호 수신되며,
    색차 및 휘도 변환 사이즈들 사이의 인코딩된 차이는 매크로블록 층 구문을 이용하여 상기 대응하는 인코딩된 스트림으로부터 명시적으로 신호 수신되는 것인 방법.
  15. 제14항에 있어서, 상기 적어도 하나의 선택 기준은 움직임 파티션 정보와 휘도 변환 정보 중 적어도 하나를 포함하는(750,950) 것인 방법.
  16. 제14항에 있어서, 상기 변환에 대응하는 색차 변환 사이즈는 암시적으로 유도되는 (1150) 것인 방법.
  17. 삭제
KR1020127017053A 2009-12-04 2010-11-24 비디오 인코딩 및 디코딩에서 인터 프레임을 위한 개선된 색차 변환을 위한 방법 및 장치 KR101841783B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US26653709P 2009-12-04 2009-12-04
US61/266,537 2009-12-04
PCT/US2010/003035 WO2011068527A1 (en) 2009-12-04 2010-11-24 Methods and apparatus for improved chroma transforms for inter frames in video encoding and decoding

Publications (2)

Publication Number Publication Date
KR20120091413A KR20120091413A (ko) 2012-08-17
KR101841783B1 true KR101841783B1 (ko) 2018-03-23

Family

ID=43569284

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020127017053A KR101841783B1 (ko) 2009-12-04 2010-11-24 비디오 인코딩 및 디코딩에서 인터 프레임을 위한 개선된 색차 변환을 위한 방법 및 장치

Country Status (6)

Country Link
US (1) US9253495B2 (ko)
EP (1) EP2508000A1 (ko)
JP (1) JP6005520B2 (ko)
KR (1) KR101841783B1 (ko)
CN (1) CN102648628B (ko)
WO (1) WO2011068527A1 (ko)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9848197B2 (en) 2011-03-10 2017-12-19 Qualcomm Incorporated Transforms in video coding
US9807426B2 (en) * 2011-07-01 2017-10-31 Qualcomm Incorporated Applying non-square transforms to video data
US9787982B2 (en) * 2011-09-12 2017-10-10 Qualcomm Incorporated Non-square transform units and prediction units in video coding
US9807401B2 (en) 2011-11-01 2017-10-31 Qualcomm Incorporated Transform unit partitioning for chroma components in video coding
CN103634603B (zh) * 2012-08-29 2017-07-07 中兴通讯股份有限公司 视频编解码方法、装置及系统
US9978156B2 (en) * 2012-10-03 2018-05-22 Avago Technologies General Ip (Singapore) Pte. Ltd. High-throughput image and video compression
KR20140122673A (ko) 2013-04-05 2014-10-20 삼성전자주식회사 휘도차를 보상하기 위한 인터 레이어 비디오 부호화 방법 및 그 장치, 비디오 복호화 방법 및 그 장치
EP2863566B1 (en) 2013-10-18 2020-09-02 Université de Nantes Method and apparatus for reconstructing a data block
US11265578B2 (en) * 2016-02-04 2022-03-01 Samsung Electronics Co., Ltd. Video decoding method and apparatus by chroma-multi-transform, and video encoding method and apparatus by chroma-multi-transform
US10397586B2 (en) 2016-03-30 2019-08-27 Dolby Laboratories Licensing Corporation Chroma reshaping
BR112019012707A2 (pt) * 2016-12-28 2019-11-19 Sony Corp aparelho e método de processamento de imagem.
US10554974B2 (en) * 2017-01-13 2020-02-04 Mediatek Inc. Method and apparatus enabling adaptive multiple transform for chroma transport blocks using control flags
CN113383547A (zh) * 2019-02-01 2021-09-10 北京字节跳动网络技术有限公司 环路整形和帧间编解码工具之间的相互作用
WO2020156534A1 (en) 2019-02-01 2020-08-06 Beijing Bytedance Network Technology Co., Ltd. Interactions between in-loop reshaping and intra block copy
CN113574889B (zh) 2019-03-14 2024-01-12 北京字节跳动网络技术有限公司 环路整形信息的信令和语法
WO2020192614A1 (en) 2019-03-23 2020-10-01 Beijing Bytedance Network Technology Co., Ltd. Restrictions on adaptive-loop filtering parameter sets
WO2020243206A1 (en) 2019-05-28 2020-12-03 Dolby Laboratories Licensing Corporation Quantization parameter signaling
JP7510443B2 (ja) * 2019-06-21 2024-07-03 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ ビデオコーディングシステムおよびビデオコーディング方法
GB2599433A (en) * 2020-10-02 2022-04-06 Sony Group Corp Data encoding and decoding

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004254327A (ja) * 2003-02-21 2004-09-09 Matsushita Electric Ind Co Ltd 画像符号化方法および画像復号化方法
JP2008193627A (ja) 2007-01-12 2008-08-21 Mitsubishi Electric Corp 画像符号化装置、画像復号装置、および画像符号化方法、画像復号方法
WO2009001864A1 (ja) 2007-06-28 2008-12-31 Mitsubishi Electric Corporation 画像符号化装置および画像復号装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101088375B1 (ko) * 2005-07-21 2011-12-01 삼성전자주식회사 가변 블록 변환 장치 및 방법 및 이를 이용한 영상부호화/복호화 장치 및 방법
CN101394565B (zh) * 2008-10-20 2011-08-17 成都九洲电子信息系统有限责任公司 一种帧内预测方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004254327A (ja) * 2003-02-21 2004-09-09 Matsushita Electric Ind Co Ltd 画像符号化方法および画像復号化方法
JP2008193627A (ja) 2007-01-12 2008-08-21 Mitsubishi Electric Corp 画像符号化装置、画像復号装置、および画像符号化方法、画像復号方法
WO2009001864A1 (ja) 2007-06-28 2008-12-31 Mitsubishi Electric Corporation 画像符号化装置および画像復号装置

Also Published As

Publication number Publication date
WO2011068527A1 (en) 2011-06-09
EP2508000A1 (en) 2012-10-10
US9253495B2 (en) 2016-02-02
CN102648628B (zh) 2017-09-29
KR20120091413A (ko) 2012-08-17
JP2013513287A (ja) 2013-04-18
JP6005520B2 (ja) 2016-10-12
US20120230394A1 (en) 2012-09-13
CN102648628A (zh) 2012-08-22

Similar Documents

Publication Publication Date Title
KR101841783B1 (ko) 비디오 인코딩 및 디코딩에서 인터 프레임을 위한 개선된 색차 변환을 위한 방법 및 장치
JP7448598B2 (ja) 改善されたイントラ・クロマ符号化および復号のための方法および装置
JP6688341B2 (ja) ビデオエンコーダおよびデコーダについての大きなブロックにつきイントラ予測を信号伝達する方法および装置
KR102028104B1 (ko) 적응적 필터를 이용한 인트라 예측을 수행하는 영상 복호화 방법 및 컴퓨터로 읽을 수 있는 기록 매체
KR101490534B1 (ko) 멀티 뷰 코딩된 비디오에서 조도 보상 및/또는 컬러 보상에 대한 코딩 아티팩트 감소 방법 및 장치
JP6111295B2 (ja) 符号化及び復号化のための装置
CA2876017C (en) Method and apparatus for intra transform skip mode
KR101665547B1 (ko) 비디오 인코더 및 디코더에 대한 암묵적 및 반-암묵적 인트라 모드의 신호 발신을 위한 방법 및 장치
KR101974656B1 (ko) 그룹들에 할당된 픽셀들을 갖는 블록을 인트라 코딩하는 방법 및 장치
KR20140101872A (ko) Mpeg-4 avc 하이 레벨 코딩에 있어서 cavlc 4:4:4 인트라 프로파일, high 4:4:4 인트라 프로파일, 및 high 4:4:4 예측 프로파일에 대하여 coded_block_flag 신택스 엘리먼트 및 coded_block_pattern 신택스 엘리먼트의 신택스를 사용하는 방법 및 장치
JP2014509119A (ja) 幾何学ベースのイントラ予測の方法および装置

Legal Events

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