KR101721815B1 - 고충실도 코더로 저충실도 코딩을 에뮬레이트하는 방법 및 장치 - Google Patents
고충실도 코더로 저충실도 코딩을 에뮬레이트하는 방법 및 장치 Download PDFInfo
- Publication number
- KR101721815B1 KR101721815B1 KR1020167002383A KR20167002383A KR101721815B1 KR 101721815 B1 KR101721815 B1 KR 101721815B1 KR 1020167002383 A KR1020167002383 A KR 1020167002383A KR 20167002383 A KR20167002383 A KR 20167002383A KR 101721815 B1 KR101721815 B1 KR 101721815B1
- Authority
- KR
- South Korea
- Prior art keywords
- chroma
- low fidelity
- video
- flag
- coding unit
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/124—Quantisation
- H04N19/126—Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/186—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/184—Methods 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 bits, e.g. of the compressed video stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Color Television Systems (AREA)
Abstract
저충실도 모드에서 비디오를 인코딩 및 디코딩하는 방법이 개시된다. 저충실도 모드가 특정 코딩 단위에 대하여 인에이블되는지 여부를 신호하기 위해 코딩 단위 레벨 저충실도 플래그가 비트스트림에 제공된다. 만일 인에이블되면, 그 코딩 단위에 대하여, 저충실도 모드 오프셋에 의해 조정된 루마 양자화 파라미터를 이용하여 크로마 양자화 파라미터가 결정된다. 만일 인에이블되지 않으면, 그 코딩 단위에 대하여, 저충실도 모드 오프셋에 의한 조정이 없는 루마 양자화 파라미터를 이용하여 크로마 양자화 파라미터가 결정된다. 크로마 양자화 파라미터는 그 다음에 양자화 크로마 변환 도메인 계수의 스케일링시에 사용된다. 루마 또는 다른 비디오 컴포넌트와 함께 사용하는 것이 또한 제안된다.
Description
본 발명은 일반적으로 데이터 압축에 관한 것으로, 특히 고충실도 코더로 저충실도 코딩을 에뮬레이트하는 비디오 코딩 방법 및 장치에 관한 것이다.
데이터 압축은 다수의 상황에서 발생한다. 데이터 압축은 정보를 효율적으로 저장, 전송 및 재생하기 위해 통신 및 컴퓨터 네트워킹에서 매우 일반적으로 사용된다. 데이터 압축은 이미지, 오디오 및 비디오의 인코딩시에 특수한 응용을 찾는다. 비디오는 각 비디오 프레임에 대하여 요구되는 다량의 데이터 및 인코딩 및 디코딩시에 종종 필요로 하는 속도 때문에 데이터 압축에 있어서 중요한 난제를 제시한다. 현재 최신의 비디오 인코딩은 ITU-T H.265/HEVC 비디오 코딩 표준이다. 이 방식은 상이한 응용을 위한 다수의 상이한 프로파일, 예를 들면, 메인 프로파일, 메인 정지화상 프로파일 등을 규정한다.
이미지 및 비디오를 인코딩/디코딩하는 데는 블록 기반 코딩 처리를 이용하는 H.265를 포함한 다수의 표준이 있다. 이러한 처리에서, 이미지 또는 프레임은 크기가 전형적으로 4×4 내지 64×64 범위인 다수의 블록으로 나누어진다. 그러나 일부 경우에는 비사각형 블록을 사용할 수 있으며, 블록들은 계수로 스펙트럼적으로 변환되고 양자화되고 엔트로피 인코딩된다. 많은 경우에, 변환되는 데이터는 실제의 화소 데이터가 아니고 예측 동작을 따르는 잔여 데이터이다. 예측은 인트라 프레임 예측, 즉 프레임/이미지 내의 블록 대 블록 예측이거나, 또는 인터 프레임 예측, 즉 프레임들 간의 예측(움직임 예측이라고도 부름)일 수 있다.
잔여 데이터를 스펙트럼적으로 변환할 때, 다수의 이러한 표준들은 이산 코사인 변환(discrete cosine transform, DCT) 또는 그 일부 변체의 사용을 규정한다. 그 다음에, 결과적인 DCT 계수들이 양자화기를 이용하여 양자화되어 양자화 변환 도메인 계수를 생성한다. 양자화 계수의 블록들은 그 다음에 모션 벡터 및 기타 데이터와 같은 부수 정보와 함께 엔트로피 인코딩 및 패키징되어 인코딩된 비디오의 비트스트림을 생성한다.
디코더에서는 비트스트림이 엔트로피 디코딩되어 양자화 계수를 재구성한다. 그 다음에, 디코더는 상기 재구성된 양자화 계수를 역양자화 및 역변환하여 화소 도메인 잔여(pixel domain residual)를 재구성한다. 그 다음에, 인코더에서 사용한 것과 동일한 예측 동작을 이용하여 화소 데이터가 재구성된다.
화소 데이터는 일반적으로 루마(luma) 성분 및 크로마(chroma) 성분으로 분리되고, 이들은 각각 유사한 처리를 이용하여 인코딩된다(일반적으로 2개의 크로마 성분). 색 데이터의 공간적 위치에 대하여 인간의 인지 능력에 제한이 있기 때문에, 크로마는 각각의 크로마 성분에 대하여 매 2개 또는 4개의 루마 샘플마다 단일 크로마 샘플만이 전송되도록 전형적으로 서브샘플링된다. 이것은 자연 풍경 영상인 경우에 잘 작용되지만, 흐릿함 및 기타의 아티팩트를 피하기 위해 명확한 색 테두리 선명도를 요구하는 텍스트 및 그래픽과 같은 컴퓨터 발생 콘텐츠인 경우에는 문제점이 발생한다.
일부 유형의 콘텐츠에 대한 크로마 서브샘플링의 부적합성은 자연 풍경과 컴퓨터 발생 그래픽을 둘 다 포함하는 혼합 콘텐츠의 경우에 더욱 문제가 된다.
본 발명은 고충실도 코더로 저충실도 코딩을 선택적으로 에뮬레이트하기 위해 비디오를 인코딩 및 디코딩하는 방법 및 인코더/디코더와 관련된다. 저충실도 코딩은 비디오 컴포넌트와 연관되고 코딩 단위와 연관된 저충실도 플래그에 의해 신호된다. 만일 저충실도 플래그가 설정된 경우, 그 코딩 단위의 비디오 컴포넌트는 인코딩 및/또는 디코딩시에 사용하는 양자화 파라미터를 조정함으로써 저충실도 모드로 인코딩 또는 디코딩된다.
제1 양태에 있어서, 본 발명은 코딩 단위들로 분할된 화상을 포함한 비디오를 인코딩된 비디오의 비트스트림으로부터 비디오 디코더를 이용하여 디코딩하는 방법과 관련된다. 이 방법은, 코딩 단위들 중의 하나의 코딩 단위에 대하여, 코딩 단위와 연관되고 비디오 컴포넌트와 연관된 저충실도 플래그를 재구성하는 단계를 포함한다. 이 방법은 또한, 만일 저충실도 플래그가 설정된 경우, 저충실도 모드 오프셋에 기초하여 비디오 컴포넌트를 위한 양자화 파라미터를 결정하는 단계와; 만일 저충실도 플래그가 설정되지 않은 경우, 저충실도 모드 오프셋을 이용하지 않고 비디오 컴포넌트를 위한 양자화 파라미터를 결정하는 단계와; 역양자화 계수를 생성하도록 상기 양자화 파라미터에 기초하여 코딩 단위를 위한 비디오 컴포넌트의 디코딩된 계수를 역양자화하는 단계를 포함한다.
본 발명은 또한 코딩 단위들로 분할된 화상을 포함하는 비디오를 인코딩된 비디오의 비트스트림을 생성하도록 비디오 인코더를 이용하여 인코딩하는 방법과 관련된다. 이 방법은, 코딩 단위들 중의 하나의 코딩 단위에 대하여, 코딩 단위와 연관되고 비디오 컴포넌트와 연관된 저충실도 플래그를 인코딩하는 단계를 포함하고, 이때 만일 코딩 단위가 저충실도 모드로 인코딩되어야 하면 저충실도 플래그가 설정되고 만일 코딩 단위가 저충실도 모드로 인코딩되지 않아야 하면 저충실도 플래그가 설정되지 않는다. 이 방법은 또한, 코딩 단위가 저충실도 모드로 인코딩되어야 하는 경우 저충실도 모드 오프셋에 기초하여 비디오 컴포넌트를 위한 양자화 파라미터를 결정하는 단계와; 코딩 단위가 저충실도 모드로 인코딩되지 않아야 하는 경우 저충실도 모드 오프셋을 이용하지 않고 비디오 컴포넌트를 위한 양자화 파라미터를 결정하는 단계와; 양자화 계수를 생성하도록 상기 양자화 파라미터에 기초하여 코딩 단위를 위한 비디오 컴포넌트의 변환 계수를 양자화하는 단계를 포함한다.
비디오 컴포넌트는 루마 성분, 크로마 성분, 알파 성분, 적색 성분, 녹색 성분 및 청색 성분 중의 적어도 하나를 포함할 수 있다.
추가의 양태에 있어서, 본 발명은 상기 인코딩 및 디코딩 방법을 구현하도록 구성된 인코더 및 디코더와 관련된다.
다른 양태에 있어서, 본 발명은 실행된 때 여기에서 설명하는 인코딩 및/또는 디코딩 방법을 수행하도록 프로세서를 구성하는 컴퓨터 실행가능 프로그램 명령어를 저장한 비일시적 컴퓨터 판독가능 매체와 관련된다.
본 발명의 다른 양태 및 특징은 첨부 도면과 함께하는 실시예에 관한 하기의 설명을 읽음으로써 당업자에게 잘 이해될 것이다.
이제, 본 발명의 예시적인 실시형태를 나타내는 첨부 도면을 예로서 참조한다.
도 1은 비디오를 인코딩하는 인코더를 블록도 형태로 보인 도이다.
도 2는 비디오를 디코딩하는 디코더를 블록도 형태로 보인 도이다.
도 3은 비디오를 인코딩하는 예시적인 처리를 흐름도 형태로 보인 도이다.
도 4는 필터링 예측에 기초한 인코딩된 비디오의 비트스트림을 디코딩하는 처리를 흐름도 형태로 보인 도이다.
도 5는 인코더의 예시적인 실시형태의 단순화한 블록도이다.
도 6은 디코더의 예시적인 실시형태의 단순화한 블록도이다.
각각의 도면에서 유사한 참조 번호는 유사한 컴포넌트를 표시하기 위해 사용된다.
도 1은 비디오를 인코딩하는 인코더를 블록도 형태로 보인 도이다.
도 2는 비디오를 디코딩하는 디코더를 블록도 형태로 보인 도이다.
도 3은 비디오를 인코딩하는 예시적인 처리를 흐름도 형태로 보인 도이다.
도 4는 필터링 예측에 기초한 인코딩된 비디오의 비트스트림을 디코딩하는 처리를 흐름도 형태로 보인 도이다.
도 5는 인코더의 예시적인 실시형태의 단순화한 블록도이다.
도 6은 디코더의 예시적인 실시형태의 단순화한 블록도이다.
각각의 도면에서 유사한 참조 번호는 유사한 컴포넌트를 표시하기 위해 사용된다.
이하의 설명에 있어서, 일부 예시적인 실시형태는 비디오 코딩을 위한 H.264 표준 및/또는 개발중인 H.265/HEVC 표준과 관련하여 설명된다. 당업자라면 본 발명이 H.264/AVC 또는 H.265/HEVC로 제한되지 않고 가능한 미래의 표준, 멀티뷰 코딩 표준, 스케일러블 비디오 코딩 표준 및 재구성 가능한 비디오 코딩 표준을 포함한 다른 비디오 코딩/디코딩 표준에 적용할 수 있다는 것을 이해할 것이다.
이하의 설명에서, 비디오 또는 이미지를 인용할 때, 용어 프레임, 화상, 슬라이스, 타일 및 직사각형 슬라이스 그룹은 어느 정도 상호교환적으로 사용될 수 있다. 당업자라면 H.264 표준의 경우에 프레임이 하나 이상의 슬라이스를 포함할 수 있다는 것을 이해할 것이다. 용어 "프레임"은 H.265/HEVC에서 "화상"으로 교체될 수 있다. 일련의 프레임/화상은 일부 경우에 "시퀀스"라고 부를 수 있다. 다른 비디오 코딩 표준에서는 다른 용어들을 사용할 수 있다. 소정의 인코딩/디코딩 동작은 프레임별 기준으로 수행될 수 있고, 적용 가능한 이미지 또는 비디오 코딩 표준의 특수한 필요조건 또는 용어에 따라서 일부는 슬라이스별 기준으로, 일부는 화상별 기준으로, 일부는 타일별 기준으로, 및 일부는 직사각형 슬라이스 그룹에 의해 수행될 수 있다는 것을 또한 인식할 것이다. 임의의 특정 실시형태에 있어서, 적용 가능한 이미지 또는 비디오 코딩 표준은 이하에서 설명하는 동작들이 프레임 및/또는 슬라이스 및/또는 화상 및/또는 타일 및/또는 직사각형 슬라이스 그룹과 관련하여 수행되는 것을 결정할 수 있다. 따라서, 당업자라면, 본 명세서의 설명에 비추어, 여기에서 설명하는 특정의 동작 또는 처리, 및 프레임, 슬라이스, 화상, 타일, 직사각형 슬라이스 그룹에 대한 특수한 참조가 소정 실시형태의 프레임, 슬라이스, 화상, 타일, 직사각형 슬라이스 그룹, 또는 일부 또는 모든 참조에 적용할 수 있다는 것을 이해할 것이다. 이것은 또한 이하의 설명에 비추어 명백해지는 바와 같이 코딩 트리 단위, 코딩 단위, 예측 단위, 변환 단위 등에 적용된다.
일부 경우에, 이하의 실시예들은 크로마 성분, 즉 2개의 색차 성분(Cb, Cr)의 인코딩 및 디코딩에 특유한 것이다. 본 발명은 하나 이상의 크로마 성분으로 제한되지 않고 하나 이상의 다른 비디오 컴포넌트에 적용될 수 있다. 비디오 컴포넌트의 예는, 비디오 데이터의 형식에 따라서, 루마 성분, 일측 또는 양측 크로마 성분(Cb, Cr), 다른 색차 성분, 알파 성분, 적색 성분, 녹색 성분 및/또는 청색 성분을 포함할 수 있다.
이제, 도 1을 참조하면, 도 1은 비디오를 인코딩하기 위한 인코더(10)를 블록도 형태로 보인 것이다. 또한, 도 2를 참조하면, 도 2는 비디오를 디코딩하기 위한 디코더(50)를 블록도 형태로 보인 것이다. 여기에서 설명하는 인코더(10)와 디코더(50)는 각각 하나 이상의 처리 요소 및 메모리를 포함한 용도 지정 컴퓨팅 장치 또는 범용 컴퓨팅 장치에서 구현될 수 있다는 것을 이해할 것이다. 인코더(10)와 디코더(50)에 의해 수행되는 동작은, 경우에 따라서, 예를 들면 용도 지정 집적회로에 의해, 또는 범용 프로세서에 의해 실행 가능한 저장된 프로그램 명령어에 의해 구현될 수 있다. 장치는 예를 들면 기본 장치 기능을 제어하는 운영체제를 비롯한 추가의 소프트웨어를 포함할 수 있다. 인코더(10) 또는 디코더(50)가 구현될 수 있는 장치 및 플랫폼의 범위는 이하의 설명과 관련된 당업자라면 이해하고 있을 것이다.
인코더(10)는 비디오 소스(12)를 수신하여 인코딩된 비트스트림(14)을 생성한다. 디코더(50)는 인코딩된 비트스트림(14)을 수신하여 디코딩된 비디오 프레임(16)을 출력한다. 인코더(10)와 디코더(50)는 다수의 비디오 압축 표준에 따라 동작하도록 구성될 수 있다. 예를 들면, 인코더(10)와 디코더(50)는 H.264/AVC 호환성일 수 있다. 다른 실시형태에 있어서, 인코더(10)와 디코더(50)는 H.265/HEVC와 같은 H.264/AVC 표준의 진화형을 포함한 다른 비디오 압축 표준에 따를 수 있다.
인코더(10)는 공간 예측기(21), 코딩 모드 선택기(20), 움직임 예측기(36), 변환 프로세서(22), 양자화기(24) 및 엔트로피 인코더(26)를 포함한다. 당업자라면 이해하고 있는 바와 같이, 코딩 모드 선택기(20)는 비디오 소스에 대한 적당한 코딩 모드, 예를 들면, 대상(subject) 프레임/슬라이스가 I형인지, P형인지 또는 B형인지, 및 프레임/슬라이스 내의 특정 코딩 단위(예를 들면, 매크로블록, 코딩 단위 등)이 인터 코딩되는지 또는 인트라 코딩되는지, 즉 예측이 움직임 예측기(36)로부터 오는지(인터 코딩) 또는 공간 예측기(21)로부터 오는지(인트라 코딩) 결정한다. 변환 프로세서(22)는 공간 도메인 데이터에 대한 변환을 수행한다. 특히, 변환 프로세서(22)는 공간 도메인 데이터를 스펙트럼 컴포넌트로 변환하기 위해 블록 기반 변환을 적용한다. 예를 들면, 많은 실시형태에 있어서 이산 코사인 변환(DCT)이 사용된다. 일부 경우에는 이산 사인 변환, 웨이블릿 변환 등과 같은 다른 변환을 사용할 수 있다. 블록 기반 변환은 변환 단위로 수행된다. 변환 단위는 코딩 단위의 크기일 수 있고, 또는 코딩 단위가 복수의 변환 단위로 나누어질 수 있다. 예를 들면 H.264 표준에 있어서, 전형적인 16×16 매크로블록(코딩 단위)은 16개의 4×4 변환 단위를 내포하고 4×4 블록에 대하여 DCT 처리가 수행된다. 변환 단위(transform unit, TU)는 다른 크기일 수 있다. 일부 경우에, TU는 비정사각형, 예를 들면, 비정사각형 구적 변환(non-square quadrature transform, NSQT)일 수 있다.
화소 데이터의 블록에 블록 기반 변환을 적용하면 변환 도메인 계수들의 집합이 발생된다. 이 문맥에서 "집합"은 계수들이 계수 위치를 갖는 순서적인 집합이다. 일부 경우에, 변환 도메인 계수들의 집합은 "블록"으로서 또는 계수들의 행렬로서 고려될 수 있다. 본 명세서의 설명에서, 구 "변환 도메인 계수 집합" 또는 "변환 도메인 계수 블록"은 상호교환적으로 사용되고 변환 도메인 계수들의 순서적 집합을 표시한다.
변환 도메인 계수 집합은 양자화기(24)에서 양자화된다. 그 다음에, 양자화 계수 및 관련 정보가 엔트로피 인코더(26)에서 인코딩된다.
인트라 코딩된 프레임/슬라이스(즉, 유형 I)는 다른 프레임/슬라이스를 참조하지 않고 인코딩된다. 다시 말해서, 이들은 시간 예측을 사용하지 않는다. 그러나, 인트라 코딩된 프레임들은 도 1에서 공간 예측기(21)로 나타낸 바와 같이 프레임/슬라이스 내의 공간 예측에 의존한다. 즉, 특정 블록을 인코딩할 때, 블록 내의 데이터는 그 프레임/슬라이스에 대하여 이미 인코딩된 블록 내의 인근 화소의 데이터와 비교될 수 있다. 인코더(10)는 예측 동작을 이용하여 인근 화소의 데이터에 기초한 예측 블록 또는 단위를 생성한다. 예측을 위한 각종 모드 또는 방향이 있다. 일부 경우에, 율 왜곡(rate-distortion) 최적화를 이용하여 모드/방향을 선택할 수 있다. 예측 동작시에 사용하는 상기 인근 화소는 미리 인코딩 및 디코딩되고 피드백 루프 내의 라인 버퍼(35)에 저장된 재구성된 화소이다. 블록의 실제 화소 데이터와 예측 블록 간의 차는 잔여 블록, 즉 오차 신호이다. 잔여 데이터는 비트스트림(14)으로의 송신을 위해 변환, 양자화 및 인코딩된다.
인터 코딩된 프레임/블록은 시간 예측에 의존한다. 즉, 이들은 다른 프레임/화상으로부터의 재구성 데이터를 이용하여 예측된다. 인코더(10)는 역양자화기(28), 역변환 프로세서(30) 및 디블로킹 프로세서(32)를 포함한 피드백 루프를 갖는다. 디블로킹 프로세서(32)는 디블로킹 프로세서와 필터링 프로세서를 포함할 수 있다. 이 요소들은 디코더(50)에 의해 구현되는 디코딩 처리를 반영하여 프레임/슬라이스를 재현한다. 프레임 저장부(34)는 재현된 프레임을 저장하기 위해 사용된다. 이 방식으로, 움직임 예측은 디코더(50)에서의 재구성된 프레임에 의존하고 최초 프레임에 의존하지 않으며, 이것은 인코딩/디코딩시에 수반되는 손실 압축에 기인하는 재구성 프레임과 다를 수 있다. 움직임 예측기(36)는 유사한 블록들을 식별하기 위해 현재 프레임과 비교할 소스 프레임/슬라이스로서 프레임 저장부(34)에 저장된 프레임/슬라이스를 이용한다. 다시 말해서, 다른 프레임/화상 내의 블록을 식별하기 위해 모션 벡터 탐색이 실행된다. 그 블록은 예측된 블록 또는 단위의 소스이다. 예측된 블록과 최초 블록 간의 차는 잔여 데이터로 되고, 잔여 데이터는 그 다음에 변환, 양자화 및 인코딩된다.
당업자라면 비디오 인코더를 구현하는 세부 및 가능한 변형예를 이해할 것이다.
디코더(50)는 엔트로피 디코더(52), 역양자화기(54), 역변환 프로세서(56) 및 디블로킹 프로세서(60)를 포함한다. 디블로킹 프로세서(60)는 디블로킹 및 필터링 프로세서를 포함할 수 있다. 라인 버퍼(59)는 프레임/화상이 인트라 코딩시에 공간 보상기(57)에 의해 사용하기 위해 디코딩되는 동안 재구성된 화소 데이터를 저장한다. 프레임 버퍼(58)는 움직임 보상을 적용할 때 움직임 보상기(62)에 의해 사용할 완전 재구성되고 디블로킹된 프레임을 저장한다.
비트스트림(14)이 수신되고 엔트로피 디코더(52)에서 디코딩되어 양자화 계수를 복구한다. 엔트로피 디코딩 처리 중에 코딩 모드 정보를 포함한 부수 정보가 또한 복구될 수 있고, 이들 중의 일부는 예측 생성시에 사용하기 위해 피드백 루프에 공급될 수 있다. 예를 들면, 엔트로피 디코더(52)는 인터 코딩된 블록에 대하여 모션 벡터 및/또는 참조 프레임 정보를 복구하고, 또는 인트라 코딩된 블록에 대하여 인트라 코딩 모드 방향 정보를 복구할 수 있다.
양자화 계수는 그 다음에 역양자화기(54)에서 역양자화되어 변환 도메인 계수를 생성하고, 상기 변환 도메인 계수는 그 다음에 역변환 프로세서(56)에 의해 역변환 처리되어 잔여 화소 도메인 데이터를 재생성/재구성한다. 공간 보상기(57)는 공간 예측을 이용하여 생성한 예측 블록 및 상기 잔여 데이터로부터 비디오 데이터를 발생한다. 공간 예측은 동일한 프레임으로부터 이전에 재구성된 화소 데이터에 따라 인코더에서 사용된 것과 동일한 예측 모델/방향을 적용한다. 인터 코딩된 블록들은 이전에 디코딩된 프레임/화상 및 비트스트림으로부터 디코딩된 모션 벡터에 기초하여 상기 예측 블록을 생성함으로써 재구성된다. 재구성된 잔여 데이터는 그 다음에 상기 예측 블록에 추가되어 재구성된 화소 데이터를 발생한다. 공간 보상과 움직임 보상은 둘 다 여기에서 "예측 동작"이라고 부른다.
그 다음에, 디블로킹/필터링 처리가 디블로킹 프로세서(60)로 표시된 것처럼 재구성 프레임/슬라이스에 적용될 수 있다. 디블로킹/필터링 후에, 프레임/슬라이스가 예를 들면 디스플레이 장치에서 디스플레이하기 위해 디코딩된 비디오 프레임(16)으로서 출력된다. 컴퓨터, 셋톱박스, DVD 또는 블루레이 플레이어, 및/또는 모바일 핸드헬드 장치와 같은 비디오 재생 장치가 상기 디코딩된 프레임을 출력 장치에서 디스플레이하기 전에 메모리에 버퍼링할 수 있다는 것을 이해할 것이다.
H.265/HEVC 및 일부 다른 코딩 표준에 있어서, 화상은 겹치지 않는 블록들의 집합으로 나누어진다. 예를 들면, H.265/HEVC에 있어서, 각 화상은 64×64 코딩 트리 블록(coding tree block, CTB)(가끔은 "코딩 트리 단위"라고 부름)으로 나누어진다. 각각의 CTB는 그 다음에 쿼드트리 구조화 분할에 의해 코딩 트리 노드로 및 궁극적으로 코딩 단위로 추가로 나누어질 수 있다. 이 구조에서 "잎 노드", 즉 코딩 단위(coding unit, CU)는 모두 동일한 크기로 될 필요가 없다는 점에 주목한다. 일례로서, CTB는 32×32 블록으로 나누어지고, 그 중 2개는 CU(잎 노드)이고 그 중 2개는 16×16 블록으로 추가로 나누어질 수 있다. 이들 중의 일부는 CU이고 일부는 8×8 블록 등으로 추가로 나누어질 수 있다.
비록 전술한 설명이 화소들을 인용하지만, 많은 비디오 코딩 시스템은 각 화소에 대하여 루마 데이터(Y)와 색차 데이터(U와 V, 또는 Cb와 Cr)를 사용한다는 것을 이해할 것이다. 사실, 화소 데이터를 디지털 비디오 시스템에서 루마 및 크로마로 분리하면 크로마 서브샘플링을 사용할 수 있다. 인간의 눈은 자연적인 영상 장면에서 크로마 세부에 덜 민감하기 때문에, 크로마 데이터는 더 큰 압축을 달성하기 위해 서브샘플링되고 더 낮은 해상도로 전송될 수 있다. 현재의 비디오 코딩 표준에 있어서, 4:4:4의 크로마 샘플링 형식(format)은 크로마 서브샘플링이 없는 것을 표시하고, 4:2:2는 수평으로 2의 인수만큼 크로마 서브샘플링을 표시하며, 4:2:0은 수평 및 수직으로 2의 인수만큼 크로마 서브샘플링을 표시한다.
4:2:0의 크로마 서브샘플링을 이용한 디지털 비디오 압축은 자연 풍경에서 색의 공간적 위치를 인지하는 인간의 능력이 제한되기 때문에 일반적으로 사용되고 있다. 그러나, 디지털 비디오는 컴퓨터 발생 콘텐츠 또는 컴퓨터 발생 콘텐츠와 자연 풍경의 혼합물을 인코딩/디코딩하는 데 더 일반적으로 사용되고 있다. 컴퓨터 발생 콘텐츠는 명확한 테두리, 임펄스 및 고주파수에 의해 상징된다. 일 예는 텍스트 또는 컴퓨터 그래픽이다. 그러한 콘텐츠에서는 루마 성분 및 크로마 성분 양자에 대하여 명확한 테두리가 흐려지는 것을 피하기 위해 고충실도가 요구된다. 이와 관련된 "컴퓨터 발생" 콘텐츠는 반드시 "컴퓨터 발생 심상"(computer-generated imagery) 또는 "CGI"를 말하는 것이 아니고, 여기에서 컴퓨터 생성 콘텐츠는 영화 또는 텔레비전 프로그램에서 자연 풍경에 혼합되도록 또는 자연 풍경으로서 나타나도록 의도적으로 설계된다.
낮은 크로마 충실도 비디오의 경우에 현재 코딩의 한가지 문제점은 4:4:4 시스템이 동일한 비디오 소스를 코딩할 때 4:2:0 시스템 또는 더 나아가 4:2:2 시스템과도 동일한 율 왜곡 성능을 달성할 수 없을 것 같다는 것이다. 비디오의 일부가 더 높은 충실도를 요구하기 때문에, 전체 비디오가 4:4:4 형식으로 코딩된다. 자연 풍경 이미지 또는 비디오와 같이 원래 4:2:0 형식으로 된 부분들은 4:4:4로 업샘플링되고 그 형식에 따라서 인코딩된다. 4:2:0 형식의 비디오를 4:4:4 형식으로 업샘플링 및 인코딩하면 약간 더 좋은 크로마 충실도를 나타내지만 비트율이 약 10% 증가한다. 비트율과 관련된 비용은 인지율 개선(만일 있으면)이 작다는 점에서 가끔 타당하지 않다.
비트율에 있어서의 여분의 비용은 부분적으로 여분의 크로마 계수에 기인하지만, 역시 부분적으로는 여분의 오버헤드 때문이다. 예를 들면, H.265/HEVC 4:2:0 코딩에 있어서, 8×8 변환 단위는 4×4 크로마 변환 블록을 발생하고, 이것은 공존하는 8×8 루마 변환 블록의 임의의 분할을 물려받지 않는다. 크로마가 4:4:4 형식으로 업샘플링 및 코딩될 때, 8×8 크로마 변환 블록이 발생하고 이것은 공존하는 루마 변환 블록의 분할(및 여분의 헤더 오버헤드 및 여분의 인트라 모드 시그널링)에서 취해진다. 또한, 더 큰 크로마 변환 블록을 사용할 경우 그 블록 내의 계수들은 더 작은 양자화 단계 크기로 양자화되어 코딩을 위한 더 많은 계수 데이터를 발생한다. 동일한 양자화 파라미터는 HEVC 양자화 동작의 구조 때문에 더 작은 변환 블록의 경우보다 더 큰 변환 블록에 대하여 더 작은 양자화 단계 크기를 야기한다. 다시 말해서, 더 큰 변환 블록에 의해, 인코더는 더 작은 변환 블록에 의한 경우보다 더 큰 정밀도(더 큰/더 많은 계수)를 보유하도록 구성된다. 그러므로, 4:4:4 형식에서의 업샘플링 및 코딩은 추가의 계수 데이터를 야기한다.
2013년 1월 7일자 출원되고 공동으로 소유되는 미국 특허 출원 제13/735,782호에는 혼합형 충실도 필요조건을 가진 비디오에 관한 문제점이 설명되어 있다. 상기 미국 출원에서는 예측 블록이 잔여 데이터를 발생하기 위해 사용되기 전에 (일반적으로) 고주파수 성분을 제거하기 위해 예측 블록을 필터링하는 것이 제안된다. 각 블록에 대한 플래그는 예측이 그 블록에 대하여 필터링되는지를 제어한다.
일 양태에 있어서, 본 발명은 화상의 저충실도 영역에서 사용되는 양자화 및/또는 다른 코딩 파라미터를 수정하는 것을 제안한다. 한편으로, 4:4:4 형식 코딩 처리 내에서, 저충실도 영역에 대응하는 블록 또는 블록들의 그룹은 4:2:0 형식의 코딩으로부터 야기되는 것을 에뮬레이트하는 방식으로 상기 영역을 처리하도록 그들의 양자화 파라미터를 조정할 수 있다. 예를 들면, 크로마 성분과 관련해서, 양자화 파라미터는 다른 경우에 업샘플링이 발생하는 4:2:0에서 사용되는 것보다 더 큰 변환 블록이 4:4:4에서 사용된다는 사실을 보상하도록 조정될 수 있다. 이러한 블록들을 마치 이들이 4:2:0으로 처리된 것처럼 처리하기 위해, 인코더는 예를 들면 블록들을 더 공격적으로 양자화하거나, 또는 예를 들면 8×8 블록의 분할을 제한할 수 있다.
뒤에서 설명하는 많은 예들은 특히 크로마 성분을 코딩하는 데 사용하는 것으로 제안되지만, 설명되는 처리 및 기술은 루마 성분, 또는 일부 실시형태에 있어서 루마 및 크로마 성분에도 적용될 수 있다. 전술한 바와 같이, 본 발명은 일반적으로 비디오 컴포넌트의 인코딩 및 디코딩에 적용할 수 있고, 이때 비디오 컴포넌트는 (비디오 데이터의 형식에 따라서) 루마 성분, Cb, Cr, 다른 색차 성분, 알파 성분 및/또는 RGB 성분 중의 하나 이상을 포함할 수 있다.
일반적으로 양자화는 소정 범위의 값을 가진 신호를 감소된 범위의 값을 가진 양자화 신호에 맵핑한다. 이 범위 감소는 본래 손실이지만 양자화 신호가 더 적은 수의 비트로 표현될 수 있게 한다. 양자화의 예는 H.265/HEVC에서 하드 디시젼(hard-decision) 스칼라 양자화기이고, 이것은 변환 계수(c)를 취하고 하기 수학식에 따라 양자화 변환 계수(u)를 생성한다.
상기 수학식에 있어서, q는 주어진 양자화 파라미터(QP)의 함수인 양자화 단계 크기이고 θ는 반올림 오프셋(rounding offset)이다. sign 함수는 만일 c가 0보다 낮으면 -1을 반영하고 다른 경우에는 +1을 반영한다. q와 QP 간의 관계는, 일 예에 있어서, 하기와 같이 주어진다.
디코더에서 변환 도메인 계수를 재구성할 때, 재구성된 계수 ^c는 하기 수학식으로서 결정될 수 있다.
상기 수학식에서, scaleFactor는 QP에 기초하여 양자화 교정치(scaling value)를 선택하기 위한 함수이다. bitDepth는 많은 구현예에서 전형적으로 8이고, 이것은 이 분모항이 1로 되게 하고 분모는 TransformSize에 의해 효율적으로 통제된다는 것을 의미한다. 만일 TransformSize가 증가하면 양자화 변환 계수(u)는 보상을 위해 비례적으로 증가해야 한다는 점에 주목한다. 다시 말해서, 양자화 단계 크기는 더 큰 변환 크기에 대하여 더 작다.
크로마 성분의 양자화인 경우에, 루마 성분의 QP는 루마 QP를 조정하기 위해 미리 선택된 오프셋 값(만일 있으면)을 이용하여 크로마 QP로 변환된다. 이 조정된 루마 QP 값은 잘라내지고(clip) 룩업 테이블을 이용하여 상기 조정된 루마 QP 값을 크로마 QP 값으로 변환한다. 4:4:4 형식 코딩의 경우에, 조정된 루마 QP와 크로마 QP 간의 룩업 테이블에서의 맵핑은 1:1이다. 4:2:0 형식 코딩의 경우에, 4:2:0 룩업 테이블에서의 맵핑은 많은 더 낮은 QP 값에 대하여 1:1이지만, 더 큰 QP 값의 경우에는 발산한다.
본 발명의 일 양태에 따르면, 크로마 QP는 저충실도 모드 QP 오프셋만큼 코딩 단위에 대하여 선택적으로 추가 조정되는 루마 QP 값에 기초하여 획득된다. 저충실도 모드 QP 오프셋의 사용은 저충실도 모드가 그 코딩 단위에 대하여 시그널링되는지 여부에 기초를 둔다. 이 시그널링은 일부 실시형태에 있어서 그 코딩 단위에 대하여 인코딩된 플래그에 기초를 둔다. 일부 경우에, 플래그는 CTB의 구조적 계층에서 더 높게 설정된 플래그의 계승에 기초하여 추론될 수 있다.
저충실도 모드 QP 오프셋의 값은 비트스트림으로, 예를 들면, 화상 파라미터 집합(PPS) 또는 시퀀스 파라미터 집합(SPS)으로 시그널링되거나, 또는 미리 설정된 값일 수 있다. 미리 설정된 값은 뒤에서 설명하는 바와 같이 4:2:0 형식 대 4:4:4 형식 코딩과 연관된 왜곡의 비교에 기초를 둘 수 있다.
변환 블록에 있어서, 변환 계수마다의 양자화에 의해 야기되는 오차는 다음과 같이 근사화될 수 있다.
e = θq
상기 수학식에서, q는 양자화 단계 크기이고, θ는 양자화 수학식으로부터의 반올림 오프셋이다. 다시 말해서, 오차는 예기되는 바와 같이 양자화 단계 크기에 직접 상관된다. 왜곡은 오차의 제곱에 비례한다. 예를 들면, 왜곡은 다음과 같이 표현될 수 있다.
다른 방법으로, 계수당 왜곡은 평균으로 양자화 단계 크기의 제곱에 비례하고, 다음과 같이 표현될 수 있다.
상기 수학식에서 k는 어떤 상수이다. 일례로서 8×8 잔여 크로마 블록을 가정하면, 블록 내의 64 계수에 대하여 본래의 4:2:0에서의 왜곡은 다음과 같이 주어진다.
그러나, 종래의 공간 보간 필터를 이용한 업샘플링으로부터 야기되는 4:4:4에서 8×8 잔여 크로마 블록을 가정한다. 그 경우에, 대부분의 정보는 변환 블록의 상부 좌측 4×4 서브블록에 내포될 것으로 예상된다. 그 경우, 8×8 블록에 대한 총 왜곡은 다음과 같이 근사화될 수 있다.
4개의 4×4 블록의 코딩은 율 왜곡면에서 하나의 8×8 블록을 코딩하는 것과 대략 동일해야 한다는 점에 주목한다. 그러나, 적어도 개념적으로, 본래 4:2:0에서의 4×4 크로마 블록이 4:4:4에서의 8×8 크로마 블록으로 업샘플링될 때, 그 8×8 블록을 코딩하는 율 왜곡 비용은 4개의 4×4 블록이 아닌 하나의 4×4 블록과 대략 동일하다. 이것을 보상하고 상이한 블록 크기와 연관된 율 왜곡 비용을 재균형잡기 위해, 제안된 해법은 8×8 블록의 양자화를 조정한다. 다시 말해서, 본 발명은, 일 양태로서, 4:2:0 코딩의 왜곡을 더 잘 에뮬레이트하기 위해 (업샘플링된) 4:4:4의 양자화의 증가를 제안한다. 따라서, 왜곡의 변화를 평가하기 위해 하기의 것이 요구된다.
여기에서, 기호 α=64/16=4이다. q와 QP 간의 관계를 이용하면, 상기 수학식은 다음과 같이 변환된다.
QP4:4:4 = QP4:2:0 + 6
상기 분석은 8×8로 업샘플링된 모든 정보가 블록의 상부 좌측 코너에 있는 4×4 블록에 내포되는 것으로 가정하기 때문에 지금까지 이상적인 공간 보간 필터에 기초를 둔다는 점에 주목한다. 실제로, 업샘플링 처리는 차단 주파수 부근에서 에일리어싱(aliasing)을 야기하고, 필터에 따라서 8×8 변환 블록의 상부 좌측 코너에 있는 5×5 블록에 정보가 대부분 내포되게 할 수 있다. 그 경우에, α=64/25=3.2이고, 이것은 대략 5인 저충실도 모드 QP 오프셋을 유도하며, 하기의 의미를 갖는다.
QP4:4:4 = QP4:2:0 + 5
동일한 분석이 4:2:2의 4:4:4로의 변환을 위해 수행될 수 있다. 그 경우에, 상기 분석을 이용하면, α=2이고, QP 조정은 +3이다. 에일리어싱을 고려하면, 저충실도 모드 QP 오프셋은 +2에 가까워질 수 있다.
저충실도 모드 QP 오프셋은 8×8, 16×16, 32×32 등과 같은 특정 블록 크기에 대하여 결정/선택될 수 있다는 것을 이해할 것이다.
에일리어싱 효과를 고려해야 하는 정도는 사용하는 업샘플링 필터에 의존한다는 것을 인식할 것이다.
이진 플래그의 계층 구성은 저충실도 모드 오프셋이 각종 입도에서 인에이블되는지 디스에이블되는지를 디코더에게 신호할 수 있다. SPS 또는 PPS 레벨에서, 플래그는 코딩된 전체 비디오 시퀀스에 대하여, 또는 특정의 PPS를 참조하는 다수의 화상에 대하여 그 특징의 사용을 인에이블 또는 디스에이블하도록 제공될 수 있다. PPS는 또한 미리 설정된 QP 오프셋이 없으면 모드를 선택할 때 사용하도록 QP 오프셋과 같은 하이 레벨 옵션을 제공할 수 있다.
만일 화상 내의 모든 CU에 대하여 저충실도 모드가 사용되어야 한다고 인코더가 결정하면, PPS는 CU당 플래그(per-CU flag)를 신호함에 따른 비트스트림 비용을 발생시킬 필요 없이 화상 내의 각 CU에 대하여 CU당 플래그가 주장(assert)된 것처럼 동작하도록 디코더에게 지시하는 플래그를 내포할 수 있다.
화상 내의 각 CU에 대하여, 특징이 허용/인에이블된다고 가정하면, 그 CU에 대하여 저충실도 모드의 사용을 제어하는 단일 콘텍스트 적응성의 산술적으로 인코딩된 플래그가 제공될 수 있다. 일 실시형태에 있어서, 플래그의 예측은 발생하지 않지만, 다른 실시형태에서는 공간적으로 이웃하는 플래그로부터 예측하는 것 또는 일부 콘텐츠 기반 예측기를 사용하는 것이 가능하다. 플래그는 블록을 건너뛰는 경우에 신호되지 않는다. 플래그는 적당할 때, 즉 잔여가 제로/건너뛰기되고 플래그가 전송되지 않는 경우에만 플래그가 신호되게 하는 방식으로 구문 내에 위치된다(인트라 N×N 분할의 경우에, 만일 플래그가 설정된 때 하나 이상의 비디오 컴포넌트에 대하여 인트라 예측 구획들의 수를 제한하는 것을 실시형태가 포함하면 플래그가 필요할 수 있다는 것은 제외한다). 다른 실시형태에 있어서, 잔여가 전송되지 않을 때 플래그의 전송을 회피하는 대신에, 만일 크로마 잔여가 전송되지 않으면 플래그가 전송되지 않는다.
전술한 바와 같이, 저충실도 모드 QP 오프셋은 인코더 및 디코더에서 미리 설정될 수 있다. 다른 실시형태에 있어서, 저충실도 모드 QP 오프셋은 PPS 또는 SPS에서 명시적으로 신호될 수 있다. 또 다른 실시형태에 있어서, 각각의 크로마 성분에 대하여 하나씩 2개의 오프셋이 신호될 수 있다. 또 다른 실시형태에 있어서, 각각의 변환 크기마다 오프셋(또는 오프셋들의 쌍)이 신호될 수 있다. 오프셋은 일부 경우에 미리 설정된 저충실도 모드 QP 오프셋 값으로부터의 차분으로서 신호될 수 있다.
저충실도 모드 옵션을 이용하여 비디오를 인코딩하는 하나의 예시적인 방법(100)이 흐름도 형태로 도 3에 예시되어 있다. 이 예는 크로마 성분을 저충실도 모드로 코딩하는 것에 특정된다. 위에서 언급한 바와 같이, 루마 성분이 대안적으로 또는 추가적으로 저충실도 모드로 또한 코딩될 수 있다.
인코더는 초기에 저충실도 모드 능력을 인에이블한다(동작 102). 이것은 디폴트에 의해 발생할 수 있고, 또는 저충실도 가능화 플래그를 포함시킴으로써 비트스트림으로 신호될 수 있다. 플래그는 저충실도 모드가 인에이블된 것 및 디코더가 저충실도 플래그를 예측 및 디코딩해야 한다는 것을 표시하기 위해 SPS, PPS 또는 비트스트림의 다른 곳에 둘 수 있다.
동작 104에서, 현재 코딩 단위(CU)에 대하여, 인코더는 크로마를 저충실도 모드로 코딩해야 하는지를 결정한다. 이 결정은 다수의 가능한 요소들에 기초를 둘 수 있다. 비제한적인 일 예로서, 상기 결정은 변환 블록의 상부 좌측 사분면에서 0이 아닌 계수들의 집중도(concentration)에 기초를 둘 수 있다. 이 예에서, 변환 블록의 저주파수 영역(예를 들면, 상부 좌측 사분면)에서 0이 아닌 계수들의 수는 X로 표시되고, 블록의 나머지에서 0이 아닌 계수들의 수는 Y로 표시된다. 만일 Y/(X+Y)가 어떤 미리 규정된 역치(예를 들면, 50-60%) 미만이면, 그 변환 블록은 저충실도라고 생각한다. 코딩 단위의 모든 변환 블록이 저충실도라고 또는 아니라고 결정된 때, 그 코딩 단위에 대하여 집단적 판정이 이루어질 수 있다. 다른 예로서, X는 DC 위치를 포함한 변환 단위에서 가장 작은 직사각형 영역의 크기를 표시하고 Y는 블록의 나머지의 크기를 표시한다. 또 다른 예로서, 0이 아닌 계수들의 수 대신에 계수 레벨의 합을 사용할 수 있다. 다른 코딩 단위 크기에 대하여 다른 역치를 설정할 수 있다. 이 예에서의 계수들은 잔여 데이터의 변환이 아닌 최초 화소 데이터의 변환에 기초를 둔다는 점에 주목한다.
추가의 비제한적인 예로서, 저충실도 결정은 상대적인 왜곡 측정 및 조건들의 집합에 기초를 둘 수 있다. 이 예에서, 코딩 단위는 저충실도 모드 및 고충실도 모드 양자로 코딩되고, 총 크로마 왜곡이 결정된다. 고충실도 왜곡은 D0로 표시되고 저충실도 왜곡은 D1으로 표시된다. 전술한 것과 같은 왜곡 모델 및 적용가능한 양자화 단계 크기를 이용해서, 저충실도 모드(N1)에 대한 예상되는 변환 계수의 수 및 고충실도 모드(N0)에 대한 예상되는 변환 계수의 수가 산출된다. 이러한 추정치는 그 다음에 코딩으로부터 야기되는 실제 변환 계수의 수(N으로 표시됨)와 비교된다. 저충실도 모드(지수 i=1) 및 고충실도 모드(지수 i=0)에 대하여, 하기의 조건이 평가될 수 있다.
만일 조건이 양측의 경우에 대하여 참이면, 코딩 단위는 저충실도로서 지정될 수 있다. 그렇지 않으면, 코딩 단위는 고충실도로서 분류된다. 다른 실시형태에 있어서, 코딩 단위의 분류를 결정하기 위해 하기의 예시적인 판정 차트와 같은 다른 판정 규칙을 사용할 수 있다.
조건 i=0 | 조건 i=1 | 판정 |
거짓 | 거짓 | 고충실도 |
거짓 | 참 | 저충실도 |
참 | 거짓 | 고충실도 |
참 | 참 | 저충실도 |
인코더는 플래그 값을 추론할 수 없으면 현재 CU의 헤더에 저충실도 플래그를 삽입한다(동작 106). 일부 경우에, 사용되는 시그널링 규약에 따라서, 저충실도 플래그는 이웃하는 저충실도 플래그(예를 들면, 우측, 하측 및/또는 하부 우측에 대하여 대각선으로 있는 CU의 플래그)에 기초해서, 또는 코딩 구조 내, 예를 들면 CTB 구문 내의 더 높은 하나 이상의 플래그에 기초해서 추론될 수 있다. 만일 플래그가 추론되면 플래그는 비트스트림으로 전송되지 않고, 그렇지 않으면 현재 CU의 헤더에 삽입된다. 일 예로서, 저충실도 플래그는 만일 저충실도 모드가 현재 CU에 대하여 사용되어야 하면 1로 설정되고, 만일 저충실도 모드가 현재 CU에 대하여 사용될 필요가 없으면 0으로 설정된다.
저충실도 모드가 현재 CU에 대하여 사용되어야 한다고(즉, 저충실도 플래그 값이 1로 설정되었다고) 가정하면, 동작 108에서 인코더는 저충실도 모드 오프셋을 이용하여 루마 QP 값으로부터 크로마 QP 값을 도출한다. 전술한 바와 같이, 일부 실시형태에 있어서, 저충실도 모드 오프셋은 미리 설정된 값이고 부분적으로 변환 크기에 기초하여 선택될 수 있다. 룩업 테이블, 공식, 또는 다른 그러한 메카니즘이 루마 QP를 크로마 QP로 변환하기 위해 사용될 수 있다. 크로마 QP는 저충실도 모드 오프셋을 추가하고 그 다음에 변환을 수행함으로써 루마 QP로부터 도출된다. 변환 전의 루마 QP의 조정은 현재 CU와 연관된 저충실도 플래그로 표시된 바와 같이 저충실도 모드가 현재 CU에 적용된다는 사실에 기초를 둔다는 점에 주목한다. 상기 조정은 루마 QP의 크로마 QP로의 모든 변환에 적용되는 글로벌 오프셋이 아니고 선택적이며, 저충실도 모드가 이 특정 CU에 적용되어야 하는지 여부에 기초를 둔다. 루마 QP로부터 저충실도 크로마 QP 변환은 다음과 같이 표현될 수 있다.
QPchroma = [clip(QPluma + QPglobal-offset + QPlow-fid-mode offset)]look-up table
상기 수학식에서, QPluma는 루마 QP이고, QPglobal-offset은 룩업 테이블을 사용하기 전에 QP를 조정할 때 적용되는 고정 오프셋이다. 일부 경우에, 고정 오프셋은 테이블 자체에 내장될 수 있지만, 다른 경우에는 테이블의 사용 전에 적용될 수 있다. QPglobal-offset은 저충실도 모드가 현재 CU에 적용되는지에 관계없이 적용된다.
동작 110에서, 인코더는 동작 108에서 획득된 크로마 QP를 이용하여 크로마 계수를 양자화하여 양자화 계수를 획득한다. 이러한 양자화 계수는 그 다음에 동작 112에서 엔트로피 인코딩된다.
전술한 동작 108에서, 상기 조정된 루마 QP를 크로마 QP로 변환하기 위해 룩업 테이블, 공식 또는 다른 그러한 메카니즘이 사용된다. 일부 구현예에 있어서, 인코더와 디코더는 4:4:4, 4:2:2 및 4:2:0과 같이 상이한 코딩 형식에 특유한 QP 변환 룩업 테이블을 가질 수 있다. 일부 실시형태에 있어서, 이들 예에서 비디오의 코딩은 일반적으로 4:4:4 형식이기 때문에, 4:4:4 형식 룩업 테이블이 크로마 QP를 획득하기 위해 사용될 수 있다. 그러나, 일부 실시형태에서는 저충실도 모드가 인에이블되는 코딩 단위에 대하여 인코더와 디코더가 4:2:0 QP 변환 룩업 테이블을 사용할 수 있다. 즉, 만일 코딩 단위에 대하여 저충실도 플래그가 설정되어 있으면, 크로마 QP는 다른 경우에 사용되는 4:4:4 룩업 테이블 대신에 4:2:0 룩업 테이블을 이용하여 획득된다.
이제, 도 4를 참조하면, 인코딩된 비디오 데이터의 비트스트림을 크로마 저충실도 모드로 디코딩하는 예시적인 방법(200)이 흐름도 형태로 도시되어 있다. 방법(200)은 화상 및/또는 비디오의 시퀀스에 대하여 크로마 저충실도 모드 능력이 가능한지를 결정하는 동작(202)을 포함한다. 이 가능화는 가능화가 디폴트에 의해 인에이블된다는 것, 또는 가능화가 가능화 플래그를 이용하여 비트스트림으로 명시적으로 신호될 수 있다는 점에서 결정될 수 있다. 가능화 플래그는 구현예에 따라서 SPS, PPS 또는 비트스트림의 다른 곳으로부터 디코딩될 수 있다.
동작 204에서, 디코더는 현재 CU에 대하여 저충실도 플래그를 재구성한다. 저충실도 플래그는 비트스트림으로부터, 예컨대 일부 경우에는 현재 CU와 연관된 헤더로부터 저충실도 플래그를 디코딩함으로써 재구성될 수 있다. 일부 경우에, 저충실도 플래그는 추론되는 것으로 재구성될 수 있다. 일부 실시형태에 있어서, 플래그 값은 이웃하는 CU 내의 플래그들의 값으로부터 또는 전술한 바와 같이 코딩 계층 구성에서 더 높게 설정된 플래그에 기초하여 추론될 수 있다.
동작 206에서, 디코더는 재구성된 값이 1인지 또는 0인지, 즉, 저충실도 모드가 적용되어야 하는지 아닌지를 결정한다. 만일 아니면, 동작 208에서, 저충실도 모드 오프셋을 이용하여 루마 QP를 조정하지 않고 룩업 테이블(또는 공식 또는 다른 메카니즘)을 이용하여 루마 QP를 크로마 QP로 변환함으로써 크로마 QP가 결정된다. 만일 저충실도 플래그가 설정되어 있으면, 동작 210에서, 저충실도 모드 오프셋을 이용하여 루마 QP를 조정하고 조정된 루마 QP를 크로마 QP로 변환함으로써 크로마 QP가 결정된다. 어느 경우이든, 만일 코딩 방식이 그러한 오프셋을 제공하면 글로벌 QP 오프셋을 루마 QP에 적용할 수 있다.
그 다음에, 동작 212에서, 크로마 QP를 이용하여 상기 디코딩된 양자화 크로마 계수를 역양자화하여 역양자화 크로마 계수를 생성한다. 역양자화 동작은 전술한 바와 같이 그 스케일링 공식의 QP 값을 이용할 수 있고, 또는 QP 값이 먼저 양자화 단계 크기로 변환되고, 이 양자화 단계 크기를 구현예에 따라서 역양자화 동작에서 사용할 수 있다.
동작 214 및 216에서 각각 역양자화 크로마 계수가 역변환되어 재구성된 크로마 잔여를 생성하고, 상기 재구성된 크로마 잔여가 예측 크로마 샘플과 결합되어 재구성 크로마 샘플의 블록을 발생한다.
다른 양태에 있어서, 그 자체로 또는 QP 조정과 함께, 4:4:4 코딩 처리에서 저충실도 모드의 주장(assertion)은 4:2:0 동작을 모델링하기 위해 신호하는 4×4 크로마 변환 블록에서 결과적인 금지를 포함할 수 있다. 즉, 저충실도 모드가 코딩 단위에 대하여 주장된 때, 4×4 인트라 변환 블록은 크로마에 대하여 허용되지 않는다. 4:2:0 코딩에 의해, 4×4 루마 변환 블록으로 분할된 8×8 루마 블록은 통상적으로 2×2 크로마 변환 블록으로 분할된 대응하는 4×4 크로마 블록을 야기할 것이지만, 2×2 블록은 H.265/HEVC 명세서에서 규정되어 있지 않고, 그래서 H.265/HEVC는 크로마 4×4 변환 트리가 대응하는 루마 블록에서 보여지는 추가의 스플릿을 모델링하는 것을 금지하고 4×4에서의 분할을 정지한다. 4:2:0 콘텐츠가 4:4:4로 업샘플링 및 코딩될 때, 다른 경우에 4×4 변환 블록으로서 코딩되는 크로마 콘텐츠는 8×8 변환 블록으로서 코딩된다. 더욱이, 4:2:0에서 블로킹되는 분할은 4:4:4에서 발생하도록 허용되고, 이것은 8×8 크로마 블록이 4×4 변환 블록으로 분할된다는 것을 의미하며, 각각의 변환 블록은 필요한 오버헤드와 함께 코딩된다. 또한, 인트라 코딩의 경우에, 8×8 크로마 변환이 4개의 4×4 크로마 변환 블록으로 분할될 때, 각각의 4×4 크로마 블록은 하나의 8×8 인트라 모드 방향 대신에 그 자신의 인트라 모드 방향 시그널링을 가질 수 있다. 대응하는 블록을 4:2:0으로 코딩할 때, 4×4 블록의 분할에서의 금지는 4개의 인트라 모드(각각의 2×2 블록마다 1개)로 되는 것을 금지할 것이다. 여분의 오버헤드가 4:4:4 코딩을 이용하는 것으로부터 완화하기 위해, 본 발명의 이 양태에 있어서, 8×8 저충실도 크로마 블록은 4개의 4×4 블록으로 추가로 분할되는 것이 금지되고, 이것에 의해 4:2:0 코더의 동작의 모델링이 금지된다.
일부 실시형태에 있어서, 전술한 저충실도 모드 동작은 2013년 1월 7일자 출원된 미국 특허 출원 제13/735,782호에서 설명하는 예측 필터링과 함께 구현될 수 있다. 동일한 CU 레벨 플래그가 양측 처리를 인에이블/디스에이블하기 위해 사용될 수 있고, 또는 별도의 플래그가 사용될 수 있다.
하나의 비제한적인 예에 있어서, 본 발명을 H.265/HEVC 또는 그 변체로 제한하지 않고, 하기의 의사 코드 구문은 현재 초안의 제2판 H.265/HEVC 구문으로의 변경을 통하여 본 발명의 양태의 일 구현예를 예시한다.
화상 파라미터 집합에 대한 구문은 하기의 요소들을 포함하도록 수정될 수 있다.
상기 구문에 있어서, lowfidelity_enabled_flag는 만일 cu_lowfidelity_flag가 비트스트림에 존재하면 1이다. lowfidelity_forced_flag는 cu_lowfidelity_flag가 비트스트림에 존재하지 않고 1로 추론될 수 있을 때 1이다. lowfidelity_qp_cb_offset는 크로마 Cb 변환 계수를 스케일링할 때 적용되는 추가의 QP 오프셋을 특정한다. lowfidelity_qp_cr_offset는 크로마 Cr 변환 계수를 스케일링할 때 적용되는 추가의 QP 오프셋을 특정한다.
코딩 단위를 디코딩하기 위한 상기 예시적인 구문에 있어서, cu_lowfidelity_flag[x0][y0]는 만일 추가의 크로마 QP 오프셋이 크로마 변환 계수의 스케일링 처리 중에 적용되어야 하면 1이다.
크로마 변환 계수의 스케일링을 위해 크로마 QP 값을 찾을 때, 하기의 예시적인 규칙들이 적용될 수 있다.
1. 만일 lowfidelity_cu_flag[xCb][yCb]가 1이면, loFiCbQpOffset은 lowfidelity_qp_cb_offset과 동일하게 설정되고, loFiCrQpOffset은 lowfidelity_qp_cr_offset과 동일하게 설정된다.
2. 그렇지 않으면, loFiCbQpOffset과 loFiCrQpOffset은 둘 다 0으로 설정된다.
3. 변수 qPCb와 qPCr은 각각 qPiCb 및 qPiCr과 동일한 지수 qPi에 기초하여 QpC의 값과 동일하게 설정되고, qPiCb와 qPiCr은 다음과 같이 도출된다.
4. Cb 및 Cr 성분에 대한 크로마 양자화 파라미터(Qp'Cb, Qp'Cr)는 다음과 같이 도출된다.
이제, 도 5를 참조하면, 인코더(900)의 예시적인 실시형태의 단순화한 블록도가 도시되어 있다. 인코더(900)는 프로세서(902), 메모리(904) 및 인코딩 애플리케이션(906)을 포함한다. 인코딩 애플리케이션(906)은 메모리(904)에 저장되고 여기에서 설명한 것과 같은 동작들을 수행하도록 프로세서(902)를 구성하기 위한 명령어를 내포하는 컴퓨터 프로그램 또는 애플리케이션을 포함할 수 있다. 예를 들면, 인코딩 애플리케이션(906)은 여기에서 설명한 처리에 따라 비트스트림을 인코딩하고 인코딩된 비트스트림을 출력할 수 있다. 인코딩 애플리케이션(906)은 컴팩트 디스크, 플래시 메모리 장치, 랜덤 액세스 메모리, 하드 드라이브 등과 같은 컴퓨터 판독가능 매체에 저장될 수 있다는 것을 이해할 것이다.
이제, 도 6을 참조하면, 디코더(1000)의 예시적인 실시형태의 단순화한 블록도가 도시되어 있다. 디코더(1000)는 프로세서(1002), 메모리(1004) 및 디코딩 애플리케이션(1006)을 포함한다. 디코딩 애플리케이션(1006)은 메모리(1004)에 저장되고 여기에서 설명한 것과 같은 동작들을 수행하도록 프로세서(1002)를 구성하기 위한 명령어를 내포하는 컴퓨터 프로그램 또는 애플리케이션을 포함할 수 있다. 디코딩 애플리케이션(1006)은 컴팩트 디스크, 플래시 메모리 장치, 랜덤 액세스 메모리, 하드 드라이브 등과 같은 컴퓨터 판독가능 매체에 저장될 수 있다는 것을 이해할 것이다.
본 발명에 따른 디코더 및/또는 인코더는 비제한적인 예를 들자면 서버, 적절히 프로그램된 범용 컴퓨터, 오디오/비디오 인코딩 및 재생 장치, 셋톱 텔레비전 박스, 텔레비전 방송 장비 및 모바일 장치를 포함한 다수의 컴퓨팅 장치에서 구현될 수 있다. 디코더 또는 인코더는 여기에서 설명한 기능들을 실행하도록 프로세서를 구성하기 위한 명령어를 내포하는 소프트웨어에 의해 구현될 수 있다. 소프트웨어 명령어는 CD, RAM, ROM, 플래시 메모리 등을 포함한 임의의 적당한 비일시적 컴퓨터 판독가능 메모리에 저장될 수 있다.
여기에서 설명한 인코더, 및 인코더를 구성하기 위해 여기에서 설명한 방법/처리를 구현하는 모듈, 루틴, 프로세스, 스레드, 또는 다른 소프트웨어 컴포넌트는 표준 컴퓨터 프로그래밍 기술 및 언어를 이용하여 실현될 수 있다는 것을 이해할 것이다. 본 발명은 특정의 프로세서, 컴퓨터 언어, 컴퓨터 프로그래밍 규약, 데이터 구조, 다른 이러한 구현 세부로 제한되지 않는다. 당업자라면 여기에서 설명한 처리들이 휘발성 또는 비휘발성 메모리에 저장된 컴퓨터 실행가능 코드의 일부로서, 또는 용도 지정 집적회로(ASIC)의 일부로서 등으로 구현될 수 있다는 것을 인식할 것이다.
여기에서 설명한 실시형태의 임의의 개작 및 수정이 이루어질 수 있다. 그러므로, 전술한 실시형태들은 예시적인 것이고 제한하는 것이 아니라고 생각해야 한다.
Claims (20)
- 코딩 단위들로 분할된 화상을 포함하는 비디오를 인코딩된 비디오의 비트스트림으로부터 비디오 디코더를 이용하여 디코딩하는 방법에 있어서,
상기 코딩 단위들 중의 하나의 코딩 단위에 대하여,
비디오 컴포넌트와 연관된, 상기 하나의 코딩 단위에 대한 저충실도 플래그를 재구성하는 단계로서, 상기 저충실도 플래그를 재구성하는 단계는 상기 비트스트림의 상기 하나의 코딩 단위로부터 상기 저충실도 플래그를 디코딩하는 단계를 포함하는, 재구성하는 단계;
상기 저충실도 플래그가 설정된 경우, 저충실도 모드 오프셋에 기초하여 상기 비디오 컴포넌트를 위한 양자화 파라미터를 결정하는 단계;
상기 저충실도 플래그가 설정되지 않은 경우, 저충실도 모드 오프셋을 이용하지 않고 상기 비디오 컴포넌트를 위한 양자화 파라미터를 결정하는 단계; 및
역양자화 계수를 생성하도록 상기 양자화 파라미터에 기초하여 상기 하나의 코딩 단위를 위한 상기 비디오 컴포넌트의 디코딩된 계수를 역양자화하는 단계
를 포함하는 디코딩 방법. - 제1항에 있어서, 상기 비디오 컴포넌트는 루마 성분, 크로마 성분, 알파 성분, 적색 성분, 녹색 성분 및 청색 성분 중의 적어도 하나를 포함하는 것인, 디코딩 방법.
- 제1항에 있어서,
상기 저충실도 플래그는 크로마 비디오 성분과 연관된 크로마 저충실도 플래그를 포함하고,
상기 크로마 저충실도 플래그가 설정된 경우, 상기 양자화 파라미터를 결정하는 단계는 루마 양자화 파라미터 및 상기 저충실도 모드 오프셋에 기초하여, 상기 크로마 비디오 성분에 대한 크로마 양자화 파라미터를 결정하는 단계를 포함하는 것인, 디코딩 방법. - 제3항에 있어서, 상기 크로마 저충실도 플래그가 설정되었는지 설정되지 않았는지 여부와 무관하게, 상기 크로마 양자화 파라미터를 결정하는 단계는 또한, 미리 결정된 크로마 QP 오프셋 값에 기초하는 것인, 디코딩 방법.
- 제4항에 있어서,
상기 크로마 저충실도 플래그가 설정된 경우, 상기 결정하는 단계는 상기 루마 양자화 파라미터, 상기 미리 결정된 크로마 QP 오프셋 값 및 상기 저충실도 모드 오프셋의 합으로 제1 룩업 테이블을 인덱싱하는 것에 기초하고,
상기 크로마 저충실도 플래그가 설정되지 않은 경우, 상기 결정하는 단계는 상기 루마 양자화 파라미터 및 상기 미리 결정된 크로마 QP 오프셋 값의 합으로 제2 룩업 테이블을 인덱싱하는 것에 기초하는 것인, 디코딩 방법. - 제5항에 있어서,
상기 제1 룩업 테이블은 상기 제2 록업 테이블과 동일한 것인, 디코딩 방법. - 제3항에 있어서,
상기 크로마 저충실도 플래그가 설정된 경우, 상기 결정하는 단계는 또한 상기 화상의 비트 심도(bit depth)에 기초하는 것인, 디코딩 방법. - 제3항에 있어서,
상기 크로마 저충실도 플래그가 설정된 경우, 상기 결정하는 단계는 클리핑(clipping) 동작을 포함하는 것인, 디코딩 방법. - 제5항에 있어서,
상기 비트스트림은 고충실도 형식으로 인코딩되고,
상기 크로마 양자화 파라미터를 결정하기 위해 상기 제1 룩업 테이블을 인덱싱하는 것은, 크로마 양자화 파라미터의 크로마 서브샘플링 형식 룩업 테이블을 인덱싱하는 것을 포함하고,
상기 제2 룩업 테이블을 인덱싱하는 것은 상기 크로마 서브샘플링 형식 룩업 테이블과 상이한 고충실도 형식 룩업 테이블을 인덱싱하는 것을 포함하는 것인, 디코딩 방법. - 제9항에 있어서, 상기 고충실도 형식은 4:4:4와 4:2:2 중의 하나이고, 상기 크로마 서브샘플링 형식은 4:2:0인 것인, 디코딩 방법.
- 제1항에 있어서, 상기 비트스트림은 고충실도 형식으로 인코딩되고,
상기 저충실도 플래그가 설정된 경우, 상기 양자화 파라미터를 결정하는 단계는 QP 값 및 상기 저충실도 모드 오프셋을 이용하여 저충실도 형식 룩업 테이블을 인덱싱하는 단계를 포함하며,
상기 저충실도 플래그가 설정되지 않은 경우, 상기 양자화 파라미터를 결정하는 단계는 상기 저충실도 모드 오프셋 없이 상기 QP 값을 이용하여 고충실도 형식 룩업 테이블을 인덱싱하는 단계를 포함하는 것인, 디코딩 방법. - 제1항에 있어서,
상기 저충실도 플래그가 설정된 경우, 저충실도 특유 최소치에 기초하여 상기 하나의 코딩 단위의 비디오 컴포넌트와 연관된 변환 블록을 디코딩하기 위해 사용되는 최소 변환 크기를 결정하는 단계;
상기 저충실도 플래그가 설정되지 않은 경우, 상기 코딩 단위와 연관된 변환 블록을 디코딩할 때 사용하기 위해 미리 결정된 최소 변환 크기를 이용하는 단계; 및
디코딩된 계수를 생성하기 위해 상기 최소 변환 크기에 기초하여 상기 코딩 단위를 위한 상기 비디오 컴포넌트 내의 변환 트리를 상기 비트스트림으로부터 디코딩하는 단계
를 더 포함하는 디코딩 방법. - 제1항에 있어서,
상기 저충실도 플래그가 설정된 경우, 상기 하나의 코딩 단위의 상기 비디오 컴포넌트와 연관된 인트라 예측 모드의 수를 1이 되게 결정하는 단계;
상기 저충실도 플래그가 설정되지 않은 경우, 상기 하나의 코딩 단위의 상기 비디오 컴포넌트와 연관된 인트라 예측 모드의 수를 상기 하나의 코딩 단위의 분할에 기초하여 결정하는 단계;
상기 하나의 코딩 단위의 상기 비디오 컴포넌트에 대한 인트라 예측 모드의 상기 결정된 수를 상기 비트스트림으로부터 디코딩하는 단계
를 더 포함하는 디코딩 방법. - 제1항에 있어서,
상기 저충실도 모드 오프셋은 화상 파라미터 세트(PPS, picture parameter set) 또는 시퀀스 파라미터 세트(SPS, sequence parameter set) 중 적어도 하나에서 시그널링되는 것인, 디코딩 방법. - 비디오 디코더에서 계수들을 역양자화하기 위해 인코딩된 비디오의 비트스트림을 디코딩하는 디코더에 있어서,
프로세서;
메모리; 및
상기 메모리에 저장되고 청구항 제1항 내지 제9항 중 어느 한 항에서 청구되는 방법을 수행하도록 상기 프로세서를 구성하는 명령어를 내포하는 디코딩 애플리케이션
을 포함하는 디코더. - 코딩 단위들로 분할된 화상을 포함하는 비디오를 인코딩된 비디오의 비트스트림을 생성하도록 비디오 인코더를 이용하여 인코딩하는 방법에 있어서,
상기 코딩 단위들 중의 하나의 코딩 단위에 대하여,
비디오 컴포넌트와 연관된, 상기 하나의 코딩 단위에 대한 저충실도 플래그 를 인코딩하는 단계로서, 상기 저충실도 플래그는 상기 코딩 단위가 저충실도 모드로 인코딩되어야 하는 경우에 설정되고, 상기 코딩 단위가 저충실도 모드로 인코딩되지 않아야 하는 경우에는 설정되지 않는 것이고, 상기 저충실도 플래그를 인코딩하는 단계는 상기 비트스트림의 상기 하나의 코딩 단위의 상기 저충실도 플래그를 인코딩하는 단계를 포함하는 것인, 인코딩하는 단계;
상기 코딩 단위가 상기 저충실도 모드로 인코딩되어야 하는 경우, 저충실도 모드 오프셋에 기초하여 상기 비디오 컴포넌트를 위한 양자화 파라미터를 결정하는 단계;
상기 코딩 단위가 상기 저충실도 모드로 인코딩되지 않아야 하는 경우, 상기 저충실도 모드 오프셋을 이용하지 않고 상기 비디오 컴포넌트를 위한 양자화 파라미터를 결정하는 단계; 및
양자화 계수를 생성하도록 상기 양자화 파라미터에 기초하여 상기 하나의 코딩 단위를 위한 상기 비디오 컴포넌트 내의 변환 계수를 양자화하는 단계
를 포함한 인코딩 방법. - 제16항에 있어서, 상기 비디오 컴포넌트는 루마 성분, 크로마 성분, 알파 성분, 적색 성분, 녹색 성분, 및 청색 성분 중의 적어도 하나를 포함하는 것인, 인코딩 방법.
- 제16항에 있어서,
상기 저충실도 모드 오프셋은 화상 파라미터 세트(PPS, picture parameter set) 또는 시퀀스 파라미터 세트(SPS, sequence parameter set) 중 적어도 하나에서 시그널링되는 것인, 인코딩 방법. - 코딩 단위들로 분할된 화상을 포함하는 비디오를 인코딩하는 인코더에 있어서,
프로세서와;
메모리와;
상기 메모리에 저장되고 청구항 제16항 내지 제18항 중 어느 한 항에서 청구되는 방법을 수행하도록 상기 프로세서를 구성하는 명령어를 내포하는 인코딩 애플리케이션
을 포함한 인코더. - 비일시적 프로세서 판독가능 매체에 있어서, 실행된 때 청구항 제1항 내지 제14항, 제16항 및 제18항 중 어느 한 항에서 청구되는 방법을 수행하도록 하나 이상의 프로세서를 구성하는 프로세서 실행가능 명령어를 저장한 것인, 비일시적 프로세서 판독가능 매체.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP13174435.1 | 2013-06-28 | ||
EP13174435.1A EP2843949B1 (en) | 2013-06-28 | 2013-06-28 | Methods and devices for emulating low-fidelity coding in a high-fidelity coder |
PCT/CA2014/050531 WO2014205561A1 (en) | 2013-06-28 | 2014-06-09 | Methods and devices for emulating low-fidelity coding in a high-fidelity coder |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20160025598A KR20160025598A (ko) | 2016-03-08 |
KR101721815B1 true KR101721815B1 (ko) | 2017-03-30 |
Family
ID=48740907
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020167002383A KR101721815B1 (ko) | 2013-06-28 | 2014-06-09 | 고충실도 코더로 저충실도 코딩을 에뮬레이트하는 방법 및 장치 |
Country Status (6)
Country | Link |
---|---|
EP (3) | EP2843949B1 (ko) |
JP (3) | JP6527859B2 (ko) |
KR (1) | KR101721815B1 (ko) |
CN (1) | CN105359521B (ko) |
HK (1) | HK1208107A1 (ko) |
WO (1) | WO2014205561A1 (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019135655A1 (ko) * | 2018-01-08 | 2019-07-11 | 삼성전자주식회사 | 영상 부호화 방법 및 장치, 영상 복호화 방법 및 장치 |
WO2020251269A1 (ko) * | 2019-06-11 | 2020-12-17 | 엘지전자 주식회사 | 영상 디코딩 방법 및 그 장치 |
Families Citing this family (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016199409A1 (en) * | 2015-06-07 | 2016-12-15 | Sharp Kabushiki Kaisha | Systems and methods for optimizing video coding based on a luminance transfer function or video color component values |
EP4199515A1 (en) * | 2016-05-27 | 2023-06-21 | SHARP Kabushiki Kaisha | Systems and methods for varying quantization parameters |
CN113411576B (zh) * | 2016-07-22 | 2024-01-12 | 夏普株式会社 | 使用自适应分量缩放对视频数据进行编码的系统和方法 |
CA3037411A1 (en) * | 2016-09-20 | 2018-03-29 | Mediatek Inc. | Methods and apparatuses of sample adaptive offset processing for video coding |
EP3503550A1 (en) * | 2016-10-10 | 2019-06-26 | Samsung Electronics Co., Ltd. | Method and device for encoding or decoding luma block and chroma block |
RU2759218C2 (ru) * | 2017-06-21 | 2021-11-11 | Вид Скейл, Инк. | Адаптивное квантование для кодирования 360-градусного видео |
CN113573057B (zh) * | 2018-02-01 | 2023-07-18 | 寰发股份有限公司 | 具有视频数据自适应量化的视频编码或解码方法和装置 |
AU2019342803B2 (en) | 2018-09-21 | 2023-07-13 | Huawei Technologies Co., Ltd. | Apparatus and method for inverse quantization |
EP3857883A1 (en) * | 2018-09-24 | 2021-08-04 | InterDigital VC Holdings, Inc. | Method and apparatus for determining chroma quantization parameters when using separate coding trees for luma and chroma |
EP3912345A4 (en) * | 2019-01-16 | 2022-11-09 | Sharp Kabushiki Kaisha | SYSTEMS AND METHODS FOR DERIVING QUANTIZATION PARAMETERS FOR VIDEO BLOCKS IN VIDEO ENCODING |
WO2020177072A1 (en) * | 2019-03-05 | 2020-09-10 | Zte Corporation | Cross-component quantization in video coding |
CN113545049B (zh) | 2019-03-08 | 2024-04-19 | 北京字节跳动网络技术有限公司 | 视频处理中对基于模型的整形的约束 |
CN113574889B (zh) | 2019-03-14 | 2024-01-12 | 北京字节跳动网络技术有限公司 | 环路整形信息的信令和语法 |
EP3925216A4 (en) * | 2019-03-23 | 2022-06-15 | Beijing Bytedance Network Technology Co., Ltd. | RESTRICTIONS ON ADAPTIVE LOOP FILTER PARAMETER SETS |
WO2020211869A1 (en) * | 2019-04-18 | 2020-10-22 | Beijing Bytedance Network Technology Co., Ltd. | Parameter derivation in cross component mode |
CN117579841A (zh) | 2019-04-23 | 2024-02-20 | 北京字节跳动网络技术有限公司 | 降低跨分量依赖性的方法 |
WO2020216380A1 (en) * | 2019-04-26 | 2020-10-29 | Beijing Bytedance Network Technology Co., Ltd. | Prediction of parameters for in-loop reshaping |
JP7368496B2 (ja) * | 2019-04-26 | 2023-10-24 | 華為技術有限公司 | クロマ量子化パラメータのマッピング関数のシグナリングのための方法及び装置 |
WO2020224629A1 (en) | 2019-05-08 | 2020-11-12 | Beijing Bytedance Network Technology Co., Ltd. | Conditions for applicability of cross-component coding |
WO2020228764A1 (en) * | 2019-05-14 | 2020-11-19 | Beijing Bytedance Network Technology Co., Ltd. | Methods on scaling in video coding |
JP7522137B2 (ja) * | 2019-06-14 | 2024-07-24 | フラウンホファー ゲセルシャフト ツール フェールデルンク ダー アンゲヴァンテン フォルシュンク エー.ファオ. | 改良型の変換ベーススケーリングを用いるエンコーダ、デコーダ、方法、およびコンピュータプログラム |
CN113994697A (zh) | 2019-06-22 | 2022-01-28 | 北京字节跳动网络技术有限公司 | 色度残差缩放的语法元素 |
US12015792B2 (en) | 2019-06-28 | 2024-06-18 | Lg Electronics Inc. | Image decoding method for chroma quantization parameter data and apparatus therefor |
KR102660738B1 (ko) | 2019-07-07 | 2024-04-26 | 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 | 크로마 잔차 스케일링의 시그널링 |
CN114175662B (zh) | 2019-07-20 | 2023-11-24 | 北京字节跳动网络技术有限公司 | 调色板模式使用指示的条件相关编解码 |
CN117221536A (zh) * | 2019-07-23 | 2023-12-12 | 北京字节跳动网络技术有限公司 | 调色板模式编解码的模式确定 |
US11277611B2 (en) * | 2019-07-24 | 2022-03-15 | Qualcomm Incorporated | Delta quantization parameter (QP) signaling in palette mode |
EP4020986B1 (en) * | 2019-08-22 | 2024-07-24 | LG Electronics Inc. | Image decoding method using chroma quantization parameter, and apparatus therefor |
CN114270842A (zh) * | 2019-08-27 | 2022-04-01 | 现代自动车株式会社 | 利用差分编码的视频编码和解码 |
JP7382494B6 (ja) * | 2019-09-23 | 2023-11-29 | ベイジン ダージャー インターネット インフォメーション テクノロジー カンパニー リミテッド | ビデオ符号化復号化における定量化および逆定量化設計のための方法及び装置 |
KR20230154114A (ko) * | 2020-01-11 | 2023-11-07 | 베이징 다지아 인터넷 인포메이션 테크놀로지 컴퍼니 리미티드 | 팔레트 모드를 이용한 비디오 코딩 방법 및 장치 |
US12047593B2 (en) * | 2020-10-02 | 2024-07-23 | Tencent America LLC | Method and apparatus for video coding |
CN113613008A (zh) * | 2021-08-20 | 2021-11-05 | 百果园技术(新加坡)有限公司 | 一种视频编解码的方法、装置、电子设备及存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7848408B2 (en) * | 2005-01-28 | 2010-12-07 | Broadcom Corporation | Method and system for parameter generation for digital noise reduction based on bitstream properties |
US8243797B2 (en) * | 2007-03-30 | 2012-08-14 | Microsoft Corporation | Regions of interest for quality adjustments |
US8571106B2 (en) * | 2008-05-22 | 2013-10-29 | Microsoft Corporation | Digital video compression acceleration based on motion vectors produced by cameras |
US8897359B2 (en) * | 2008-06-03 | 2014-11-25 | Microsoft Corporation | Adaptive quantization for enhancement layer video coding |
US9854275B2 (en) * | 2011-06-25 | 2017-12-26 | Qualcomm Incorporated | Quantization in video coding |
-
2013
- 2013-06-28 EP EP13174435.1A patent/EP2843949B1/en active Active
- 2013-06-28 EP EP19190044.8A patent/EP3598751B1/en active Active
- 2013-06-28 EP EP24164456.6A patent/EP4366308A3/en active Pending
-
2014
- 2014-06-09 KR KR1020167002383A patent/KR101721815B1/ko active IP Right Grant
- 2014-06-09 WO PCT/CA2014/050531 patent/WO2014205561A1/en active Application Filing
- 2014-06-09 JP JP2016522152A patent/JP6527859B2/ja active Active
- 2014-06-09 CN CN201480036997.4A patent/CN105359521B/zh active Active
-
2015
- 2015-09-04 HK HK15108645.5A patent/HK1208107A1/xx unknown
-
2019
- 2019-05-13 JP JP2019090897A patent/JP6691253B2/ja active Active
-
2020
- 2020-04-09 JP JP2020070211A patent/JP6907373B2/ja active Active
Non-Patent Citations (1)
Title |
---|
"Chroma QP range extension", Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, JCTVC-J0342 (2012.7.11.)* |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019135655A1 (ko) * | 2018-01-08 | 2019-07-11 | 삼성전자주식회사 | 영상 부호화 방법 및 장치, 영상 복호화 방법 및 장치 |
WO2020251269A1 (ko) * | 2019-06-11 | 2020-12-17 | 엘지전자 주식회사 | 영상 디코딩 방법 및 그 장치 |
US11533500B2 (en) | 2019-06-11 | 2022-12-20 | Lg Electronics Inc. | Image decoding method and device therefor |
US11825108B2 (en) | 2019-06-11 | 2023-11-21 | Lg Electronics Inc. | Image decoding method and device therefor |
Also Published As
Publication number | Publication date |
---|---|
CN105359521A (zh) | 2016-02-24 |
EP4366308A3 (en) | 2024-07-10 |
EP4366308A2 (en) | 2024-05-08 |
EP3598751A3 (en) | 2020-04-08 |
HK1208107A1 (en) | 2016-02-19 |
JP6527859B2 (ja) | 2019-06-05 |
EP3598751A2 (en) | 2020-01-22 |
JP2019146263A (ja) | 2019-08-29 |
EP2843949B1 (en) | 2020-04-29 |
EP2843949A1 (en) | 2015-03-04 |
CN105359521B (zh) | 2020-06-26 |
JP6691253B2 (ja) | 2020-04-28 |
JP2020115675A (ja) | 2020-07-30 |
WO2014205561A1 (en) | 2014-12-31 |
EP3598751B1 (en) | 2024-04-10 |
JP6907373B2 (ja) | 2021-07-21 |
JP2016528768A (ja) | 2016-09-15 |
KR20160025598A (ko) | 2016-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101721815B1 (ko) | 고충실도 코더로 저충실도 코딩을 에뮬레이트하는 방법 및 장치 | |
US10979715B2 (en) | Methods and devices for emulating low-fidelity coding in a high-fidelity coder | |
CA2838336C (en) | Methods and systems for prediction filtering in video coding | |
CA2940015C (en) | Adjusting quantization/scaling and inverse quantization/scaling when switching color spaces | |
KR102244926B1 (ko) | 채도 qp 값의 확장된 범위 | |
KR102143663B1 (ko) | 디블록킹에서 채도 양자화 파라미터 오프셋을 사용하는 기법 | |
KR101749269B1 (ko) | 적응적인 인루프 필터를 이용한 동영상 부호화와 복호화 장치 및 그 방법 | |
EP2299720A1 (en) | Dynamic image encoding/decoding method and device | |
CN113767627B (zh) | 基于二次变换的视频处理中的裁剪操作 | |
JP2024020545A (ja) | クロス成分適応ループフィルタ | |
CN114402601A (zh) | 色度去块滤波的量化参数偏移 | |
CN114598890A (zh) | 用于对图像进行编码和解码的方法以及相关装置和系统 | |
JP2021535653A (ja) | ビデオコーディング及び処理のためのデブロッキングフィルタ | |
KR20200136477A (ko) | Hdr 콘텐츠를 디블록킹하기 위한 시스템 및 방법 | |
KR20200136395A (ko) | 화상 처리 장치 및 화상 처리 방법 | |
CN114762339B (zh) | 基于变换跳过和调色板编码相关高级语法元素的图像或视频编码 | |
WO2022217417A1 (zh) | 编解码方法、编码器、解码器以及存储介质 | |
CN118077197A (zh) | 组合用于视频编码和/或解码的去块滤波和另一滤波 |
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 |