KR102143908B1 - 계층적 분할 내에서 블록 레벨 변환 선택 및 암시적 시그널링을 이용한 변환 코딩을 위한 방법 및 장치 - Google Patents

계층적 분할 내에서 블록 레벨 변환 선택 및 암시적 시그널링을 이용한 변환 코딩을 위한 방법 및 장치 Download PDF

Info

Publication number
KR102143908B1
KR102143908B1 KR1020187008581A KR20187008581A KR102143908B1 KR 102143908 B1 KR102143908 B1 KR 102143908B1 KR 1020187008581 A KR1020187008581 A KR 1020187008581A KR 20187008581 A KR20187008581 A KR 20187008581A KR 102143908 B1 KR102143908 B1 KR 102143908B1
Authority
KR
South Korea
Prior art keywords
transform
information
transform coefficients
concealment
inverse
Prior art date
Application number
KR1020187008581A
Other languages
English (en)
Other versions
KR20180048809A (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 KR20180048809A publication Critical patent/KR20180048809A/ko
Application granted granted Critical
Publication of KR102143908B1 publication Critical patent/KR102143908B1/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/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/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/124Quantisation
    • 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/18Methods 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 set of transform coefficients
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • 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
    • H04N19/467Embedding additional information in the video signal during the compression process characterised by the embedded information being invisible, e.g. watermarking
    • 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
    • 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

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

본 발명은 양자화 변환 계수들(112)를 사용하여 소스 픽처(101)을 출력 비트스트림(114)으로 인코딩하기 위한 방법(700)에 관한 것이고,
- 변환 블록(TU)에 위치된 입력 데이터(303)를, 소스 픽처(101, 301)로부터 획득하는 단계(701),
- 변환 타입들(305, 310)의 세트 중에서 선택된 변환 타입에 따라, 입력 데이터(303)를 변환 계수들(110, 306, 311)로 변환하는 단계(702),
- 양자화 변환 계수들(112, 308, 313)을 생성하기 위해 변환 계수들(110, 306, 311)을 양자화하는 단계(703),
- 변환 타입들(305, 310)의 세트 중에서 선택된 변환 타입을 식별하도록 적응되는 인덱스 정보를 생성하는 단계(704),
- 은닉될 정보를 결정하는 단계(705)- 은닉될 정보는 인덱스 정보의 적어도 일부임 -, 및
- 양자화 변환 계수들(112, 308, 313)에서 은닉될 정보를 은닉하는 단계(706)를 포함한다.

Description

계층적 분할 내에서 블록 레벨 변환 선택 및 암시적 시그널링을 이용한 변환 코딩을 위한 방법 및 장치
본 발명은 일반적으로 스틸 픽처들 또는 비디오 픽처들인 픽처들의 인코딩 및 디코딩 분야에 관한 것이고, 구체적으로 양자화 변환 계수들을 사용하여 소스 픽처를 출력 비트스트림으로 인코딩하는 것, 및 역변환 변환 계수들을 사용하여 입력 비트스트림을 디코딩된 픽처로 디코딩하는 것에 관한 것이다. 본 발명은 추가로, 소스 픽처를 인코딩하기 위한 인코더 및 역변환 변환 계수들을 사용하여 입력 비트스트림을 디코딩하기 위한 디코더에 관한 것이다. 마지막으로, 본 발명은 이러한 방법을 수행하기 위한 프로그램 코드를 갖는 컴퓨터 프로그램에 관한 것이다.
디지털 비디오 통신 및 저장 애플리케이션들은 광범위한 디지털 디바이스들, 예를 들어, 디지털 카메라들, 셀룰러 무선 전화들, 랩톱들, 방송 시스템들, 비디오 원격회의 시스템들 등에 의해 구현된다. 이러한 애플리케이션들의 가장 중요하고 어려운 작업들 중 하나는 비디오 압축이다. 비디오 압축 작업은 복잡하고 2개의 상충되는 파라미터: 압축 효율 및 계산 복잡도에 의해 제한된다. ITU-T H.264/AVC 또는 ITU-T H.265/HEVC와 같은 비디오 코딩 표준들은 이러한 파라미터들 사이의 양호한 트레이드오프를 제공한다. 이러한 이유로, 비디오 코딩 표준들의 지원은 대부분의 임의의 비디오 압축 애플리케이션의 필수 요건이다.
최첨단 기술 비디오 코딩 표준들은 소스 픽처를 블록들로 분할하는 것을 기반으로 한다. 이러한 블록들의 처리는 인코더에 의해 지정되는 이들의 크기, 공간 위치 및 코딩 모드에 종속한다. 코딩 모드들은 예측 타입에 따라 2개 그룹, 즉 인트라-예측 모드 및 인터-예측 모드로 분류될 수 있다. 인트라-예측 모드들은 재구성되는 블록의 픽셀들에 대한 예측 값들을 계산하기 위해 참조 샘플들을 생성하기 위해 동일한 픽처의 픽셀들을 사용한다. 인트라-예측은 또한 공간 예측으로서 지칭될 수 있다. 인터-예측 모드들은 시간 예측을 위해 설계되고, 현재 픽처의 블록의 픽셀들을 예측하기 위해 이전 또는 다음 픽처들의 참조 샘플들을 이용한다. 예측 단계 이후에, 변환 코딩은 원래의 신호와 그 예측 사이의 차이인 예측 에러 또는 잔여 에러에 대해 수행된다. 그 후, 변환 계수들 및 보조 정보는 예를 들어, AVC/H.264 및 HEVC/H.265에 대한 CABAC(Context-Adaptive Binary Arithmetic Coding)과 같은 엔트로피 코더를 사용하여 인코딩된다.
분명히, 예측 에러들은 상이한 예측 모드들에 대해 상이한 통계치들을 갖고 예측되는 콘텐츠에 강하게 종속한다. 따라서, 상이한 경우들에 대한 압축 성능의 관점에서 상이한 변환들이 유리하다. 변환 코딩 단계의 코딩 효율을 증가시키기 위해, 상이한 특정 경우들에 대해 상이한 에너지 압축을 갖는 다수의 변환이 사용될 수 있다.
제1 예에 따르면, ISO/IEC 23008-2:2013에 정의된, 공지되고 최근 채택된 ITU-T H.265/HEVC 표준("Information technology - High efficiency coding and media delivery in heterogeneous environments - Part(2): High efficiency video coding", November 2013)은 코딩 효율과 계산 복잡도 사이의 합리적인 트레이드오프를 제공하는 최첨단 기술 비디오 코딩 도구들의 세트를 선언한다. ITU-T H.265/HEVC 표준에 대한 개요는 논문[Gary J. Sullivan, “Overview of the High Efficiency Video Coding (HEVC) Standard”, in IEEE Transactions on Circuits and Systems for Video Technology, Vol. 22, No. 12, December 2012]에 기재되고, 그 전체 내용이 본 명세서에서 참고로 포함된다.
HEVC/H.265 비디오 코딩 표준은 소스 픽처를 블록들, 예를 들어, 코딩 유닛(CU)(coding unit)들로 분할하는 것을 제공한다. CU들 각각은 더 작은 CU들 또는 예측 유닛(PU)(prediction unit)들로 더 분할될 수 있다. PU는 PU의 픽셀들에 적용되는 처리의 타입에 따라 인트라-예측 또는 인터-예측될 수 있다. 인터-예측의 경우, PU는 PU에 대해 지정된 움직임 벡터를 이용하는 움직임 보상에 의해 처리되는 픽셀들의 영역을 나타낸다. 인트라 예측의 경우, PU는 변환 유닛(TU)(transform unit)들의 세트에 대한 예측 모드를 지정한다. TU는 상이한 크기들(예를 들어, 4x4, 8x8, 16x16 및 32x32 픽셀들)을 가질 수 있고, 상이한 방식들로 처리될 수 있다. TU 변환 코딩이 수행되는 동안, 즉 예측 에러가 이산 코사인 변환(DCT)(discrete cosine transform) 또는 이산 사인 변환(DST)(discrete sine transform)으로 - HEVC/H.265 표준에서 변환되는 동안, 그것은 인트라 코딩된 블록들에 적용된다 - 그리고 양자화된다. 따라서, 재구성되는 픽셀들은 예측 정밀도에 영향을 줄 수 있는 양자화 노이즈 및 블로킹 아티팩트들을 포함한다.
설계를 간단하게 유지하기 위해 하나의 변환만을 사용하여 종래의 공지된 비디오 코딩 표준들과 비교할 때, HEVC/H.265 표준은 인트라-코딩을 위한 2개의 변환: 4x4 블록에 대한 DST 및 다른 블록들에 대한 DCT를 지정한다. 4x4 블록에 대해 DST가 선택되는데, 그 이유는 이 변환이 작은 인트라-예측 블록들에 대해 더 나은 에너지 압축을 제공하기 때문이다.
추가의 예에 따르면, JM/KTA에서, 공지된 모드-종속 방향 변환(MDDT)(mode-dependent directional transform)은 인트라 예측에 의해 생성된 잔차들을 압축하기 위해 제안되는데, 그 이유는 잔차들이 에지들이 평활 영역들보다 예측되기 곤란하기 때문에 일반적으로 예측 방향을 따라 높은 에너지를 갖기 때문이다. 모드-종속 방향 변환은 일련의 미리 정의된 분리가능 변환들로 구성된다; 각각의 변환은 예측 방향들 중 하나를 따라 에너지를 압축하는 것에서 효율적이어서, 인트라 모드들 중 하나를 선호한다. MDDT의 타입은 선택된 인트라 예측 모드와 결합되어서, 명시적으로 시그널링되지 않는다.
방향 정보를 또한 포함하는 인터 예측 에러들의 경우, 에지 방향들이 명시적으로 검출되고 송신되지 않는 한 MDDT가 사용될 수 없다. 그러나, 이와 같이 도입된 보조 정보는 중요하고 전반적인 성능 향상을 손상시킨다. 따라서, MDDT는 인트라 코딩된 매크로 블록들에만 제안된다.
22개의 분리가능 변환은 22개의 인트라 예측 모드에 대해 미리 정의된다; 각각은 수평 및 수직 변환들을 위한 2개의 변환 행렬로 구성된다. 모든 MDDT 행렬을 저장하기 위한 메모리는 약 1.5Kb이다. 변환 행렬들은 모든 인트라-코딩된 비디오 시퀀스들의 큰 세트에 기초하여 유도된다. 모든 블록은 그 관련 인트라 예측 모드들에 따라 22개의 카테고리로 분류된다. 블록들의 각 카테고리에 대해, 예측 에러들의 수평 및 수직 상관 행렬들이 계산되고, 그 고유 벡터고유 벡터들이 수평 및 수직 변환 행렬들을 각각 구성하기 위해 사용된다. MDDT의 행렬 유도 절차는 KLT(Karhunen-Lo
Figure 112018030178181-pct00001
ve-Transform)와 유사하지만, MDDT가 분리가능하고 특정 비디오 시퀀스들의 로컬 통계와 일치하지 않을 수 있는 일반 통계를 기반으로 설계되기 때문에 MDDT는 최적이 아니다. 또한, 정수들만 포함하는 MDDT의 기저 벡터들은 고유 벡터들의 스케일링되고 라운딩된(scaled and rounded) 버전들이며 서로 직교하지 않는다.
기저 이미지들이 바둑판처럼 수평 및 수직 에지들만 포함하기 때문에, 분리가능 변환들은 수평 및 수직 에지들을 효율적으로 처리한다는 것은 잘 알려져 있다. MDDT- 분리가능 변환의 타입이어도 -는 임의의 방향들을 따라 에너지를 압축하기 위해 사용되고, 이는 상당히 상충적인 것처럼 보인다. 다양한 인트라 예측 모드들에 대한 MDDT의 기저 이미지들이 연구된다. 기저 이미지들이 또한 바둑판 패턴들을 가져도, 제로 크로싱(zero-crossing)들의 위치들은 DCT나 정수 코사인 변환(ICT)(integer cosine transform)의 그것들과 상이하다는 점이 발견된다.
각각의 인트라 모드가 통계적으로 별개의 방향 정보를 갖는다는 관찰에 의해 동기부여된 MDDT에서, 각각의 인트라 모드에 대해 하나의 변환 행렬이 사용된다. 이는 추가적인 시그널링 정보 또는 레이트 왜곡 탐색을 필요로 하지 않지만, 각각의 인트라 모드 내에서, 하나의 변환 행렬은 이미지 콘텐츠의 다양성 때문에 잔여 특성들의 잠재적 가변성을 수용할 수 없을 수 있다.
추가의 예에 따르면, 공지된 레이트-왜곡-최적화 변환(RDOT)(rate-distortion-optimized transform)에서, 예측 잔차들은 상이한 기저 함수들로 변환되고, 최상의 것은 레이트-왜곡, R-D, 성능의 관점에서 선택된다. RDOT에서, 각각의 인트라 방향에 대해, 오프-라인으로 트레이닝된 수직 및 수평 변환 후보들의 별개의 K개의 쌍이 있고, 이는 각각의 인트라 모드에 대해 완전히 상이한 K개의 변환 경로를 생성한다. 인코더는 모든 후보를 시도하고 최소 R-D 비용 값으로 최적 경로를 선택한다. 변환 인덱스들은 비트스트림에서 명시적으로 시그널링된다. MDDT와 비교하면, RDOT는 모드와 데이터-종속성 양자 모두를 부과하는 것에 의해 변환을 추가로 세분화하고, 따라서 변환 도메인에서 더 나은 에너지 압축이 달성될 수 있다. RDOT가 더 많은 변환 행렬을 제공하는 것에 의해 MDDT를 확장할 수 있어도, 각각의 변환 경로에 대해, 인코더는 변환, 양자화, 엔트로피 코딩, 역양자화, 역변환 및 재구성을 수행해야 하고, 이는 인코더에 높은 계산 부담을 부과한다.
이러한 제한에 비추어, 몇몇 빠른 RDOT 방식들이 인코딩 프로세스를 협력적으로 가속화하기 위해 또한 사용될 수 있으며, 문헌[X. Zhao, L. Zhang, S. Ma, 및 W. Gao, “Video coding with rate-distortion optimized transform,” IEEE Trans. Circuits Syst. Video Technol., vol. 22, no. 1, pp. 138-151, Jan. 2012]을 참조한다. 하나의 접근법은 DCT의 코딩 결과들을 사용하여 불필요한 RDOT 트레일들을 스킵하는 것이다. 구체적으로, DCT는 RDOT보다 먼저 구현되고, DCT에 의한 R-D 비용이 임계값보다 낮으면 RDOT가 수행될 것이다. 이는 최적의 DCT - 및 RDOT - 기반 코딩 모드들이 높은 상관 관계를 갖기 때문에, RDOT는 DCT가 또한 양호한 코딩 성능을 달성할 수 있을 때에만 수행될 것임을 나타낸다. 다른 접근법은 휘도 코딩 속도 향상(LCS)(luminance coding speedup) 기법을 RDOT에 적용하는 것이다. LCS에서, 채도에 대한 DC 인트라-예측 모드에 대한 휘도 코딩 결과들은 나머지 모드들에 대해 복원된다.
이미지 코딩에서 분리가능 방향 2-D DCT에 의해 영감을 받은 트레이닝 기반 접근법들과는 달리, DART(Direction-Adaptive Residual Transform)의 새로운 구조가 문헌[R. A. Cohen, S. Klomp, A. Vetro, 및 H. Sun, “Direction-adaptive transforms for coding prediction residuals,” in Proc. IEEE Int. Conf. Image Process. (ICIP), 2010, pp. 185-188]에서 제안된다. DART는 1차 및 2차 변환을 포함한다. DART의 1차 변환 단계에서는, 각 방향에서 각 배향 경로를 따라 상이한 1-D 변환들이 사용된다. 그 후, 제1 스테이지에 의해 생성된 DC 계수들만이 제2 변환 스테이지에서 DCT로 처리된다. 일부 경우에서, 짧은 DCT 경로들이 관찰되며, 이는 DCT의 성능을 제한할 수 있다. 이 문제를 해결하기 위해, 이웃하는 스캔들의 픽셀들을 결합하는 것에 의해 경로 폴딩이 수행된다. 기존의 KLT-기반 모드 종속 방향 변환들과 비교하면, 이 방법은 수행하도록 요구되는 트레이닝이 필요하지 않으므로 보다 유연하다. DART 방식은 H.264/KTA 소프트웨어로 구현되고 MDDT에 비해 더 나은 코딩 성능이 관찰된다.
추가의 예에 따르면, 잔여 변환 코딩의 효율을 증가시키는 다른 방법은 향상된 다중 변환(EMT)(enhanced multiple transform)으로서 또한 지칭되는 적응적 다중 변환(AMT)(adaptive multiple transform)을 사용하는 것이며, 문헌[Gary Sullivan, Gill Boyce, Jianle Chen, 및 Elena Alshina, “Future video coding: Joint Exploration Model 1 (JEM1) for future video coding investigation,” ITU-T SG16 Q6, TD 213 (WP 3/16)]을 참조한다. HEVC(High-Efficiency Video Coding)에 사용된 DCT-II 및 4x4 DST-VII에 더하여, AMT는 인터 및 인트라 코딩된 블록들 양자 모두에 대한 잔여 코딩에 사용된다. 그것은 HEVC에서의 현재 변환들 이외에 DCT/DST 패밀리로부터의 다수의 선택된 변환들을 사용한다. 새로 도입된 변환 행렬들은 DST-VII, DCT-VIII, DST-I 및 DCT-V이다.
도 9는 ATM에 따른 변환 코딩의 시그널링을 나타낸다. AMT는 64x64보다 작은 CU들에 적용되며, AMT가 적용되는지 여부는 CU 내의 모든 TU에 대해 CU 레벨에서 제어된다. AMT 인에이블형 CU 내의 각 TU에 대해, 사용될 수평 또는 수직 변환은 선택된 변환 세트에 대한 인덱스에 의해 시그널링된다. 각각의 변환 세트는 전술한 변환 행렬들로부터 2개의 변환을 선택하는 것에 의해 형성된다.
도 9에 도시된 바와 같이, CU 레벨에서, 플래그 emtCuFlag는 2개의 옵션 중 하나를 선택하기 위해 사용된다. 제1 옵션은 추가적인 비트를 필요로 하지 않는 잔여 변환 코딩에 DCT-II(DCT2_EMT)를 적용하는 것에 있다. 제2 옵션은 도 9에서 EMT 변환들로서 표시된 변환 세트로 포함된 변환들 중 하나를 적용하는 것에 있다.
제1 옵션에 따르면 주어진 CU에 포함된 모든 TU는 DCT-II를 사용하여 분해된다. 제2 옵션에 따르면, 각 TU마다 2개의 추가적인 시그널링 비트 - 소위 emtTuIdx - 가 요구된다. 인트라-코딩의 경우, 룩업 테이블은 인트라-예측 모드를 2개의 변환만을 포함하는 변환 세트에 매핑하기 위해 사용된다. 인터-코딩의 경우, {DCT-VIII, DST-VII}의 변환 세트가 항상 사용된다. 따라서, 2 비트는 수직 및 수평 변환들의 선택을 인코딩하기에 충분하다. 위에 나열된 모든 비트는 컨텍스트 모델링이 있는 CABAC를 사용하여 인코딩된다.
인트라 예측 잔여에 대해, 변환 세트들은 인트라 예측 모드에 기초하여 미리 정의되고, 따라서 각각의 인트라 예측 모드는 그 자신의 변환 세트를 갖는다. 예를 들어, 하나의 변환 세트는 {DCT-VIII, DST-VII}일 수 있다. 수평 변환에 대한 변환 세트는 동일한 인트라 예측 모드에 대해서도 수직 변환에 대한 변환 세트와 상이할 수 있음을 유의한다. 그러나, 모든 인트라 예측 모드에 대한 상이한 변환 세트들의 총 수뿐만아니라 새로 도입된 변환들의 수는 제한적이다. 그러나, 인터 예측 잔여에 대해서는, 모든 인터 모드에 대해, 그리고 수평 변환 및 수직 변환 양자 모두에 대해 하나의 변환 세트만이 사용된다.
시그널링이 코딩 성능에 크게 영향을 줄 수 있기 때문에, 다수의 변환 중 하나가 선택되어야 하는 임의의 변환 절차에 대한 중요한 양태는 시그널링이다. HEVC/H.265에서는, 인트라-예측 모드 및 블록 크기를 파싱하는 것에 의해 변환 타입이 검출될 수 있기 때문에 시그널링이 요구되지 않는다. 마찬가지로, MMDT는 방향 변환들이 인트라-예측 모드들에 명백하게 매핑되기 때문에 임의의 시그널링을 필요로 하지 않는다. RDOT의 경우, 변환이 레이트-왜곡 최적화(RDO)(rate-distortion optimization) 절차에서 선택되고 추가적인 정보 없이, 즉 시그널링 없이 디코더 측에서 검출될 수 없기 때문에 시그널링이 요구된다. AMT는 마찬가지로 시그널링을 필요로 한다.
부호 데이터 은닉(Sign Data Hiding) 기법 형태의 데이터 은닉 기법은 문헌(Gordon Clare, F
Figure 112018030178181-pct00002
lix Henry, Jo
Figure 112018030178181-pct00003
l Jung, “Sign Data Hiding”, Orange Lab’s contribution to JCT-VC meeting, JCTVC-G273, Geneva, November 2011)에 설명되어 있다. 작은 수정들을 하여, 그것은 HEVC/H.265 표준에 SBH(Sign Bit Hiding)로서 채택된다. 비디오 압축의 경우, 양자화 변환 계수들의 행렬은 계수 그룹(CG)(Coefficient Group)들로 분할될 수 있고, 계수 스캔 순서에 따라 1차원 어레이로 변환될 수 있어서, 이 계수들이 엔트로피 코더에 의해 효율적으로 코딩될 수 있다. 예를 들어, ITU T H.265/HEVC 표준은 수평, 수직 및 대각선 스캔 순서들을 지정한다. 이 표준에 따른 스캔 순서의 선택은 블록 예측 모드에 종속하고 따라서 잔여 신호의 통계적 특성에 종속한다.
TU는 몇몇 CG로 분할될 수 있으며 각 CG에서 제1 및 마지막 비-제로(non-zero) 양자화 변환 계수들의 위치들이 지정된다. 제1 및 마지막 요소들은 순서 세트(ordered set)에 대해서만 결정될 수 있기 때문에 이러한 위치들은 특정 스캔 순서의 컨텍스트 내에서만 지정될 수 있다.
부호 데이터 은닉 기법은 마지막 및 제1 비-제로 양자화 변환 계수에 의해 한정된 간격으로서 정의되는 수정가능 계수들 또는 값들의 주어진 세트 내의 단지 단일의 부호 플래그의 은닉을 가정한다. 이 기법은 모든 경우에 유리한 것은 아니므로, 주어진 CG 내에서 암시적 부호 코딩을 적용할지 또는 명시적 부호 코딩을 적용할지에 대한 특수한 결정이 취해진다.
디코더 측에서의 부호 은닉 조건 체크의 절차가 있다. 구체적으로, 이 결정은 변환 계수들 또는 수정가능 계수들의 수에 기초한다. 이 수가 임계값보다 큰 경우, 제1 변환 계수의 제1 부호는 잔차의 합의 패리티로부터 추론된다. 그렇지 않으면, US20130272424A1에서 취해질 수 있는 바와 같이, 계수들의 부호들의 정상적인 명시적 디코딩이 수행된다.
EP2675159A1에서, 중첩하는 서브세트들을 사용하는 멀티-비트 정보 은닉 방법이 개시되어 있다. CG 내의 변환 계수들의 초기 세트는 부분적으로 중첩하는 서브세트들로 분할하여 부분적으로 중첩하는 서브세트들 양자 모두에 대한 은닉 부호들의 값들이 중첩하는 영역 내의 값을 수정하는 것에 의해 제어될 수 있다. 제1 부호 비트는 제1 서브세트를 사용하여 결정된 패리티 값에 기초하고, 제2 부호 비트는 제2 서브세트를 사용하여 결정된 패리티 값에 기초한다. 제1 서브세트 및 제2 서브세트는 계수들이 서브세트들 양자 모두의 일부라는 의미에서 중첩된다.
위에 언급된 단점들 및 문제들을 인식하므로, 본 발명은 기술적 수준을 개선시키는 것을 목표로 한다. 특히, 본 발명의 목적은 픽처들의 개선된 코딩 및 디코딩을 위한 인코더, 디코더, 인코딩 방법 및 디코딩 방법을 제공하는 것이다.
본 발명은 특히 인코딩 및 디코딩에서 양자화 변환 계수들의 사용을 개선하고자 한다. 본 발명은 또한 시그널링 오버헤드를 낮게 유지하기 위해 시그널링 메커니즘의 측면에서 인코딩 및 디코딩을 개선하고자 한다.
본 발명의 위에 언급된 목적은 첨부된 독립 청구항들에 제공된 해결책에 의해 달성된다. 본 발명의 유리한 구현예들은 각각의 종속 청구항들에서 추가로 정의된다.
본 발명의 제1 양태는 양자화 변환 계수들을 사용하여 소스 픽처를 출력 비트스트림으로 인코딩하는 인코더를 제공한다. 인코더는 소스 픽처로부터 변환 블록에 위치된 입력 데이터를 획득하도록 적응되는 획득 수단을 포함한다. 인코더는 변환 타입들의 세트 중에서 선택된 변환 타입에 따라, 입력 데이터를 변환 계수들로 변환하도록 적응되는 변환 수단을 포함한다. 인코더는 양자화 변환 계수들을 생성하기 위해 변환 계수들을 양자화하도록 적응되는 양자화 수단을 포함한다. 인코더는 변환 타입들의 세트 중에서 선택된 변환 타입을 식별하고 은닉될 정보를 결정하도록 적응되는 인덱스 정보를 생성하도록 적응되는 컴퓨팅 수단을 포함하고, 은닉 정보는 인덱스 정보의 적어도 일부이다. 인코더는 양자화 변환 계수들에서 은닉될 정보를 은닉하도록 적응되는 은닉 수단을 포함한다.
그에 의해, 선택된 변환 타입에 관한 정보를 은닉하는 것, 즉, 변환 타입들의 세트 중에서 선택된 변환 타입을 적어도 부분적으로 식별하도록 적응되는 정보를 은닉하는 것이 제안된다. 컴퓨팅 수단은 출력 비트스트림에 인덱스 정보의 명시적 시그널링을 추가하는 것이 필요 없을 수 있다는 점에서 유리하다. 유리하게, 인덱스 정보의 명시적 시그널링이 적어도 감소될 수 있다. 결과적으로, 출력 비트스트림의 비트 레이트가 감소될 수 있다.
제1 양태에 따른 인코더의 제1 구현 형태에서, 은닉될 정보는 인덱스 정보이어서, 변환 타입들의 세트 중에서 선택된 변환 타입은 은닉 정보에 기초하여 식별가능하게 된다.
따라서, 선택된 변환 타입을 식별하기 위해 적응되는 모든 인덱스 정보를 은닉하는 것은 선택된 변환 타입을 식별하기 위해 다른 정보가 요구되지 않는다는 점에서 유리하다. 그 후, 출력 비트스트림 내의 추가적인 명시적 시그널링은 필요 없다.
제1 양태에 따른 인코더의 제2 구현 형태에서, 인코더는 시그널링 수단을 포함한다. 은닉될 정보는 인덱스 정보의 일부이다. 시그널링 수단은 출력 비트스트림에, 인덱스 정보의 다른 부분인 시그널링 정보를 추가하도록 적응되어, 변환 타입들의 세트 중에서 선택된 변환 타입이 은닉 정보 및 시그널링 정보에 기초하여 식별가능하게 된다.
그에 의해, 인덱스 정보의 일부만으로 구성되는 은닉 정보는 선택된 변환 타입을 식별하는데 필요한 명시적 시그널링의 양이 감소될 수 있다는 점에서 유리하다. 즉, 선택된 변환 타입을 포함하는 서브-세트를 식별하도록 적응되는 은닉 정보가 유리하다. 출력 비트스트림은, 예를 들어 명시적 시그널링으로서 송신된 시그널링 정보뿐만 아니라 양자화 변환 계수들의 은닉 정보를 포함할 수 있고, 시그널링 정보는 양자화 변환 계수들에 추가하여 출력 비트스트림에 추가된다. 그 후, 은닉 정보는 선택된 변환 타입을 포함하는 서브-세트의 식별을 허용하고, 추가적인 시그널링 정보는 서브-세트 내의 선택된 변환 타입의 식별을 허용한다. 시그널링 정보가 변환 타입들의 전체 세트 내에서 선택된 변환 타입을 식별하는 것이 필요 없기 때문에, 시그널링 정보의 크기 또는 양은 감소될 수 있다.
제1 양태에 따른 인코더의 제3 구현 형태에서, 은닉 수단은 은닉 조건에 종속하여 양자화 변환 계수들에서 은닉될 정보를 은닉하도록 적응된다.
제1 양태에 따른 인코더의 제4 구현 형태에서, 은닉 조건은 양자화 변환 계수들에 종속하는 파라미터를 임계값과 비교하는 것을 포함한다. 은닉 수단은 은닉 조건을 체크하고, 은닉 조건이 참인 경우에만 양자화 변환 계수들에서 은닉될 정보를 은닉하도록 적응된다.
제1 양태에 따른 인코더의 제5 구현 형태에서, 은닉 조건이 거짓이면, 시그널링 수단은 인덱스 정보인 시그널링 정보를, 출력 비트스트림에 추가하도록 적응된다.
제1 양태에 따른 인코더의 제6 구현 형태에서, 인코더는 계층적으로 계층화된 데이터 구조에 따라 소스 픽처를 재귀적으로 분할하도록 적응되는 분할 수단을 포함하고, 데이터 구조의 하나의 계층은 변환 블록이다. 제1 대안에 따르면, 은닉 수단은 데이터 구조의 제1 계층에서 은닉될 정보의 제1 부분 및 제1 계층과 별개인 데이터 구조의 제2 계층에서 은닉될 정보의 제2 부분을 은닉하도록 적응된다. 제2 대안에 따르면, 은닉될 정보는 인덱스 정보의 일부이고, 은닉 수단은 데이터 구조의 제1 계층에서 은닉될 정보를 은닉하도록 적응되고 시그널링 수단은 제1 계층과 별개인 데이터 구조의 제2 계층에서의 인덱스 정보의 다른 부분인 시그널링 정보를, 출력 비트스트림에 추가하도록 적응된다.
제1 양태에 따른 인코더의 제7 구현 형태에서, 인코더는 계층적으로 계층화된 데이터 구조에 따라 소스 픽처를 재귀적으로 분할하도록 적응되는 분할 수단을 포함하고, 데이터 구조의 하나의 계층은 변환 블록이다. 분할 수단은 변환 블록을 복수의 계수 그룹으로 분할하도록 적응된다. 은닉 수단은 복수의 계수 그룹 중 적어도 하나에 위치된 양자화 변환 계수들에서 은닉될 정보를 은닉하도록 적응된다.
제1 양태에 따른 인코더의 제8 구현 형태에서, 컴퓨팅 수단은 체크-함수의 결과를 획득하기 위해 양자화 변환 계수들에 체크-함수를 적용하도록 적응된다. 컴퓨팅 수단은 체크-함수의 결과가 은닉될 정보에 대응하는지를 결정하도록 적응된다. 체크-함수의 결과가 은닉될 정보에 대응하지 않으면, 컴퓨팅 수단은 체크-함수의 결과가 은닉될 정보에 대응하도록 양자화 변환 계수들 중 적어도 하나를 수정하도록 적응된다.
제1 양태에 따른 인코더의 제9 구현 형태에서, 은닉될 정보는 제1 및 제2 값을 갖는 플래그를 포함한다. 제1 값은 변환 타입들의 세트의 디폴트 변환 타입이 선택된 변환 타입인 것을 식별한다. 제2 값은 선택된 변환 타입이 디폴트 변환 타입이 없는 변환 타입들의 세트로 이루어지는 서브세트에 포함되는 것을 나타낸다.
본 발명의 제2 양태는 역변환 변환 계수들을 사용하여 입력 비트스트림을 디코딩된 픽처로 디코딩하기 위한 디코더를 제공한다. 디코더는 변환 블록에 위치된 양자화 변환 계수들을, 입력 비트스트림으로부터 획득하도록 적응되는 획득 수단을 포함한다. 디코더는 변환 계수들을 생성하기 위해 양자화 변환 계수들을 역양자화하도록 적응되는 역양자화 수단을 포함한다. 디코더는 양자화 변환 계수들로부터 은닉 정보를 재구성하도록 적응되는 컴퓨팅 수단을 포함하고, 은닉 정보는 인덱스 정보의 적어도 일부이다. 디코더는, 인덱스 정보에 의해 변환 타입들의 세트 중에서 식별된 변환 타입에 따라, 변환 계수들을 역변환 변환 계수들로 역변환하도록 적응되는 역변환 수단을 포함한다.
제2 양태에 따른 디코더의 제1 구현 형태에서, 은닉 정보는 인덱스 정보이어서, 변환 타입은 은닉 정보에 기초하여 변환 타입들의 세트 중에서 식별되게 된다.
제2 양태에 따른 디코더의 제2 구현 형태에서, 디코더는 추출 수단을 포함한다. 은닉 정보는 인덱스 정보의 일부이다. 추출 수단은 인덱스 정보의 다른 부분인 시그널링 정보를, 입력 비트스트림으로부터 추출하도록 적응되어, 변환 타입이 은닉 정보 및 시그널링 정보에 기초하여 변환 타입들의 세트 중에서 식별되게 된다.
제2 양태에 따른 디코더의 제3 구현 형태에서, 컴퓨팅 수단은 은닉 조건에 종속하여 양자화 변환 계수들로부터 은닉 정보를 재구성하도록 적응된다.
제2 양태에 따른 디코더의 제4 구현 형태에서, 은닉 조건은 양자화 변환 계수들에 종속하는 파라미터를 임계값과 비교하는 것을 포함한다. 컴퓨팅 수단은 은닉 조건을 체크하고, 은닉 조건이 참인 경우에만 양자화 변환 계수들로부터 은닉 정보를 재구성하도록 적응된다.
제2 양태에 따른 디코더의 제5 구현 형태에서, 은닉 조건이 거짓이면, 추출 수단은 인덱스 정보인 시그널링 정보를, 입력 비트스트림으로부터 추출하도록 적응된다.
제2 양태에 따른 디코더의 제6 구현 형태에서, 디코더는 계층적으로 계층화된 데이터 구조를 역분할하는 것에 의해 디코딩된 픽처를 획득하도록 적응되는 역분할 수단을 포함하고, 데이터 구조의 하나의 계층은 변환 블록이다. 제1 대안에 따르면, 컴퓨팅 수단은, 데이터 구조의 제1 계층으로부터의 은닉 정보의 제1 부분 및 제1 계층과 별개인 데이터 구조의 제2 계층으로부터의 은닉 정보의 제2 부분을 재구성하도록 적응된다. 제2 대안에 따르면, 은닉 정보는 인덱스 정보의 일부이고, 컴퓨팅 수단은 데이터 구조의 제1 계층으로부터의 은닉 정보를 재구성하도록 적응되고, 추출 수단은 제1 계층과 별개인 데이터 구조의 제2 계층에서의 인덱스 정보의 다른 부분인 시그널링 정보를, 입력 비트스트림으로부터 추출하도록 적응된다.
제2 양태에 따른 디코더의 제7 구현 형태에서, 디코더는 계층적으로 계층화된 데이터 구조를 역분할하는 것에 의해 디코딩된 픽처를 획득하도록 적응되는 역분할 수단을 포함하고, 데이터 구조의 하나의 계층은 변환 블록이다. 역분할 수단은 복수의 계수 그룹을 역분할하는 것에 의해 변환 블록을 획득하도록 적응된다. 컴퓨팅 수단은 복수의 계수 그룹 중 적어도 하나에 위치된 양자화 변환 계수들로부터의 은닉 정보를 재구성하도록 적응된다.
제2 양태에 따른 디코더의 제8 구현 형태에서, 컴퓨팅 수단은 체크-함수의 결과를 획득하기 위해 양자화 변환 계수들에 체크-함수를 적용하도록 적응되고, 체크-함수의 결과는 은닉 정보에 대응한다.
제2 양태에 따른 디코더의 제9 구현 형태에서, 은닉 정보는 제1 및 제2 값을 갖는 플래그를 포함하고, 제1 값은 변환 타입들의 세트의 디폴트 변환 타입이 식별된 변환 타입인 것을 식별하고, 제2 값은 식별된 변환 타입이 디폴트 변환 타입이 없는 변환 타입들의 세트로 이루어지는 서브세트에 포함되는 것을 나타낸다.
제1 양태에 따른 인코더의 기능들 및 제2 양태에 따른 디코더의 기능들 및 그 구현 형태들의 임의의 구현 형태의 임의의 기능들은 프로세서 또는 컴퓨터에 의해 수행될 수 있고, 그 수단의 임의의 수단은 그러한 프로세서 또는 컴퓨터에서 소프트웨어 및/또는 하드웨어로서 구현할 수 있다.
본 발명의 제3 양태는 양자화 변환 계수들을 사용하여 소스 픽처를 출력 비트스트림으로 인코딩하는 방법을 제공한다. 이 방법은 변환 블록에 위치된 입력 데이터를, 소스 픽처로부터 획득하는 단계를 포함한다. 이 방법은 변환 타입들의 세트 중에서 선택된 변환 타입에 따라, 입력 데이터를 변환 계수들로 변환하는 단계를 포함한다. 이 방법은 양자화 변환 계수를 생성하기 위해 변환 계수들을 양자화하는 단계를 포함한다. 이 방법은 변환 타입들의 세트 중에서 선택된 변환 타입을 식별하도록 적응되는 인덱스 정보를 생성하는 단계를 포함한다. 이 방법은 은닉될 정보를 결정하는 단계를 포함하고, 은닉될 정보는 인덱스 정보의 적어도 일부이다. 이 방법은 양자화 변환 계수들에서 은닉될 정보를 은닉하는 단계를 포함한다.
본 발명의 제3 양태에 따른 양자화 변환 계수들을 사용하여 소스 픽처를 출력 비트스트림으로 인코딩하는 방법의 추가의 특징들 또는 구현예들은 본 발명의 제1 양태 및 그 상이한 구현 형태들에 따른 인코더의 기능성을 수행할 수 있다.
본 발명의 제4 양태는 역변환 변환 계수들을 사용하여 입력 비트스트림을 디코딩된 픽처로 디코딩하는 방법을 제공한다. 이 방법은 변환 블록에 위치된 양자화 변환 계수들을, 입력 비트스트림으로부터 획득하는 단계를 포함한다. 이 방법은 변환 계수들을 생성하기 위해 양자화 변환 계수들을 역양자화하는 단계를 포함한다. 이 방법은 양자화 변환 계수들로부터 은닉 정보를 재구성하는 단계를 포함하고, 은닉 정보는 인덱스 정보의 적어도 일부이다. 이 방법은 인덱스 정보에 의해 변환 타입들의 세트 중에서 식별된 변환 타입에 따라, 변환 계수들을 역변환 변환 계수들로 역변환하는 단계를 포함한다.
제3 또는 제4 양태들에 따른 방법들 또는 그 구현 형태들 중 임의의 구현 형태는 프로세서 또는 컴퓨터에 의해 수행될 수 있다.
본 발명의 제4 양태에 따라 역변환 변환 계수들을 사용하여 입력 비트스트림을 디코딩된 픽처로 디코딩하는 방법의 추가의 특징들 또는 구현예들은 본 발명의 제2 양태 및 그 상이한 구현 형태들에 따른 디코더의 기능성을 수행할 수 있다.
본 발명의 제5 양태는, 컴퓨터 프로그램이 컴퓨팅 디바이스에서 실행될 때 본 발명의 제3 양태에 따른 소스 픽처를 인코딩하는 방법 또는 본 발명의 제4 양태에 따른 입력 비트스트림을 디코딩하는 방법을 수행하기 위한 프로그램 코드를 갖는 컴퓨터 프로그램을 제공한다.
본 발명의 중요한 양태는, 디코더 측에서, 어떤 역변환이 선택되어야 하는지에 대한 전체 또는 부분 정보가 예를 들어 패리티 체크 함수와 같은 체크-함수를, 파싱된 양자화 변환 계수들에 적용하는 것에 의해 검색된다는 것이다. 본 발명은 선택된 변환 타입의 시그널링에 관한 것이다. 구체적으로, 디코더 측에서, 어떤 역변환이 선택되어야 하는지에 대한 전체 또는 부분 정보는 예를 들어 패리티 체크 함수와 같은 체크-함수를 파싱된 양자화 변환 계수(QTC)(quantized transform coefficient)들에 적용하는 것에 의해 검색된다. 이러한 타입의 암시적 시그널링은 은닉으로서 지칭될 수 있다.
본 출원에서 설명된 모든 디바이스, 요소, 유닛 및 수단은 소프트웨어 또는 하드웨어 요소들 또는 이들의 임의의 종류의 조합으로 구현될 수 있다는 것을 유의해야 한다. 본 출원에서 설명된 다양한 엔티티들에 의해 수행되는 모든 단계들뿐만 아니라 다양한 엔티티들에 의해 수행되는 설명된 기능성들은 각각의 엔티티가 각각의 단계들 및 기능성들을 수행하도록 적응 또는 구성되는 것을 의미하고자 한다. 특정 실시예들의 이하의 설명에서, 외부 엔티티들에 의해 완전하게 형성되는 특정 기능성 또는 단계가 그 특정 단계 또는 기능성을 수행하는 그 엔티티의 특정 상세 요소의 설명에 반영되어 있지 않더라도, 통상의 기술자들에게는, 이들 방법들 또는 기능성들이 각각의 소프트웨어 또는 하드웨어 요소들, 또는 이들의 임의의 종류의 조합으로 구현될 수 있다는 것이 명백해야 한다.
본 발명의 양태들 및 구현 형태들이 첨부된 도면과 관련하여 특정한 실시예들의 다음의 설명에서 설명될 것이다.
도 1은 본 발명의 실시예에 따른 인코더를 도시한다.
도 2는 본 발명의 실시예에 따른 디코더를 도시한다.
도 3은 본 발명의 추가의 실시예에 따른 인코더를 도시한다.
도 4는 본 발명의 실시예에 따른 디코딩 방법의 흐름도이다.
도 5는 본 발명의 추가의 실시예에 따른 디코딩 방법의 흐름도이다.
도 6은 본 발명의 추가의 실시예에 따른 디코딩 방법의 흐름도이다.
도 7은 본 발명의 실시예에 따라 소스 픽처를 인코딩하는 방법을 나타낸다.
도 8은 본 발명의 추가의 실시예에 따라 입력 비트스트림을 디코딩하는 방법을 나타낸다.
도 9는 종래 기술에 따른 변환 코딩의 시그널링을 도시한다.
도 1은 본 발명의 실시예에 따른 인코더(100)를 도시하고, 구체적으로 양자화 변환 계수들(112)을 사용하여 소스 픽처(101)를 출력 비트스트림(114)으로 인코딩하는 인코더(100)를 도시한다.
인코더(100)는 소스 픽처(101)로부터 변환 블록(TU)에 위치된 입력 데이터를 획득하도록 적응되는 획득 수단(102, 104, 106)을 포함한다.
인코더(100)는 변환 타입들의 세트 중에서 선택된 변환 타입에 따라, 입력 데이터를 변환 계수들(110)로 변환하도록 적응되는 변환 수단(109)을 포함한다.
인코더(100)는 양자화 변환 계수들(112)을 생성하기 위해 변환 계수들(110)을 양자화하도록 적응되는 양자화 수단(111)을 포함한다.
인코더(100)는 변환 타입들의 세트 중에서 선택된 변환 타입을 식별하고 은닉될 정보를 결정하도록 적응되는 인덱스 정보를 생성하도록 적응되는 컴퓨팅 수단을 포함하고, 은닉될 정보는 인덱스 정보의 적어도 일부이다.
인코더(100)는 양자화 변환 계수들(112)에서 은닉될 정보를 은닉하도록 적응되는 은닉 수단을 포함한다.
도 3은 본 발명의 추가의 실시예에 따른 인코더를 도시하고, 구체적으로 양자화 변환 계수들(308, 313)을 사용하여 소스 픽처(301)를 출력 비트스트림(318)으로 인코딩하는 인코더(300)를 도시한다.
인코더(300)는 변환 블록(TU)에 위치된 입력 데이터(303)를, 소스 픽처(301)로부터 획득하도록 적응되는 획득 수단(302)을 포함한다.
인코더(300)는 변환 타입들(305, 310)의 세트 중에서 선택된 변환 타입에 따라, 입력 데이터(303)를 변환 계수들(306, 311)로 변환하도록 적응되는 변환 수단(305, 310)을 포함한다.
인코더(300)는 양자화 변환 계수들(308, 313)을 생성하기 위해 변환 계수들(306, 311)을 양자화하도록 적응되는 양자화 수단(307, 312)을 포함한다.
인코더(300)는 변환 타입들(305, 310)의 세트 중에서 선택된 변환 타입을 식별하고 은닉될 정보를 결정하도록 적응되는 인덱스 정보를 생성하도록 적응되는 컴퓨팅 수단(315)을 포함하고, 은닉될 정보는 인덱스 정보의 적어도 일부이다.
인코더(300)는 양자화 변환 계수들(308, 313)에서 은닉될 정보를 은닉하도록 적응되는 은닉 수단(319)을 포함한다.
특히, 소스 픽처는 스틸 픽처 또는 비디오의 픽처일 수 있다.
특히, 인코더는 분할 수단을 포함할 수 있다. 분할 수단은 참조 번호(102)에 의해 도 1에서 식별된다. 분할 수단은 계층적으로 계층화된 데이터 구조에 따라 소스 픽처(101)를 재귀적으로 분할하도록 적응된다. 데이터 구조의 하나의 계층은 변환 블록이다. 분할 수단은 특히 소스 픽처(101)의 쿼드트리 분할을 수행하도록 적응될 수 있다.
계층적으로 계층화된 데이터 구조는 코딩 트리 유닛(CTU)(Coding Tree Unit), 코딩 유닛(CU)(Coding Unit), 예측 유닛(PU)(Prediction Unit) 또는 변환 유닛(TU)(Transform Unit) 중 적어도 하나를 정의하는 추가의 계층을 포함할 수 있다. CTU는 예를 들어, 64x64 픽셀과 같은, 픽처의 일부를 포함하는 미리 정의된 크기의 비디오 시퀀스의 코딩 구조의 루트이다. CTU는 CU들로 분할될 수 있다. CU는 CTU에 속한 픽처의 일부를 포함하는 미리 정의된 크기의 비디오 시퀀스의 기본 코딩 구조이다. CU는 추가의 CU로 분할될 수 있다. PU는 CU의 분할의 결과인 코딩 구조이다. PU는 PU의 픽셀에 적용되는 처리 타입에 따라 인트라-예측 또는 인터-예측될 수 있다. PU는 몇몇 TU로 분할되거나 단일 TU와 일치할 수 있다. TU는 변환 블록의 예이다.
특히, 획득 수단(102, 104, 106, 302)은 예측 블록의 잔여 데이터로부터 변환 블록의 입력 데이터(303)를 획득하도록 적응될 수 있고, PU는 예측 블록의 예이다. 입력 데이터(303)는 잔여 데이터의 서브-부분일 수 있다, 즉, 변환 블록(TU)은 예측 블록(PU)의 서브-블록일 수 있다. 이와 같이, 인코더는 비디오의 소스 픽처(101)를 인코딩하도록 적응될 수 있다.
도 1에서, 잔여 데이터는 참조 번호(105, 107)에 대응한다. 획득 수단은 잔여 데이터(105, 107)를 획득하기 위해 소스 픽처(101)의 픽셀들의 데이터, 즉 예측 블록에 위치된 픽셀들의 데이터와 상기의 픽셀들에 대한 예측 데이터 사이의 차이를 구축하도록 적응되는 예측 수단(104, 106)을 포함한다. 예측 수단은 바람직하게는 인트라-예측 모드 및 인터-예측 모드 양자 모두를 지원하고, 이에 대응하여 인트라 예측 수단(104) 및 인터 예측 수단(106)을 포함한다. 도 1의 참조 번호(103)는 소스 픽처(101)가 인트라-예측 또는 인터-예측에 의해 처리될 수 있다는 사실을 도시한다.
특히, 획득 수단은 대안적으로, 예를 들어 계층적으로 계층화된 데이터 구조의 하나의 계층에 따라 소스 픽처(101)의 픽셀들의 데이터인 입력 데이터(303)를 획득하도록 적응될 수 있다. 이와 같이, 인코더는 예측 단계를 포함하지 않고 스틸 픽처인 소스 픽처(101)를 인코딩하도록 적응될 수 있다.
특히, 인코더는 입력 데이터에 기초하여 몇몇 후보 변환을 수행하도록 입력 데이터(303)를 변환 타입들(305, 310)의 세트로 전송하기 위한 스위처(304)를 포함할 수 있다. 입력 데이터는 몇몇 병렬 배열 변환 수단(305, 310)에 의해 처리될 수 있고, 각각의 변환 수단은 변환 타입들 중 하나에 따라 입력 데이터를 변환하도록 적응된다. 변환 타입들의 세트는 N개의 상이한 타입을 포함할 수 있고, N개의 변환 타입은 도 3에서 "변환 1" 및 "변환 N"으로서 식별된다.
각각의 변환 수단(305, 310)은 변환 계수들(306, 311)뿐만 아니라 변환 계수들(306, 311)을 획득하기 위해 사용된 각각의 변환 타입을 식별하는 인덱스 정보(309, 314)를 생성한다. 변환 계수들(306, 311)은 양자화 변환 계수들을 획득하도록 양자화 수단(307, 312)에 의해 양자화된다.
은닉 수단(319)은 양자화 변환 계수들(308, 313)에서 은닉될 정보를 은닉하도록 적응된다. 컴퓨팅 수단(315)은 최소 레이트 왜곡(RD)(minimum rate-distortion) 비용을 제공하는 양자화 변환 계수들(308, 313) 및 연관된 인덱스 정보(309, 314)를 선택하도록 적응된다. 이에 대응하여, 컴퓨팅 수단(315)은 엔트로피 수단(317)에 의해 그 후 바람직하게 엔트로피 코딩된 선택된 양자화 변환 계수들(316)을 출력한다. 엔트로피 수단은 참조 번호(113)에 의해 도 1에서 식별된다.
도 1 및 도 3의 실시예들의 상이한 특징들은 함께 결합될 수 있다.
특히, 은닉 수단(319)은 데이터 은닉 기법에 따라 양자화 변환 계수들(112, 308, 313)에서 은닉될 정보를 은닉하도록 적응된다.
특히, 은닉 수단(319)은 은닉 조건에 종속하여 양자화 변환 계수들(112, 308, 313)에서 은닉될 정보를 은닉하도록 적응된다. 은닉 조건은 양자화 변환 계수들(112, 308, 313)에 종속하는 파라미터를 임계값과 비교하는 것을 포함할 수 있고, 은닉 수단(319)은 은닉 조건을 체크하고, 은닉 조건이 참인 경우에만 양자화 변환 계수들(112, 308, 313)에서 은닉될 정보를 은닉하도록 적응될 수 있다.
은닉 조건은 양자화 변환 계수들(112, 308, 313)을 임계값 제약 조건과 비교하는 것일 수 있다. 예를 들어, 은닉 조건은 다음 조건들 또는 다른 공지된 은닉 조건들을 포함할 수 있다:
- 비-제로 양자화 변환 계수(QTC)들의 수가 임계값보다 크다. 이 경우 TU 또는 CG에 존재하는 비-제로 QTC의 수가 카운팅된다. 이 수가 임계값 위이면, 은닉 조건이 참이다.
- 임계값이 QTC의 스캔 내에서 유효 QTC들의 위치들 사이의 최대 차이보다 낮다. 이 경우, TU의 또는 CG의 또는 복수의 CG의 QTC들은 스캐닝 패턴 또는 스캐닝 순서에 따라 스캐닝된다. 유효 QTC들은 스캐닝된 QTC들로부터 선택되고, 유효 QTC들은, 예를 들어 비-제로 계수들 또는 주어진 값 위인 계수들이다. 스캐닝 패턴 또는 스캐닝 순서에 따른 유효 QTC들의 위치들 사이의 차이가 컴퓨팅된다. 이 차이가 임계값 위이면, 은닉 조건이 참이다.
- TU의 크기가 임계값보다 크다. 이 경우, 은닉 조건은 TU의 크기가 임계값 위인 경우 참이다.
특히, 컴퓨팅 수단(315)은 체크-함수의 결과를 획득하기 위해 양자화 변환 계수들(112, 308, 313)에 체크-함수를 적용하고, 체크-함수의 결과가 은닉될 정보에 대응하는지를 결정하고, 그렇지 않다면, 체크-함수의 결과가 은닉될 정보에 대응하도록 양자화 변환 계수들(112, 308, 313) 중 적어도 하나를 수정하도록 적응된다.
예를 들어, 체크-함수는 다음 함수들 또는 다른 공지된 체크-함수들 중 하나일 수 있다:
- 이진 패턴을 사용하여 TU로부터 선택된 일부 QTC의 최하위 비트에 적용되는 패리티 체크-함수, 및
- 마지막 또는 제1 비-제로 QTC의 위치 인덱스 또는 마지막 및 제1 비-제로 QTC 위치 인덱스의 선형 조합에 적용되는 패리티 체크-함수.
주어진 QTC들에 적용되는 그러한 패리티 체크-함수는 주어진 QTC들의 패리티 값을 체크하는 것으로 이루어진다. 은닉될 정보는 1 또는 수 비트를 포함하기 때문에, 그러한 비트가 주어진 QTC들의 패리티 값에 의해 은닉될 수 있다. 특히, 주어진 QTC들의 패리티 값이 은닉될 비트의 패리티와 정합하면, 인코더에서 추가의 처리가 필요 없다. 이는 주어진 QTC들이 비트스트림에서 수정되지 않은 형태로 인코딩됨을 의미한다. 반면, 주어진 QTC들의 패리티 값이 은닉될 비트의 패리티와 정합하지 않으면, 그 후 인코더는, 그 패리티가 은닉될 비트의 패리티와 정합하는 방식으로, 주어진 QTC들을 수정하도록 적응된다. 이는 예를 들어, 패리티 매칭을 획득하기 위해 주어진 QTC들 중 하나의 값을 수정하는 것에 의해 달성된다. 예를 들어, 주어진 QTC들 중 하나의 최하위 비트(LSB)(Least Significant Bit)가 수정될 수 있다.
일반적으로, 변환 타입들에 대한 은닉 정보를 은닉하기 위해, 예컨대 US20130272424A1에 따라 다중 부호 비트 은닉을 위해 행해지는 것 같은 변환 계수들의 중첩되지 않는 세트들에서의 단일-계층 데이터 은닉, 또는 EP2675159A1에 따른 변환 계수들의 중첩하는 세트들에서의 단일-계층 데이터 은닉, 또는 문헌(Alexey Filippov, Vasily Rufitskiy, 및 Vladimir Potapov, "Scalar-quantization-based multi-layer data hiding for video coding applications," IEEE Visual Communications and Image Processing Conference, December 2014, Valletta, Malta, pp. 262-265)에 따른 계층적으로 구조화된 코딩 유닛들에서의 멀티-계층 데이터 은닉과 같은 다른 공지된 메커니즘들이 사용될 수 있다.
도 2는 본 발명의 실시예에 따른 디코더(200)를 도시하고, 구체적으로 역변환 변환 계수들을 사용하여 입력 비트스트림(201)을 디코딩된 픽처(212)로 디코딩하는 디코더(200)를 도시한다.
디코더는 변환 블록(TU)에 위치된 양자화 변환 계수들을, 입력 비트스트림(201)으로부터 획득하도록 적응되는 획득 수단(202, 204, 206)을 포함한다.
디코더는 변환 계수들(210)을 생성하도록 양자화 변환 계수들을 역양자화하도록 적응되는 역양자화 수단(209)을 포함한다.
디코더는 양자화 변환 계수들로부터 은닉 정보를 재구성하도록 적응되는 컴퓨팅 수단(208)을 포함하고, 은닉 정보는 인덱스 정보의 적어도 일부이다.
디코더는 인덱스 정보에 의해 변환 타입들의 세트 중에서 식별된 변환 타입에 따라, 변환 계수들(210)을 역변환 변환 계수들(212)로 역변환하도록 적응되는 역변환 수단(211)을 포함한다.
도 2의 디코더(200)는 획득 수단이 입력 비트스트림을 처리하기 위한 엔트로피 디코딩 수단(202)을 포함한다는 점에서 도 1의 인코더(100)의 대응부이다. 그것은 또한 인트라-예측 모드 및 인터-예측 모드 각각에 대한 예측 수단(204, 206)을 포함하고, 참조 번호(203)는 인트라-예측과 인터-예측 사이의 선택을 도시한다. 예측 수단(204, 206)의 각각의 출력들(205, 207)은 역양자화 수단(209)에 의해 처리된다.
도 4는 본 발명의 실시예에 따른 디코딩 방법의 흐름도이다.
실시예는, 디코더 측에서 선택된 변환 타입을 명시적으로 표시하는 비트스트림 신택스에서 전용 시그널링 플래그들 emtCuFlag 및 emtTuIdx를 사용하여, 공지된 향상된 다중 변환(EMT)(Enhanced Multiple Transform) 기법 - 예를 들어, 문헌[Gary Sullivan, Gill Boyce, Jianle Chen, 및 Elena Alshina, “Future video coding: Joint Exploration Model 1 (JEM1) for future video coding investigation,” ITU-T SG16 Q6, TD 213 (WP 3/16)]에 설명됨 - 에 의존한다.
이제, 도 14의 실시예에서, emtCuFlag는 CU 또는 PU 레벨에서 명시적으로 코딩되고, emtTuFlag는 본 발명의 인코딩 방식에 따라 QTC들 내의 TU 레벨에서 암시적으로 코딩된다. 다시 말하면, emtTuFlag는 인코더에 의해 QTC들에 은닉되는 정보, 및 디코더에 의해 QTC들로부터 재구성되는 정보이다.
이 방법의 시작(401) 후에, emtCuFlag는 입력 비트스트림으로부터 파싱된다. 그런 다음 emtCuFlag의 값이 체크된다(403). 이 emtCuFlag가 거짓이면, 제1 변환 타입, 예를 들어, DCT-II가 CU 또는 PU 레벨에서 적용된다, 즉, 역변환 수단(211)은 emtCuFlag를 포함하는 CU 또는 PU의 각 TU에 대해 이 제1 변환 타입에 따라 역변환을 적용한다. 이 제1 변환 타입은 예를 들어, 디폴트 변환 타입이다. 이 emtCuFlag가 참이면, 역변환 수단(211)에 의해 추가의 변환 타입이 사용된다. 이 경우, 주어진 CU 또는 PU의 모든 TU에 대해 상이한 변환 타입들이 인에이블된다. 이 실시예 및 모든 추가의 실시예에서, emtCuFlag가 필수적인 것은 아니다.
emtCuFlag 플래그가 참으로 설정된 경우, 추가의 처리는 TU들을 통해 루프 내에서 수행된다. 루프에서 처리되는 현재 TU의 인덱스는 "idx"로서 지칭되고 0부터 N-1까지 스캐닝되며, N은 처리되고 있는 CU 또는 PU의 TU들 수를 나타낸다. 초기화 단계(405)에서, 각 TU 인덱스마다 변환 인덱스들 emtTuIdx(idx)는 제로로 설정된다. TU 루프는 은닉된 플래그가 현재 처리되는 TU의 QTC들에 존재하는지를 나타내는 은닉 조건 체크(410)로 시작한다.
은닉 조건(410)이 거짓이면, 처리되는 TU에 대한 변환의 선택을 가능하게 하는 플래그(emtTuFlag)의 값이 비트스트림으로부터 파싱된다(412). 그렇지 않으면, 이 플래그의 값은 체크-함수를 적용하는 것에 의해 QTC들로부터 재구성되거나 유도된다(411).
따라서, 컴퓨팅 수단(208)은 체크-함수의 결과를 획득하도록 QTC들에 체크-함수를 적용하도록 적응되고, 체크-함수의 결과는 은닉 정보에 대응한다. 이 은닉 정보는 직접 선택되거나 식별되는 변환 타입의 인덱스일 수 있다.
대안적으로, 도 4에 도시된 바와 같이, 이 은닉 정보 "emtTuFlag(idx)=checkFunc()"는, emtTuFlag 값이 참이면(420), 다음 단계가 수평 및 수직 변환 타입들을 나타내는 비트스트림으로부터 변환 타입 인덱스 emtTuIdx를 파싱하는 것(422)이라는 점에서 선택된 변환 타입을 식별하도록 적응된다. 그렇지 않은 경우, emtTuFlag 값이 거짓이면(420), emtTuIdx를 제로로 할당하는 것에 의해 디폴트 변환 타입이 선택된다.
다른 실시예는 도 4를 참조하여 기술된 것과 동일한 처리 단계들을 포함하지만, 은닉 조건(410)이 거짓인 경우, emtTuFlag 값은 거짓으로 설정된다는 차이점이 있다. 특히, 그 후 emtTuIdx를 제로로 할당하는 것에 의해 디폴트 변환 타입이 선택된다.
도 5는 본 발명의 추가의 실시예에 따른 디코딩 방법의 흐름도이다.
이 실시예는 도 4의 실시예와 관련하여 상이한 디폴트 변환들을 가지며, 상기의 변환들 각각은 수직 및 수평 방향들 양자 모두에 적용되고, 2개의 경우에 따라 각각 선택된다:
- 은닉 조건은 거짓이다;
- 은닉 조건은 참이지만, emtTuIdx는 제로이다.
예를 들어, 은닉 조건(510)이 거짓일 때, emtTuIdx는 -1이고, DCT2는 수평 및 수직 방향들 양자 모두에 적용된다(513). 다른 경우에, 은닉 조건(510)이 참이지만 emtTuFlag가 제로이면, DST2가 수평 및 수직 방향들 양자 모두에서 적용된다(523). 도 5의 나머지 단계들은 도 4의 단계들에 대응한다.
도 6은 본 발명의 추가의 실시예에 따른 디코딩 방법의 흐름도이다.
이 실시예에서, 추가적인 조건 체크가 도입된다. 이 실시예의 배후의 아이디어는 TU들이 인코딩 및 디코딩 동안 동일한 순서로 처리된다는 사실에 의존한다. 처리 순서 내에서 연속적으로 처리되는 몇몇 TU가 디폴트 변환 타입을 갖도록 표시되면, TU들 나머지는 동일한 디폴트 변환 타입을 갖는 것으로 가정되고, TU들 나머지에 대한 시그널링은 디스에이블되어서 오버헤드를 감소시킨다. TU-레벨 시그널링을 디스에이블할 수 있는 이러한 연속적으로 처리되는 TU들의 수는 임계값 TZC에 의해 정의된다.
도 4의 실시예와 관련하여 도 6의 실시예의 수정들이 이하에서 상세히 설명된다. 단계 605에서, 제로와 동일한 emtTuFlag를 갖는 연속적으로 처리되는 TU들의 현재 수를 유지하는 카운터 변수 "zero_counter"가 "0"으로 초기화된다. 단계 606에서, "zero_counter" 값은 임계값 TZC와 비교된다. "zero_counter"가 임계값 TZC 위이거나 같으면, TU들 나머지는 동일한 디폴트 변환 타입을 갖는 것으로 가정되고, emtTuIdx는 "0"으로 설정된다(607). 그렇지 않으면, 도 1의 참조 번호(410)에 대응하는 은닉 조건 체크(610)가 수행된다. 도 6의 흐름도로부터 알 수 있는 것 같이, "zero_counter"와 TZC 사이의 비교 결과는 주어진 CU 또는 PU에서 TU들 나머지의 처리를 제어한다. 도 4에 대해 상대적으로 다른 수정은, TU가 비-제로 emtTuFlag를 갖는다면, "zero_counter"가 제로로 리셋된다(621)는 것이다. 그렇지 않은 경우, TU가 제로 emtTuFlag를 갖는다면, "zero_counter"가 증분된다(624).
도 5 및 도 6의 실시예들은 또한 결합될 수 있다.
대안의 실시예들에서, emtCUFlag는 제거될 수 있다. 변환을 위한 그러한 CU-레벨 플래그를 제거하는 것에 의해 야기되는 가장 중요한 이점은 2개의 상이한 변형들의 RD-비용들이 고려되어야 할 때 즉, 0과 1의 플래그들의 값들에 대해 더블-패스(double-pass) 방식을 피하기 때문에 계산 복잡도를 감소시킬 수 있다는 것이다. 한편, CU-레벨 플래그의 존재는 하나의 변환이 다른 것들보다 훨씬 더 자주 CU에서 선택되는 경우 시그널링 비용을 최소화할 수 있다. 따라서, 둘다의 옵션이 각각의 최적화 목표, 즉 복잡도를 감소시키는 것 또는 코딩 이득을 증가시키는 것을 조건으로 하여 사용될 수 있다.
본 발명은 DCT-II(DCT2_EMT)를 포함하는 모든 변환들이 TU 레벨에서 이용가능할 때 시그널링 오버헤드를 감소시키는 언급된 문제를 해결한다. 이는 DCT-II(또는 예측 모드에 따른 다른 변환, 예측된 블록의 크기 등)가 사용되는지 여부를 시그널링하기 위해 데이터 은닉을 사용하는 것에 의해 달성된다. 본 발명의 멀티미디어 코딩 실시예들에서 본 발명은 다음의 이점들을 제공한다:
- 본 발명은 차세대 비디오 코딩 표준의 토대가 되는 JEM과 호환가능한 하이브리드 비디오 코딩 프레임워크의 많은 잠재적인 애플리케이션에 사용될 수 있다.
- 본 발명은 CABAC를 사용하여 이 플래그를 인코딩하는 것과 비교할 때 JEM1과 비교하여 감소된 BD-레이트 및 주관적인 품질 향상들을 제공한다.
- 각 TU는 CU 레벨에서의 의사 결정 없이 개별적으로 처리될 수 있다.
- emtCuFlag와 같은 중복 시그널링(신택스)이 방지될 수 있다.
도 7은 본 발명의 실시예에 따른 양자화 변환 계수들(112)을 사용하여 소스 픽처(101)를 출력 비트스트림(114)으로 인코딩하는 방법(700)을 도시한다.
이 방법은 변환 블록(TU)에 위치된 입력 데이터(303)를 소스 픽처(101, 301)로부터 획득하는 단계(701)를 포함한다.
이 방법은 변환 타입들(305, 310)의 세트 중에서 선택된 변환 타입에 따라 입력 데이터(303)를 변환 계수들(110, 306, 311)로 변환하는 단계(702)를 포함한다.
이 방법은 양자화 변환 계수들(112, 308, 313)을 생성하기 위해 변환 계수들(110, 306, 311)을 양자화하는 단계(703)를 포함한다.
이 방법은 변환 타입들(305, 310)의 세트 중에서 선택된 변환 타입을 식별하도록 적응되는 인덱스 정보를 생성하는 단계(704)를 포함한다.
이 방법은 은닉될 정보를 결정하는 단계(705)를 포함하고, 은닉될 정보는 인덱스 정보의 적어도 일부이다.
이 방법은 양자화 변환 계수들(112, 308, 313)에서 은닉될 정보를 은닉하는 단계(706)를 포함한다.
도 8은 본 발명의 추가의 실시예에 따라 역변환 변환 계수들을 사용하여 입력 비트스트림(201)을 디코딩된 픽처(212)로 디코딩하는 방법(800)을 도시한다.
이 방법은 변환 블록(TU)에 위치된 양자화 변환 계수들을, 입력 비트스트림(201)으로부터 획득하는 단계(801)를 포함한다.
이 방법은 변환 계수들(210)을 생성하기 위해 양자화 변환 계수들을 역양자화하는 단계(802)를 포함한다.
이 방법은 양자화 변환 계수들로부터 은닉 정보를 재구성하는 단계(803)를 포함하고, 은닉 정보는 인덱스 정보의 적어도 일부이다.
이 방법은 인덱스 정보에 의해 변환 타입들의 세트 중에서 식별된 변환 타입에 따라, 변환 계수들(210)을 역변환 변환 계수들(212)로 역변환하는 단계(804)를 포함한다.
본 발명이 예들뿐만 아니라 구현예들로서 다양한 실시예들과 함께 설명되었다. 그러나, 다른 변형들이 본 기술분야의 통상의 지식을 갖고 청구된 발명을 실시하는 기술자들에 의해, 도면, 본 개시내용 및 독립 청구항들의 연구들로부터 이해되고 실행될 수 있다. 청구범위뿐만 아니라 명세서에서, "포함하는(comprising)"이라는 단어는 다른 요소들 또는 단계들을 배제하지 않으며, 부정 관사(“a” 또는 “an”)는 복수를 배제하지 않는다. 단일 요소 또는 다른 유닛은 청구범위에 나열된 여러가지 엔티티들 또는 항목들의 기능들을 수행할 수 있다. 특정 방안들이 서로 상이한 종속 청구항에서 언급된 사실만으로 이들 방안들의 조합이 유리한 구현예에 사용될 수 없음을 나타내지는 않는다.

Claims (23)

  1. 양자화 변환 계수들(112, 308, 313)을 사용하여 소스 픽처(101, 301)를 출력 비트스트림(114, 318)으로 인코딩하기 위한 인코더(100, 300)로서,
    - 변환 블록(TU)에 위치된 입력 데이터(303)를, 상기 소스 픽처(101, 301)로부터 획득하도록 적응되는 획득 수단(102, 104, 106, 302),
    - 변환 타입들(305, 310)의 세트 중에서 선택된 변환 타입에 따라, 상기 입력 데이터(303)를 변환 계수들(110, 306, 311)로 변환하도록 적응되는 변환 수단(109, 305, 310),
    - 상기 양자화 변환 계수들(112, 308, 313)을 생성하기 위해 상기 변환 계수들(110, 306, 311)을 양자화하도록 적응되는 양자화 수단(111, 307, 312),
    - 상기 변환 타입들(305, 310)의 세트 중에서 상기 선택된 변환 타입을 식별하고 은닉될 정보를 결정하도록 적응되는 인덱스 정보를 생성하도록 적응되는 컴퓨팅 수단(315)- 상기 은닉될 정보는 상기 인덱스 정보의 적어도 일부임 -, 및
    - 은닉 조건에 종속하여 상기 양자화 변환 계수들(112, 308, 313)에서 상기 은닉될 정보를 은닉하도록 적응되는 은닉 수단(319)
    을 포함하는, 인코더.
  2. 제1항에 있어서,
    상기 은닉될 정보는 상기 인덱스 정보이어서, 상기 변환 타입들(305, 310)의 세트 중에서 선택된 상기 변환 타입은 상기 은닉 정보에 기초하여 식별가능하게 되는, 인코더.
  3. 제1항에 있어서,
    시그널링 수단(320)을 포함하고,
    상기 은닉될 정보는 상기 인덱스 정보의 일부이고,
    상기 시그널링 수단(320)은 상기 출력 비트스트림(114, 318)에, 상기 인덱스 정보의 다른 부분인 시그널링 정보를 추가하도록 적응되어, 상기 변환 타입들(305, 310)의 세트 중에서 선택된 상기 변환 타입이 상기 은닉 정보 및 상기 시그널링 정보에 기초하여 식별가능하게 되는, 인코더.
  4. 제1항에 있어서,
    상기 은닉 조건은 상기 양자화 변환 계수들(112, 308, 313)에 종속하는 파라미터를 임계값과 비교하는 것을 포함하고,
    상기 은닉 수단(319)은 상기 은닉 조건을 체크하고, 상기 은닉 조건이 참인 경우에만 상기 양자화 변환 계수들(112, 308, 313)에서 상기 은닉될 정보를 은닉하도록 적응되고,
    상기 은닉 조건이 거짓이면, 시그널링 수단(320)은 상기 인덱스 정보인 시그널링 정보를, 상기 출력 비트스트림(114, 318)에 추가하도록 적응되는, 인코더.
  5. 역변환 변환 계수들을 사용하여 입력 비트스트림(201)을 디코딩된 픽처(212)로 디코딩하기 위한 디코더(200)로서,
    - 변환 블록(TU)에 위치된 양자화 변환 계수들을, 상기 입력 비트스트림(201)으로부터 획득하도록 적응되는 획득 수단(202, 204, 206),
    - 변환 계수들(210)을 생성하도록 상기 양자화 변환 계수들을 역양자화하도록 적응되는 역양자화 수단(209),
    - 은닉 조건에 종속하여 상기 양자화 변환 계수들로부터 은닉 정보를 재구성하도록 적응되는 컴퓨팅 수단(208)- 상기 은닉 정보는 인덱스 정보의 적어도 일부임 -, 및
    - 인덱스 정보에 의해 변환 타입들의 세트 중에서 식별된 변환 타입에 따라, 상기 변환 계수들(210)을 상기 역변환 변환 계수들(212)로 역변환하도록 적응되는 역변환 수단(211)
    을 포함하는, 디코더.
  6. 제5항에 있어서,
    상기 은닉 정보는 상기 인덱스 정보이어서, 상기 변환 타입은 상기 은닉 정보에 기초하여 상기 변환 타입들의 세트 중에서 식별되게 되는, 디코더.
  7. 제5항에 있어서,
    추출 수단을 포함하고,
    상기 은닉 정보는 상기 인덱스 정보의 일부이고,
    상기 추출 수단은 상기 인덱스 정보의 다른 부분인 시그널링 정보를, 상기 입력 비트스트림(201)으로부터 추출하도록 적응되어, 상기 변환 타입이 상기 은닉 정보 및 상기 시그널링 정보에 기초하여 상기 변환 타입들의 세트 중에서 식별되게 되는, 디코더.
  8. 삭제
  9. 제5항에 있어서,
    상기 은닉 조건은 상기 양자화 변환 계수들에 종속하는 파라미터를 임계값과 비교하는 것을 포함하고,
    상기 컴퓨팅 수단(208)은 상기 은닉 조건을 체크하고, 상기 은닉 조건이 참인 경우에만 상기 양자화 변환 계수들로부터 상기 은닉 정보를 재구성하도록 적응되는, 디코더.
  10. 제9항에 있어서,
    상기 은닉 조건이 거짓이면, 추출 수단은 상기 인덱스 정보인 시그널링 정보를, 상기 입력 비트스트림(201)으로부터 추출하도록 적응되는, 디코더.
  11. 제5항에 있어서,
    계층적으로 계층화된 데이터 구조(CU, PU, TU, CG)를 역분할하는 것에 의해 상기 디코딩된 픽처(212)을 획득하도록 적응되는 역분할 수단을 포함하고, 상기 데이터 구조의 하나의 계층은 상기 변환 블록(TU)이고,
    - 상기 컴퓨팅 수단(208)은 상기 데이터 구조(CU, PU, TU, CG)의 제1 계층으로부터의 상기 은닉 정보의 제1 부분 및 상기 제1 계층과 별개인 상기 데이터 구조(CU, PU, TU, CG)의 제2 계층으로부터의 상기 은닉 정보의 제2 부분을 재구성하도록 적응되거나,
    - 상기 은닉 정보는 상기 인덱스 정보의 일부(emtTuFlag)이고, 상기 컴퓨팅 수단(208)은 상기 데이터 구조(CU, PU, TU, CG)의 제1 계층으로부터의 상기 은닉 정보를 재구성하도록 적응되고, 추출 수단은 상기 제1 계층과 별개인 상기 데이터 구조(CU, PU, TU, CG)의 제2 계층에서의 상기 인덱스 정보의 다른 부분(emtCuFlag, emtTuIdx)인 시그널링 정보를, 상기 입력 비트스트림(201)으로부터 추출하도록 적응되는, 디코더.
  12. 제5항에 있어서,
    계층적으로 계층화된 데이터 구조(CU, PU, TU, CG)를 역분할하는 것에 의해 상기 디코딩된 픽처(212)을 획득하도록 적응되는 역분할 수단을 포함하고, 상기 데이터 구조의 하나의 계층은 상기 변환 블록(TU)이고,
    상기 역분할 수단은 복수의 계수 그룹(CG)을 역분할하는 것에 의해 상기 변환 블록(TU)을 획득하도록 적응되고,
    상기 컴퓨팅 수단(208)은 상기 복수의 계수 그룹(CG) 중 적어도 하나에 위치된 상기 양자화 변환 계수들로부터의 상기 은닉 정보를 재구성하도록 적응되는, 디코더.
  13. 제5항에 있어서,
    상기 컴퓨팅 수단(208)은,
    - 상기 양자화 변환 계수들에 체크-함수를 적용하여 상기 체크-함수의 결과를 획득하도록 적응되고,
    상기 체크-함수의 상기 결과는 상기 은닉 정보에 대응하는, 디코더.
  14. 제5항에 있어서,
    상기 은닉 정보는 제1 및 제2 값들을 갖는 플래그(emtTuFlag)를 포함하고,
    상기 제1 값은 상기 변환 타입들의 세트의 디폴트 변환 타입이 상기 식별된 변환 타입인 것을 식별하고,
    상기 제2 값은 상기 식별된 변환 타입이 상기 디폴트 변환 타입이 없는 상기 변환 타입들의 세트로 이루어지는 서브-세트에 포함되는 것을 나타내는, 디코더.
  15. 역변환 변환 계수들을 사용하여 입력 비트스트림(201)을 디코딩된 픽처(212)로 디코딩하기 위한 방법(800)으로서,
    - 변환 블록(TU)에 위치된 양자화 변환 계수들을, 상기 입력 비트스트림(201)으로부터 획득하는 단계(801),
    - 변환 계수들(210)을 생성하기 위해 상기 양자화 변환 계수들을 역양자화하는 단계(802),
    - 은닉 조건에 종속하여 상기 양자화 변환 계수들로부터 은닉 정보를 재구성하는 단계(803)- 상기 은닉 정보는 인덱스 정보의 적어도 일부임 -, 및
    - 인덱스 정보에 의해 변환 타입들의 세트 중에서 식별된 변환 타입에 따라, 상기 변환 계수들(210)을 상기 역변환 변환 계수들(212)로 역변환하는 단계(804)
    를 포함하는, 방법.
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
KR1020187008581A 2015-12-23 2015-12-23 계층적 분할 내에서 블록 레벨 변환 선택 및 암시적 시그널링을 이용한 변환 코딩을 위한 방법 및 장치 KR102143908B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/RU2015/000921 WO2017111648A1 (en) 2015-12-23 2015-12-23 Method and apparatus for transform coding with block-level transform selection and implicit signaling within hierarchical partitioning

Publications (2)

Publication Number Publication Date
KR20180048809A KR20180048809A (ko) 2018-05-10
KR102143908B1 true KR102143908B1 (ko) 2020-08-28

Family

ID=56464267

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187008581A KR102143908B1 (ko) 2015-12-23 2015-12-23 계층적 분할 내에서 블록 레벨 변환 선택 및 암시적 시그널링을 이용한 변환 코딩을 위한 방법 및 장치

Country Status (10)

Country Link
US (1) US20180262777A1 (ko)
EP (1) EP3335422B1 (ko)
JP (1) JP6595711B2 (ko)
KR (1) KR102143908B1 (ko)
CN (1) CN107925763B (ko)
AU (1) AU2015417837B2 (ko)
CA (1) CA2998468C (ko)
MY (1) MY188166A (ko)
RU (1) RU2682838C1 (ko)
WO (1) WO2017111648A1 (ko)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180107153A (ko) * 2016-02-16 2018-10-01 삼성전자주식회사 영상 부호화 방법 및 장치와 영상 복호화 방법 및 장치
US10972733B2 (en) * 2016-07-15 2021-04-06 Qualcomm Incorporated Look-up table for enhanced multiple transform
US10728548B2 (en) 2017-04-04 2020-07-28 Futurewei Technologies, Inc. Processing reference samples used for intra-prediction of a picture block
US10750181B2 (en) * 2017-05-11 2020-08-18 Mediatek Inc. Method and apparatus of adaptive multiple transforms for video coding
US11665367B2 (en) * 2018-03-30 2023-05-30 Sony Corporation Image processing apparatus and method
US10986340B2 (en) * 2018-06-01 2021-04-20 Qualcomm Incorporated Coding adaptive multiple transform information for video coding
US10666981B2 (en) 2018-06-29 2020-05-26 Tencent America LLC Method, apparatus and medium for decoding or encoding
US10687081B2 (en) 2018-06-29 2020-06-16 Tencent America LLC Method, apparatus and medium for decoding or encoding
EP3818703A1 (en) * 2018-07-02 2021-05-12 FRAUNHOFER-GESELLSCHAFT zur Förderung der angewandten Forschung e.V. Entropy coding of transform coefficients suitable for dependent scalar quantization
US11259052B2 (en) * 2018-07-16 2022-02-22 Qualcomm Incorporated Transform variations of multiple separable transform selection
CN115426493B (zh) * 2018-09-02 2024-05-31 Lg电子株式会社 对视频信号进行编码的方法和计算机可读介质
BR112021005238A2 (pt) * 2018-09-20 2021-06-15 Nokia Technologies Oy um método e um aparelho para codificação e decodificação de material de imagem/vídeo digital
WO2020073882A1 (en) * 2018-10-08 2020-04-16 Huawei Technologies Co., Ltd. Video decoder and corresponding methods
US10893286B2 (en) * 2018-10-09 2021-01-12 Tencent America LLC Methods and apparatus for low-complexity MTS
US11323748B2 (en) 2018-12-19 2022-05-03 Qualcomm Incorporated Tree-based transform unit (TU) partition for video coding
US20220109877A1 (en) * 2018-12-21 2022-04-07 Samsung Electronics Co., Ltd. Video encoding method and device, and video decoding method and device
US11363306B2 (en) * 2019-04-05 2022-06-14 Comcast Cable Communications, Llc Methods, systems, and apparatuses for processing video by adaptive rate distortion optimization
CN110072109B (zh) * 2019-04-25 2021-04-09 四川大学 宏块级最小化失真的h.264/avc视频信息隐藏方法
CN113994666A (zh) * 2019-06-06 2022-01-28 北京字节跳动网络技术有限公司 隐式选择变换候选
JP6912522B2 (ja) * 2019-06-24 2021-08-04 Kddi株式会社 画像復号装置、画像復号方法及びプログラム
MX2022002188A (es) 2019-09-02 2022-03-11 Beijing Bytedance Network Tech Co Ltd Determinacion de modo de codificacion basada en formato de color.
WO2021137633A2 (ko) * 2019-12-30 2021-07-08 재단법인 경주스마트미디어센터 Drm 콘텐츠 병렬 패키징 장치 및 이를 포함하는 drm 콘텐츠 병렬 패키징 시스템 및 drm 콘텐츠 병렬 패키징 방법
KR102302755B1 (ko) * 2019-12-30 2021-09-16 재단법인 경주스마트미디어센터 Drm 콘텐츠 병렬 패키징 장치 및 이를 포함하는 drm 콘텐츠 병렬 패키징 시스템 및 drm 콘텐츠 병렬 패키징 방법
CN114830664A (zh) * 2019-12-30 2022-07-29 Oppo广东移动通信有限公司 变换方法、编码器、解码器以及存储介质
CN114079772B (zh) * 2020-08-21 2023-04-07 腾讯科技(深圳)有限公司 视频解码方法、装置、计算机可读介质及电子设备
CN112565751B (zh) * 2020-09-27 2021-09-10 腾讯科技(深圳)有限公司 视频解码方法、装置、计算机可读介质及电子设备
CN112533000B (zh) * 2020-10-16 2022-08-05 腾讯科技(深圳)有限公司 视频解码方法、装置、计算机可读介质及电子设备

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2219152B1 (en) * 1999-01-25 2018-07-04 Nippon Telegraph And Telephone Corporation Digital watermark embedding and detecting method
MXPA05002002A (es) * 2002-08-21 2005-04-28 Thomson Licensing Sa Datos digitales de marca de agua en un dispositivo del usuario.
JP4124366B2 (ja) * 2004-09-17 2008-07-23 大日本印刷株式会社 電子透かしの埋め込み方法および抽出方法
US8149451B2 (en) * 2007-07-18 2012-04-03 Ricoh Company, Ltd. Information processing device, information embedding method, and program
WO2009045636A2 (en) * 2007-09-28 2009-04-09 Dolby Laboratories Licensing Corporation Multimedia coding and decoding with additional information capability
JP2012516626A (ja) * 2009-01-27 2012-07-19 トムソン ライセンシング ビデオ符号化およびビデオ復号における変換の選択のための方法および装置
JP2011049740A (ja) * 2009-08-26 2011-03-10 Sony Corp 画像処理装置および方法
CN102223540B (zh) * 2011-07-01 2012-12-05 宁波大学 一种面向h.264/avc视频的信息隐藏方法
US9313498B2 (en) 2012-04-16 2016-04-12 Qualcomm Incorporated Sign hiding techniques for quantized transform coefficients in video coding
EP3506636B1 (en) 2012-06-15 2020-08-12 BlackBerry Limited Multi-bit information hiding using overlapping subsets
WO2014084656A1 (ko) * 2012-11-29 2014-06-05 엘지전자 주식회사 복수의 레이어를 지원하는 영상 부호화/복호화 방법 및 장치
US20140286413A1 (en) * 2013-03-25 2014-09-25 Qualcomm Incorporated Disabling sign data hiding in video coding
CN104683811B (zh) * 2013-11-29 2017-12-29 中国科学院声学研究所 一种基于整数dct系数调制的信息隐藏及提取方法
WO2015152757A1 (en) * 2014-04-01 2015-10-08 Huawei Technologies Co., Ltd Methods and apparatus for data hiding in multi-layer structured coding units
US9208534B2 (en) * 2014-05-07 2015-12-08 Cisco Technology Inc. System and method for embedding data

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Robert Cohen, et. al., "Low Complexity Embedding of Information in Transform Coefficients", Joint Collaborative Team on Video Coding of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 5th meeting, 16-23 Mar*

Also Published As

Publication number Publication date
CA2998468C (en) 2021-02-16
KR20180048809A (ko) 2018-05-10
EP3335422A1 (en) 2018-06-20
CN107925763A (zh) 2018-04-17
RU2682838C1 (ru) 2019-03-21
WO2017111648A1 (en) 2017-06-29
JP6595711B2 (ja) 2019-10-23
AU2015417837B2 (en) 2019-07-18
BR112018008131A2 (pt) 2018-11-06
JP2018530970A (ja) 2018-10-18
CA2998468A1 (en) 2017-06-29
EP3335422B1 (en) 2021-12-01
MY188166A (en) 2021-11-24
CN107925763B (zh) 2020-01-10
US20180262777A1 (en) 2018-09-13
AU2015417837A1 (en) 2018-03-22

Similar Documents

Publication Publication Date Title
KR102143908B1 (ko) 계층적 분할 내에서 블록 레벨 변환 선택 및 암시적 시그널링을 이용한 변환 코딩을 위한 방법 및 장치
US11659210B2 (en) Video encoding method for encoding division block, video decoding method for decoding division block, and recording medium for implementing the same
KR102645498B1 (ko) 단일-레벨 변환 분할 및 적응형 서브-블록 변환
US20120147961A1 (en) Use of motion vectors in evaluating geometric partitioning modes
CN111819853A (zh) 变换域中预测的信令残差符号
US10798390B2 (en) Method and apparatus for scan order selection
KR20170107452A (ko) 예측 잔차를 위한 향상된 다수의 변환들
KR101789610B1 (ko) 이미지 코딩/디코딩 방법, 기기 및 시스템
US11582455B2 (en) Method and apparatus for scan order selection
KR20210134555A (ko) 인트라 예측 기반의 영상 부호화 또는 복호화 장치 및 방법
KR20220077931A (ko) 컨텍스트 적응 변환 세트
US10893274B2 (en) Method for processing video signal on basis of arbitrary partition transform
JP6528635B2 (ja) 動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラム
CN111052743B (zh) 视频编码中用于局部选择变换集的变换池
Lasserre et al. Low-complexity intra coding for scalable extension of HEVC based on content statistics
US11647228B2 (en) Method and apparatus for encoding and decoding video signal using transform domain prediction for prediction unit partition
Francisco et al. Efficient recurrent pattern matching video coding
RU2812248C2 (ru) Способ кодирования изображения на основе преобразования и устройство для его осуществления
Nissenbaum Reduction of prediction side-information for image and video compression
KR20240006655A (ko) 일반화된 샘플 오프셋의 적응적 적용
KR20210002506A (ko) 비디오의 인코딩 및 디코딩
CN115349258A (zh) 图像编码系统中用于残差编码的图像解码方法及其设备
BR112018008131B1 (pt) Codificador para codificação de uma imagem de fonte, e decodificador e método para decodificar um fluxo de bits de entrada

Legal Events

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