KR20140010185A - 합성 비디오에서의 무손실 코딩 및 관련 시그널링 방법 - Google Patents

합성 비디오에서의 무손실 코딩 및 관련 시그널링 방법 Download PDF

Info

Publication number
KR20140010185A
KR20140010185A KR1020137033543A KR20137033543A KR20140010185A KR 20140010185 A KR20140010185 A KR 20140010185A KR 1020137033543 A KR1020137033543 A KR 1020137033543A KR 20137033543 A KR20137033543 A KR 20137033543A KR 20140010185 A KR20140010185 A KR 20140010185A
Authority
KR
South Korea
Prior art keywords
transform
bypass flag
block
encoding
current block
Prior art date
Application number
KR1020137033543A
Other languages
English (en)
Other versions
KR101572535B1 (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 KR20140010185A publication Critical patent/KR20140010185A/ko
Application granted granted Critical
Publication of KR101572535B1 publication Critical patent/KR101572535B1/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • 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/154Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
    • 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/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

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

비디오 인코딩에 사용되는 장치는 프로세스를 포함하며, 상기 프로세서는, 비디오 프레임을 수신하고, 상기 비디오 프레임 내의 적어도 하나의 영역을 선택하며, 상기 적어도 하나의 영역의 인코딩에서 양자화 단계를 우회하며, 상기 적어도 하나의 영역 내의 현재 블록에 대해서, 예측 블록을 생성하고, 상기 예측 블록에서 상기 현재 블록을 공제하여 잔여 블록을 생성하며, 상기 잔여 블록의 인코딩에서 변환 단계를 선택적으로 우회하도록 구성되어 있다.

Description

합성 비디오에서의 무손실 코딩 및 관련 시그널링 방법{LOSSLESS CODING AND ASSOCIATED SIGNALING METHODS FOR COMPOUND VIDEO}
본 발명은 Wen Gao 등에 의해 2011년 6월 30일에 출원되고 발명의 명칭이 "Lossless Coding Tools for Compound Video"인 미국 가특허출원 No. 61/503,534에 대한 우선권을 주장하는 바이며, 상기 문헌의 내용은 본 명세서에 원용되어 포함된다.
상대적으로 짧은 영화라도 묘사하는 데 필요한 비디오 데이터의 양은 상당하며, 이에 따라 데이터를 한정된 대역폭 용량으로 통신망을 통해 스트리밍하거나 전송할 때는 곤란을 겪을 수 있다. 그러므로 일반적으로 현대의 통신망을 통해 전송하기 전에 비디오 데이터를 압축한다. 송신지에 있는 비디오 압축 장치는 전송 전에 소프트웨어 및/또는 하드웨어를 사용하여 비디오 데이터를 코딩하는데, 이에 의해 디지털 비디오 이미지를 나타내는 데 필요한 데이터의 품질이 떨어지게 된다. 그런 다음 목적지에 있는 비디오 압축해제 장치는 압축된 데이터를 수신하여 비디오 데이터를 디코딩한다.
네트워크 자원은 한정되어 있고 고품질 비디오에 대한 요구는 점점 늘어감에 따라, 비트레이트를 증가시키지 않고서도 이미지 품질을 향상시키는 압축 및 압축해제 기술의 향상이 요망된다.
본 발명의 실시예에서, 본 개시는 비디오 인코딩에 사용되는 장치를 포함하며, 상기 장치는 프로세스를 포함하며, 상기 프로세서는, 비디오 프레임을 수신하고, 상기 비디오 프레임 내의 적어도 하나의 영역을 선택하며, 상기 적어도 하나의 영역의 인코딩에서 양자화 단계를 우회하며, 상기 적어도 하나의 영역 내의 현재 블록에 대해서, 예측 블록을 생성하고, 상기 예측 블록에서 상기 현재 블록을 공제하여 잔여 블록을 생성하며, 상기 잔여 블록의 인코딩에서 변환 단계를 선택적으로 우회하도록 구성되어 있다.
다른 실시예에서, 본 개시는 비디오 인코딩에서 사용되는 방법을 포함하며, 상기 방법은, 비디오 프레임을 수신하는 단계; 상기 비디오 프레임에서 적어도 하나의 영역을 선택하는 단계; 상기 적어도 하나의 영역의 인코딩에서 양자화 단계를 우회하는 단계; 상기 적어도 하나의 영역 내의 현재 블록에 대해서, 예측 블록을 생성하는 단계, 및 상기 예측 블록에서 상기 현재 블록을 공제하여 잔여 블록을 생성하는 단계; 및 상기 잔여 블록의 인코딩에서 변환 단계를 선택적으로 우회하는 단계를 포함한다.
또 다른 실시예에서, 본 개시는 비디오 디코딩에서 사용되는 장치를 포함하며, 상기 장치는 프로세서를 포함하며, 상기 프로세서는, 인코딩된 비디오 프레임의 시퀀스를 포함하는 비트스트림을 수신하고, 상기 인코딩된 비디오 프레임의 시퀀스를 디코딩하여 디코딩된 비디오 프레임을 생성하도록 구성되어 있고, 상기 비트스트림은 구문에 영역 표시 정보를 더 포함하며, 상기 비디오 프레임을 생성하는 과정은, 상기 인코딩된 비디오 프레임 내의 하나 이상의 무손실 인코딩 영역을 식별하는 과정 및 상기 하나 이상의 무손실 인코딩 영역을 디코딩할 때 역양자화 단계(dequantization step)를 우회하는 과정을 포함한다.
또 다른 실시예에서, 본 개시는 비디오 인코딩에서 사용되는 장치를 포함하며, 상기 프로세서를 포함하며, 상기 프로세서는, 현재 블록에 대해 복수의 잔여 값을 포함하는 잔여 블록을 생성하고, 왜곡률 최적화(rate-distortion optimization: RDO) 프로세스에 기초해서 상기 잔여 블록을 인코딩할 때 변환 단계를 우회할지를 판단하며, 상기 현재 블록에 대해 적어도 하나의 변환 우회 플래그를 설정하며, 적어도 하나의 인코딩된 변환 우회 플래그를 생성하기 위해, 상기 적어도 하나의 변환 우회 플래그에 대해 엔트로피 인코딩을 수행하며, 상기 변환 단계가 우회되면, 상기 복수의 잔여 값 중 적어도 일부에 대해 엔트로피 인코딩을 수행하여 인코딩된 잔여 값을 생성하고, 상기 변환 단계가 우회되지 않으면, 상기 잔여 블록을 복수의 변환 계수를 포함하는 변환 행렬로 변환하고, 상기 복수의 변환 계수에 대해 엔트로피 인코딩을 수행하여 복수의 인코딩된 변환 계수를 생성하도록 구성되어 있다.
이러한 특징 및 다른 특징은 첨부된 도면과 결합하는 이하의 상세한 설명 및 청구의 범위로부터 더 명확하게 이해될 수 있을 것이다.
본 개시를 더 완전하게 이해하기 위해, 첨부된 도면 및 상세한 설명과 연결하여 이하의 간단한 설명을 참조하며, 도면 중 동일한 도면부호는 동일한 구성요소를 나타낸다.
도 1은 변환 우회 인코딩 방식의 실시예에 대한 개략도이다.
도 2는 변환 우회 디코딩 방식의 실시예에 대한 개략도이다.
도 3은 양자화 인코딩 방식이 없는 변환의 실시예에 대한 개략도이다.
도 4는 양자화 디코딩 방식이 없는 변환의 실시예에 대한 개략도이다.
도 5는 손실 인코딩 방식의 실시예에 대한 개략도이다.
도 6은 손실 디코딩 방식의 실시예에 대한 개략도이다.
도 7은 인코딩 방법의 실시예에 대한 흐름도이다.
도 8은 디코딩 방법의 실시예에 대한 흐름도이다.
도 9는 네트워크 유닛의 실시예에 대한 개략도이다.
도 10은 범용 컴퓨터 시스템에 대한 개략도이다.
하나 이상의 실시예에 대한 도해적 실행에 대해 이하에 설명할 것이지만, 개시된 시스템 및/또는 방법은 현재 알려져 있거나 이미 존재하는 임의의 수의 기술을 사용하여 실현될 수 있다는 것을 처음부터 이해해야 한다. 본 개시는 본 명세서에 도해되고 설명되는 예시적 설계 및 실행을 포함한, 도해적 실행, 도면, 및 이하에 설명된 기술에 대해 어떠한 방식으로도 제한되지 않으며, 첨부된 청구의 범위의 범주 내에서 완전히 등가의 범주로 변형이 이루어질 수 있다.
통상적으로, 비디오 미디어는 정지 이미지 또는 프레임의 시퀀스를 상대적으로 고속의 연속으로 디스플레이하며, 이에 의해 보는 사람은 움직임으로 인지하게 된다. 각각의 프레임은 복수의 픽처 요소 또는 픽셀을 포함하며, 이러한 복수의 픽처 요소 또는 픽셀 각각은 그 프레임에서 하나의 기준 포인트를 나타낼 수 있다. 디지털 프로세싱 동안, 각각의 픽셀에는 정수 값(예를 들어, 0, 1, ... 또는 255)이 할당될 수 있는데, 이 정수 값은 대응하는 기준 포인트에서 루미넌스 또는 크로미넌스와 같이 이미지 품질 또는 특성을 나타낸다. 사용 시에, 이미지 또는 비디오 프레임은 대량의 픽셀(예를 들어, 1920x1080 프레임에서 2,073,600 픽셀)을 포함할 수 있는데, 이에 따라 각각의 픽셀을 독립적으로 인코딩하고 디코딩하는 것(이하에서는 간단히 코딩이라 한다)은 성가시고 비효율적일 수 있다. 코딩 효율성을 높이기 위해, 일반적으로 비디오 프레임은 복수의 사각형 블록 또는 매크로블록으로 분할되는데, 이것들은 예측, 변환, 및 양자화와 같은 프로세싱의 기본 단위의 역할을 한다. 예를 들어, 통상적인 NxN 블록은 N2 픽셀을 포함할 수 있으며, 여기서 N은 1보다 큰 정수이고 종종 4의 배수이다.
국제통신연합(ITU) 통신표준섹터(ITU-T) 및 표준을 위한 국제기구(ISO)/국제 전자기술 위원회(IEC)에서의 초안에서, 차세대 비디오 표준, 새로운 블록 개념이 될 것으로 예상되는 고효율 비디오 코딩(HEVC)이 도입되었다. 예를 들어, 코딩 유닛(coding unit: CU)이란 비디오 프레임을 동일한 크기 또는 가변 크기의 사각형 블록으로 서브-파티셔닝하는 것을 말한다. HEVC에서, CU는 이전 표준의 매크로블록 구조를 대체할 수 있다. 인터 예측 또는 인트라 예측의 모드에 의거해서, CU는 하나 이상의 예측 유닛(prediction unit: PU)을 포함할 수 있으며, 각각의 예측 유닛은 예측의 기본 단위의 역할을 할 수 있다. 예를 들어, 인트라 예측에서, 64x64 CU는 4개의 32x32 PU로 대칭으로 분할될 수 있다. 다른 예에서, 인터 예측에 있어서, 64x64 CU는 16x64 PU 및 48x64 PU로 비대칭으로 분할될 수도 있다. 마찬가지로, PU는 하나 이상의 변환 유닛(transform unit: TU)을 포함할 수 있으며, 각각의 TU는 변환 및/또는 양자화를 위한 기본 단위의 역할을 할 수 있다. 예를 들어, 32x32 PU는 16x16 TU로 대칭적으로 분할될 수 있다. 하나의 PU의 복수의 TU는 동일한 예측 모드를 공유할 수 있으나, 별도로 변환될 수도 있다. 여기서, 블록이란 대체로 매크로블록 CU, PU 또는 TU 중 임의의 것을 말한다.
애플리케이션에 따라, 블록은 무손실 모드(즉, 왜곡 또는 정보 손실 없음) 또는 손실 모드(즉, 왜곡이 있음) 중 어느 하나로 코딩될 수 있다. 사용 시에, 고품질 비디오(예를 들어, 4:4:4의 YUV 서브샘플링을 가짐)는 무손실 모드를 사용해서 코딩될 수 있고, 저품질 비디오(예를 들어, 4:2:0의 YUV 서브샘플링을 가짐)는 손실 모드를 사용해서 코딩될 수 있다. 때때로, 단일 비디오 프레임 또는 슬라이스(예를 들어, 4:4:4 또는 4:2:0 중 어느 하나의 YUV 서브샘플링을 가짐)는 무손실 및 손실 모드 모두를 적용하여 복수의 영역을 코딩하는데, 이 복수의 영역은 형상이 사각형 또는 비사각형일 수 있다. 각각의 영역은 복수의 블록을 포함할 수 있다. 예를 들어, 합성 비디오는 상이한 유형의 콘텐츠의 결합을 포함할 수 있는데, 예를 들어, 텍스트, 컴퓨터 그래픽, 및 내추럴-뷰 콘텐츠(예를 들어, 카메라 포착 비디오)를 포함할 수 있다. 합성 프레임에서, 텍스트 및 그래픽의 영역은 무손실 모드에서 코딩될 수 있는 반면, 내추럴-뷰 콘텐츠의 영역은 손실 모드에서 코딩될 수 있다. 텍스트 및 그래픽의 무손실 코딩은 예를 들어 컴퓨터 스크린 공유 애플리케이션에서 바람직할 수 있는데, 손실 코딩은 텍스트 및 그래픽의 화질 및 충실도의 저하가 일어날 수 있어서, 눈의 피로를 유발하기 때문이다. 현재의 HEVC 테스트 모델(HM), 예를 들어, HM 3.0은 내추럴-뷰 콘텐츠를 상당히 효과적으로 코딩할 수 있다. 그렇지만, 현재의 HM은 무손실 코딩 모드가 부족하며, 이에 따라 특정한 비디오(예를 들어, 합성 비디오)에 대해서는 코딩 효율성이 제한될 수 있다. 양자화 파라미터(quantization parameter: QP)가 0에 설정되어 있는 최고 품질에서조차, 코딩 효율성이 여전히 만족스럽지 못할 수 있다.
여기서는 개선된 비디오 코딩을 위한 시스템 및 방법에 대해 개시한다. 본 개시는 무손실 코딩 모드를 제공하는데, 이것은 합성 비디오와 같은 비디오를 코딩할 때 손실 코딩 모드를 실행할 수 있다. 무손실 모드는 변환 우회 코딩 방식 및 양자화 없는 변환 코딩 방식을 포함할 수 있다. 변환 우회 방식에서는, 변환 단계 및 양자화 단계 모두를 건너뛰며, 이에 따라 엔트로피 인코더를 사용해서 잔여 블록을 직접 인코딩한다. 양자화 없는 변환 코딩 방식에서, 변환은 포함하되 양자화는 우회된다. 양자화 없는 변환 코딩 방식의 실시예에서, 변환 알고리즘이 완전히 가역적이지 않으면, 약간의 왜곡 또는 정보 손실이 유도될 수 있는데, 이를 준무손실(near lossless)이라고도 할 수 있다. 사용 시에, 비디오 프레임 또는 슬라이스에 기초해서, (예를 들어, 텍스트 및/또는 그래픽을 포함하는) 일부의 영역은 무손실 모드에서 코딩될 수 있고, (예를 들어, 내추럴-뷰 콘텐츠를 포함하는) 다른 영역은 손실 모드에서 코딩될 수 있다. 인코딩된 비디오 프레임의 디코딩이 적절할 수 있도록 하기 위해, 본 개시에서는 비트스트림의 하이 레벨 구문(high level syntax)에 대한 영역 표시 정보를 포함할 수 있으며, 이러한 영역 표시 정보는 하나 이상의 무손실 인코딩 영역 및/또는 손실 인코딩 영역을 신호할 수 있다. 또한, 무손실 인코딩 영역 내의 블록(예를 들어, PU 또는 TU)에 대해서, 본 개시에서는 루미넌스 및 크로미넌스 픽셀에 대해 하나 이상의 변환 우회 플래그를 설정하여, 인코딩 프로세스에서 변환이 우회되는지를 판단할 수 있다. 변환 우회 플래그는 엔트로피 인코딩될 수 있고 비트스트림에 통합될 수 있다. 비트스트림에 포함되어 있는 정보에 기초해서, 비디오 디코더는 이에 따라 비디오 스트림을 재구성할 수 있다.
사용 시에, 비디오 프레임의 콘텐츠를 분석하고, 무손실 인코딩이 요망되는 특정한 영역(예를 들어, 텍스트 및/또는 그래픽 영역)을 식별하기 위해 모듈이 인코더 전에 있을 수 있다. 무손실 모드에서 어느 영역이 인코딩될 것인지에 관한 정보 또는 명령이 인코더에 보내질 수 있다. 그 정보에 기초해서, 인코더는 무손실 코드를 사용해서 그 식별된 영역을 인코딩할 수 있다. 대안으로, 사용자는 무손실 모드를 사용해서 인코딩될 특정한 영역을 수작업으로 규정하고, 이러한 영역을 식별하는 정보를 인코더에 제공할 수 있다. 그러므로 비디오(예를 들어, 합성 비디오)는 인코더에 의해 수신된 정보에 기초해서, 무손실 모드 및/또는 손실 모드에서 인코딩될 수 있다. 여기서, 무손실 인코딩 모드는 변환 우회 인코딩 및 양자화 없는 변환 인코딩을 포함할 수 있다. 이러한 2개의 무손실 인코딩 방식뿐만 아니라 손실 인코딩 방식에 대해 여기서 설명한다.
마찬가지로, 수신된 비트스트림에 포함되어 있는 정보에 기초해서, 비디오 인코더는 무손실 모드 및/또는 손실 모드를 사용해서 비디오 프레임을 디코딩할 수 있다. 무손실 디코딩 모드는 변환 우회 디코딩 및 양자화 없는 변한 디코딩을 포함할 수 있다. 이러한 2개의 무손실 디코딩 방식뿐만 아니라 손실 디코딩 방식에 대해 여기서 설명한다.
도 1은 비디오 인코더에서 실행될 수 있는 변환 우회 인코딩 방식(100)의 실시예를 도시한다. 변환 우회 인코딩 방식(100)은 도 1에 배열된 바와 같이 왜곡률 최적화(rate-distortion optimization: RDO) 모듈(110), 예측 모듈(120), 엔트로피 인코더(130), 및 재구성 모듈(140)을 포함할 수 있다. 동작 시, 비디오 프레임(또는 슬라이스)의 시퀀스를 포함하는 입력 비디오가 인코더에 의해 수신될 수 있다. 여기서, 프레임이란 예측 프레임(P-프레임), 인트라 코딩된 프레임(I-프레임), 및 양방향 예측 프레임(B-프레임) 중 임의의 프레임을 말한다. 마찬가지로, 슬라이스란 P-슬라이스, I-슬라이스, 또는 B-슬라이스 중 임의의 슬라이스를 말한다.
RDO 모듈(110)은 하나 이상의 다른 모듈에 대해 논리적 결정을 수행하도록 구성될 수 있다. 실시예에서, 하나 이상의 이전에 인코딩된 프레임에 기초해서, RDO 모듈(110)은 인코딩되는 현재 프레임(또는 슬라이스)이 복수의 CU로 분할되는 방법, 및 CU가 하나 이상의 PU 및 TU로 분할되는 방법을 결정할 수 있다. 예를 들어, 현재 프레임의 동질의 영역(즉, 영역 내의 픽셀 값 간의 차이가 없거나 약간 있다)은 상대적으로 큰 블록으로 분할될 수 있고, 현재 프레임의 미세 영역(즉, 영역 내의 픽셀 값 간의 차이가 크다)은 상대적으로 작은 블록으로 분할될 수 있다.
또한, RDO 모듈(110)은 현재 프레임이 예측되는 방법을 결정하여 예측 모듈(120)을 제어할 수 있다. 현재 프레임은 인터 예측 및/또는 인트라 예측으로 예측될 수 있다. 인터 예측(즉, 인터 프레임 예측)은 프레임의 시퀀스에서 시간적 중복성(temporal redundancy)을 사용하여, 예를 들어 연속하는 프레임의 대응하는 블록 간의 유사성을 사용하여, 압축 데이터를 감소할 수 있다. 인터 예측에서, RDO 모듈(110)은 하나 이상의 참조 프레임 내의 대응하는 블록에 기초해서 현재 프레임 내의 블록의 모션 벡터를 결정할 수 있다. 한편, 인트라 예측은 단일 프레임 내의 공간적 중복성, 예를 들어, 인접하는 블록 간의 유사성을 사용하여, 압축 데이터를 감소할 수 있다. 인트라 예측에서는, 현재 블록에 인접하는 참조 픽셀을 사용하여 예측 블록을 생성할 수 있다. 인트라 예측(예를 들어, 인트라 프레임 예측)은 RDO 모듈(110)에 의해 결정될 수 있는 복수의 이용 가능한 예측 모드 또는 방향(예를 들어, HEVC에서 루마 요소에 대한 35개의 모드) 중 임의의 예측 모드 방향을 사용하여 실행될 수 있다. 예를 들어, RDO 모듈(110)은 절대 오류의 합(sum of absolute error: SAE)을 계산하고, SAE가 가장 작은 예측 모드를 선택할 수 있다.
RDO 모듈(110)에 의해 이루어진 논리적 결정에 기초해서, 예측 모듈(120)은 하나 이상의 참조 프레임(인터 예측) 또는 복수의 참조 픽셀(인트라 예측) 중 하나를 사용하여 예측 블록을 생성할 수 있는데, 이것이 현재 블록의 추정치가 될 수 있다. 그런 다음, 현재 블록을 예측 블록에서 공제하고, 이에 의해 잔여 블록이 생성될 수 있다. 잔여 블록은 복수의 잔여 값을 포함할 수 있으며, 이 복수의 잔여 값 각각은 현재 블록 내의 픽셀과 예측 블록 내의 대응하는 픽셀 간의 차이를 나타낼 수 있다. 그런 다음, 잔여 블록의 모든 값은 엔트로피 인코더(130)에 의해 스캐닝되고 인코딩된 비트스트림에 인코딩될 수 있다. 엔트로피 인코더(130)는 문맥 적응형 이진 산술 코딩(context-adaptive binary arithmetic coding: CABAC) 인코딩, 지수 골롬(exponential Golomb) 인코딩, 또는 고정 길이 인코딩과 같이 임의의 엔트로피 인코딩 방식이나, 또는 이것들의 임의의 조합을 적용할 수 있다. 변환 우회 인코딩 방식(100)에서, 잔여 블록은 변환 단계 또는 양자화 단계 없이 인코딩되므로, 인코딩 프로세스에서 정보 손실이 포함되지 않을 수 있다.
비디오 프레임의 연속적인 인코딩을 용이하게 하기 위해, 잔여 블록은 또한 재구성 모듈(140)에도 제공될 수 있으며, 이 재구성 모듈(140)은 미래 블록의 인트라 예측에 대한 참조 픽셀 또는 미래 프레임의 인터 예측에 대한 참조 프레임 중 하나를 생성할 수 있다. 원한다면, 인터/인트라 예측이 사용되기 전에 참조 프레임/픽셀에 대해 필터링이 수행될 수도 있다. 당업자라면 예측 모듈(120) 및 재구성 모듈(140)의 기능에 익숙할 것이므로, 이러한 모듈에 대해서는 더 설명하지 않는다. 도 1은 비디오 인코더를 간략화한 도해일 수 있으므로, 인코더 내에 존재하는 모듈 중 일부만을 포함할 수 있다는 것을 이해해야 한다. 다른 모듈(예를 들어, 필터, 스캐너, 및 전송기)는 도 1에 도시되어 있지 않으나, 비디오 인코딩을 용이하게 하기 위해 포함될 수도 있다는 것을 이해해야 한다. 인코더로부터의 전송 이전에, 인코딩된 비트스트림은 다른 정보, 예를 들어, 비디오 해상도, 프레임 레이트, 블록 파티셔닝 정보(크기, 좌표), 예측 모드 등을 포함하도록 추가로 구성될 수 있으며, 이에 따라 비디오 프레임의 인코딩된 시퀀스가 적절하게 디코딩될 수 있다.
도 2는 비디오 인코더에서 실행될 수 있는 변환 우회 디코딩 방식(200)의 실시예를 도시하고 있다. 변환 우회 디코딩 방식(200)은 변환 우회 인코딩 방식(100)에 대응할 수 있고, 도 2에 도시된 바와 같이, 엔트로피 디코더(210), 예측 모듈(220), 및 재구성 모듈(230)을 포함할 수 있다. 동작 시, 비디오 프레임의 시퀀스에 대한 정보를 포함하는 인코딩된 비트스트림이 엔트로피 디코더(210)에 수신될 수 있고, 이 엔트로피 디코더(210)는 비압축 포맷으로 비트스트림을 디코딩할 수 있다. 엔트로피 디코더(210)는 CABAC 디코딩, 지수 골롬 디코딩, 또는 고정 길이 인코딩과 같은 임의의 엔트로피 디코딩 방식이나, 또는 이것들의 조합을 사용할 수 있다.
디코딩되는 현재 블록에 있어서, 잔여 블록은 엔트로피 디코더(210)의 실행 후 생성될 수 있다. 또한, 현재 블록의 예측 모드를 포함하는 정보는 또한 엔트로피 디코더(210)에 의해서도 디코딩될 수 있다. 그런 다음, 예측 모드에 기초해서, 예측 모듈(220)은 이전에 디코딩된 블록 또는 프레임에 기초해서 현재 블록에 대한 예측 블록을 생성할 수 있다. 예측 모드가 인터 모드이면, 하나 이상의 이전에 디코딩된 참조 프레임을 사용하여 예측 블록을 생성할 수 있다. 이와는 달리, 예측 모드가 인트라 모드이면, 복수의 이전에 디코딩된 참조 픽셀을 사용하여 예측 블록을 생성할 수 있다. 그런 다음, 재구성 모듈(230)은 잔여 블록과 예측 블록을 결합하여 재구성된 블록을 생성할 수 있다. 또한, 비디오 프레임의 연속적인 디코딩을 용이하게 하기 위해, 재구성된 블록을 참조 프레임에서 사용하여 미래 프레임의 인터 예측을 할 수 있다. 재구성된 블록 중 일부의 픽셀은 또한 동일한 프레임 내의 미래 블록의 인트라 예측을 위한 참조 픽셀의 역할을 할 수 있다.
사용 시, 변환 우회 인코딩 방식(100) 및 변한 우회 디코딩 방식(200)과 같은 무손실 방식을 사용하여 원래의 블록을 인코딩 및 디코딩하면, 전체 코딩 프로세스에서 정보 손실이 포함되지 않을 수 있다. 그러므로 전송 동안 야기된 왜곡을 제외하곤, 재구성된 블록은 원래의 블록과 정확하게 동일할 수 있다. 이러한 코딩의 높은 충실도는 텍스트 및 그래픽을 사용자가 볼 때 사용자의 경험을 향상시킬 수 있다.
비디오 프레임 내의 특정한 영역에 대한 무손실 코딩 동안, 때때로 변환 단계를 코딩 프로세스에 포함하는 것이 바람직할 수도 있다. 예를 들어, 텍스트 영역의 일부의 블록에 있어서, 부가된 변환 단계는 변환 우회 코딩 방식에 비해 더 짧은 비트스트림을 생성할 수 있다. 실시예에서, RDO 모듈은 변환 단계를 포함할 것인지를 판정하도록 구성될 수 있다. 예를 들어, 테스트 변환은 잔여 블록을 변환 계수의 행렬로 변환하도록 수행될 수 있다. 변환 계수를 인코딩하는 데 필요한 비트의 수가 잔여 블록에서의 잔여 값을 인코딩하는 데 필요한 비트의 수에 비해 작으면, 변환 단계가 포함될 수 있다. 그렇지 않으면, 변환 단계는 우회될 수 있다. 도 3은 양자화 없는 변환 인코딩 방식(300)의 실시예를 도시하고 있으며, RDO 모듈(310), 예측 모듈(320), 변환 모듈(330), 엔트로피 인코더(340), 역변환 모듈(350), 및 재구성 모듈(360)을 포함할 수 있다. 양자화 없는 변환 인코딩 방식(300)의 일부와 관점은 도 1의 변환 우회 인코딩 방식(100)과 동일하거나 유사할 수 있으며, 따라서 유사한 관점에 대해서는 명확하게 하기 위해 추가로 설명하지 않는다.
양자화 없는 변환 인코딩 방식(300)은 비디오 인코더에서 실행될 수 있으며, 비디오 인코더는 비디오 프레임의 시퀀스를 포함하는 입력 비디오를 수신할 수 있다. RDO 모듈(310)은 하나 이상의 다른 모듈을 제어하도록 구성될 수 있으며, 도 1에서의 RDO 모듈(110)과 동일하거나 유사할 수 있다.
RDO 모듈(310)에 의해 이루어진 논리적 결정에 기초해서, 예측 모듈(320)은 참조 프레임(인터 예측) 또는 참조 픽셀(인트라 예측) 중 하나를 사용하여 예측 블록을 생성할 수 있는데, 이것이 현재 블록의 추정치이다. 그런 다음, 현재 블록을 예측 블록에서 공제하고, 이에 의해 잔여 블록이 생성될 수 있다. 예측 모듈(320)은 도 1의 예측 모듈(120)과 동일하거나 유사할 수 있다.
엔트로피 인코딩을 직접 수행하는 대신, 양자화 없는 변환 인코딩 방식(300)에서의 잔여 블록은 변환 모듈(330)에 의해 공간 도메인으로부터 주파수 도메인으로 먼저 변환될 수 있다. 변환 모듈(330)은 잔여 블록의 값(예를 들어, 잔여 값)을 복수의 변환 계수를 포함하는 변환 행렬로 변환할 수 있다. 변환 모듈(330)은 이산 코사인 변환(discrete cosine transform: DCT), 프랙탈 변환(fractal transform: FT), 또는 이산 웨이블릿 변환(discrete wavelet transform: DWT)과 같은 임의의 적절한 알고리즘을 사용해서 실행될 수 있다. 사용 시에, H.264/고급 비디오 코딩(advanced video coding: AVC)에 규정된 4x4 정수 변환과 같은, 일부의 알고리즘은 어떠한 정보 손실도 유도하지 않으나, 다른 알고리즘, 예를 들어, HEVC 초안에 정의되어 있는 8x8 정수 DCT 변환은 약간의 정보 손실을 유도할 수 있다. 예를 들어, HEVC에서의 8x8 정수 DCT 변환은 완전하게 가역적이 아닐 수 있기 때문에, 역변환 모듈(350) 후의 잔여 블록의 복원된 값은 변환 모듈(330) 전의 잔여 블록의 원래의 값과는 약간 다를 수 있다(예를 들어, ±2 값까지). 약간의 정보 손실이 유도되면, 인코딩은 무손실이 아닌 준무손실일 수 있다. 그렇지만, 양자화 단계에 비해, 변환 단계에 의해 야기되는 정보 손실은 미미하거나 주목하지 않을 정도일 수 있으므로, 양자화 없는 변환 인코딩 방식(300)은 또한 여기서 무손실 코딩 방식으로서 간주될 수 있다.
변환 모듈(330)에 의해 생성된 변환 계수는 스캐닝되고 엔트로피 인코더(340)에 의해 인코딩된 비트스트림으로 인코딩될 수 있다. 엔트로피 인코더(340)는 엔트로피 인코더(130)와 동일하거나 유사할 수 있다. 비디오 프레임의 연속적인 인코딩을 용이하게 하기 위해, 변환 계수는 또한 역변환 모듈(350)에도 제공될 수 있으며, 이 역변환 모듈(350)은 변환 모듈(330)의 역을 수행하고 잔여 블록의 정확한 버전(즉, 무손실) 또는 근사치(즉, 준무손실)를 생성할 수 있다. 그런 다음, 잔여 블록은 재구성 모듈(360)에 제공될 수 있으며, 재구성 모듈(360)은 미래 블록의 인트라 예측에 대한 참조 블록 또는 미래 프레임의 인터 예측에 대한 참조 프레임 중 어느 하나를 생성할 수 있다. 재구성 모듈(360)은 도 1에서의 재구성 모듈(140)과 동일하거나 유사할 수 있다. 인코더로부터의 전송 이전에, 인코딩된 비트스트림은 다른 정보, 예를 들어, 비디오 해상도, 프레임 레이트, 블록 파티셔닝 정보(크기, 좌표), 예측 모드 등을 포함할 수 있으며, 이에 따라 비디오 프레임의 인코딩된 시퀀스가 적절하게 디코딩될 수 있다.
도 4는 비디오 인코더에서 실행될 수 있는 양자화 없는 변환 인코딩 방식(400)의 실시예를 도시하고 있다. 양자화 없는 변환 인코딩 방식(400)은 양자화 없는 변환 인코딩 방식(300)에 대응할 수 있고, 도 4에 도시된 바와 같이 엔트로피 디코더(410), 역변환 모듈(420), 예측 모듈(430), 및 재구성 모듈(440)을 포함할 수 있다. 동작 시, 비디오 프레임의 시퀀스에 대한 정보를 포함하는 인코딩된 비트스트림은 엔트로피 디코더(410)에 의해 수신될 수 있으며, 엔트로피 디코더(410)은 비압축 포맷으로 비트스트림을 디코딩할 수 있다. 엔트로피 디코더(410)은 도 2에서의 엔트로피 디코더(210)와 동일하거나 유사할 수 있다.
엔트로피 디코더(410)의 실행 후, 변환 계수의 행렬이 생성된 다음 역변환 모듈(420)에 제공될 수 있다. 역변환 모듈(420)은 주파수 도메인에서의 변환 계수를 공간 도메인에서의 잔여 픽셀 값으로 변환할 수 있다. 사용 시, 역변환 모듈(420)에 의해 사용되는 알고리즘이 완전하게 가역적인지에 따라, 잔여 블록의 정확한 버전(즉, 무손실) 또는 근사치(즉, 준무손실)가 생성될 수 있다. 역변환 모듈(420)은 도 3에서의 역변환 모듈(350)과 동일하거나 유사할 수 있다.
또한, 현재 블록의 예측 모드를 포함하는 정보도 엔트로피 디코더(410)에 의해 디코딩될 수 있다. 예측 모드에 기초해서, 예측 모듈(430)은 현재 블록에 대한 예측 블록을 생성할 수 있다. 예측 모듈(430)은 도 2에서의 예측 모듈(220)과 동일하거나 유사할 수 있다. 그런 다음 재구성 모듈(440)은 잔여 블록과 예측 블록을 결합하여 재구성된 블록을 생성할 수 있다. 또한, 비디오 프레임의 연속적인 디코딩을 용이하게 하기 위해, 재구성된 블록을 참조 프레임에서 사용하여 미래 프레임을 인터 예측할 수 있다. 재구성된 블록 중 일부의 픽셀은 또한 동일한 프레임 내의 미래 블록의 인트라 예측을 위한 참조 픽셀의 역할을 할 수 있다.
사용 시, 양자화 없는 변환 인코딩 방식(300) 및 양자화 없는 변환 인코딩 방식(400)과 같은 준무손실 방식을 사용하여 원래의 블록을 인코딩 및 디코딩하면, 코딩 프로세스에서 약간의 정보 손실만이 포함될 수 있다. 그러므로 전송 동안 야기된 왜곡을 제외하곤, 재구성된 블록은 원래의 블록과 거의 동일할 수 있다. 양자화 없는 변환 인코딩 방식들은 코딩 충실도의 주목할만한 희생 없이도 변환 우회 방식보다 더 높은 압축비를 달성할 수 있기 때문에 때때로 필요하며, 실시간 인코딩 프로세스를 많이 촉진할 수 있다.
때때로 무손실 모드를 사용하여 전체 인코딩 프레임을 코딩할 필요가 없을 수도 있다. 예를 들어, 합성 비디오에서 (예를 들어, 카메라에 의해 포착된) 내추럴-뷰 콘텐츠는, 원래의 비디오 품질이 이미 제한되어 있기 때문에 또는 손실 코딩에 의한 왜곡이 상당하지 않거나 주목하지 않을 정도이기 때문에, 무손실 코딩이 필요하지 않을 수 있다. 도 5는 손실 인코딩 방식(500)의 실시예를 도시하고 있으며, 이는 현재의 HM에서 사용되는 인코딩 방식과 동일하거나 유사할 수 있다. 손실 인코딩 방식(500)은 RDO 모듈(510), 예측 모듈(520), 변환 모듈(530), 양자화 모듈(540), 엔트로피 인코더(550), 역양자화 모듈(560), 역변환 모듈(570), 및 재구성 모듈(580)을 포함할 수 있다. 손실 인코딩 방식(500)의 일부의 관점은 도 3에서의 양자화 없는 변환 인코딩 방식과 동일하거나 유사할 수 있으므로, 유사한 관점에 대해서는 명확화를 위해 여기서 더 설명하지 않는다.
손실 인코딩 방식(500)은 비디오 인코더에서 실행될 수 있으며, 비디오 인코더는 비디오 프레임의 시퀀스를 수신할 수 있다. RDO 모듈(510)은 하나 이상의 다른 모듈을 제어하도록 구성될 수 있다. RDO 모듈(510)에 의해 이루어진 논리적 결정에 기초해서, 예측 모듈(520)은 참조 프레임 또는 참조 픽셀 중 하나를 사용하여 예측 블록을 생성할 수 있다. 그런 다음, 입력 비디오로부터의 현재 블록을 예측 블록에서 공제하여 잔여 블록을 생성할 수 있다. 잔여 블록은 변환 모듈(530)에 제공되며, 이 변환 모듈(530)은 잔여 픽셀 값을 변환 계수의 행렬로 변환할 수 있다.
양자화 없는 변환 인코딩 방식(300)과는 대조적으로, 손실 인코딩 방식(500)에서는, 변환 계수가 엔트로피 인코더(550)에 제공되기 전에 양자화 모듈(540)에 의해 양자화될 수 있다. 양자화 모듈(540)은 변환 계수의 스케일을 바꾸거나 변환 계수를 상수로 반올림할 수 있으며, 이에 따라 논-제로 계수의 수를 감소시킬 수 있다. 결과적으로, 이러한 정보 손실의 대가로 압축비가 증가할 수 있다.
양자화 모듈(540)에 의해 생성된 양자화 변환 계수는 스캐닝되고 엔트로피 인코더(550)에 의해 인코딩된 비트스트림으로 인코딩될 수 있다. 양자화된 변환 계수는 또한 역양자화 모듈(560)에 제공되어 변환 계수의 원래의 스케일을 복구할 수 있다. 그런 다음, 역변환 모듈(570)은 변환 모듈(530)의 역을 수행하고 원래의 잔여 블록의 노이지 버전(noisy version)을 생성할 수 있다. 그런 다음, 손실 잔여 블록은 재구성 모듈(580)에 제공될 수 있으며, 이 재구성 모듈(580)은 미래 블록의 인트라 예측에 대한 참조 픽셀 또는 미래 프레임의 인터 예측에 대한 참조 프레임 중 하나를 생성할 수 있다.
도 6은 비디오 디코더에서 실행될 수 있는 손실 디코딩 방식(600)의 실시예를 도시하고 있다. 손실 디코딩 방식(600)은 손실 인코딩 방식(500)에 대응할 수 있고, 도 6에 도시된 바와 같이, 엔트로피 디코더(610), 역양자화 모듈(620), 역변환 모듈(630), 예측 모듈(640), 및 재구성 모듈(650)을 포함할 수 있다. 동작 시, 비디오 프레임의 시퀀스에 대한 정보를 포함하는 인코딩된 비트스트림은 엔트로피 디코더(610)에 의해 수신될 수 있으며, 엔트로피 디코더(610)는 비트스트림을 비압축 포맷으로 디코딩할 수 있다. 양자화된 변환 계수의 행렬이 생성된 다음, 역양자화 모듈(620)에 제공될 수 있는데, 이 역양자화 모듈(620)은 도 5의 역양자화 모듈(560)과 동일하거나 유사할 수 있다. 그런 다음, 역양자화 모듈(620)의 출력은 역변환 모듈(630)에 제공되고, 이 역변환 모듈(630)은 변환 계수를 잔여 블록의 잔여 값으로 변환할 수 있다. 또한, 현재 블록의 예측 모드를 포함하는 정보 역시 엔트로피 디코더(610)에 의해 디코딩될 수 있다. 예측 모드에 기초해서, 예측 모듈(640)은 현재 블록에 대한 예측 블록을 생성할 수 있다. 그런 다음, 재구성 모듈(540)은 잔여 블록과 예측 블록을 결합하여 재구성된 블록을 생성할 수 있다. 또한, 연속적인 디코딩을 용이하게 하기 위해, 재구성된 블록을 참조 프레임에서 사용하여 미래 프레임의 인터 예측을 할 수 있다. 재구성된 블록 중 일부의 픽셀은 또한 동일한 프레임 내의 미래 블록의 인트라 예측을 위한 참조 픽셀의 역할을 할 수 있다.
실시예에서, 원한다면, 변환 우회 인코딩 방식(100), 양자화 없는 변환 인코딩 방식(300), 및 손실 인코딩 방식(500)을 포함한, 전술한 모든 인코딩 방식을 단일의 인코더에서 실행할 수 있다. 예를 들어, 합성 비디오를 인코딩할 때, 인코더는 어느 영역이 무손실 모드에서 인코딩되어야 하는지 및/또는 어느 영역이 손실 모드에서 인코딩되어야 하는지에 관한 정보를 수신할 수 있다. 이 정보에 기초해서, 인코더는 손실 모드를 사용하여 특정한 영역을 인코딩할 수 있고 무손실 모드를 사용하여 다른 영역을 인코딩할 수 있다. 무손실 모드에서, 인코더의 RDO 모듈(예를 들어, 도 1의 RDO 모듈(110))은, 변환 우회 인코딩 방식(100) 및 양자화 없는 변환 인코딩 방식(300)에 의해 생긴 비트스트림 길이를 비교한 후, 변환 단계를 우회할지를 판단할 수 있다. 마찬가지로, 원한다면, 변환 우회 디코딩 방식(200), 양자화 없는 변환 디코딩 방식(400), 및 손실 디코딩 방식(600)을 포함한, 전술한 모든 디코딩 방식을 단일의 디코더에서 실행할 수 있다.
디코더가 인코딩된 비디오 프레임을 적절하게 재구성하는 것에 있어서는, 비디오 프레임을 인코딩하는 데 사용되었던 하나 이상의 인코딩 방식을 인식해야 한다. 무손실 인코딩은 비디오 프레임의 일부의 영역(이하, 무손실 인코딩 영역이라 칭함)에만 적용될 수 있기 때문에, 손실 인코딩은 다른 영역(이하 손실 또는 일반적인 인코딩 영역이라 칭함)에 적용될 수 있다. 무손실 인코딩 영역 및/또는 손실 인코딩 영역을 시그널링하는 정보는 인코딩된 비디오 프레임을 실은 비트스트림으로 전달될 수 있다. 사용 시, 이러한 정보는 비트스트림의 시퀀스 파라미터 집합(sequence parameter set: SPS) 또는 픽처 파라미터 집합(picture parameter set: PPS)과 같은 하이 레벨 구문 구조(high level syntax structure)로 포장(pack)될 수 있다. SPS 또는 PPS는 비트스트림의 중요한 규범 부분(normative part)일 수 있으며, 비디오 코딩 표준에 의해 규정될 수 있다. 비트스트림을 수신한 후, 디코더는 SPS 또는 PPS로부터 영역 표시 정보를 추출할 수 있으며, 그런 다음 그 인코딩 모드에 따라 각각의 영역을 재구성할 수 있다. 실시예에서, SPS 또는 PPS는 사각형 무손실 인코딩 영역의 수뿐만 아니라 비디오 프레임 내의 그 위치(예를 들어, 좌상 및 우하 좌표, 또는 우상 및 좌하 좌표)를 식별하는 정보를 포함할 수 있다. 다른 실시예에서, SPS 또는 PPS는 사각형 손실 인코딩 영역의 수뿐만 아니라 비디오 프레임 내의 그 위치(예를 들어, 좌상 및 우하 좌표, 또는 우상 및 좌하 좌표)를 식별하는 정보를 포함할 수 있다.
비디오 회의 동안 화면을 공유하는 것과 같은 일부의 실시예에서, 비디오의 특정한 영역은 임의의 콘텐츠 변화가 복수의 비디오 프레임을 횡단함이 없이 안정한 상태를 유지할 수 있다. 이 경우, 영역 표시 정보는 상대적으로 저주파로만 변경할 수 있고, 이에 따라 이러한 시그널링 방법에 의해 생기는 비트레이트 오버헤드는 무시 가능하다.
무손실 인코딩 영역 내에서는, 변환 우회 방식 및/또는 양자화 없는 변환 방식이 사용될 수 있다. 디코딩을 적절하게 하기 위해, 비트스트림은 또한 변환 우회 방식을 통해 어느 블록이 인코딩되었는지에 관한 정보 및 양자화 없는 변환 방식을 통해 어느 블록이 인코딩되었는지에 관한 정보를 포함할 수 있다. 실시예에서, 무손실 인코딩 영역 내의 각각의 PU에 대해 2개의 변환 우회 플래그가 도입될 수 있다. 루미넌스(루마) 변환 우회 플래그는 변환 단계가 PU의 루마 픽셀의 코딩에서 우회되는지(또는 건너뛰는지)를 나타낼 수 있고 크로미넌스(크로마) 변환 우회 플래그는 변환 단계가 PU의 크로마 픽셀의 코딩에서 우회되는지(또는 건너뛰는지)를 나타낼 수 있다. 예를 들어, 변환 모듈(예를 들어, 도 3의 변환 모듈(330))이 루마 픽셀에 대해 우회되면, 루마 변환 우회 플래그는 '1'에 설정될 수 있다. 이와는 달리, 변환 모듈이 사용되고 양자화 모듈(예를 들어, 양자화 모듈(540))이 우회되면, 루마 변환 우회 플래그가 '0'에 설정될 수 있다. 대안으로, 원한다면, 루마 변환 우회 플래그는 변환 모듈이 우회되면 '0'에 설정될 수 있고, 변환 모듈이 사용되면 '0'에 설정될 수 있다. 크로마 변환 우회 플래그는 루마 변환 우회 플래그와 동일한 또는 유사한 방식을 사용해서 설정될 수 있다.
루마 및 크로마 변환 우회 플래그 모두는 엔트로피 인코더(예를 들어, 도 1의 엔트로피 인코더(130))에 의해 인코딩될 수 있다. 엔트로피 인코더는 복수의 문맥 모델을 사용할 수 있는 CABAC 알고리즘을 사용할 수 있다. 실시예에서, 루마 및 크로마 변환 우회 플래그 각각에 대해 3개의 문맥 모델이 사용될 수 있다. 코딩 효율성을 높이기 위해, 엔트로피 인코더는 인덱스에 기초해서 문맥 모델을 선택할 수 있는데, 이것은 인접하는 PU의 변환 우회 플래그와 상관될 수 있다. 예를 들어, 현재 PU에 대한 크로마 변환 우회 플래그가 동일하거나 유사한 방식으로 코딩될 수 있다는 가정에서, 현재 PU에 대한 루마 변환 우회 플래그의 코딩을 고려한다. 2개의 루마 변환 우회 플래그의 합이 문맥 모델의 인덱스가 되도록 구성될 수 있다. 상위 PU 또는 좌측 PU 중 하나(예를 들어, 무손실 인코딩 영역의 경계 상의 현재 PU)가 루마 변환 우회 플래그를 가지지 않으면, 루마 변환 우회 플래그에 '0'이 할당될 수 있다. 선택된 문맥 모델을 사용해서 엔트로피 인코딩을 수행한 후, 인코딩된 루마 및 크로마 변환 우회 플래그가 비트스트림에 포함될 수 있다.
실시예에서, PU의 루마 및 크로마 성분은 동일한 무손실 코딩 방식을 공유할 수 있고, 이 두 성분은 자신들의 코딩 프로세스에서 변환 단계를 우회하거나 포함할 수 있다. 이 경우, 이 두 성분에 대해 단일의 변환 우회 플래그가 사용될 수 있다. 루마 및 크로마 성분에 대한 개별의 변환 우회 플래그를 비교해 보면, 단일의 변환 우회 플래그가 비트스트림에서 시그널링 오버헤드를 덜 야기할 수 있다. 또한, 변환 우회 플래그(루마 및/또는 크로마)가 전술한 PU 레벨 상에 설정되어 있어도, 원한다면, 변환 우회 플래그 역시 유사하게 TU 레벨 상에 설정될 수 있으며, 이에 따라 입도(granularity)는 더 미세하되 시그널링 오버헤드는 많아지게 된다는 것에 주목하여야 한다.
도 7은 비디오 인코더에서 전술한 인코딩 방식 중 일부 또는 전부를 실행할 수 있는 인코딩 방법(700)의 실시예에 대한 흐름도이다. 방법(700)은 단계 702에서 시작하며, 이 단계에서, 비디오 프레임 또는 슬라이스의 시퀀스를 포함하는 입력 비디오가 수신될 수 있다. 각각의 프레임 또는 한 세트의 프레임에서, 하나 이상의 무손실 인코딩 영역 및/또는 손실 인코딩 영역을 나타내는 정보 또는 명령도 수신될 수 있다. 다음, 단계 703에서, 압축된 비트스트림의 하이 레벨 구문에 영역 표시 정보가 부가되어, 이러한 무손실 인코딩 영역 및/또는 손실 인코딩 영역을 식별할 수 있다. 구문은 비트스트림의 SPS 또는 PPS에 포함될 수 있다. 실시예에서, 영역 표시 정보는 사각형 무손실 인코딩 영역의 수 및 비디오 프레임 내에서 그 위치(예를 들어, 좌상 및 우하 좌표, 또는 우상 및 좌하 좌표)를 포함할 수 있다. 다른 실시예에서, 영역 표시 정보는 사각형 손실 인코딩 영역의 수 및 비디오 프레임 내에서 그 위치(예를 들어, 좌상 및 우하 좌표, 또는 우상 및 좌하 좌표)를 포함할 수 있다. 다음, 단계 704에서, 수신된 정보에 기초해서, 방법(700)은 현재 인코딩되고 있는 영역(예를 들어, 사각형)이 무손실 인코딩 영역인지를 판단할 수 있다. 블록(704)에서의 조건이 충족되면, 방법(700)은 단계 706으로 진행하여 무손실 모드에서 (예를 들어, 변환 우회 인코딩 방식(100) 및/또는 양자화 없는 변환 인코딩 방식(300)을 사용해서) 현재 영역을 인코딩한다. 그렇지 않으면, 방법(700)은 단계 730으로 진행하여 손실 모드에서 (예를 들어, 손실 인코딩 방식(500)을 사용해서) 현재 영역을 인코딩한다.
다음, 단계 706에서, 현재 영역의 블록마다 잔여 블록이 생성될 수 있다. 잔여 블록을 생성하기 위해, RDO 모듈(예를 들어, 도 1의 RDO 모듈(110))은, 현재 영역에 대한 최선의 블록 파티셔닝 방식을 선택하는 것뿐만 아니라 현재 블록(예를 들어, PU)에 대한 최선의 인터 또는 인트라 예측 모드를 판단하는 것과 같은, 논리적 결정을 수행할 수 있다. RDO 모듈의 논리적 결정에 기초해서, 예측 모듈(예를 들어, 예측 모듈(120))은 예측 블록을 생성하며, 그런 다음 현재 블록에서 예측 블록을 공제하여 잔여 블록을 생성할 수 있다.
다음, 단계 708에서, 방법(700)은 변환 단계가 현재 블록의 루마 및/또는 크로마 성분에 대해 우회되어야 하는지를 판단할 수 있으며, 이는 RDO 모듈을 통해 실행될 수 있다. 블록(708)의 조건이 충족되면, 방법(700)은 단계 710으로 진행하고, 이 단계에서, 현재 블록에 대한 하나 이상의 변환 우회 플래그가 '1'에 설정될 수 있다. 그렇지 않으면, 방법(700)은 단계 720으로 진행하고, 이 단계에서 하나 이상의 변환 우회 플래그가 '0'에 설정될 수 있다. 이진 값은 임의 집합이다. 예를 들어, 원한다면, 하나 이상의 변환 우회 플래그를 단계 710에서 '0'에 설정하고 단계 720에서 '1'에 설정할 수 있다. 2개의 성분이 항상 동일한 인코딩 방식을 사용하는 경우에는, 변환 우회 플래그를 공유할 수도 있다.
단계 710에 이어 단계 712가 뒤따를 수 있으며, 엔트로피 인코더(예를 들어, 도 1의 엔트로피 인코더(130))를 사용해서 잔여 블록이 압축된 비트스트림으로 인코딩될 수 있다. 엔트로피 인코더는 CABAC 알고리즘과 같은 적절한 알고리즘을 사용할 수 있다. 또한, 하나 이상의 '1' 변환 우회 플래그가 엔트로피 인코더에 의해 인코딩될 수 있다. 실시예에서는, 루마 및 크로마 성분마다 3개의 문맥 모델을 사용할 수 있다.
단계 720에 이어 단계 722가 뒤따를 수 있으며, 변환 모듈(예를 들어, 도 3의 변환 모듈(330))에서 잔여 블록이 변환 계수의 2차원 행렬로 변환될 수 있다. 변환 모듈은 정수 DCT 변환 및 정수 DCT형 변환과 같은, 임의의 적절한 변환을 사용할 수 있다. 다음, 단계 724에서, 변환 계수는 엔트로피 인코더(예를 들어, 도 3의 엔트로피 인코더(340))를 사용해서 압축된 비트스트림으로 인코딩될 수 있다. 또한, 하나 이상의 '0' 변환 우회 플래그가 엔트로피 인코더에 의해 인코딩될 수 있다.
단계 704에서 현재 영역에 대해 손실 인코딩 모드가 선택되면, 방법(700)은 단계 730으로 진행하여, 현재 영역의 블록마다 잔여 블록이 생성될 수 있다. 잔여 블록을 생성하기 위해,
RDO 모듈(예를 들어, 도 5의 RDO 모듈(510))은, 현재 영역에 대한 최선의 블록 파티셔닝 방식 및 현재 블록(예를 들어, PU)에 대한 최선의 인터 또는 인트라 예측 모드를 선택할 수 있다. RDO 모듈의 논리적 결정에 기초해서, 예측 모듈(예를 들어, 예측 모듈(520))은 예측 블록을 생성하며, 그런 다음 현재 블록에서 예측 블록을 공제하여 잔여 블록을 획득할 수 있다. 다음, 단계 732에서, 잔여 블록은 변환 모듈(예를 들어, 변환 모듈(530))에서 변환 계수의 행렬로 변환될 수 있다. 다음, 단계 734에서, 행렬은 양자화 모듈(예를 들어, 양자화 모듈(540))에서 양자화된 변환 계수의 다른 행렬로 양자화될 수 있다. 다음, 단계 736에서, 양자화된 변환 계수는 엔트로피 인코더(예를 들어, 엔트로피 인코더(550))를 사용해서 영역 예측 정보를 이미 가지고 있을 수 있는 비트스트림으로 인코딩될 수 있다.
현재 영역의 각각의 블록은 단계 702-736 중 일부를 사용해서 인코딩될 수 있다. 실시예에서, 현재 영역 내의 모든 블록을 인코딩한 후에, 단계 740에서, 압축된 비트스트림은 예를 들어 네트워크를 통해 디코더에 전송될 수 있다. 방법(700)은 모든 필요한 인코딩 단계 중 일부만을 포함할 수 있으며, 이에 따라 역양자화 및 역변환 같은 다른 단계들도 필요 시마다 인코딩 프로세스에 통합될 수 있다.
도 8은 디코딩 방법(800)의 실시예에 대한 흐름도로서, 인코딩 방법(700)에 대응할 수 있으며, 비디오 디코더에서 전술한 디코딩 방법 중 일부 또는 전부를 실행할 수 있다. 방법(800)은 단계 802에서 시작하며, 이 단계 802에서 비디오 프레임의 시퀀스를 포함하는 비트스트림이 수신될 수 있다. 다음, 단계 804에서, 비트스트림의 하이 레벨 구문(예를 들어, SPS 또는 PPS)은 영역 표시 정보에 대해 검사될 수 있으며, 하나의 프레임 및 한 세트의 프레임 내의 어느 영역이 무손실 모드에서 인코딩되었는지를 신호할 수 있다. 다음, 단계 806에서, 영역 표시 정보에 기초해서, 방법(800)은 현재 디코딩되고 있는 영역(예를 들어, 사각형)이 무손실 모드에서 인코딩되었는지를 판단할 수 있다. 블록(806)의 조건이 충족되면, 방법(800)은 단계 808로 진행하여 (예를 들어, 변환 우회 디코딩 방식(200) 및/또는 양자화 없는 변환 디코딩 방식(400)을 사용해서) 무손실 모드에서 현재 영역을 디코딩할 수 있다. 그렇지 않으면, 방법(800)은 단계(830)로 진행하여 (예를 들어, 손실 디코딩 방식(500)을 사용해서) 손실 모드에서 현재 영역을 디코딩할 수 있다.
현재 영역의 각각의 블록에 대해, 단계(808)에서, 하나 이상의 인코딩된 변환 우회 플래그가 엔트로피 디코더(예를 들어, 도 2의 엔트로피 디코더(210))에서 디코딩될 수 있으며, 엔트로피 디코더의 역을 수행할 수 있다. 현재 블록의 루마 및 크로마 성분이 개별적인 변환 우회 플래그를 사용하면, 2개의 플래그가 현재 블록에 대해 디코딩될 수 있다. 대안으로, 루마 및 크로마 성분이 변환 우회 플래그를 공유하면, 하나의 플래그가 디코딩될 수 있다. 다음, 단계(810)에서, 방법(800)은 변환 우회 플래그가 '1'인지를 판단할 수 있다. 전술한 바와 같이, '1'의 변환 우회 플래그는 변환 단계가 현재 블록의 인코딩 프로세스에서 우회되었다는 것을 나타낼 수 있으며, '0'의 변환 우회 플래그는 변환 단계가 양자화 없이 사용되었다는 것을 나타낼 수 있다. 여기서 이진 값은 대응하는 인코딩 방법(예를 들어, 방법(700))에 기초해서 해석될 수 있다는 것에 유의해야 한다. 예를 들어, 방법(700)이 '1'과 '0'의 의미가 역인 경우, 방법(800)도 또한 그에 따라 조정될 수 있다. 블록(810)에서의 조건이 충족되면, 방법(800)은 단계(812)로 진행하며, 엔트로피 디코더를 사용해서 현재 블록의 잔여 블록이 비압축 포맷으로 디코딩될 수 있다. 그렇지 않으면, 방법(800)은 단계(820)로 진행하고, 변환 계수의 행렬이 엔트로피 디코더를 사용해서 디코딩될 수 있다. 단계 820에 이어 단계 822가 뒤따를 수 있으며, 역변화 모듈(예를 들어, 도 4의 역변환 모듈(420))을 사용해서 변환 계수가 현재 블록의 잔여 블록으로 변환될 수 있다.
현재 블록이 (블록(806)에 의해 판정된) 손실 디코딩 모드에서 디코딩되어야 하는 경우, 방법(800)은 단계(830)로 진행하고, 양자화된 변환 계수의 행렬이 엔트로피 디코더(예를 들어, 도 6의 엔트로피 디코더(610))에서 디코딩될 수 있다. 다음, 단계(832)에서, 양자화된 변환 계수는 역양자화되어 변환 계수의 원래의 스케일을 복구할 수 있다. 다음, 단계(834)에서, 변환 계수는 현재 블록의 잔여 블록으로 역변환될 수 있다.
무손실 또는 손실 디코딩 모드 중 하나를 사용해서 잔여 블록을 획득한 후, 단계(840)에서, 예측 블록이 생성될 수 있다. 예측 블록은 하나 이상의 이전에 코딩된 프레임 또는 블록뿐만 아니라, 예측 모드를 포함하는 정보에 기초할 수 있다(엔트로피 인코더를 사용해서 비트스트림으로부터 디코딩될 수 있다). 다음, 단계(842)에서, 잔여 블록은 예측 블록에 부가될 수 있으며, 이에 따라 재구성된 블록을 생성한다. 사용된 인코딩 및 디코딩 방식에 따라, 재구성된 블록은 (인코딩 전의) 정확하거나, 근사치이거나 또는 노이지 버전의 원래의 블록일 수 있다. 전송 동안 유도된 왜곡은 제외하고, 원래의 블록으로부터의 모든 정보는 변환 우회 코딩에서 유지될 수 있다. 변환 및 역변환의 속성에 따라, 모든 (또는 거의 모든) 정보는 양자화 없는 변환 코딩에서 유지될 수 있다. 특정한 정보는 손실 코딩에서 손실될 수 있으며, 손실의 정도는 양자화 및 역양자화 단계에 따라 다를 수 있다. 블록의 연속적인 디코딩을 용이하게 하기 위해, 재구성된 블록 중 일부의 픽셀은 또한 미래 블록의 디코딩을 위한 참조 픽셀의 역할을 할 수 있다. 마찬가지로, 현재 프레임 역시 미래 프레임의 디코딩을 위한 참조 픽셀의 역할을 할 수 있다.
도 9는 네트워크 유닛(900)의 실시예를 도시하고 있으며, 예를 들어, 네트워크 또는 시스템 내에서, 전술한 바와 같이 비디오 프레임을 프로세싱하는 인코더 및 디코더를 포함할 수 있다. 네트워크 유닛(900)은 복수의 입력 포트(ingress port)(910) 및/또는 다른 네트워크 유닛 또는 구성요소로부터 데이터를 수신하기 위한 수신기 유닛(Rx)(912), 데이터를 프로세싱하고 어느 네트워크 유닛이 데이터를 송신하는지를 판단하는 논리 유닛 또는 프로세서(920), 및 복수의 출력 포트(egress port)(930) 및/또는 다른 네트워크 유닛에 데이터를 전송하는 전송 유닛(Tx)(932)을 포함할 수 있다. 논리 유닛 또는 프로세서(920)는 본 명세서에서 설명한 방식 중 임의의 방식, 및/또는 인코딩 방식(700) 및 디코딩 방식(800) 중 적어도 하나를 실행하도록 구성되어 있다. 논리 유닛(920)은 하드웨어, 소프트웨어, 또는 양자를 사용해서 실행될 수 있다.
전술한 방식은, 프로세싱 능력이 충분히 있는 컴퓨터 또는 네트워크 구성요소와 같은 범용 네트워크 구성요소, 메모리 자원, 및 내부에 들어 있는 필요한 작업부하를 취급하는 네트워크 처리 용량에 대해 실행될 수 있다. 도 10은 본 명세서에서 인코딩 방법(700) 및 디코딩 방법(800)과 같이, 본 명세서에서 설명한 방법의 하나 이상의 실시예를 실행하기에 적절한 통상적인 범용 네트워크 구성요소 또는 컴퓨터 시스템(100)을 도시하고 있다. 범용 네트워크 구성요소 또는 컴퓨터 시스템(100)은 프로세서(1002)(중앙처리장치 또는 CPU라고 할 수 있다), 상기 프로세서와 통신하는 메모리 장치로서의 제2 저장 장치(1004), 리드 온리 메모리(ROM)(1004), 랜덤 액세스 메모리(RAM)(1006), 입출력(I/0) 장치, 및 네트워크 접속 장치(1012)를 포함한다. 단일의 프로세서로 도시되어 있으나, 프로세서(1002)는 이에 제한되지 않으며 복수의 프로세서를 포함할 수도 있다. 프로세서(1002)는 하나 이상의 CPU 칩, 코어(예를 들어, 멀티코어 프로세서), 필드-프로그래머블 게이트 어레이(FPGA), 주문형 집적회로(ASIC), 및/또는 디지털 신호 프로세서(DSP)로서 실현될 수 있으며, 및/또는 하나 이상의 ASCI의 일부일 수 있다. 프로세서(1002)는, 변환 우회 인코딩 방식(100), 양자화 없는 변환 인코딩 방식(300), 및/또는 인코딩 방법(700) 및 디코딩 방법(800) 중 적어도 하나를 포함하는, 전술한 방식 중 임의의 방식을 실행하도록 구성될 수 있다. 프로세서(1002)는 하드웨어, 소프트웨어, 또는 양자를 사용해서 실현될 수 있다.
제2 저장 장치(1004)는 통상적으로 하나 이상의 디스크 드라이브 또는 테이프 드라이브로 이루어지고, 데이터의 비휘발성 저장을 위해 사용되며, RAM(1008)이 모든 작업을 충분히 유지할 수 있을 정도로 대용량이 아니면 오버-플로우 데이터 저장 장치(over-flow data storage)로서 사용된다. 제2 저장 장치(1004)는, 프로그램을 실행하기 위해 선택할 때 RAM(1008)에 로딩되는 이러한 프로그램을 저장하는 데 사용된다. ROM(1006)은 프로그램의 실행 동안 판독되는 명령 및 데이터를 저장하는 데 사용된다. ROM(1006)은, 통상적으로 대용량의 제2 저장 장치(1004)에 비해 소량의 메모리 용량을 가지는 비휘발성 메모리 장치이다. RAM(1008)은 휘발성 데이터를 저장하고 명령을 저장하는 데 사용된다. ROM(1006) 및 RAM(1008) 모두에 대한 액세스는 통상적으로 제2 저장 장치(1004)보다 빠르다.
적어도 하나의 실시예에 대해 설명하였으며, 당업자가 수행하는 실시예(들) 및/또는 실시예(들)의 특징에 대한 변형, 조합, 및/또는 수정은 본 개시의 범위 내에 있다. 실시예(들)의 특징들을 조합, 통합, 및/또는 생략함으로써 생기는 대안의 실시예도 본 개시의 범위 내에 있다. 수치상의 범위 또는 한계를 명시적으로 나타내는 경우, 그러한 표현 범위 또는 한계는 명시적으로 설명된 범위 또는 한계 내에 부합하는 정도의 반복적인 범위 또는 한계를 포함하는 것으로 파악되어야 한다(예를 들어, 약 1부터 약 10까지는 2, 3, 4 등을 포함하고; 0.10보다 크다는 것은 0.11, 0.12, 0.13 등을 포함한다). 예를 들어, 하한 Rl과 상한 Ru를 가지는 수치상의 범위를 설명할 때마다, 그 범위에 부합하는 임의의 수치는 구체적으로 개시된다. 특히, 범위 내에서 이어지는 수치는 구체적으로 개시된다: R = Rl + k*(Ru - Rl)이고, 여기서 k는 1 퍼센트부터 100 퍼센트까지 1 퍼센트씩 증가하는 변수이고, 즉 k는 1 퍼센트, 2 퍼센트, 3 퍼센트, 4 퍼센트, 7 퍼센트, ..., 70 퍼센트, 71 퍼센트, 72 퍼센트, ..., 95 퍼센트, 96 퍼센트, 97 퍼센트, 98 퍼센트, 99 퍼센트, 또는 100 퍼센트이다. 또한, 위에서 규정한 바와 같이 2개의 R 숫자로 규정된 임의의 수치 범위 역시 구체적으로 개시된다. 용어의 사용은 다른 말이 없으면, 후속의 수의 ±10%를 의미한다. 청구의 범위의 임의의 요소와 관련해서 "선택적으로"란 용어는, 그 요소가 필요하거나, 또는 대안으로 그 요소가 필요하지 않으며, 양자의 대안이 청구의 범위 내의 범위에 있다는 의미이다. 포함하는, 구비하는, 및 가지는과 같이 넓은 용어를 사용하는 것은 이루어져 있는 필수적으로 이루어져 있는, 및 실질적으로 이루어져 있는과 같이 좁은 용어를 지원하는 것으로 파악되어야 한다. 따라서, 보호의 범위는 위에서 설정된 설명에 의해 제한되는 것이 아니라, 청구의 범위의 요지에 대한 모든 등가를 포함하는 그 범위를 따르는 청구의 범위에 의해 규정된다. 각각의 모든 청구항은 명세서에의 추가의 개시로서 통합되며 청구의 범위는 본 발명의 실시예(들)이다. 본 개시에서 참고문헌에 대한 논의는 종래기술이므로 허용되지 않으며, 특히 본 출원의 우선일 이후의 공개일을 가지는 참고문헌은 특히 그러하다. 본 개시에 언급된 모든 특허, 특허 어플리케이션, 및 공개문헌에 대한 설명은 본 명세서로써 참고문헌에 의해 예시, 과정, 또는 그외 본 개시에 대한 상세한 보충을 제공하는 정도로 통합된다.
몇몇 실시예에 대해 본 개시에 제공되었으나, 개시된 시스템 및 방법은 본 개시의 정신 및 범위를 벗어남이 없이 많은 다른 특정한 형태로 구현될 수 있다는 것을 이해해야 한다. 제공된 예는 설명으로서 파악되어야지 제한으로서 파악되어서는 안 되며, 그 의도는 여기에 주어진 상세한 설명에 대한 제한이 아니다는 것이다. 예를 들어, 다양한 요소 및 구성요소는 다른 시스템에 결합 또는 통합될 수 있거나 소정의 특징은 생략될 수 있거나 실현되지 않을 수도 있다.
또한, 다양한 실시예에 독립 또는 별도로 설명되고 도해된 기술, 시스템, 서브시스템 및 방법은 본 개시의 범위를 벗어남이 없이 다른 시스템, 모듈, 기술 또는 방법과 결합되거나 통합될 수 있다. 결합되거나 직접 결합되거나 서로 통신하는 것으로 도시되고 설명된 다른 항목들은 전기적으로, 기계적으로, 또는 그렇지 않은 다른 방식으로든 간에 일부의 인터페이스, 장치, 또는 중간의 구성요소를 통해 직접적으로 결합 또는 통신될 수 있다. 변경, 대체, 및 대안의 다른 예들은 당업자에 의해 확인될 수 있으며 여기에 개시된 정신 및 범위를 벗어남이 없이 이루어질 수 있다.

Claims (40)

  1. 비디오 인코딩에 사용되는 장치에 있어서,
    프로세서를 포함하며,
    상기 프로세서는,
    비디오 프레임을 수신하고,
    상기 비디오 프레임 내의 적어도 하나의 영역을 선택하며,
    상기 적어도 하나의 영역의 인코딩에서 양자화 단계를 우회하며,
    상기 적어도 하나의 영역 내의 현재 블록에 대해서,
    예측 블록을 생성하고,
    상기 예측 블록에서 상기 현재 블록을 공제하여 잔여 블록을 생성하며,
    상기 잔여 블록의 인코딩에서 변환 단계를 선택적으로 우회하도록 구성되어 있는, 장치.
  2. 제1항에 있어서,
    상기 잔여 블록은 복수의 잔여 값(residual value)을 포함하며,
    상기 프로세서는,
    상기 변환 단계가 우회되면, 상기 복수의 잔여 값의 적어도 일부에 대해 엔트로피 인코딩을 수행하여 인코딩된 잔여 값을 생성하며,
    상기 변환 단계가 우회되지 않으면, 상기 잔여 블록을 복수의 변환 계수를 포함하는 변환 행렬로 변환하며,
    상기 복수의 변환 계수에 대해 엔트로피 인코딩을 수행하여 복수의 인코딩된 변환 계수를 생성하도록 구성되어 있는, 장치.
  3. 제2항에 있어서,
    상기 프로세서는,
    상기 인코딩된 적어도 하나의 영역을 비트스트림으로 전송하고,
    상기 비트스트림의 구문(syntax)에 상기 적어도 하나의 영역을 식별하는 영역 표시 정보를 부가하도록 추가로 구성되어 있는, 장치.
  4. 제3항에 있어서,
    상기 프로세서는,
    상기 현재 블록에 대한 적어도 하나의 변환 우회 플래그를 설정하고,
    적어도 하나의 인코딩된 변환 우회 플래그를 생성하기 위해, 상기 적어도 하나의 변환 우회 플래그에 대해 엔트로피 인코딩을 수행하며,
    상기 적어도 하나의 인코딩된 변환 우회 플래그를 상기 비트스트림에 부가하도록 추가로 구성되어 있는, 장치.
  5. 제4항에 있어서,
    상기 프로세서는,
    상기 변환 단계가 우회되면, 상기 변환 우회 플래그를 '1'에 설정하고,
    상기 변환 단계가 우회되지 않으면, 상기 변환 우회 플래그를 '0'에 설정하도록 추가로 구성되어 있는, 장치.
  6. 제5항에 있어서,
    상기 적어도 하나의 변환 우회 플래그에 대해 엔트로피 인코딩을 수행하는 과정은,
    상기 적어도 하나의 변환 우회 플래그 각각에 대해 3개의 문맥 모델(context model)을 사용하는 과정
    을 포함하고,
    상기 3개의 문맥 모델은, 상기 현재 블록의 상위 블록에 속하는 제1 변환 우회 플래그와 상기 현재 블록의 좌측 블록에 속하는 제2 변환 우회 플래그의 합인 인덱스를 통해 선택 가능한, 장치.
  7. 제6항에 있어서,
    상기 현재 블록은 예측 유닛(prediction unit: PU)인, 장치.
  8. 제4항에 있어서,
    상기 현재 블록은 변환 유닛(transform unit: TU)인, 장치.
  9. 제4항에 있어서,
    상기 프로세서는,
    상기 변환 단계가 우회되면, 상기 변환 우회 플래그를 '0'에 설정하고,
    상기 변환 단계가 우회되지 않으면, 상기 변환 우회 플래그를 '1'에 설정하도록 추가로 구성되어 있는, 장치.
  10. 제4항에 있어서,
    상기 적어도 하나의 변환 우회 플래그는 상기 현재 블록의 루마 성분 및 크로마 성분에 적용되는 단일 변환 우회 플래그인, 장치.
  11. 제3항에 있어서,
    상기 구문은 시퀀스 파라미터 집합(sequence parameter set: SPS) 또는 픽처 파라미터 집합(picture parameter set: PPS)을 포함하며,
    상기 영역 표시 정보는,
    하나 이상의 무손실 인코딩 영역의 수; 및
    상기 비디오 프레임 내의 그 위치를 나타내기 위한 상기 하나 이상의 무손실 인코딩 영역 각각에 대한 복수의 좌표
    를 포함하는, 장치.
  12. 제3항에 있어서,
    상기 구문은 SPS 또는 PPS를 포함하며,
    상기 영역 표시 정보는,
    하나 이상의 손실 인코딩 영역의 수; 및
    상기 비디오 프레임 내의 그 위치를 나타내기 위한 상기 하나 이상의 손실 인코딩 영역 각각에 대한 복수의 좌표
    를 포함하는, 장치.
  13. 제2항에 있어서,
    상기 비디오 프레임은 합성 비디오를 포함하는, 장치.
  14. 제2항에 있어서,
    상기 변환 행렬은 정수 이산 코사인 변환(discrete cosine transform: DCT)을 사용하여 생성되는, 장치.
  15. 비디오 인코딩에서 사용되는 방법에 있어서,
    비디오 프레임을 수신하는 단계;
    상기 비디오 프레임에서 적어도 하나의 영역을 선택하는 단계;
    상기 적어도 하나의 영역의 인코딩에서 양자화 단계를 우회하는 단계;
    상기 적어도 하나의 영역 내의 현재 블록에 대해서, 예측 블록을 생성하는 단계, 및 상기 예측 블록에서 상기 현재 블록을 공제하여 잔여 블록을 생성하는 단계; 및
    상기 잔여 블록의 인코딩에서 변환 단계를 선택적으로 우회하는 단계
    를 포함하는 방법.
  16. 제15항에 있어서,
    상기 잔여 블록은 복수의 잔여 값을 포함하며,
    상기 방법은,
    상기 변환 단계가 우회되면, 상기 복수의 잔여 값의 적어도 일부에 대해 엔트로피 인코딩을 수행하여 인코딩된 잔여 값을 생성하는 단계;
    상기 변환 단계가 우회되지 않으면, 상기 잔여 블록을 복수의 변환 계수를 포함하는 변환 행렬로 변환하는 단계; 및
    상기 복수의 변환 계수에 대해 엔트로피 인코딩을 수행하여 복수의 인코딩된 변환 계수를 생성하는 단계
    를 더 포함하는 방법.
  17. 제16항에 있어서,
    상기 인코딩된 적어도 하나의 영역을 비트스트림으로 전송하는 단계; 및
    상기 비트스트림의 구문에 상기 적어도 하나의 영역을 식별하는 영역 표시 정보를 부가하는 단계
    를 더 포함하는, 방법.
  18. 제17항에 있어서,
    상기 현재 블록에 대한 적어도 하나의 변환 우회 플래그를 설정하는 단계;
    적어도 하나의 인코딩된 변환 우회 플래그를 생성하기 위해, 상기 적어도 하나의 변환 우회 플래그에 대해 엔트로피 인코딩을 수행하는 단계; 및
    상기 적어도 하나의 인코딩된 변환 우회 플래그를 상기 비트스트림에 부가하는 단계
    를 더 포함하는 방법.
  19. 제18항에 있어서,
    상기 변환 단계가 우회되면, 상기 변환 우회 플래그를 '1'에 설정하는 단계; 및
    상기 변환 단계가 우회되지 않으면, 상기 변환 우회 플래그를 '0'에 설정하는 단계
    를 더 포함하는 방법.
  20. 제19항에 있어서,
    상기 적어도 하나의 변환 우회 플래그에 대해 엔트로피 인코딩을 수행하는 단계는,
    상기 적어도 하나의 변환 우회 플래그 각각에 대해 3개의 문맥 모델을 사용하는 단계
    를 포함하고,
    상기 3개의 문맥 모델은, 상기 현재 블록의 상위 블록에 속하는 제1 변환 우회 플래그와 상기 현재 블록의 좌측 블록에 속하는 제2 변환 우회 플래그의 합인 인덱스를 통해 선택 가능한, 방법.
  21. 제20항에 있어서,
    상기 현재 블록은 예측 유닛(PU)인, 방법.
  22. 제18항에 있어서,
    상기 현재 블록은 변환 유닛(TU)인, 방법.
  23. 제18항에 있어서,
    상기 변환 단계가 우회되면, 상기 변환 우회 플래그를 '0'에 설정하는 단계; 및
    상기 변환 단계가 우회되지 않으면, 상기 변환 우회 플래그를 '1'에 설정하는 단계
    를 더 포함하는 방법.
  24. 제18항에 있어서,
    상기 적어도 하나의 변환 우회 플래그는 상기 현재 블록의 루마 성분 및 크로마 성분에 적용되는 단일 변환 우회 플래그인, 방법.
  25. 제17항에 있어서,
    상기 구문은 시퀀스 파라미터 집합(SPS) 또는 픽처 파라미터 집합(PPS)을 포함하며,
    상기 영역 표시 정보는,
    하나 이상의 무손실 인코딩 영역의 수; 및
    상기 비디오 프레임 내의 그 위치를 나타내기 위한 상기 하나 이상의 무손실 인코딩 영역 각각에 대한 복수의 좌표
    를 포함하는, 방법.
  26. 제17항에 있어서,
    상기 구문은 SPS 또는 PPS를 포함하며,
    상기 영역 표시 정보는,
    하나 이상의 손실 인코딩 영역의 수; 및
    상기 비디오 프레임 내의 그 위치를 나타내기 위한 상기 하나 이상의 손실 인코딩 영역 각각에 대한 복수의 좌표
    를 포함하는, 방법.
  27. 제16항에 있어서,
    상기 비디오 프레임은 합성 비디오를 포함하는, 방법.
  28. 제16항에 있어서,
    상기 변환 행렬은 정수 이산 코사인 변환(DCT)을 사용하여 생성되는, 방법.
  29. 비디오 디코딩에서 사용되는 장치에 있어서,
    프로세서를 포함하며,
    상기 프로세서는,
    인코딩된 비디오 프레임의 시퀀스를 포함하는 비트스트림을 수신하고,
    상기 인코딩된 비디오 프레임의 시퀀스를 디코딩하여 디코딩된 비디오 프레임의 시퀀스를 생성하도록 구성되어 있고,
    상기 비트스트림은 구문에 영역 표시 정보를 더 포함하며,
    상기 비디오 프레임을 생성하는 과정은,
    상기 인코딩된 비디오 프레임 내의 하나 이상의 무손실 인코딩 영역을 식별하는 과정 및 상기 하나 이상의 무손실 인코딩 영역을 디코딩할 때 역양자화 단계(dequantization step)를 우회하는 과정
    을 포함하는 장치.
  30. 제29항에 있어서,
    상기 구문은 시퀀스 파라미터 집합(SPS) 또는 픽처 파라미터 집합(PPS)을 포함하며,
    상기 SPS 또는 PPS는 상기 영역 표시 정보를 포함하는, 장치.
  31. 제30항에 있어서,
    상기 비트스트림은 각각의 손실 인코딩 영역 내의 각각의 블록에 대해 적어도 하나의 변환 우회 플래그를 더 포함하며,
    상기 프로세스는,
    상기 적어도 하나의 변환 우회 플래그에 기초해서 무손실 인코딩 영역 내의 블록을 디코딩할 때 역변환 단계를 우회할지를 판단하도록 추가로 구성되어 있는, 장치.
  32. 제31항에 있어서,
    상기 적어도 하나의 변환 우회 플래그가 '1'의 값을 가지면 상기 역변환 단계가 우회되고,
    상기 적어도 하나의 변환 우회 플래그가 '0'의 값을 가지면 상기 역변환 단계가 포함되는, 장치.
  33. 제31항에 있어서,
    상기 블록은 예측 유닛(PU)인, 장치.
  34. 제31항에 있어서,
    상기 블록은 변환 유닛(TU)인, 장치.
  35. 제31항에 있어서,
    상기 적어도 하나의 변환 우회 플래그가 '0'의 값을 가지면 상기 역변환 단계가 우회되고,
    상기 적어도 하나의 변환 우회 플래그가 '1'의 값을 가지면 상기 역변환 단계가 포함되는, 장치.
  36. 비디오 인코딩에서 사용되는 장치에 있어서,
    프로세서를 포함하며,
    상기 프로세서는,
    현재 블록에 대해 복수의 잔여 값을 포함하는 잔여 블록을 생성하고,
    왜곡률 최적화(rate-distortion optimization: RDO) 프로세스에 기초해서 상기 잔여 블록을 인코딩할 때 변환 단계를 우회할지를 판단하며,
    상기 현재 블록에 대해 적어도 하나의 변환 우회 플래그를 설정하며,
    적어도 하나의 인코딩된 변환 우회 플래그를 생성하기 위해, 상기 적어도 하나의 변환 우회 플래그에 대해 엔트로피 인코딩을 수행하며,
    상기 변환 단계가 우회되면, 상기 복수의 잔여 값 중 적어도 일부에 대해 엔트로피 인코딩을 수행하여 인코딩된 잔여 값을 생성하고,
    상기 변환 단계가 우회되지 않으면, 상기 잔여 블록을 복수의 변환 계수를 포함하는 변환 행렬로 변환하고, 상기 복수의 변환 계수에 대해 엔트로피 인코딩을 수행하여 복수의 인코딩된 변환 계수를 생성하도록 구성되어 있는, 장치.
  37. 제35항에 있어서,
    상기 프로세서는,
    상기 변환 단계가 우회되면 상기 변환 우회 플래그를 '1'에 설정하고,
    상기 변환 단계가 우회되지 않으면 상기 변환 우회 플래그를 '0'에 설정하도록 추가로 구성되어 있으며,
    상기 적어도 하나의 변환 우회 플래그에 대해 엔트로피 인코딩을 수행하는 과정은,
    상기 적어도 하나의 변환 우회 플래그 각각에 대해 3개의 문맥 모델을 사용하는 과정
    을 포함하고,
    상기 3개의 문맥 모델은, 상기 현재 블록의 상위 블록에 속하는 제1 변환 우회 플래그와 상기 현재 블록의 좌측 블록에 속하는 제2 변환 우회 플래그의 합인 인덱스를 통해 선택 가능한, 장치.
  38. 제36항에 있어서,
    상기 프로세스는,
    상기 상위 블록이 어떠한 변환 우회 플래그를 가지지 않으면 상기 제1 변환 우회 플래그에 '0'을 할당하고,
    상기 좌측 블록이 어떠한 변환 우회 플래그를 가지지 않으면 상기 제2 변환 우회 플래그에 '0'을 할당하도록 추가로 구성되어 있는, 장치.
  39. 제37항에 있어서,
    상기 적어도 하나의 변환 우회 플래그는 상기 현재 블록의 루마 성분 및 크로마 성분에 적용되는 단일 변환 우회 플래그인, 장치.
  40. 제37항에 있어서,
    상기 적어도 하나의 변환 우회 플래그는 상기 현재 블록의 루마 성분에 적용되는 루마 변환 우회 플래그 및 상기 현재 블록의 크로마 성분에 적용되는 크로마 변환 우회 플래그를 포함하는, 장치.
KR1020137033543A 2011-06-30 2012-06-29 합성 비디오에서의 무손실 코딩 및 관련 시그널링 방법 KR101572535B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201161503534P 2011-06-30 2011-06-30
US61/503,534 2011-06-30
PCT/US2012/045133 WO2013003823A1 (en) 2011-06-30 2012-06-29 Lossless coding and associated signaling methods for compound video

Publications (2)

Publication Number Publication Date
KR20140010185A true KR20140010185A (ko) 2014-01-23
KR101572535B1 KR101572535B1 (ko) 2015-11-27

Family

ID=46489494

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020137033543A KR101572535B1 (ko) 2011-06-30 2012-06-29 합성 비디오에서의 무손실 코딩 및 관련 시그널링 방법

Country Status (6)

Country Link
US (1) US20130003838A1 (ko)
EP (1) EP2705667B1 (ko)
JP (1) JP5777080B2 (ko)
KR (1) KR101572535B1 (ko)
CN (1) CN104041035B (ko)
WO (1) WO2013003823A1 (ko)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101441903B1 (ko) * 2008-10-16 2014-09-24 에스케이텔레콤 주식회사 참조 프레임 생성 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
KR20120090740A (ko) * 2011-02-07 2012-08-17 (주)휴맥스 정밀한 단위의 필터 선택을 적용한 영상 부호화/복호화 장치 및 방법
US11184623B2 (en) 2011-09-26 2021-11-23 Texas Instruments Incorporated Method and system for lossless coding mode in video coding
KR101641863B1 (ko) 2011-10-19 2016-07-22 주식회사 케이티 영상 부호화/복호화 방법 및 그 장치
US10645398B2 (en) 2011-10-25 2020-05-05 Texas Instruments Incorporated Sample-based angular intra-prediction in video coding
US10390046B2 (en) * 2011-11-07 2019-08-20 Qualcomm Incorporated Coding significant coefficient information in transform skip mode
AU2012200345B2 (en) * 2012-01-20 2014-05-01 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding the significance map residual coefficients of a transform unit
US20130294524A1 (en) * 2012-05-04 2013-11-07 Qualcomm Incorporated Transform skipping and lossless coding unification
WO2013175736A1 (ja) * 2012-05-25 2013-11-28 パナソニック株式会社 動画像符号化方法、動画像符号化装置、動画像復号方法、動画像復号装置、および、動画像符号化復号装置
RU2679984C2 (ru) 2012-05-25 2019-02-14 Вилос Медиа Интернэшнл Лимитед Способ кодирования изображений, устройство кодирования изображений, способ декодирования изображений, устройство декодирования изображений и устройство кодирования и декодирования изображений
RU2623800C2 (ru) 2012-05-25 2017-06-29 Сан Пэтент Траст Способ кодирования видеоизображений, способ декодирования видеоизображений, устройство кодирования видеоизображений, устройство декодирования видеоизображений и устройство кодирования-декодирования видеоизображений
EP4020990A1 (en) 2012-06-04 2022-06-29 Sun Patent Trust Video image encoding device, video image decoding device
US20140056347A1 (en) * 2012-08-23 2014-02-27 Microsoft Corporation Non-Transform Coding
US9936200B2 (en) * 2013-04-12 2018-04-03 Qualcomm Incorporated Rice parameter update for coefficient level coding in video coding process
US10003792B2 (en) * 2013-05-27 2018-06-19 Microsoft Technology Licensing, Llc Video encoder for images
US10021419B2 (en) 2013-07-12 2018-07-10 Qualcomm Incorported Rice parameter initialization for coefficient level coding in video coding process
RU2666635C2 (ru) 2013-10-14 2018-09-11 МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи Характеристики режима индексной карты основных цветов для кодирования и декодирования видео и изображения
WO2015139165A1 (en) 2014-03-17 2015-09-24 Microsoft Technology Licensing, Llc Encoder-side decisions for screen content encoding
EP3202150B1 (en) 2014-09-30 2021-07-21 Microsoft Technology Licensing, LLC Rules for intra-picture prediction modes when wavefront parallel processing is enabled
CN106416254B (zh) 2015-02-06 2019-08-02 微软技术许可有限责任公司 在媒体编码期间跳过评估阶段
CN106664405B (zh) * 2015-06-09 2020-06-09 微软技术许可有限责任公司 用调色板模式对经逸出编码的像素的稳健编码/解码
US10038917B2 (en) 2015-06-12 2018-07-31 Microsoft Technology Licensing, Llc Search strategies for intra-picture prediction modes
US10136132B2 (en) 2015-07-21 2018-11-20 Microsoft Technology Licensing, Llc Adaptive skip or zero block detection combined with transform size decision
JP6504604B2 (ja) * 2015-08-25 2019-04-24 Kddi株式会社 動画像符号化装置、動画像復号装置、動画像処理システム、動画像符号化方法、動画像復号方法、およびプログラム
US11438582B2 (en) 2016-08-03 2022-09-06 Kt Corporation Video signal processing method and device for performing intra-prediction for an encoding/decoding target block
US11405645B2 (en) * 2017-02-28 2022-08-02 Google Llc Transform kernel selection and entropy coding
KR102401851B1 (ko) * 2017-06-14 2022-05-26 삼성디스플레이 주식회사 영상 압축 방법 및 이를 수행하는 표시 장치
TWI794129B (zh) * 2017-07-13 2023-02-21 美商松下電器(美國)知識產權公司 編碼裝置、編碼方法、解碼裝置、解碼方法及電腦可讀取之非暫時性媒體
JP7036123B2 (ja) * 2017-12-05 2022-03-15 株式会社ソシオネクスト 符号化方法、復号方法、符号化装置、復号装置、符号化プログラム及び復号プログラム
SG11202105604UA (en) * 2018-11-27 2021-06-29 Op Solutions Llc Block-based spatial activity measures for pictures cross-reference to related applications
BR112021022307A2 (pt) 2019-05-13 2021-12-28 Beijing Bytedance Network Tech Co Ltd Método de processamento de dados de vídeo, aparelho para processamento de dados de vídeo, meios de armazenamento e de gravação não transitórios legíveis por computador
CN113853787B (zh) * 2019-05-22 2023-12-22 北京字节跳动网络技术有限公司 基于子块使用变换跳过模式
CA3141992A1 (en) * 2019-05-31 2020-12-03 Interdigital Vc Holdings, Inc. Transform selection for implicit multiple transform selection
BR112022020525A2 (pt) * 2020-04-13 2022-12-06 Op Solutions Llc Métodos e sistemas para codificação sem perdas e com perdas combinadas
TW202147850A (zh) * 2020-05-01 2021-12-16 美商Op解決方案公司 用於組合無損和有損寫碼之方法和系統
US11546617B2 (en) 2020-06-30 2023-01-03 At&T Mobility Ii Llc Separation of graphics from natural video in streaming video content
WO2022047129A1 (en) * 2020-08-28 2022-03-03 Op Solutions, Llc Methods and systems for combined lossless and lossy coding

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08256341A (ja) * 1995-03-17 1996-10-01 Sony Corp 画像信号符号化方法、画像信号符号化装置、画像信号記録媒体、及び画像信号復号化装置
JP2005167655A (ja) * 2003-12-03 2005-06-23 Matsushita Electric Ind Co Ltd 変換符号化方法および変換復号化方法
US7933337B2 (en) * 2005-08-12 2011-04-26 Microsoft Corporation Prediction of transform coefficients for image compression
KR100813963B1 (ko) * 2005-09-16 2008-03-14 세종대학교산학협력단 동영상의 무손실 부호화, 복호화 방법 및 장치
JP5061122B2 (ja) * 2006-01-09 2012-10-31 マティアス・ナロシュケ ハイブリッドなビデオ符号化における予測誤差の適応符号化
US7995649B2 (en) * 2006-04-07 2011-08-09 Microsoft Corporation Quantization adjustment based on texture level
US8515194B2 (en) * 2007-02-21 2013-08-20 Microsoft Corporation Signaling and uses of windowing information for images
US8275208B2 (en) * 2008-07-02 2012-09-25 Samsung Electronics Co., Ltd. Method and apparatus for encoding and decoding image using image separation based on bit location
US8270476B2 (en) * 2008-12-31 2012-09-18 Advanced Micro Devices, Inc. Face detection system for video encoders
KR20110071231A (ko) * 2009-12-21 2011-06-29 엠텍비젼 주식회사 부호화 방법, 복호화 방법 및 장치
US8385666B2 (en) * 2010-03-31 2013-02-26 Microsoft Corporation Classification and encoder selection based on content
PL2559166T3 (pl) * 2010-04-13 2018-04-30 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Koder i dekoder dzielący interwał prawdopodobieństwa
CN102098507B (zh) * 2010-06-08 2013-12-25 同济大学 图像统合压缩方法及装置
WO2012120908A1 (ja) * 2011-03-09 2012-09-13 パナソニック株式会社 動画像符号化装置および動画像符号化方法

Also Published As

Publication number Publication date
US20130003838A1 (en) 2013-01-03
WO2013003823A1 (en) 2013-01-03
EP2705667A1 (en) 2014-03-12
JP5777080B2 (ja) 2015-09-09
KR101572535B1 (ko) 2015-11-27
CN104041035A (zh) 2014-09-10
EP2705667B1 (en) 2016-09-21
JP2014520493A (ja) 2014-08-21
CN104041035B (zh) 2017-06-27

Similar Documents

Publication Publication Date Title
KR101572535B1 (ko) 합성 비디오에서의 무손실 코딩 및 관련 시그널링 방법
CN106170092B (zh) 用于无损编码的快速编码方法
JP7271683B2 (ja) エンコーダ、デコーダ、および対応するイントラ予測方法
KR20210125451A (ko) 필터 정보 예측을 이용한 영상 부호화/복호화 방법 및 장치
JP7454633B2 (ja) パレット符号化を使用するエンコード装置、デコード装置および対応する方法
KR20210134402A (ko) 인코더, 디코더 및 대응하는 인트라 예측을 위한 방법
WO2013067436A1 (en) Binarization of prediction residuals for lossless video coding
JP7358473B2 (ja) 多仮説予測を用いたブロックのための最確モードリスト構成のエンコーダ、デコーダ、および対応する方法
KR20210125088A (ko) 매트릭스 기반 인트라 예측 및 2차 변환 코어 선택을 조화시키는 인코더, 디코더 및 대응 방법
JP7372465B2 (ja) シーケンスパラメータセット内でのサブピクチャのシグナリングのためのエンコーダ、デコーダ、および対応する方法
JP2023133391A (ja) 適応ループ・フィルタを用いたエンコーダ、デコーダおよび対応する方法
KR102660599B1 (ko) 비디오 인코더, 비디오 디코더 및 상응하는 방법들
JP2023153802A (ja) イントラ・サブパーティション・コーディング・ツールによって引き起こされるサブパーティション境界のためのデブロッキングフィルタ
KR20210139446A (ko) 인트라 스무딩을 위한 방법 및 장치
JP7454657B2 (ja) ピクチャーレベルでの非ピクチャーレベルの構文要素のシグナリング
KR20210107889A (ko) 인코더, 디코더 및 디블로킹 필터 적응 방법
WO2016115186A1 (en) Gradual updating using transform coefficients for encoding and decoding
CN113660489B (zh) 用于帧内子划分的解码方法、装置、解码器和存储介质
KR20220070542A (ko) 시그널링 픽처 헤더를 단순화하기 위한 인코더, 디코더 및 대응 방법
KR20210103572A (ko) 타일 구성 시그널링을 위한 인코더, 디코더 및 대응 방법
WO2012044093A2 (ko) 필터 정보 예측을 이용한 영상 부호화/복호화 방법 및 장치
KR20220051402A (ko) 가중 예측을 위한 하이-레벨 시그널링의 방법 및 장치
KR20220032625A (ko) 크로마 인트라 모드 도출 인코더, 디코더 및 대응하는 방법
KR20210145824A (ko) 제산 없는 인트라 예측을 위한 방법 및 장치
JP7414976B2 (ja) エンコーダ、デコーダ、および、対応する方法

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
FPAY Annual fee payment

Payment date: 20181101

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20191029

Year of fee payment: 5