KR101888679B1 - 개선된 인트라 색차 엔코딩 및 디코딩을 위한 방법 및 장치 - Google Patents
개선된 인트라 색차 엔코딩 및 디코딩을 위한 방법 및 장치 Download PDFInfo
- Publication number
- KR101888679B1 KR101888679B1 KR1020127003676A KR20127003676A KR101888679B1 KR 101888679 B1 KR101888679 B1 KR 101888679B1 KR 1020127003676 A KR1020127003676 A KR 1020127003676A KR 20127003676 A KR20127003676 A KR 20127003676A KR 101888679 B1 KR101888679 B1 KR 101888679B1
- Authority
- KR
- South Korea
- Prior art keywords
- luma
- types
- color difference
- type
- block
- 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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
-
- 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/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for 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/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/103—Selection of coding mode or of prediction mode
- H04N19/11—Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
-
- 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/146—Data rate or code amount at the encoder output
- H04N19/147—Data rate or code amount at the encoder output according to rate distortion criteria
-
- 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/189—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
- H04N19/196—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
-
- 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/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- 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
-
- 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
- H04N19/463—Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
-
- 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/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
개선된 색차 엔코딩 및 디코딩을 위한 방법 및 장치가 제공된다. 장치는, 화상에서 적어도 하나의 블록을 위한 화상 데이터를 엔코딩하기 위한 엔코더(400)를 포함한다. 블록의 인트라 색차 코딩을 위해 다중 구분 유형들이 지원된다. 다중 구분 유형들은 색차 구분 유형들의 세트와 루마 구분 유형들의 세트를 포함한다. 색차 구분 유형들의 세트는 루마 구분 유형들의 세트와 다르다.
Description
본 출원은, 2009년 8월 12일에 출원된, 미국 가특허출원 제61/223,310호(대리인 관리 번호 PU090108호)의 이익을 주장하며, 상기 출원은 그 전체가 본 명세서에 참조로서 통합된다.
본 발명의 원리들은 기본적으로 비디오 엔코딩과 디코딩에 관한 것이고, 보다 상세하게는 개선된 인트라 색차 엔코딩 및 디코딩을 위한 방법 및 장치에 관한 것이다.
대부분의 현대의 비디오 코딩 표준들은 공간 및 시간 영역들에서 상관관계들을 효율적으로 줄이기 위한 다양한 코딩 모드들을 사용한다. ISO/IEC(International Organization for Standardization/International Electrotechnical Commission) MPEG-4(Moving Pictrue Experts Group-4) Part 10 AVC(Advanced Video coding) 표준/ITU-T(the International Telecommunication Union, Telecommunication Sector) H.264 권고(이후, "MPEG-4 AVC 표준"으로 칭함)에서, 화상은 인트라 또는 인터 코딩될 수 있다. 인트라 코딩된 화상에서, 매크로블록들(16×16)은 화상 내에서 공간 상관관계를 이용하면서 인트라 모드들로 코딩된다. 인트라 루마(luma) 코딩에 대해, 인트라 모드들은 다음의 세 가지 구분 유형들로 분류될 수 있다: 인트라 4×4; 인트라 8×8; 및 인트라 16×16. 인트라 4×4는 4×4 이산 코사인 변환(DCT)을 사용하고, 인트라 8×8은 8×8 변환들을 사용한다. 인트라 16×16은 4×4 직류(DC) 아다마르(Hadamard) 변환과 직렬접속된(cascaded) 4×4 정수 DCT를 사용한다. 인트라 색차 코딩에 대해, 오직 한 가지 구분 유형이 허용된다. 인트라 코딩된 매크로블록의 각 8×8 색차 성분은 4개의 인트라 예측 모드들을 사용하여 예측되고, 2×2 DC 아다마르 변환과 직렬접속된 4×4 정수 DCT를 사용한다. 색차 구분 유형은 루마 구분 유형에 상관없이 고정된다.
MPEG-4 AVC 표준 인트라 코딩
MPEG-4 AVC 표준은 화상 내의 공간 상관관계를 이용하기 위하여 인트라 모드들을 사용한다. 인트라 루마 코딩에 대해, 인트라 모드들은 다음의 세 가지 유형들로 분류될 수 있다: 인트라 4×4; 인트라 8×8; 및 인트라 16×16. 인트라 4×4와 인트라 8×8은 9개의 인트라 예측 모드들을 지원하고, 인트라 16×16은 4개의 인트라 예측 모드들을 지원한다. 도 1을 참조하면, 인트라 4×4 및 인트라 8×8 예측 모드들은 일반적으로 참조번호 100으로 표시된다. 도 1에 있어서, 참조번호 0은 수직 예측 모드를 나타내고, 참조번호 1은 수평 예측모드를 나타내며, 참조번호 3은 대각선 아래/좌측의 예측 모드를 나타내고, 참조번호 4는 대각선 아래/우측의 예측 모드를 나타내고, 참조번호 5는 수직-우측의 예측 모드를 나타내고, 참조번호 6은 수평-아래의 예측모드를 나타내고, 참조번호 7은 수직/좌측의 예측모드를 나타내며, 참조번호 8은 수평-상부의 예측모드를 나타낸다. 인트라 4×4 및 인트라 8×8 예측 모드들의 부분인 DC 모드는 도시되지 않았다. 도 2를 참조하면, 인트라 16×16 예측 모드들이 일반적으로 참조번호 200으로 표시된다. 도 2에서, 참조번호 0은 수직 예측모드를 나타내고, 참조번호 1은 수평 예측모드를 나타내고, 참조번호 3은 평면 예측모드를 나타낸다. 인트라 16×16 예측 모드들의 부분인 DC 모드는 도시되지 않았다.
MPEG-4 AVC 표준에서 기본 코딩 유닛이 매크로블록, 즉 크기가 16×16 이므로, 매크로블록 내의 구분 유형들은 모두 16×16, 8×8 또는 4×4이다. 도 3에 도시된 바와 같이, 매크로블록 내부에는 혼합된 구분 유형들이 존재하지 않는다. 도 3을 참조하면, 인트라 16×16 블록들(310) 내에서 사용하기 위한 동작 구분들은 일반적으로 참조번호 300으로 표시된다. 구분들은 16×16, 8×8, 및 4×4 구분들을 포함한다.
상술한 바와 같이, 인트라 4×4는 4×4 DCT 변환을 사용하고, 인트라 8×8은 8×8 변환들을 사용하고, 인트라 16×16은 직렬접속된 4×4 변환들을 사용한다. 신호발신을 위해, 인트라 4×4과 인트라 8×8은 동일한 매크로블록 유형(mb_type) 0을 공유하고, 이들은 변환 크기 플래그(transform_8×8_size_flag)에 의해 구별된다. 따라서, 인트라 4×4 또는 인트라 8×8에서 인트라 예측 모드의 선택은 필요하다면 나머지 모드를 통해 가능한 가장 가능성이 높은 모드에 의해 신호발신된다. 인트라 16×16에 대해, 모든 인트라 예측 모드들은 코딩된 블록 패턴(cbp) 유형과 함께 mb_type로 신호발신되는데, 1로부터 24까지의 mb_type 값을 사용한다. 인트라 색차 코딩에 대해, 인트라 코딩된 매크로블록의 각 8×8 색차 성분은 4개의 인트라 예측 모드들을 사용하여 그리고 2×2 DC 아다마르 변환과 직렬접속된 4×4 정수 DCT를 사용하여 예측된다. 인트라 색차 코딩은 루마 구분 유형과는 독립적으로 고정된다. 인트라 색차 코딩은 콘텐츠에 적응되지 않아서, 색차 코딩의 충실도를 감소시킨다.
MPEG-4 AVC 표준에서 4:4:4 경우에 있어서, 인트라 루마 구분 유형과 예측 모드들은 모든 세 가지 컬러 성분들에 대해 사용될 수 있다. 공통의 모드와 독립적인 모드가 지원된다. 공통의 모드에 있어서, 모든 세 가지 성분들은 구분 유형과 예측 모드들을 포함하여, 루마 성분과 정확히 동일한 정보를 공유한다. 독립적인 모드에 있어서, 세 가지 컬러 성분들의 각각은 루마 평면과 동일한 코딩 방법을 사용하여 별도의 평면으로 코딩된다.
MPEG-4 AVC 표준의 확장들에서 대형 인트라 예측들
제 1 종래 기술의 접근법에서, 예측 블록 유닛은 인트라 방향 모드들의 수를 9이상으로 증가시킴으로써 인트라 코딩을 위해 확장된다. 그러나, 제 1 종래 기술의 접근법에서, 색차의 경우에 대한 언급이나 예상이 전혀 없다. 제 2 종래 기술의 접근법에서, 색차 구분 유형은 MPEG-4 AVC 표준에서와 동일한 색차_8×8이 되게 고정된다. 인트라 예측 모드들 및 변환들에 대해, 색차 구분 유형은 MPEG-4 AVC 표준에서 루마 인트라_16×16, 인트라_8×8 및 인트라_4×4와 동일하게, 즉 4개의 색차 예측 모드들과 직렬접속된 4×4 변환을 사용하여, 유지된다. 인트라_32×32에 대해, 표 1에 도시된 바와 같이, 색차는 4개의 색차 예측 모드들과 직렬접속된 8×8 변환을 사용한다. 즉, 표 1은 4:2:0 포맷을 위한 각 인트라 예측 모드에 대해 사용된 예측 구분 크기들과 변환들을 도시한다. 제 2 종래 기술의 접근법에서 사용된 방식은 수 가지 단점을 갖는다. 제 2 종래 기술의 접근법의 한 가지 단점은 색차 코딩 구분 유형이 모든 루마 구분 유형들에 대해 고정된다는 점이다. 제 2 종래 기술의 접근법의 다른 단점은 색차 코딩을 위해 선택된 코딩 모드 또는 변환이 최상이 아니라는 점이다. 제 2 종래 기술의 접근법의 또 다른 단점은 색차 코딩이 낮은 충실도를 갖는 점이다.
매크로블록 루마 구분 | 루마 변환 | 색차 변환(8×8 구분으로) |
인트라_32×32 | 8×8 정수 코사인 변환, 그후 4×4 아다마르 변환 | 8×8 정수 코사인 변환, 그후 2×2 아다마르 변환 |
수정된 인트라_16×16 | KTA 2.3[1]에서 16×16 정수 코사인 변환 | 4×4정수 코사인 변환, 그후 2×2 아다마르 변환 |
인트라_8×8 | 8×8 정수 코사인 변환 | 4×4정수 코사인 변환, 그후 2×2 아다마르 변환 |
인트라_8×8 | 4×4 정수 코사인 변환 | 4×4정수 코사인 변환, 그후 2×2 아다마르 변환 |
종래 기술의 이들 및 다른 단점 및 결점은 개선된 인트라 색차 엔코딩 및 디코딩을 위한 방법 및 장치에 관한 본 발명의 원리에 의해 다루어진다.
본 발명의 원리의 양상에 따라, 장치가 제공된다. 이 장치는 화상 내에서 적어도 한 블록에 대한 화상 데이터를 엔코딩하기 위한 엔코더를 포함한다. 블록의 인트라 색차 코딩을 위해 다수의 구분 유형들이 지원된다. 다수의 구분 유형들은 색차 구분 유형들의 세트와 루마 구분 유형들의 세트를 포함한다. 색차 구분 유형들의 세트는 루마 구분 유형들의 세트와 다르다.
본 발명의 원리의 다른 양상에 따라, 비디오 엔코더에서의 방법이 제공된다. 이 방법은 화상 내에서 적어도 한 블록에 대한 화상 데이터를 엔코딩하는 단계를 포함한다. 블록의 인트라 색차 코딩을 위해 다수의 구분 유형들이 지원된다. 다수의 구분 유형들은 색차 구분 유형들의 세트와 루마 구분 유형들의 세트를 포함한다. 색차 구분 유형들의 세트는 루마 구분 유형들의 세트와 다르다.
본 발명의 원리의 또 다른 양상에 따라, 장치가 제공된다. 이 장치는 화상 내에서 적어도 한 블록에 대한 화상 데이터를 디코딩하기 위한 디코더를 포함한다. 블록의 인트라 색차 디코딩을 위해 다수의 구분 유형들이 지원된다. 다수의 구분 유형들은 색차 구분 유형들의 세트와 루마 구분 유형들의 세트를 포함한다. 색차 구분 유형들의 세트는 루마 구분 유형들의 세트와 다르다.
본 발명의 원리의 추가 양상에 따라, 비디오 디코더에서의 방법이 제공된다. 이 방법은 화상 내에서 적어도 한 블록에 대한 화상 데이터를 디코딩하는 단계를 포함한다. 블록의 인트라 색차 디코딩을 위해 다수의 구분 유형들이 지원된다. 다수의 구분 유형들은 색차 구분 유형들의 세트와 루마 구분 유형들의 세트를 포함한다. 색차 구분 유형들의 세트는 루마 구분 유형들의 세트와 다르다.
본 발명의 원리의 이들 및 다른 양상은 첨부 도면에 관련하여 읽혀질 예시적인 실시예의 다음의 상세한 서술로부터 명백해질 것이다.
본 발명의 원리는 다음의 예시적인 도면에 따라 더 잘 이해될 것이다.
본 발명은, 색차 코딩 구분 유형이 모든 루마 구분 유형들에 대해 고정되고, 색차 코딩을 위해 선택된 코딩 모드 또는 변환이 최상이 아니며, 색차 코딩이 낮은 충실도를 갖는 종래의 단점들을 개선한, 인트라 색차 엔코딩 및 디코딩을 위한 방법 및 장치를 제공한다.
도 1은 본 발명의 원리가 적용될 수 있는 인트라 4×4 및 인트라 8×8 예측 모드들을 도시하는 도면.
도 2는 본 발명의 원리가 적용될 수 있는 인트라 16×16 예측 모드들을 도시하는 도면.
도 3은 본 발명의 원리가 적용될 수 있는, 16×16 블록들에서 사용하기 위한 동작 구분들을 도시하는 도면.
도 4는 본 발명의 원리의 실시예에 따라 본 발명의 원리가 적용될 수 있는, 예시적인 비디오 엔코더를 도시하는 블록도.
도 5는 본 발명의 원리의 실시예에 따라 본 발명의 원리가 적용될 수 있는 예시적인 비디오 디코더를 도시하는 블록도.
도 6은 본 발명의 원리의 실시예에 따라 인트라 색차 코딩을 위한 예시적인 방법을 도시하는 흐름도.
도 7은 본 발명의 원리의 실시예에 따라 인트라 색차 디코딩을 위한 예시적인 방법을 도시하는 흐름도.
도 8은 본 발명의 원리의 실시예에 따라 인트라 색차 코딩을 위한 다른 예시적인 방법을 도시하는 흐름도.
도 9은 본 발명의 원리의 실시예에 따라 인트라 색차 디코딩을 위한 다른 예시적인 방법을 도시하는 흐름도.
도 2는 본 발명의 원리가 적용될 수 있는 인트라 16×16 예측 모드들을 도시하는 도면.
도 3은 본 발명의 원리가 적용될 수 있는, 16×16 블록들에서 사용하기 위한 동작 구분들을 도시하는 도면.
도 4는 본 발명의 원리의 실시예에 따라 본 발명의 원리가 적용될 수 있는, 예시적인 비디오 엔코더를 도시하는 블록도.
도 5는 본 발명의 원리의 실시예에 따라 본 발명의 원리가 적용될 수 있는 예시적인 비디오 디코더를 도시하는 블록도.
도 6은 본 발명의 원리의 실시예에 따라 인트라 색차 코딩을 위한 예시적인 방법을 도시하는 흐름도.
도 7은 본 발명의 원리의 실시예에 따라 인트라 색차 디코딩을 위한 예시적인 방법을 도시하는 흐름도.
도 8은 본 발명의 원리의 실시예에 따라 인트라 색차 코딩을 위한 다른 예시적인 방법을 도시하는 흐름도.
도 9은 본 발명의 원리의 실시예에 따라 인트라 색차 디코딩을 위한 다른 예시적인 방법을 도시하는 흐름도.
본 발명의 원리들은 개선된 인트라 색차 엔코딩 및 디코딩을 위한 방법 및 장치에 관한 것이다.
본 설명은 본 발명의 원리를 설명한다. 따라서, 본 명세서에서 명시적으로 기술되거나 도시되지 않았더라도, 당업자가 본 발명의 원리를 구현하고, 본 발명의 사상과 범주 내에 포함되는 다양한 장치를 안출할 수 있음을 알 수 있을 것이다.
본 명세서에 상술된 모든 예시들 및 조건적 언어는 해당 기술을 진전시키기 위해 본 발명자에 의해 공헌된 본 발명의 원리 및 개념을 독자가 이해하는 것을 돕기 위한 교육적인 목적을 위한 것이며, 그렇게 명확하게 상술한 예시들 및 조건들로 제한되지 않는 것으로 해석되어야 한다.
더욱이, 본 발명의 특정 예시들뿐만 아니라, 본 발명의 원리, 양상, 및 실시예들을 상술하는 본 명세서에서의 모든 진술은, 본 발명의 구조적 그리고 기능적 등가물들을 모두 포함하도록 의도된다. 덧붙여, 그러한 등가물들은 현재 알려진 등가물 및 미래에 개발될 등가물 모두, 즉, 구조에 관계없이 동일한 기능을 수행하는 임의의 개발된 요소를 포함하도록 의도된다.
그러므로, 예컨대, 당업자라면 본 명세서에 제공된 블록도는 본 발명의 원리를 구현하는 예시적 회로의 개념적 개관을 나타낸다는 점을 이해할 것이다. 마찬가지로, 임의의 흐름도, 순서도, 상태 전이도, 의사 코드(pseudocode) 등은, 실질적으로 컴퓨터 판독 가능한 매체에 제공될 수 있고 따라서, 컴퓨터 또는 프로세서가 명시적으로 도시되어있는지의 여부에 관계없이, 컴퓨터 또는 프로세서에 의해 실행되는 다양한 프로세스들을 나타낸다는 것이 이해될 것이다.
도면들에 도시된 다양한 요소들의 기능들은 전용 하드웨어 및, 적절한 소프트웨어와 결합하여 소프트웨어를 실행할 수 있는 하드웨어의 이용을 통해 제공될 수도 있다. 프로세서에 의해 제공될 때, 기능들은 단일의 전용 프로세서에 의해, 단일의 공유된 프로세서에 의해, 또는 일부가 공유될 수 있는 복수의 개별적인 프로세서에 의해 제공될 수도 있다. 또한, 용어 "프로세서(processor)" 또는 "제어기(controller)"의 명시적인 사용은 소프트웨어를 실행할 수 있는 하드웨어를 배타적으로 지칭하는 것으로 해석되어서는 안 되며, 이들은, 제한 없이, 디지털 신호 프로세서("DSP") 하드웨어, 소프트웨어를 저장하기 위한 판독-전용 메모리("ROM"), 랜덤 액세스 메모리("RAM"), 그리고 비-휘발성 저장 장치를 암묵적으로 포함할 수도 있다.
종래의 및/또는 맞춤화된 다른 하드웨어가 또한 포함될 수도 있다. 마찬가지로, 도면들에 도시된 임의의 스위치들은 오직 개념적이다. 그러한 스위치들의 기능은 프로그램 로직의 동작을 통해, 전용 로직을 통해, 프로그램 제어와 전용 로직의 상호작용을 통해, 또는 수동으로까지 수행될 수도 있으며, 문맥으로부터 더욱 명확하게 이해되는 것과 같이, 이러한 특정 기술은 구현자에 의해 선택될 수 있다.
본 명세서의 청구항들에서, 특정 기능을 수행하는 수단으로 표현된 임의의 요소들은 그러한 기능을 수행하는 임의의 방법을 포함하도록 의도되는데, 임의의 방법은 예컨대, a) 그러한 기능을 수행하는 회로 요소들의 결합 또는 b) 임의의 형태의, 따라서 그러한 기능을 수행하기 위한 소프트웨어를 실행시키기 위한 적절한 회로와 결합된 펌웨어, 마이크로코드, 등을 포함하는, 소프트웨어를 포함한다. 그러한 청구항들에 의해 한정되는 본 발명의 원리는, 다양한 상술한 수단들에 의해 제공되는 기능이 청구항들이 요구하는 방식으로 결합되며 함께 제공되는 사실에 존재한다. 그러므로, 그러한 기능들을 제공할 수 있는 임의의 수단은 본 명세서에 도시된 수단들과 동등한 것으로 간주된다.
본 명세서에서, 본 발명의 원리의 다른 변형뿐만 아니라 본 발명의 원리의 "하나의 실시예" 또는 "일 실시예"에 대한 언급은, 그러한 실시예와 관련되어 설명되는 특정한 특징, 구조 특성 등이 본 발명의 원리의 적어도 한 실시예에 포함된다는 것을 의미한다. 그러므로, 본 명세서 전반에 걸쳐서 다양한 위치에 나타나는 "일 실시예에서" 또는 "하나의 실시예에서" 및 임의의 다른 변형의 구절의 출현은 반드시 모두 동일한 실시예를 언급하는 것은 아니다.
예컨대 "A/B", "A 및/또는 B", 및 "A와 B 중 적어도 하나"의 경우에서와 같이 "/", "및/또는(and/or)"과 "중 적어도 하나" 중 임의의 것의 사용은 첫 번째로 열거된 옵션(A)만의 선택, 또는 두 번째로 열거된 옵션(B)만의 선택, 또는 옵션(A와 B) 모두의 선택을 포함하는 것으로 의도된다는 점을 알아야 한다. 또 다른 예로서, "A, B 및/또는 C"와 "A, B 및 C 중 적어도 하나"의 경우들에서, 그러한 어법은 첫 번째 열거된 옵션(A)만의 선택, 또는 두 번째 열거된 옵션(B)만의 선택, 또는 세 번째 열거된 옵션(C)만의 선택, 또는 첫 번째 및 두 번째 열거된 옵션들(A, B)만의 선택, 또는 첫 번째 및 세 번째 열거된 옵션(A, C)만의 선택, 또는 두 번째 및 세 번째 열거된 옵션(B,C)만의 선택, 또는 3개의 옵션(A, B, C) 전부의 선택을 포함하는 것으로 의도된다. 이는 당업자에게 바로 명백해 지듯이, 열거된 많은 항목에 관해 확장될 수 있다.
또한 본 명세서에서 사용된 용어, "화상"과 "이미지"는 교환가능하게 사용되며, 비디오 시퀀스로부터의 정지 이미지 또는 화상을 언급한다. 알려진 바와 같이, 화상은 한 프레임 또는 한 필드이다.
부가적으로, 본 명세서에서 사용된 용어, "신호발신"("signal")은 대응하는 디코더에 무언가를 지시하는 것을 언급할 수 있다. 예컨대, 엔코더는 디코더가 어떤 특정 구분 유형 및/또는 구분 모드가 엔코더 측에서 사용되었는지를 알 수 있게 하기 위하여, 색차 코딩을 위한 특정 구분 유형 및/또는 구분 모드를 신호발신(signal)할 수 있다. 이러한 방식으로, 동일한 기능이 엔코더 측과 디코더 측 모두에서 사용될 수 있다. 따라서, 예컨대 엔코더는 특정 구분 유형 및/또는 구분 모드를 디코더에 송신할 수 있어서, 디코더는 동일한 특정 구분 유형 및/또는 구분 모드를 사용할 수 있거나, 만약 디코더가 다른 것과 함께 이미 특정 구분 유형 및/또는 구분 모드를 가지고 있다면, 신호발신은 단순히 디코더가 특정 구분 유형 및/또는 구분 모드를 알고 선택하는 것을 허용하기 위하여, (송신을 하지 않고) 신호발신이 사용될 수 있다. 임의의 실제 특정 구분 유형 및/또는 구분 모드의 송신을 회피함으로써, 비트 절약이 실현된다. 신호발신은 다양한 방식으로 달성될 수 있음을 알아야 한다. 예컨대, 대응하는 디코더에 정보를 신호발신하기 위하여 하나 이상의 구문 요소, 플래그 등이 사용될 수 있다.
또한 본 명세서에서 사용된 "수퍼블록"은 하나 이상의 매크로블록들을 언급한다.
추가적으로, 본 명세서에서 사용된 절, 즉 "다수의 구분 유형들은 인트라 색차 코딩을 위해 지원된다"는 인트라 색차 코딩을 위한 구분 유형이 하나의 특정 구분 유형에 고정되지 않고, 오히려 인트라 색차 코딩을 위한 다수의 구분 유형들의 세트에 대해 선택이 이루어지는 경우 및 인트라 색차 코딩을 위한 다수의 구분 유형들의 세트가 코딩을 위해 또한 이용 가능한 인트라 루마 코딩의 다수의 구분 유형들의 세트와 다른 경우를 언급한다.
더욱이, 본 발명의 원리의 하나 이상의 실시예가 MPEG-4 AVC 표준에 대해 본 명세서에서 기술되었지만, 본 발명의 원리는 이러한 표준에만 제한되지 않고, 따라서 본 발명의 원리의 사상을 유지하면서, MPEG-4 AVC 표준의 확장부를 포함하여 다른 비디오 코딩 표준, 권고안 및 이들의 확장부에 관해 이용될 수 있다는 점을 알아야 한다.
도 4을 참조하면, 본 발명의 원리들이 적용될 수 있는 예시적인 비디오 엔코더가 일반적으로 참조번호 400으로 표시되었다.
비디오 엔코더(400)는 하나의 출력을 갖는 프레임 배열 버퍼(410)를 포함하고, 이 출력은 결합기(485)의 비반전 입력에 교신하도록 연결된다. 결합기(485)의 출력은 변환기 및 양자화기(425)의 제 1 입력에 교신하도록 연결된다. 변환기 및 양자화기(425)의 출력은 엔트로피 코더(445)의 제 1 입력과 역변환기 및 역양자화기(450)의 제 1 입력에 교신하도록 연결된다. 엔트로피 코더(445)의 출력은 결합기(490)의 제 1 비반전 입력에 교신하도록 연결된다. 결합기(490)의 출력은 출력 버퍼(435)의 제 1 입력에 교신하도록 연결된다.
엔코더 제어기(405)의 제 1 출력은 프레임 배열 버퍼(410)의 제 2 입력, 역 변환기 및 역 양자화기(450)의 제 2 입력, 화상-유형 결정 모듈(415)의 입력, 매크로블록(MB)-유형 결정 모듈(420)의 제 1 입력, 색차 코딩을 위한 다중 구분 지원을 갖는 인트라 예측 모듈(460)의 제 2 입력, 블록킹해제 필터(465)의 제 2 입력, 움직임 보상기(470)의 제 1 입력, 움직임 추정기(475)의 제 1 입력, 및 기준 화상 버퍼(480)의 제 2 입력에 교신하도록 연결된다.
엔코더 제어기(405)의 제 2 출력은 보충 강화 정보(SEI : Supplemental Enhancement Information) 삽입기(430)의 제 1 입력, 변환기 및 양자화기(425)의 제 2 입력, 엔트로피 코더(445)의 제 2 입력, 출력 버퍼(435)의 제 2 입력, 및 시퀀스 파라미터 세트(SPS) 및 화상 파라미터 세트(PPS) 삽입기(440)의 입력에 교신하도록 연결된다.
SEI 삽입기(430)의 출력은 결합기(490)의 제 2 비반전 입력에 교신하도록 연결된다.
화상-유형 결정 모듈(415)의 제 1 출력은 프레임 배열 버퍼(410)의 제 3 입력에 교신하도록 연결된다. 화상-유형 결정 모듈(415)의 제 2 출력은 매크로블록-유형 결정 모듈(420)의 제 2 입력에 교신하도록 연결된다.
시퀀스 파라미터 세트(SPS) 및 화상 파라미터 세트(PPS) 삽입기(440)의 출력은 결합기(490)의 제 3 비반전 입력에 교신하도록 연결된다.
역 변환기 및 역 양자화기(450)의 출력은 결합기(419)의 제 1 비반전 입력에 교신하도록 연결된다. 결합기(419)의 출력은 색차 코딩을 위한 다중 구분 지원을 갖는 인트라 예측 모듈(460)의 제 1 입력과 블록킹해제 필터(465)의 제 1 입력에 교신하도록 연결된다. 블록킹해제 필터(465)의 출력은 기준 화상 버퍼(480)의 제 1 입력에 교신하도록 연결된다. 기준 화상 버퍼(480)의 출력은 움직임 추정기(475)의 제 2 입력과 움직임 보상기(470)의 제 3 입력에 교신하도록 연결된다. 움직임 추정기(475)의 제 1 출력은 움직임 보상기(470)의 제 2 입력에 교신하도록 연결된다. 움직임 추정기(475)의 제 2 출력은 엔트로피 코더(445)의 제 3 입력에 교신하도록 연결된다.
움직임 보상기(470)의 출력은 스위치(497)의 제 1 입력에 교신하도록 연결된다. 색차 코딩을 위한 다중 구분 지원을 갖는 인트라 예측 모듈(460)의 출력은 스위치(497)의 제 2 입력에 교신하도록 연결된다. 매크로블록-유형 결정 모듈(420)의 출력은 스위치(497)의 제 3 입력에 교신하도록 연결된다. 스위치(497)의 제 3 입력은 스위치의 "데이터" 입력이 (제어 입력 즉 제 3 입력과 비교하여) 움직임 보상기(470) 또는 색차 코딩을 위한 다중 구분 지원을 갖는 인트라 예측 모듈(460)에 의해 제공될 지의 여부를 결정한다. 스위치(497)의 출력은 결합기(419)의 제 2 비반전 입력과 결합기(485)의 반전 입력에 교신하도록 연결된다.
프레임 배열 버퍼(410)의 제 1 입력과 엔코더 제어기(405)의 입력은 입력 화상(401)을 수신하기 위한 엔코더(400)의 입력으로 사용 가능하다. 더욱이, 보충 강화 정보(SEI) 삽입기(430)의 제 2 입력은 메타 데이터를 수신하기 위한 엔코더(400)의 입력으로 사용 가능하다. 출력 버퍼(435)의 출력은 비트 스트림을 출력하기 위한 엔코더(400)의 출력으로 사용 가능하다.
도 5를 참조하면, 본 발명의 원리들이 적용될 수 있는 예시적인 비디오 디코더가 일반적으로 참조번호 500으로 표시된다.
비디오 디코더(500)는 엔트로피 디코더(545)의 제 1 입력과 교신하도록 연결된 출력을 가지는 입력 버퍼(510)를 포함한다. 엔트로피 디코더(545)의 제 1 출력은 역 변환기 및 역 양자화기(550)의 제 1 입력과 교신하도록 연결된다. 역 변환기 및 역 양자화기(550)의 출력은 결합기(525)의 제 2 비반전 입력과 교신하도록 연결된다. 결합기(525)의 출력은 블록킹해제 필터(565)의 제 2 입력 및 색차 디코딩을 위한 다중 구분 지원을 갖는 인트라 예측 모듈(560)의 제 1 입력과 교신하도록 연결된다. 블록킹해제 필터(565)의 제 2 출력은 기준 화상 버퍼(580)의 제 1 입력과 교신하도록 연결된다. 기준 화상 버퍼(580)의 출력은 움직임 보상기(570)의 제 2 입력과 교신하도록 연결된다.
엔트로피 디코더(545)의 제 2 출력은, 움직임 보상기(570)의 제 3 입력, 블록킹해제 필터(565)의 제 1 입력, 및 색차 디코딩을 위한 다중 구분 지원을 갖는 인트라 예측기(560)의 제 3 입력과 교신하도록 연결된다. 엔트로피 디코더(545)의 제 3 출력은 디코더 제어기(505)의 입력과 교신하도록 연결된다. 디코더 제어기(505)의 제 1 출력은 엔트로피 디코더(545)의 제 2 입력과 교신하도록 연결된다. 디코더 제어기(505)의 제 2 출력은 역 변환기 및 역 양자화기(550)의 제 2 입력과 교신하도록 연결된다. 디코더 제어기(505)의 제 3 출력은 블록킹해제 필터(565)의 제 3 입력과 교신하도록 연결된다. 디코더 제어기(505)의 제 4 출력은 색차 다코딩을 위한 다중 구분 지원을 갖는 인트라 예측 모듈(560)의 제 2 입력, 움직임 보상기(570)의 제 1 입력, 및 기준 화상 버퍼(580)의 제 2 입력과 교신하도록 연결된다.
움직임 보상기(570)의 출력은 스위치(597)의 제 1 입력과 교신하도록 연결된다. 색차 디코딩을 위한 다중 구분 지원을 갖는 인트라 예측 모듈(560)의 출력은 스위치(597)의 제 2 입력과 교신하도록 연결된다. 스위치(597)의 출력은 결합기(525)의 제 1 비반전 입력과 교신하도록 연결된다.
입력 버퍼(510)의 입력은 입력 비트스트림을 수신하기 위한 디코더(500)의 입력으로서 사용 가능하다. 블록킹해제 필터(565)의 제 1 출력은 출력 화상을 출력하기 위한 디코더(500)의 출력으로서 사용 가능하다.
엔코더(400)에 대해, 색차 코딩을 위한 다중 구분 지원을 갖는 인트라 예측 모듈(460)은 본 발명의 원리들의 하나 이상의 실시예들에 따라 개선된 인트라 색차 코딩을 수행하도록 구성된다. 디코더(500)에 대해, 색차 디코딩을 위한 다중 구분 지원을 갖는 인트라 예측 모듈(560)은 본 발명의 원리들의 하나 이상의 실시예들에 따라 개선된 인트라 색차 디코딩을 수행하도록 구성된다.
상술한 바와 같이, 본 발명의 원리들은 개선된 인트라 색차 코딩 및 디코딩에 관한 것이다. 더욱이, 종래 기술에 대해 상술한 바와 같이, 인트라 색차 코딩을 위해 오직 한 가지 구분 유형만이 허용된다. 인트라 코딩된 매크로블록의 각 8×8 색차 성분은 4개의 인트라 예측 모드들을 통해 예측되고, 2×2 DC 아다마르 변환과 직렬접속된 4×4 정수 DCT를 사용한다. 색차 구분 유형은 루마 구분 유형이 무엇인지에 관계 없이 고정된다. 그러므로, 개선에 대한 기회를 인식하였고, 인트라 색차 코딩을 위한 개선된 코딩 효율 접근법을 개발하였다. 본 발명의 원리들의 하나 이상의 실시예들은 큰 인트라 구분 유형들에 특히 효과적이다.
상술한 바와 같이, 하나 이상의 실시예들이 예시를 위하여 MPEG-4 AVC 표준을 언급할 수 있지만, 본 발명의 원리들은 단지 MPEG-4 AVC 표준에만 국한되는 것은 아니다, 따라서 본 발명의 원리들의 사상과 범주를 유지하면서 다른 비디오 코딩 표준들, 권고안들 및 이들의 확장부에 이용될 수 있다는 점이 인식될 것이다. 더욱이, 하나 이상의 실시예들이 예시를 위하여 MPEG-4 AVC 표준의 4:2:0 포맷에 관해 기술될 수 있지만, 본 발명의 원리들은 단지 MPEG-4 AVC 표준의 4:2:0 포맷에만 국한되는 것은 아니다, 따라서 본 발명의 원리들의 사상과 범주를 유지하면서 MPEG-4 AVC 표준의 4:2:2 또는 4:4:4 포맷들 또는 다른 비디오 코딩 표준들, 권고안들 및 이들의 확장부의 다른 포맷을 포함하지만 이에 국한되지 않는 다른 포맷들에 적용될 수 있다는 점이 인식될 것이다. 오히려, 실시예들에 공통인 특정 양상은 인트라 색차 코딩을 위한 다수 구분 유형들의 실시가능요건을 수반한다.
방법 1
본 명세서에서 또한 방법 1로 교환가능하게 언급되는 제 1 예시적인 방법에 따라, 색차 구분 유형은 루마 구분 유형에 의해 결정된다. 그러나, 제 2 종래 기술의 접근법과는 달리, 색차 구분 유형은 구분 유형들의 미리 결정된 세트를 위해 루마 구분 유형과 정렬된다. 예컨대, 루마 구분 유형이 8×8이라면, 4:2:0 포맷을 위한 색차 구분 유형은 제 2 종래 기술의 접근법에서 행해진 8×8 색차 대신에 4×4일 것이다. 이것은 색차의 크기가 루마의 1/2이기 때문이다. 변환에 관해 각 색차 구분 유형을 위해, 미리 결정된 변환 세트로부터의 구분 유형에 부합하는 가장 큰 크기의 사용 가능한 변환을 선택한다. 만약 가장 큰 크기의 사용 가능한 변환이 구분 유형보다 작다면, 아다마르 변환을 일반적으로 직렬 접속된 변환이라 부르는 DC 계수들에 적용할 수 있다. 이러한 구분 유형 내에서 루마 및 색차 인트라 예측 모드들에 어떠한 제약도 부과하지 않는다. 루마 및 색차 인트라 예측 모드들은 동일하거나 다를 수 있다. 신호발신에 관해, 루마 구분 유형만을 신호발신하고, 색차 구분 유형에 대해서는 신호발신하지 않는데, 왜냐하면 색차 구분 유형이 루마 구분 유형을 기초로 결정되기 때문이다. 루마 구분 유형은 절대적으로 코딩되거나, 인접 블록과 차동적으로 코딩될 수 있다.
실시예 1
이제 방법 1의 예시적인 실시예("실시예 1")를 기술한다. 수퍼블록 크기는 32×32라고 가정한다. 루마_구분_유형(Luma_Partition_Type) = {Luma_32×32, Luma_16×16, Luma_8×8, Luma_4×4}, 색차_구분_유형(Chroma_Partition_Type) = {Chroma_16×16, Chroma_8×8, Chroma_4×4}, 및 DCT_변환_크기(DCT_Transform_Size) = {16×16, 8×8, 4×4}을 정의한다. 그후, 본 발명의 원리들을 기초하여, 표 2에 도시된 루마_구분_유형 및 색차_구분_유형과 대응하는 변환 사이의 세부적인 맵핑을 통해, 기본적인 코딩 블록 유닛을 8×8이 되도록 설정한다. 즉, 표 2는 본 발명의 원리들의 실시예에 따라 4:2:0 포맷을 위한 인트라 코딩을 위해 사용된 예측 구분 크기 및 변환들을 도시한다. 수퍼블록 내의 엔코딩을 수행할 때, 모든 루마 구분 유형들에 걸쳐 루프형성하고, 루마 성분에 대해 모드 결정을 수행하고, 최상의 루마_구분_유형과 루마 인트라 예측 모드를 선택한다. 그후, 색차 구분 유형은 최상의 루마_구분_유형에 기초하여 결정되고, 최상의 색차 인트라 예측 모드가 선택된다. 루마_구분_유형, 루마 모드 및 색차 모드만을 신호발신한다. 디코더 측에서, 루마_구분_유형, 루마 모드 및 색차 모드만을 분석한다.
루마 구분 유형 및 변환 | 색차 변환 유형 및 변환 |
루마_32×32 및 2×2 아다마르 변환과 직렬접속된 16×16 DCT | 색차_16×16 및 16×16 DCT |
루마_16×16 및 16×16 DCT | 색차_8×8 및 8×8 DCT |
루마_8×8 및 8×8 DCT | 색차_4×4 및 4×4 DCT |
루마_4×4 및 4×4 DCT | 색차_4×4 및 4×4 DCT |
도 6을 참조하면, 인트라 색차 코딩을 위한 예시적인 방법이 일반적으로 참조번호 600으로 표시되었다. 방법(600)은 상술한 실시예 1의 하나의 구현에 대응한다. 방법(600)은 제어를 기능블록(610)에 전달하는 시작 블록(605)을 포함한다. 기능 블록(610)은 엔코딩 설정을 수행하고, 제어를 루프 제한 블록(620)에 전달한다. 루프 제한 블록(620)은 각 수퍼블록에 대한 루프를 시작하고, 제어를 루프 제한 블록(630)에 전달한다. 루프 제한 블록(630)은 루마 구분들에 대한 루프를 시작하고, 제어를 기능 블록(640)에 전달한다. 기능 블록(640)은 최상의 루마 코드를 (예컨대, 비율-왜곡 비용에 기초하여) 선택하고, 제어를 루프 제한 블록(650)에 전달한다. 루프 제한 블록(650)은 루마 구분들에 대한 루프를 종료하고, 제어를 기능 블록(660)에 전달한다. 기능 블록(660)은 최상의 루마 구분과 루마 모드를 (예컨대, 비율-왜곡 비용에 기초하여)설정하고, 제어를 기능 블록(670)에 전달한다. 기능 블록(670)은 최상의 루마 구분에 기초하여 최상의 색차 구분을 설정하고, 제어를 기능 블록(680)에 전달한다. 기능 블록(680)은 최상의 색차 모드를 선택하고, 제어를 기능 블록(690)에 전달한다. 기능 블록(690)은 루마 구분, 루마 모드, 및 색차 모드를 엔코딩하고, 제어를 루프 제한 블록(695)에 전달한다. 루프 제한 블록(695)은 수퍼블록에 걸친 루프를 종료하고, 제어를 종료 블록(699)에 전달한다. 기능 블록(690)에 대해, 루마 구분은 절대적으로 코딩되거나 또는 하나 이상의 인접 블록들과 차동적으로 코딩될 수 있다.
도 7을 참조하면, 인트라 색차 디코딩을 위한 예시적인 방법이 일반적으로 참조번호 700으로 표시되었다. 방법(700)은 상술한 실시예 1의 하나의 구현에 대응한다. 방법(700)은 제어를 루프 제한 블록(710)에 전달하는 시작 블록(705)을 포함한다. 루프 제한 블록(710)은 각 수퍼블록에 대한 루프를 시작하고, 제어를 기능 블록(720)에 전달한다. 기능 블록(720)은 루마 구분을 분석하고, 제어를 기능 블록(730)에 전달한다. 기능 블록(730)은 색차 구분을 {기능 블록(720)에 의해 분석된 루마 구분에 기초하여} 설정하고, 제어를 기능 블록(740)에 전달한다. 기능 블록(740)은 루마 모드를 분석하고, 제어를 기능 블록(750)에 전달한다. 기능 블록(750)은 색차 모드를 분석하고, 제어를 기능 블록(760)에 전달한다. 기능 블록(760)은 {기능 블록들(720,730,740 및 750)에 의해 분석되고/설정된 항목들을 사용하여} 하나의 수퍼블록을 디코딩하고, 제어를 루프 제한 블록(770)에 전달한다. 루프 제한 블록(770)은 수퍼블록에 대한 루프를 종료하고, 제어를 종료 블록(799)에 전달한다.
구문 1
표 3은 본 발명 원리들의 일 실시예에 따른, 실시예 1을 위한 예시적인 매크로블록 층의 구문을 도시한다.
표 3의 구문 요소들의 의미론은 다음과 같다:
intra32_flag : 1과 같을 때, Luma_32×32가 32×32 큰 블록을 위해 사용됨을 규정한다. 0과 같을 때, 32×32 큰 블록이 16×16 구분들로 더 분할됨을 규정한다.
intra_luma_pred_mode_32 : Luma_32×32를 위한 인트라 예측 모드를 규정한다.
intra_chroma_pred_mode_16 : Chroma_16×16을 위한 인트라 예측 모드를 규정한다.
sip _ type _16[i] : i번째 16×16 루마 블록에서 공간 인트라 예측 유형을 규정한다. 공간 인트라 구분 유형은 Luma_16×16, Luma_8×8 및 Luma_4×4일 수 있다.
intra_luma_pred_mode_16[i] : i번째 16×16 루마 블록에 대해 Luma_16×16을 위한 인트라 예측 모드를 규정한다.
intra_chroma_pred_mode_8[i] : i번째 16×16 루마 블록에 대해 Chroma_8×8을 위한 인트라 예측 모드를 규정한다.
intra_luma_pred_mode_8[i] : i번째 8×8 루마 블록에 대해 Luma_8×8을 위한 인트라 예측 모드를 규정한다.
intra_luma_pred_mode_4[i] : i번째 4×4 루마 블록에 대해 Luma_4×4을 위한 인트라 예측 모드를 규정한다.
intra_chroma_pred_mode_4[i] : i번째 8×8 루마 블록에 대해 Chroma_4×4를 위한 인트라 예측 모드를 규정한다.
방법 2
본 명세서에서 또한 방법 2로 교환가능하게 언급되는 제 2 방법에서, 인트라 루마 구분 유형과 색차 구분 유형은 매크로블록(MB) 또는 수퍼블록 내에서 독립적으로 코딩된다. MPEG-4 AVC 표준 내의 4:4:4 독립 모드와의 차이점은 슬라이스 기반 대신에 매클로블록/수퍼블록을 기초로 결정이 이루어지고, 루마와 색차가 다른 인트라 예측 모드들을 갖는 다는 점이다. 다른 프로파일들에 대해 MPEG-4 AVC 표준과의 차이점은, MPEG-4 AVC 표준이 하나의 색차 구분 유형만을 허용하지만, 본 실시예에서는 색차 구분 유형들의 세트를 허용한다는 점이다. 변환 선택 규칙은 방법 1에서와 동일하다. 신호발신에 관해, 루마 모드들 및 색차 모드들뿐만 아니라 루마 구분 유형과 색차 구분 유형을 신호발신한다. 루마 구분 유형과 색차 구분 유형은 절대적으로 코딩되거나, 인접 블록과 차동적으로 코딩될 수 있다. 대안적으로, 색차 구분 유형은 루마 구분 유형과 차동적으로 코딩될 수 있다. 색차는 루마와 동일하거나 다른 엔트로피 코딩 엔진을 사용할 수 있다.
실시예 2
이제 방법 2의 예시적인 실시예("실시예 2")를 기술한다. 수퍼블록 크기는 32×32라고 가정한다. 루마_구분_유형(Luma_Partition_Type) = {Luma_32×32, Luma_16×16, Luma_8×8, Luma_4×4}, 색차_구분_유형(Chroma_Partition_Type) = {Chroma_16×16, Chroma_8×8, Chroma_4×4}, 및 DCT_변환_크기(DCT_Transform_Size) = {16×16, 8×8, 4×4}을 정의한다. 수퍼블록 내의 엔코딩을 수행할 때, 모든 가능한 루마 구분 유형들과 대응하는 예측 모드들을 시도하면서 루마 성분을 먼저 엔코딩하고, 그 후, 최상의 루마 구분 유형 및 모드를 선택한다. 그 후, 모든 가능한 색차 구분 유형들과 대응하는 예측 모드들을 시도하면서 색차 성분을 엔코딩하고, 그 후, 최상의 색차 구분 유형 및 모드를 선택한다. 루마 및 색차 구분 유형들을 모두 엔코딩한다. 디코더 측에서, 루마 및 색차 구분 유형들 모두의 구문을 분석한다.
도 8을 참조하면, 인트라 색차 디코딩을 위한 다른 예시적인 방법이 일반적으로 참조번호 800으로 표시되었다. 방법(800)은 상술한 실시예 2의 하나의 구현에 대응한다. 방법(800)은 제어를 기능 블록(810)에 전달하는 시작 블록(805)을 포함한다. 기능 블록(810)은 엔코딩 설정을 수행하고, 제어를 루프 제한 블록(820)에 전달한다. 기능 블록(820)은 각 수퍼블록에 대한 루프를 수행하고, 제어를 루프 제한 블록(830)에 전달한다. 루프 제한 블록(830)은 루마 구분에 대한 루프를 시작하고, 제어를 기능 블록(840)에 전달한다. 기능 블록(840)은 최상의 루마 모드를 (예컨대, 비율-왜곡 비용에 기초하여) 선택하고, 제어를 루프 제한 블록(850)에 전달한다. 루프 제한 블록(850)은 루마 구분에 대한 루프를 종료하고, 제어를 기능 블록(860)에 전달한다. 기능 블록(860)은 최상의 루마 구분 및 루마 모드를 (예컨대, 비율-왜곡 비용에 기초하여) 선택하고, 제어를 루프 제한 블록(870)에 전달한다. 루프 제한 블록(870)은 색차 구분에 대한 루프를 시작하고, 제어를 기능 블록(875)에 전달한다. 기능 블록(875) 최상의 색차 모드를 선택하고, 제어를 루프 제한 블록(880)에 전달한다. 루프 제한 블록(880)은 색차 구분에 대한 루프를 종료하고, 제어를 기능 블록(885)에 전달한다. 기능 블록(885)은 최상의 색차 구분 및 색차 모드를 선택하고, 제어를 기능 블록(890)에 전달한다. 기능 블록(890)은 루마 구분, 루마 모드, 색차 구분 및 색차 모드를 엔코딩하고, 제어를 루프 제한 블록(895)에 전달한다. 루프 제한 블록은 수퍼블록에 걸친 루프를 종료하고, 제어를 종료 블록(899)에 전달한다. 기능 블록(890)에 대해, 루마 구분 및 색차 구분이 절대적으로 코딩되거나 또는 하나 이상의 인접 블록들과 차동적으로 코딩될 수 있거나, 또는 색차 구분이 루마 구분과 차동적으로 코딩될 수 있다.
도 9을 참조하면, 인트라 색차 디코딩을 위한 다른 예시적인 방법이 일반적으로 참조번호 900으로 표시되었다. 방법(900)은 상술한 실시예 2의 하나의 구현에 대응한다. 방법(900)은 제어를 루프 제한 블록(910)에 전달하는 시작 블록(905)을 포함한다. 루프 제한 블록(910)은 각 수퍼블록에 대한 루프를 시작하고, 제어를 기능한 블록(920)에 전달한다. 기능 블록(920)은 루마 구분을 분석하고, 제어를 기능 블록(930)에 전달한다. 기능 블록(930)은 루마 모드를 분석하고, 제어를 기능 블록(940)에 전달한다. 기능 블록(940)은 색차 구분을 분석하고, 제어를 기능 블록(950)에 전달한다. 기능 블록(950)은 색차 모드를 분석하고, 제어를 기능 블록(960)에 전달한다. 기능 블록(960)은 {기능 블록들(920,930,940 및 950)에 의해 분석되된 항목들을 사용하여} 하나의 수퍼블록을 디코딩하고, 제어를 루프 제한 블록(970)에 전달한다. 루프 제한 블록(970)은 수퍼블록에 대한 루프를 종료하고, 제어를 종료 블록(999)에 전달한다.
구문 2
표 4는 본 발명 원리들의 일 실시예에 따른, 실시예 2를 위한 예시적인 매크로블록 층의 구문을 도시한다.
표 4의 구문 요소들의 의미론은 다음과 같다:
intra32_flag : 1과 같을 때, Luma_32×32가 32×32 큰 블록을 위해 사용됨을 규정한다. 0과 같을 때, 32×32 큰 블록이 16×16 구분들로 더 분할됨을 규정한다.
intra_luma_pred_mode_32 : Luma_32×32를 위한 인트라 예측 모드를 규정한다.
sip_type_16[i] : i번째 16×16 루마 블록에서 공간 인트라 예측 유형을 규정한다. 공간 인트라 예측 유형은 Luma_16×16, Luma_8×8 및 Luma_4×4가 될 수 있다.
intra_luma_pred_mode_16[i] : i번째 16×16 루마 블록에 대해 Luma_16×16을 위한 인트라 예측 모드를 규정한다.
intra_luma_pred_mode_8[i] : i번째 8×8 루마 블록에 대해 Luma_8×8을 위한 인트라 예측 모드를 규정한다.
intra_luma_pred_mode_4[i] : i번째 4×4 루마 블록에 대해 Luma_4×4을 위한 인트라 예측 모드를 규정한다.
sip_chroma_type_16 : i번째 16×16 색차 블록에서 공간 인트라 예측 유형을 규정한다. 공간 인트라 예측 유형은 Chroma_16×16, Chroma_8×8 및 Chroma_4×4가 될 수 있다.
intra_chroma_pred_mode_16 : Chroma_16×16을 위한 인트라 예측 모드를 규정한다.
intra_chroma_pred_mode_8[i] : i번째 8×8 색차 블록에 대해 Chroma_8×8을 위한 인트라 예측 모드를 규정한다.
intra_chroma_pred_mode_4[i] : i번째 4×4 색차 블록에 대해 Chroma_4×4를 위한 인트라 예측 모드를 규정한다.
일부가 상술된 본 발명의 많은 수반하는 장점들/특징들의 일부에 대한 설명이 이제 주어진다. 예컨대, 하나의 장점/특징은 화상 내의 적어도 하나의 블록에 대한 화상 데이터를 엔코딩하기 위한 엔코더를 갖는 장치이다. 다수의 구분 유형들이 블록의 인트라 색차 코딩을 위해 지원된다. 다수의 구분 유형들은 색차 구분 유형들의 세트와 루마 구분 유형들의 세트를 포함한다. 루마 구분 유형들의 세트는 색차 구분 유형들의 세트와 다르다.
다른 장점/특징은 상술한 엔코더를 갖는 장치이고, 이 장치에서 블록을 코딩하기 위한 특정 색차 구분 유형은 블록 또는 하나 이상의 인접 블록들을 코딩하기 위해 사용된 루마 구분 유형에 응답하는 색차 구분 유형들의 세트로부터 결정되고, 루마 구분 유형은 루마 구분 유형들의 세트에 포함된다.
또 다른 장점/특징은 엔코더를 갖는 장치이고, 이 장치에서 블록을 코딩하기 위한 특정 색차 구분 유형은 블록 또는 하나 이상의 인접 블록들을 코딩하기 위해 사용된 루마 구분 유형에 응답하는 색차 구분 유형들의 세트로부터 결정되고, 루마 구분 유형은 상술한 바와 같이 루마 구분 유형들의 세트에 포함되고, 특정 색차 구분 유형을 위해, 특정 색차 구분 유형에 부합하는 가장 큰 크기의 이용 가능한 변환이 변환들의 세트로부터 선택된다.
또 다른 장점/특징은 엔코더를 갖는 장치이고, 이 장치에서 블록을 코딩하기 위한 특정 색차 구분 유형은 블록 또는 하나 이상의 인접 블록들을 코딩하기 위해 사용된 루마 구분 유형에 응답하는 색차 구분 유형들의 세트로부터 결정되고, 루마 구분 유형은 상술한 바와 같이 루마 구분 유형들의 세트에 포함되고, 블록을 코딩하기 위해 선택된 특정 루마 구분 유형 및 특정 색차 구분 유형 중에서, 오직 특정 루마 구분 유형만이 신호발신되고, 특정 루마 구분 유형은 루마 구분 유형들의 세트로부터 선택되고, 특정 색차 구분 유형은 색차 구분 유형들의 세트로부터 선택된다.
추가의 장점/특징은 엔코더를 갖는 장치이고, 이 장치에서 블록을 코딩하기 위해 선택된 특정 루마 구분 유형 및 특정 색차 구분 유형 중에서, 오직 특정 루마 구분 유형만이 신호발신되고, 상술한 바와 같이, 특정 루마 구분 유형은 루마 구분 유형들의 세트로부터 선택되고, 특정 색차 구분 유형은 색차 구분 유형들의 세트로부터 선택되고, 특정 루마 구분 유형은 절대적으로 코딩되거나 또는 하나 이상의 인접 블록들과 차동적으로 코딩된다.
또 다른 추가의 장점/특징은 상술한 엔코더를 갖는 장치이고, 이 장치에서 블록을 코딩하기 위해 사용된 특정 색차 구분 유형은 블록을 코딩하기 위해 사용된 특정 루마 구분 유형과는 독립적으로 결정되고, 특정 색차 구분 유형은 색차 구분 유형들의 세트로부터 결정되고, 특정 루마 구분 유형은 루마 구분 유형들의 세트로부터 결정된다.
더욱이, 다른 추가의 장점/특징은 엔코더를 갖는 장치이고, 이 장치에서 블록을 코딩하기 위해 사용된 특정 색차 구분 유형은 블록을 코딩하기 위해 사용된 특정 루마 구분 유형과는 독립적으로 결정되고, 상술한 바와 같이, 특정 색차 구분 유형은 색차 구분 유형들의 세트로부터 결정되고, 특정 루마 구분 유형은 루마 구분 유형들의 세트로부터 결정되고, 특정 색차 구분 유형과 특정 루마 구분 유형이모두 신호발신된다.
추가로, 다른 장점/특징은 엔코더를 갖는 장치이고, 이 장치에서 상술한 바와 같이, 특정 색차 구분 유형과 특정 루마 구분 유형이 모두 신호발신되고, 특정 루마 구분 유형과 특정 색차 구분 유형은 절대적으로 코딩되거나 또는 하나 이상의 인접 블록들과 차동적으로 코딩된다.
또한, 다른 장점/특징은 엔코더를 갖는 장치이고, 이 장치에서 상술한 바와 같이, 특정 색차 구분 유형과 특정 루마 구분 유형이 모두 신호발신되고, 특정 색차 구분 유형은 특정 루마 구분 유형과 차동적으로 코딩된다.
추가적으로, 다른 장점/특징은 상술한 엔코더를 갖는 장치이고, 이 장치에서 블록을 코딩하기 위해 사용된 색차 엔트로피 코딩 엔진은 블록을 코딩하기 위해 사용된 루마 엔트로피 코딩 엔진과 다르다.
본 발명의 원리들의 이들 및 다른 특징들 및 장점들은 본 명세서의 가르침을 기초로 당업자에 의해 쉽게 확인될 수 있다. 본 발명의 원리들의 가르침이 하드웨어, 소프트웨어, 펌웨어, 특수목적 프로세서들, 또는 이들의 조합의 다양한 형태로 구현될 수 있음을 이해될 것이다.
가장 바람직하게, 본 발명의 원리들의 가르침들은 하드웨어와 소프트웨어의 조합으로 구현된다. 더욱이, 소프트웨어는, 프로그램 저장 유닛 상에 실체적으로 구체화되는 응용 프로그램으로서 구현될 수도 있다. 응용 프로그램은, 임의의 적당한 구조를 포함하는 기계로 업로드되어, 그러한 기계에 의해 실행될 수도 있다. 바람직하게, 그러한 기계는 하나 이상의 중앙 처리 장치("CPU"), 랜덤 액세스 메모리("RAM"), 그리고 입력/출력("I/O") 인터페이스와 같은 하드웨어를 갖는 컴퓨터 플랫폼상에서 구현된다. 컴퓨터 플랫폼은 또한 운영 체계 및 마이크로명령어(microinstruction) 코드를 포함할 수도 있다. 본 명세서에 기술된 다양한 프로세스 및 기능은 CPU에 의해 실행될 수 있는 마이크로명령어 코드의 부분, 또는 응용 프로그램의 부분일 수도 있으며, 또는 그들의 임의의 조합일 수도 있다. 또한, 추가적인 데이터 저장 유닛 및 프린팅 유닛과 같은 다양한 다른 주변 유닛이 컴퓨터 플랫폼에 연결될 수도 있다.
첨부 도면에 도시된 구성 시스템 구성요소들 및 방법들의 일부가 바람직하게 소프트웨어로 구현되므로, 시스템 구성요소들 또는 프로세스 기능 블록들 사이의 실제 연결은 본 발명의 원리가 프로그래밍되는 방법에 따라서 달라질 수도 있다는 것이 또한 이해되어야 한다. 본 명세서의 가르침들이 주어지면, 당업자라면 본 발명의 원리의 이들 그리고 유사한 구현들 또는 구성들을 예상할 수 있을 것이다.
본 명세서에서 기술된 예시적 실시예들이 첨부 도면을 참조하여 설명되었지만, 본 발명의 원리는 그러한 정확한 실시예들로 제한되지 않으며, 본 발명의 원리의 범주 또는 사상으로부터 벗어나지 않으면서, 당업자에 의해 그러한 실시예들에서 다양한 변화 및 수정이 이루어질 수도 있다는 것이 이해되어야 한다. 모든 그러한 변화 및 수정은 첨부되는 청구항에 설명된 본 발명의 원리의 범주 내에 포함되도록 의도된다.
400 : 비디오 엔코더 401 : 입력 화상
405 : 엔코더 제어기 410 : 프레임 배열 버퍼
415 : 화상-유형 결정 모듈 420 : MB-유형 결정 모듈
425 : 변환기 및 양자화기 430 : 보충 강화 정보(SEI) 삽입기
435 : 출력 버퍼 440 : SPS 및 PPS 삽입기
445,545 : 엔트로피 코더 450,550 : 역변환기 및 역양자화기
460,560 : 인트라 예측 모듈 465,565 : 블록킹해제 필터
470,570 : 움직임 보상기 475 : 움직임 추정기
480,580 : 기준 화상 버퍼 485,490,525, : 결합기
497,597 : 스위치 500 : 비디오 디코더
505 : 디코더 제어기 510 : 입력 버퍼
512 : 선택기
405 : 엔코더 제어기 410 : 프레임 배열 버퍼
415 : 화상-유형 결정 모듈 420 : MB-유형 결정 모듈
425 : 변환기 및 양자화기 430 : 보충 강화 정보(SEI) 삽입기
435 : 출력 버퍼 440 : SPS 및 PPS 삽입기
445,545 : 엔트로피 코더 450,550 : 역변환기 및 역양자화기
460,560 : 인트라 예측 모듈 465,565 : 블록킹해제 필터
470,570 : 움직임 보상기 475 : 움직임 추정기
480,580 : 기준 화상 버퍼 485,490,525, : 결합기
497,597 : 스위치 500 : 비디오 디코더
505 : 디코더 제어기 510 : 입력 버퍼
512 : 선택기
Claims (23)
- 장치로서,
화상 내의 적어도 하나의 블록을 위한 화상 데이터를 엔코딩하기 위한 엔코더(400)를 포함하고,
블록의 인트라 색차 코딩을 위해 다중 구분 유형들이 지원되고, 다중 구분 유형들은 색차 구분 유형들의 세트와 루마 구분 유형들의 세트를 포함하고, 색차 구분 유형들의 세트는 루마 구분 유형들의 세트와 다르며, 상기 엔코더는 최상의 루마 모드를 선택하고(640), 최상의 루마 구분 및 루마 모드를 설정하고(660), 최상의 루마 구분에 기초하여 색차 구분을 설정하고(670), 최상의 색차 모드를 선택하고(680), 설정한 루마 구분, 선택한 루마 모드 및 선택한 색차 모드를 엔코딩하는(690), 장치. - 비디오 엔코더 내에서의 방법으로서,
화상 내의 적어도 하나의 블록을 위한 화상 데이터를 엔코딩하는 단계(690) - 블록의 인트라 색차 코딩을 위해 다중 구분 유형들이 지원되고(630, 830, 870), 다중 구분 유형들은 색차 구분 유형들의 세트와 루마 구분 유형들의 세트를 포함하고(830, 870), 색차 구분 유형들의 세트는 루마 구분 유형들의 세트와 다름 -
를 포함하고,
상기 화상 내의 적어도 하나의 블록을 위한 화상 데이터를 엔코딩하는 단계는:
최상의 루마 모드를 선택하는 단계(640);
최상의 루마 구분 및 루마 모드를 설정하는 단계(660);
최상의 루마 구분에 기초하여 색차 구분을 설정하는 단계(670);
최상의 색차 모드를 선택하는 단계(680); 및
설정한 루마 구분, 선택한 루마 모드 및 선택한 색차 모드를 엔코딩하는 단계(690)
를 포함하는, 비디오 엔코더 내에서의 방법. - 제 2항에 있어서, 블록을 코딩하기 위한 특정 색차 구분 유형은 블록 또는 하나 이상의 인접 블록들을 코딩하기 위해 사용된 루마 구분 유형에 응답하는 색차 구분 유형들의 세트로부터 결정되고(670), 루마 구분 유형은 루마 구분 유형들의 세트에 포함되는, 비디오 엔코더 내에서의 방법.
- 제 3항에 있어서, 특정 색차 구분 유형을 위해, 특정 색차 구분 유형에 부합하는 가장 큰 크기의 이용 가능한 변환이 변환들의 세트로부터 선택되는, 비디오 엔코더 내에서의 방법.
- 제 3항에 있어서, 블록을 코딩하기 위하여 선택된 특정 루마 구분 유형과 특정 색차 구분 유형 중에서 특정 루마 구분 유형만이 신호발신되고(690), 특정 루마 구분 유형은 루마 구분 유형들의 세트로부터 선택되고, 특정 색차 구분 유형은 색차 구분 유형들의 세트로부터 선택되는, 비디오 엔코더 내에서의 방법.
- 제 5항에 있어서, 특정 루마 구분 유형은 절대적으로 코딩되거나, 하나 이상의 인접 블록들과 차동적으로 코딩되는(690), 비디오 엔코더 내에서의 방법.
- 제 2항에 있어서, 블록을 코딩하기 위해 사용된 특정 색차 구분 유형은 블록을 코딩하기 위해 사용된 특정 루마 구분 유형과는 독립적으로 결정되고(860, 885), 특정 색차 구분 유형은 색차 구분 유형들의 세트로부터 결정되고, 특정 루마 구분 유형은 루마 구분 유형들의 세트로부터 결정되는, 비디오 엔코더 내에서의 방법.
- 제 7항에 있어서, 특정 색차 구분 유형과 특정 루마 구분 유형들은 모두 신호발신되는(890), 비디오 엔코더 내에서의 방법.
- 제 8항에 있어서, 특정 루마 구분 유형과 특정 색차 구분 유형은 절대적으로 코딩되거나, 하나 이상의 인접 블록들과 차동적으로 코딩되는(890), 비디오 엔코더 내에서의 방법.
- 제 8항에 있어서, 특정 색차 구분 유형은 특정 루마 구분 유형과 차동적으로 코딩되는(890), 비디오 엔코더 내에서의 방법.
- 제 2항에 있어서, 블록을 코딩하기 위해 사용된 색차 엔트로피 코딩 엔진은 블록을 코딩하기 위해 사용된 루마 엔트로피 코딩 엔진과 다른, 비디오 엔코더 내에서의 방법.
- 장치로서,
화상 내의 적어도 하나의 블록을 위한 화상 데이터를 디코딩하기 위한 디코더(500) - 블록의 인트라 색차 디코딩을 위해 다중 구분 유형들이 지원되고, 다중 구분 유형들은 색차 구분 유형들의 세트와 루마 구분 유형들의 세트를 포함하고, 색차 구분 유형들의 세트는 루마 구분 유형들의 세트와 다름 - ; 및
루마 구분을 분석(parsing)하고(720), 상기 루마 구분에 기초하여 색차 구분을 설정하고(730), 루마 모드를 분석하고(740), 색차 모드(750)를 분석하고, 상기 적어도 하나의 블록을 디코딩하는(760) 것을 수행하도록 구성된 색차 디코딩(560)을 위한 다중 구분 지원을 포함하는 인트라 예측 모듈
을 포함하는, 장치. - 비디오 디코더 내에서의 방법으로서,
화상 내의 적어도 하나의 블록을 위한 화상 데이터를 디코딩하는 단계(720, 740, 750, 920, 930, 940, 950) - 블록의 인트라 색차 디코딩을 위해 다중 구분 유형들이 지원되고(730, 940), 다중 구분 유형들은 색차 구분 유형들의 세트와 루마 구분 유형들의 세트를 포함하고(720, 920, 940), 색차 구분 유형들의 세트는 루마 구분 유형들의 세트와 다름 - ;
를 포함하고,
상기 화상 내의 적어도 하나의 블록을 위한 화상 데이터를 디코딩하는 단계는,
루마 구분을 분석하는 단계(720);
상기 블록 또는 하나 이상의 인접 블록들을 디코딩하기 위해 사용된 루마 구분 유형에 응답하는 색차 구분 유형들의 세트로부터 색차 구분을 설정하는 단계(730);
루마 모드를 분석하고(740), 색차 모드를 분석하는 단계(750); 및
상기 적어도 하나의 블록을 디코딩하는 단계(760)
를 포함하는, 비디오 디코더 내에서의 방법. - 제 13항에 있어서, 블록을 디코딩하기 위한 특정 색차 구분 유형은 블록 또는 하나 이상의 인접 블록들을 디코딩하기 위해 사용된 루마 구분 유형에 응답하는 색차 구분 유형들의 세트로부터 결정되고(730), 루마 구분 유형은 루마 구분 유형들의 세트에 포함되는, 비디오 디코더 내에서의 방법.
- 제 14항에 있어서, 특정 색차 구분 유형을 위해, 특정 색차 구분 유형에 부합하는 가장 큰 크기의 이용 가능한 변환이 변환들의 세트로부터 선택되는, 비디오 디코더 내에서의 방법.
- 제 14항에 있어서, 블록을 코딩하기 위하여 선택된 특정 루마 구분 유형과 특정 색차 구분 유형 중에서 특정 루마 구분 유형을 나타내는 정보만이 블록을 디코딩할 때의 사용을 위한 대응하는 엔코더로부터 수신되고(720), 특정 루마 구분 유형은 루마 구분 유형들의 세트로부터 선택되고, 특정 색차 구분 유형은 색차 구분 유형들의 세트로부터 선택되는, 비디오 디코더 내에서의 방법.
- 제 16항에 있어서, 특정 루마 구분 유형은 절대적으로 디코딩되거나, 하나 이상의 인접 블록들과 차동적으로 디코딩되는(720), 비디오 디코더 내에서의 방법.
- 제 13항에 있어서, 블록을 코딩하기 위해 사용된 특정 색차 구분 유형은 블록을 코딩하기 위해 사용된 특정 루마 구분 유형과는 독립적으로 결정되고(920,940), 특정 색차 구분 유형은 색차 구분 유형들의 세트로부터 결정되고, 특정 루마 구분 유형은 루마 구분 유형들의 세트로부터 결정되는, 비디오 디코더 내에서의 방법.
- 제 18항에 있어서, 특정 색차 구분 유형과 특정 루마 구분 유형들 모두를 나타내는 정보는 블록을 디코딩할 때의 사용을 위한 대응하는 엔코더로부터 수신되는 (920, 940), 비디오 디코더 내에서의 방법.
- 제 19항에 있어서, 특정 루마 구분 유형과 특정 색차 구분 유형은 절대적으로 디코딩되거나, 하나 이상의 인접 블록들과 차동적으로 디코딩되는(920, 940), 비디오 디코더 내에서의 방법.
- 제 19항에 있어서, 특정 색차 구분 유형은 특정 루마 구분 유형과 차동적으로 디코딩되는(920, 940), 비디오 디코더 내에서의 방법.
- 제 13항에 있어서, 블록을 디코딩하기 위해 사용된 색차 엔트로피 디코딩 엔진은 블록을 디코딩하기 위해 사용된 루마 엔트로피 디코딩 엔진과 다른, 비디오 디코더 내에서의 방법.
- 엔코딩된 비디오 신호 데이터를 갖는 컴퓨터 판독 가능한 저장매체로서,
화상 내의 적어도 하나의 블록을 위해 엔코딩된 화상 데이터를 포함하고,
블록의 인트라 색차 코딩을 위해 다중 구분 유형들이 지원되고, 다중 구분 유형들은 색차 구분 유형들의 세트와 루마 구분 유형들의 세트를 포함하고, 색차 구분 유형들의 세트는 루마 구분 유형들의 세트와 다르며,
상기 화상 데이터는 프로세서로 하여금,
루마 구분을 분석하고(720);
상기 루마 구분에 기초하여 색차 구분을 설정하고(730);
루마 모드를 분석하고(740), 색차 모드를 분석하고(750);
상기 적어도 하나의 블록을 디코딩하도록(760)
하는, 컴퓨터 판독 가능한 저장매체.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US23331009P | 2009-08-12 | 2009-08-12 | |
US61/233,310 | 2009-08-12 | ||
PCT/US2010/002203 WO2011019383A2 (en) | 2009-08-12 | 2010-08-11 | Methods and apparatus for improved intra chroma encoding and decoding |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020187022923A Division KR102174807B1 (ko) | 2009-08-12 | 2010-08-11 | 개선된 인트라 색차 엔코딩 및 디코딩을 위한 방법 및 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20120039711A KR20120039711A (ko) | 2012-04-25 |
KR101888679B1 true KR101888679B1 (ko) | 2018-08-16 |
Family
ID=43586706
Family Applications (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020127003676A KR101888679B1 (ko) | 2009-08-12 | 2010-08-11 | 개선된 인트라 색차 엔코딩 및 디코딩을 위한 방법 및 장치 |
KR1020227045291A KR20230004959A (ko) | 2009-08-12 | 2010-08-11 | 개선된 인트라 색차 엔코딩 및 디코딩을 위한 방법 및 장치 |
KR1020187022923A KR102174807B1 (ko) | 2009-08-12 | 2010-08-11 | 개선된 인트라 색차 엔코딩 및 디코딩을 위한 방법 및 장치 |
KR1020207031398A KR102333204B1 (ko) | 2009-08-12 | 2010-08-11 | 개선된 인트라 색차 엔코딩 및 디코딩을 위한 방법 및 장치 |
KR1020217038697A KR102481998B1 (ko) | 2009-08-12 | 2010-08-11 | 개선된 인트라 색차 엔코딩 및 디코딩을 위한 방법 및 장치 |
Family Applications After (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020227045291A KR20230004959A (ko) | 2009-08-12 | 2010-08-11 | 개선된 인트라 색차 엔코딩 및 디코딩을 위한 방법 및 장치 |
KR1020187022923A KR102174807B1 (ko) | 2009-08-12 | 2010-08-11 | 개선된 인트라 색차 엔코딩 및 디코딩을 위한 방법 및 장치 |
KR1020207031398A KR102333204B1 (ko) | 2009-08-12 | 2010-08-11 | 개선된 인트라 색차 엔코딩 및 디코딩을 위한 방법 및 장치 |
KR1020217038697A KR102481998B1 (ko) | 2009-08-12 | 2010-08-11 | 개선된 인트라 색차 엔코딩 및 디코딩을 위한 방법 및 장치 |
Country Status (13)
Country | Link |
---|---|
US (2) | US11044483B2 (ko) |
EP (3) | EP4418655A2 (ko) |
JP (6) | JP2013502150A (ko) |
KR (5) | KR101888679B1 (ko) |
CN (11) | CN105120284B (ko) |
DK (1) | DK2465265T3 (ko) |
ES (1) | ES2706905T3 (ko) |
HK (10) | HK1218200A1 (ko) |
HU (1) | HUE042129T2 (ko) |
PL (1) | PL2465265T3 (ko) |
PT (1) | PT2465265T (ko) |
TR (1) | TR201900485T4 (ko) |
WO (1) | WO2011019383A2 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180091972A (ko) * | 2009-08-12 | 2018-08-16 | 톰슨 라이센싱 | 개선된 인트라 색차 엔코딩 및 디코딩을 위한 방법 및 장치 |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5234368B2 (ja) * | 2009-09-30 | 2013-07-10 | ソニー株式会社 | 画像処理装置および方法 |
US9467705B2 (en) * | 2009-12-30 | 2016-10-11 | Ariscale Inc. | Video encoding apparatus, video decoding apparatus, and video decoding method for performing intra-prediction based on directionality of neighboring block |
US9848197B2 (en) | 2011-03-10 | 2017-12-19 | Qualcomm Incorporated | Transforms in video coding |
AU2015261607B2 (en) * | 2011-11-04 | 2017-08-03 | Gensquare Llc | Apparatus of decoding video data |
KR20130049526A (ko) | 2011-11-04 | 2013-05-14 | 오수미 | 복원 블록 생성 방법 |
WO2013102299A1 (en) * | 2012-01-04 | 2013-07-11 | Mediatek Singapore Pte. Ltd. | Residue quad tree depth for chroma components |
US9332257B2 (en) * | 2012-10-01 | 2016-05-03 | Qualcomm Incorporated | Coded black flag coding for 4:2:2 sample format in video coding |
US10057599B2 (en) * | 2014-02-19 | 2018-08-21 | Mediatek Inc. | Method for performing image processing control with aid of predetermined tile packing, associated apparatus and associated non-transitory computer readable medium |
JP6466258B2 (ja) * | 2014-08-07 | 2019-02-06 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | 再生装置、再生方法および記録媒体 |
WO2016074147A1 (en) * | 2014-11-11 | 2016-05-19 | Mediatek Singapore Pte. Ltd. | Separated coding tree for luma and chroma |
WO2016090568A1 (en) * | 2014-12-10 | 2016-06-16 | Mediatek Singapore Pte. Ltd. | Binary tree block partitioning structure |
CA3014332A1 (en) | 2016-02-11 | 2017-08-17 | Thomson Licensing | Method and device for encoding/decoding an image unit comprising image data represented by a luminance channel and at least one chrominance channel |
US11032550B2 (en) * | 2016-02-25 | 2021-06-08 | Mediatek Inc. | Method and apparatus of video coding |
US10455228B2 (en) * | 2016-03-21 | 2019-10-22 | Qualcomm Incorporated | Determining prediction parameters for non-square blocks in video coding |
WO2018066809A1 (ko) * | 2016-10-04 | 2018-04-12 | 엘지전자(주) | 크로마 성분 코딩 유닛 분할 방법 및 장치 |
CN116647682A (zh) * | 2016-10-28 | 2023-08-25 | 韩国电子通信研究院 | 视频编码/解码方法和设备以及存储比特流的记录介质 |
JP7138453B2 (ja) * | 2017-03-10 | 2022-09-16 | 日本放送協会 | 符号化装置、復号装置及びプログラム |
WO2019209038A1 (ko) * | 2018-04-25 | 2019-10-31 | 엘지전자 주식회사 | 영상 코딩 시스템에서 크로마 성분의 블록 분할에 따른 영상 디코딩 방법 및 그 장치 |
KR20230161539A (ko) * | 2018-06-07 | 2023-11-27 | 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 | 부분 코스트 계산 |
TWI719519B (zh) | 2018-07-02 | 2021-02-21 | 大陸商北京字節跳動網絡技術有限公司 | 對於dmvr的塊尺寸限制 |
WO2020056757A1 (en) * | 2018-09-21 | 2020-03-26 | Alibaba Group Holding Limited | Method, apparatus, and computer-readable storage medium for block partitioning tree separation under separation node |
AU2018233042B2 (en) | 2018-09-21 | 2024-06-13 | Canon Kabushiki Kaisha | Method, apparatus and system for encoding and decoding a tree of blocks of video samples |
CN117041575A (zh) | 2018-09-21 | 2023-11-10 | Lg电子株式会社 | 视频解码和编码方法、存储介质及数据的发送方法 |
EP3881534A4 (en) * | 2018-11-16 | 2022-07-13 | HFI Innovation Inc. | METHOD AND APPARATUS FOR ENCODING SEPARATE LUMA-CHROMA CODING TREES WITH CONSTRAINTS |
KR20210116676A (ko) * | 2019-03-14 | 2021-09-27 | 엘지전자 주식회사 | 인트라 예측을 수행하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법 |
US11546592B2 (en) | 2020-01-08 | 2023-01-03 | Tencent America LLC | Flexible block partitioning for chroma component |
KR102409889B1 (ko) | 2020-11-09 | 2022-06-15 | 한국기술교육대학교 산학협력단 | 부분 압력 및 파손을 개별적으로 감지할 수 있는 단일 매체 기반 압 저항 센서 및 이를 위한 제조방법 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080219350A1 (en) | 2007-03-05 | 2008-09-11 | National Chung Cheng University | H.264/AVC intra coding algorithms having quality scalability |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4063291A (en) * | 1976-10-15 | 1977-12-13 | The United States Of America As Represented By The Secretary Of The Navy | Apparatus and method for encoding and decoding digital information |
US7280700B2 (en) * | 2002-07-05 | 2007-10-09 | Microsoft Corporation | Optimization techniques for data compression |
CN1278385C (zh) | 2003-03-25 | 2006-10-04 | 浙江大学 | 一种p-ZnO薄膜及其制备方法 |
JP4617644B2 (ja) * | 2003-07-18 | 2011-01-26 | ソニー株式会社 | 符号化装置及び方法 |
US8625680B2 (en) | 2003-09-07 | 2014-01-07 | Microsoft Corporation | Bitstream-controlled post-processing filtering |
US7724827B2 (en) * | 2003-09-07 | 2010-05-25 | Microsoft Corporation | Multi-layer run level encoding and decoding |
CN100401789C (zh) | 2004-06-11 | 2008-07-09 | 上海大学 | H.264/avc帧内预测模式的快速选择方法 |
CN100461867C (zh) * | 2004-12-02 | 2009-02-11 | 中国科学院计算技术研究所 | 一种帧内图像预测编码方法 |
WO2006113003A1 (en) * | 2005-04-13 | 2006-10-26 | Thomson Licensing | Method and apparatus for video decoding |
US20070121728A1 (en) * | 2005-05-12 | 2007-05-31 | Kylintv, Inc. | Codec for IPTV |
US8711925B2 (en) * | 2006-05-05 | 2014-04-29 | Microsoft Corporation | Flexible quantization |
US7940970B2 (en) * | 2006-10-25 | 2011-05-10 | Rcadia Medical Imaging, Ltd | Method and system for automatic quality control used in computerized analysis of CT angiography |
JP5026092B2 (ja) * | 2007-01-12 | 2012-09-12 | 三菱電機株式会社 | 動画像復号装置および動画像復号方法 |
KR101291196B1 (ko) * | 2008-01-25 | 2013-07-31 | 삼성전자주식회사 | 영상의 부호화, 복호화 방법 및 장치 |
WO2011019383A2 (en) * | 2009-08-12 | 2011-02-17 | Thomson Licensing | Methods and apparatus for improved intra chroma encoding and decoding |
-
2010
- 2010-08-11 WO PCT/US2010/002203 patent/WO2011019383A2/en active Application Filing
- 2010-08-11 CN CN201510614221.2A patent/CN105120284B/zh active Active
- 2010-08-11 EP EP24186477.6A patent/EP4418655A2/en active Pending
- 2010-08-11 CN CN201510613553.9A patent/CN105120269B/zh active Active
- 2010-08-11 EP EP18197104.5A patent/EP3474547A1/en active Pending
- 2010-08-11 KR KR1020127003676A patent/KR101888679B1/ko active IP Right Grant
- 2010-08-11 PL PL10760462T patent/PL2465265T3/pl unknown
- 2010-08-11 PT PT10760462T patent/PT2465265T/pt unknown
- 2010-08-11 KR KR1020227045291A patent/KR20230004959A/ko not_active Application Discontinuation
- 2010-08-11 TR TR2019/00485T patent/TR201900485T4/tr unknown
- 2010-08-11 CN CN201510613526.1A patent/CN105120265B/zh active Active
- 2010-08-11 CN CN201510613530.8A patent/CN105120283B/zh active Active
- 2010-08-11 CN CN201510613536.5A patent/CN105120266B/zh active Active
- 2010-08-11 CN CN201510614276.3A patent/CN105120285B/zh active Active
- 2010-08-11 US US13/389,872 patent/US11044483B2/en active Active
- 2010-08-11 KR KR1020187022923A patent/KR102174807B1/ko active IP Right Grant
- 2010-08-11 CN CN201510614279.7A patent/CN105141958B/zh active Active
- 2010-08-11 DK DK10760462.1T patent/DK2465265T3/en active
- 2010-08-11 KR KR1020207031398A patent/KR102333204B1/ko active IP Right Grant
- 2010-08-11 CN CN201080045914.XA patent/CN102577380B/zh active Active
- 2010-08-11 KR KR1020217038697A patent/KR102481998B1/ko active IP Right Grant
- 2010-08-11 CN CN201510614278.2A patent/CN105263020B/zh active Active
- 2010-08-11 CN CN201510613551.XA patent/CN105120268B/zh active Active
- 2010-08-11 CN CN201510613539.9A patent/CN105120267B/zh active Active
- 2010-08-11 ES ES10760462T patent/ES2706905T3/es active Active
- 2010-08-11 EP EP10760462.1A patent/EP2465265B8/en active Active
- 2010-08-11 JP JP2012524695A patent/JP2013502150A/ja active Pending
- 2010-08-11 HU HUE10760462A patent/HUE042129T2/hu unknown
-
2016
- 2016-02-01 JP JP2016017009A patent/JP6329186B2/ja active Active
- 2016-05-31 HK HK16106142.6A patent/HK1218200A1/zh unknown
- 2016-05-31 HK HK16106144.4A patent/HK1218202A1/zh unknown
- 2016-05-31 HK HK16106146.2A patent/HK1218204A1/zh unknown
- 2016-05-31 HK HK16106150.5A patent/HK1218208A1/zh unknown
- 2016-05-31 HK HK16106145.3A patent/HK1218203A1/zh unknown
- 2016-05-31 HK HK16106148.0A patent/HK1218206A1/zh unknown
- 2016-05-31 HK HK16106147.1A patent/HK1218205A1/zh unknown
- 2016-05-31 HK HK16106143.5A patent/HK1218201A1/zh unknown
- 2016-05-31 HK HK16106149.9A patent/HK1218207A1/zh unknown
- 2016-07-19 HK HK16108522.2A patent/HK1220562A1/zh unknown
-
2018
- 2018-04-19 JP JP2018080856A patent/JP6968024B2/ja active Active
-
2020
- 2020-04-23 JP JP2020076904A patent/JP2020145695A/ja active Pending
- 2020-06-17 US US16/903,819 patent/US20200382798A1/en active Pending
-
2022
- 2022-08-04 JP JP2022124704A patent/JP7448598B2/ja active Active
-
2024
- 2024-02-29 JP JP2024029360A patent/JP2024069271A/ja active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080219350A1 (en) | 2007-03-05 | 2008-09-11 | National Chung Cheng University | H.264/AVC intra coding algorithms having quality scalability |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180091972A (ko) * | 2009-08-12 | 2018-08-16 | 톰슨 라이센싱 | 개선된 인트라 색차 엔코딩 및 디코딩을 위한 방법 및 장치 |
KR102174807B1 (ko) * | 2009-08-12 | 2020-11-06 | 인터디지털 브이씨 홀딩스 인코포레이티드 | 개선된 인트라 색차 엔코딩 및 디코딩을 위한 방법 및 장치 |
KR20200127270A (ko) * | 2009-08-12 | 2020-11-10 | 인터디지털 브이씨 홀딩스 인코포레이티드 | 개선된 인트라 색차 엔코딩 및 디코딩을 위한 방법 및 장치 |
KR102333204B1 (ko) | 2009-08-12 | 2021-12-02 | 인터디지털 브이씨 홀딩스 인코포레이티드 | 개선된 인트라 색차 엔코딩 및 디코딩을 위한 방법 및 장치 |
KR20210149865A (ko) * | 2009-08-12 | 2021-12-09 | 인터디지털 브이씨 홀딩스 인코포레이티드 | 개선된 인트라 색차 엔코딩 및 디코딩을 위한 방법 및 장치 |
KR102481998B1 (ko) | 2009-08-12 | 2022-12-27 | 인터디지털 브이씨 홀딩스 인코포레이티드 | 개선된 인트라 색차 엔코딩 및 디코딩을 위한 방법 및 장치 |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101888679B1 (ko) | 개선된 인트라 색차 엔코딩 및 디코딩을 위한 방법 및 장치 | |
US11936876B2 (en) | Methods and apparatus for signaling intra prediction for large blocks for video encoders and decoders | |
US9253495B2 (en) | Methods and apparatus for improved chroma transforms for inter frames in video encoding and decoding | |
TW202106031A (zh) | 使用高階語法元素用信號發送解碼資料之方法及裝置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E90F | Notification of reason for final refusal | ||
E701 | Decision to grant or registration of patent right | ||
A107 | Divisional application of patent | ||
GRNT | Written decision to grant |