KR102513756B1 - 이미지 인코딩 방법, 디코딩 방법, 인코더, 디코더 및 저장매체 - Google Patents
이미지 인코딩 방법, 디코딩 방법, 인코더, 디코더 및 저장매체 Download PDFInfo
- Publication number
- KR102513756B1 KR102513756B1 KR1020217002646A KR20217002646A KR102513756B1 KR 102513756 B1 KR102513756 B1 KR 102513756B1 KR 1020217002646 A KR1020217002646 A KR 1020217002646A KR 20217002646 A KR20217002646 A KR 20217002646A KR 102513756 B1 KR102513756 B1 KR 102513756B1
- Authority
- KR
- South Korea
- Prior art keywords
- sample value
- reference sample
- intra prediction
- value
- 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/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/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- 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/117—Filters, e.g. for pre-processing or post-processing
-
- 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/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- 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/132—Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
-
- 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/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
-
- 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/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
- H04N19/174—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 slice, e.g. a line of blocks or a group of blocks
-
- 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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/567—Motion estimation based on 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/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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
본 발명의 실시예는 이미지 인코딩 방법을 제공하고, 상기 방법은 인코딩 블록 중의 화소 샘플값에 따라 인코딩 블록의 제1 참조 샘플값을 확정하는 단계; 제1 참조 샘플값에 따라 인코딩 블록의 인트라 예측모드를 확정하고 인코딩 블록의 인트라 예측값을 계산하는 단계; 인코딩 블록의 원래값과 인트라 예측값에 따라 예측 차이 파라미터를 얻는 단계; 제1 참조 샘플값, 인트라 예측모드 및 예측 차이 파라미터에 대해 인코딩을 수행하고, 인코딩 비트를 비트 스트림에 기록하는 단계를 포함한다. 또한, 본 발명은 이미지 디코딩 방법, 인코더, 디코더 및 컴퓨터 저장매체를 제공한다.
Description
본 발명은 통신 기술 분야에 관한 것으로, 특히 이미지 인코딩 방법, 디코딩 방법, 인코더, 디코더 및 저장매체에 관한 것이다.
디지털 비디오 및 이미지 압축 인코딩 기술은 비디오와 이미지의 화소점 샘플값 간의 관련성을 사용하여 비디오와 이미지의 중복을 제거한다. 그 중 압축 인코딩 기술에는 인트라 예측(Intra Prediction)과 인터 예측(Inter Prediction)이 포함된다. 구체적으로, 인트라 예측은 이미지 중 인접한 화소점 샘플값 간의 공간 도메인의 관련성을 사용하고 인접한 인코딩된 화소점을 통해 인코딩 화소점을 예측함으로써 공간 도메인에서 인접한 화소점 간의 중복을 감소시킨다. 인터 예측은 단일 프레임 이미지 중 공간 도메인의 화소점 간의 관련성을 사용할 뿐만 아니라 시간 도메인에서 인접한 이미지 간의 관련성도 사용한다. 예를 들면, 움직임 추정(Motion Estimation, ME) 및 움직임 보상(Motion Compensation, MC)을 사용하고, 인코딩된 이미지를 참조로 사용하여 현재 인코딩 이미지에 대해 예측한다.
현재, 관련 비디오 및 이미지 인코딩 표준에서 사용하는 인트라 예측 방법은 현재 인코딩 블록의 왼쪽 인접 위치 및 위쪽 인접 위치에 있는 인코딩된 화소점(즉, 참조 화소점)을 사용하여 현재 인코딩 블록의 화소점 예측값을 구성한다. 인트라 예측모드는 인코딩 블록의 인접 화소점을 사용하여 인코딩 블록의 화소점 예측값을 구성하는 방법, 예를 들어 직류(DC) 모드, 인트라 예측 방향 등을 지시한다.
그러나 관련 비디오 및 이미지 인코딩 방법은 인트라 예측 참조 화소가 전부 사용 불가 및 인트라 참조 화소가 부분적으로 사용 가능한 경우, 인트라 예측의 오차가 크고 인코딩 비트의 오버헤드가 크다.
상기 기술적 문제를 해결하기 위해 본 발명에서는 이미지 인코딩 방법, 디코딩 방법, 인코더, 디코더 및 저장매체를 제공하여 비디오 이미지 인코딩 중의 인트라 예측 오차를 감소하려 한다.
본 발명의 기술 방안은 다음과 같이 실현된다.
제 1 측면에서, 본 발명의 실시예는 이미지 인코딩 방법을 제공하며 이는 다음 단계:
인코딩 블록 중의 화소 샘플값에 따라 인코딩 블록의 제1 참조 샘플값을 확정하는 단계;
제1 참조 샘플값에 따라 인코딩 블록의 인트라 예측모드를 확정하고 인코딩 블록의 인트라 예측값을 계산하는 단계;
인코딩 블록의 원래값과 인트라 예측값에 따라 예측 차이 파라미터를 얻는 단계;
제1 참조 샘플값, 인트라 예측모드 및 예측 차이 파라미터에 대해 인코딩을 수행하고, 인코딩 비트를 비트 스트림에 기록하는 단계; 를 포함한다.
선택적으로, 인코딩 블록의 원래값과 인트라 예측값에 따라 예측 차이 파라미터를 얻는 단계는 예시적으로,
인코딩 블록의 원래값과 인트라 예측값의 차이값을 계산하여 인코딩 블록의 예측 차이값을 얻는 단계;
예측 차이값에 대해 변환 및 양자화 처리하여 예측 차이 파라미터를 얻는 단계; 를 포함한다.
선택적으로, 인코딩 블록 중의 화소 샘플값에 따라 인코딩 블록의 제1 참조 샘플값을 확정하는 방법은,
인코딩 블록의 참조 샘플값의 존재 여부를 판단하는 단계, 여기서 참조 샘플값은 인코딩 블록에 인접한 하나 이상의 화소점의 복원된 화소 샘플값을 의미하고;
인코딩 블록의 일부 또는 전부의 참조 샘플값이 존재하지 않는 경우, 인코딩 블록 중의 화소 샘플값에 따라 인코딩 블록의 제1 참조 샘플값을 확정하는 단계; 를 포함하고,
또는 인코딩 블록의 매칭 블록 중의 참조 샘플값이 전부 존재하는지 여부를 판단하는 단계;
인코딩 블록의 매칭 블록 중의 일부 또는 전부 참조 샘플값이 존재하지 않는 경우, 인코딩 블록의 일부 또는 전부의 참조 샘플값이 존재하지 않는 것으로 판단하고, 인코딩 블록 중의 화소 샘플값에 따라 인코딩 블록의 제1 참조 샘플값을 확정하는 단계; 를 포함한다.
선택적으로, 인코딩 블록의 매칭 블록은 인코딩 블록이 위치한 이미지 중 인코딩 블록의 크기와 동일한 영역에 위치한다.
선택적으로, 참조 샘플값의 존재 여부를 판단하는 방법은,
참조 샘플값에 대응되는 참조 화소점의 위치가 인코딩 블록이 위치한 이미지 중 인코딩되지 않은 이미지 영역에 위치하는 경우, 참조 샘플값은 존재하지 않는 것으로 판단되고;
참조 샘플값에 대응되는 참조 화소점의 위치가 인코딩 블록이 위치한 이미지의 경계 밖에 위치하는 경우, 참조 샘플값은 존재하지 않는 것으로 판단되고;
인코딩 블록이 위치한 이미지 중, 참조 샘플값에 대응되는 참조 화소점 위치가 인코딩 블록이 위치한 슬라이스 외부에 있는 경우, 참조 샘플값은 존재하지 않는 것으로 판단되고;
인코딩 블록이 위치한 이미지 중, 참조 샘플값에 대응되는 참조 화소점 위치가 인코딩 블록이 위치한 타일 외부에 있는 경우, 참조 샘플값은 존재하지 않는 것으로 판단되고;
인트라 예측 제한 모드를 사용하는 경우, 인코딩 블록이 위치한 이미지 중, 참조 샘플값에 대응되는 참조 화소점 위치가 비 인트라 예측모드의 인코딩 블록에 위치하면, 참조 샘플값은 존재하지 않는 것으로 판단되는; 중 하나 이상이 포함된다.
선택적으로, 인코딩 블록 중의 화소 샘플값에 따라 인코딩 블록의 제1 참조 샘플값을 확정하는 방법은,
인코딩 블록 중의 화소 샘플값에 따라 연 판정 방법으로 제 1 참조 샘플값을 확정하는 단계를 포함한다.
선택적으로, 인코딩 블록 중의 화소 샘플값에 따라 연 판정 방법으로 제 1 참조 샘플값을 확정하는 단계는 예시적으로,
제약 최적화 방법을 사용하여 제 1 참조 샘플값을 계산하는 단계를 포함하고, 제약 최적화 계산 공식은 다음과 같다.
여기서, D는 인코딩 블록의 인코딩 왜곡을 의미하고; k는 인코딩 블록의 하나 이상의 화소를 포함하는 순회 범위을 의미하고; d(a, b)는 a와 b 사이의 오차값을 의미하고; 는 인코딩 블록에서 인코딩될 화소 샘플값을 의미하고; 는 제 1 참조 샘플값을 사용하며 인트라 예측모드에 따라 계산하여 얻은 예측값를 의미하고; R은 인코딩 블록의 인코딩 비트의 오버헤드이고, 은 인코딩 블록의 인코딩 비트 오버헤드의 상한값이다.
선택적으로, 인코딩 블록 중의 화소 샘플값에 따라 연 판정 방법으로 제 1 참조 샘플값을 확정하는 단계는 예시적으로,
비 제약 최적화 방법을 사용하여 제 1 참조 샘플값을 계산하는 단계를 포함하고, 비 제약 최적화 계산 공식은 다음과 같다.
여기서, r은 제 1 참조 샘플값이고; m은 인코딩 블록의 인트라 예측모드를 의미하고; D는 인코딩 블록의 인코딩 왜곡을 의미하고; R은 인코딩 블록의 인코딩 비트 오버헤드를 의미하고; 은 라그랑주 인자를 의미한다.
선택적으로, 인코딩 블록 중의 화소 샘플값에 따라 인코딩 블록의 제1 참조 샘플값을 확정하는 방법은,
인코딩 블록의 전부의 참조 샘플값이 존재하지 않는 것으로 판단되면, 제 1 참조 샘플값을 인코딩 블록의 원래값의 평균값으로 설정하는 단계;
인코딩 블록의 일부 참조 샘플값이 존재하지 않는 것으로 판단되면, 제 1 참조 샘플값을 인코딩 블록의 원래값의 평균값과 일부 존재하는 참조 샘플값의 평균값의 차이값으로 설정하는 단계; 를 포함한다.
선택적으로, 제 1 참조 샘플값은 적어도 2 개의 샘플값 및 사용방식 지시자 파라미터를 포함하고, 여기서 샘플값 사용방식 파라미터는 인코딩 블록의 참조 샘플값 설정 과정에서 제 1 참조 샘플값에 포함된 적어도 2 개의 샘플값의 사용방식을 지시하는데 사용된다.
선택적으로, 제 1 참조 샘플값은 2 개의 샘플값을 포함하고, 인코딩 블록 중의 화소 샘플값에 따라 인코딩 블록의 제1 참조 샘플값을 확정하는 방법은,
2 개의 샘플값에 따라, 인코딩 블록의 좌측 인접 참조 화소점의 위치에서 존재하지 않는 참조 샘플의 값과, 상부 인접 참조 화소점의 위치에서 존재하지 않는 참조 샘플의 값을 각각 설정한다.
선택적으로, 제1 참조 샘플값에 따라 인코딩 블록의 인트라 예측모드를 확정하고, 인코딩 블록의 인트라 예측값을 계산하는 방법은,
제 1 참조 샘플값을 사용하여 인코딩 블록의 존재하지 않는 참조 샘플값을 설정하는 단계;
인코딩 블록의 참조 샘플값에 따라, 레이트 왜곡 최적화 방법을 사용하여 인코딩 블록의 인트라 예측모드를 확정하고, 인트라 예측모드를 사용하여 인코딩 블록의 인트라 예측값을 계산하여 얻는 단계; 를 포함한다.
선택적으로, 제1 참조 샘플값에 따라 인코딩 블록의 인트라 예측모드를 확정하고, 인코딩 블록의 인트라 예측값을 계산하는 방법은,
제 1 참조 샘플값을 사용하여 인코딩 블록의 존재하지 않는 참조 샘플값을 설정하는 단계;
인코딩 블록의 참조 샘플값을 필터링하여 필터링된 참조 샘플값을 얻는 단계;
필터링된 참조 샘플값에 따라, 레이트 왜곡 최적화 방법을 사용하여 인코딩 블록의 인트라 예측모드를 확정하고, 인트라 예측모드를 사용하여 인코딩 블록의 인트라 예측값을 계산하여 얻는 단계; 를 더 포함한다.
선택적으로, 인코딩 블록의 참조 샘플값을 필터링하여 필터링된 참조 샘플값을 얻는 방법은,
레이트 왜곡 최적화 방법을 사용하여 필터링 제어 파라미터를 확정하는 단계, 여기서 필터링 제어 파라미터는 참조 샘플값에 대한 필터링 수행 여부를 지시하는데 사용되고;
필터링 제어 파라미터가 참조 샘플값에 대해 필터링하도록 지시하는 경우, 인코딩 블록의 참조 샘플값을 필터링하여 필터링된 참조 샘플값을 얻는 단계; 를 포함한다.
선택적으로, 인코딩 블록의 참조 샘플값을 필터링하여 필터링된 참조 샘플값을 얻는 방법은,
인코딩 블록의 크기가 미리 설정된 값과 같으면, 레이트 왜곡 최적화 방법을 사용하여 필터링 제어 파라미터를 확정하는 단계, 여기서 필터링 제어 파라미터는 참조 샘플값에 대한 필터링 수행 여부를 지시하는데 사용되고;
필터링 제어 파라미터가 참조 샘플값에 대해 필터링하도록 지시하는 경우, 인코딩 블록의 참조 샘플값을 필터링하여 필터링된 참조 샘플값을 얻는 단계; 를 포함한다.
선택적으로, 인코딩 블록의 참조 샘플값을 필터링하여 필터링된 참조 샘플값을 얻는 방법은,
인코딩 블록의 크기가 미리 설정된 값과 같으면, 인코딩 블록의 참조 샘플값을 필터링하여 필터링된 참조 샘플값을 얻는 단계를 포함한다.
선택적으로, 인코딩 블록의 참조 샘플값을 필터링하여 필터링된 참조 샘플값을 얻는 방법은,
인코딩 블록의 인트라 예측모드가 미리 설정된 모드인 경우, 레이트 왜곡 최적화 방법을 사용하여 필터링 제어 파라미터를 확정하는 단계, 여기서 필터링 제어 파라미터는 참조 샘플값에 대한 필터링 수행 여부를 지시하는데 사용되고;
필터링 제어 파라미터가 참조 샘플값에 대해 필터링하도록 지시하는 경우, 인코딩 블록의 참조 샘플값을 필터링하여 필터링된 참조 샘플값을 얻는 단계; 를 포함한다.
선택적으로, 인코딩 블록의 참조 샘플값을 필터링하여 필터링된 참조 샘플값을 얻는 방법은,
인코딩 블록의 인트라 예측모드가 미리 설정된 모드인 경우, 인코딩 블록의 참조 샘플값을 필터링하여 필터링된 참조 샘플값을 얻는 단계를 포함한다.
선택적으로, 인코딩 블록의 참조 샘플값을 필터링하여 필터링된 참조 샘플값을 얻는 방법은,
인코딩 블록의 크기가 미리 설정된 값과 같으며 인코딩 블록의 인트라 예측모드가 미리 설정된 모드인 경우, 레이트 왜곡 최적화 방법을 사용하여 필터링 제어 파라미터를 확정하는 단계, 여기서 필터링 제어 파라미터는 참조 샘플값에 대한 필터링 수행 여부를 지시하는데 사용되고;
필터링 제어 파라미터가 참조 샘플값에 대해 필터링하도록 지시하는 경우, 인코딩 블록의 참조 샘플값을 필터링하여 필터링된 참조 샘플값을 얻는 단계; 를 포함한다.
선택적으로, 인코딩 블록의 참조 샘플값을 필터링하여 필터링된 참조 샘플값을 얻는 방법은,
인코딩 블록의 크기가 미리 설정된 값과 같으며 인코딩 블록의 인트라 예측모드가 미리 설정된 모드인 경우, 인코딩 블록 참조 샘플값을 필터링하여 필터링된 참조 샘플값을 획득하는 단계를 포함한다.
선택적으로, 인코딩 블록의 참조 샘플값을 필터링하여 필터링된 참조 샘플값을 얻는 방법은,
인코딩 블록의 필터링 제어 파라미터를 인코딩하고 인코딩 비트를 비트 스트림에 기록하는 방법을 더 포함한다.
선택적으로 제 1 참조 샘플값을 인코딩하는 방법은,
제 1 참조 샘플값에 대한 인코딩을 통해 제 1 참조 샘플값의 인코딩 비트를 얻는 단계;
인코딩 비트를 비트 스트림의 데이터 유닛에 기록하는 단계; 를 포함하고, 여기서 비트 스트림의 데이터 유닛은 하나 이상의 파라미터 세트, 슬라이스 헤더 및 블록 레이어 데이터 유닛 중 하나 이상을 포함한다.
선택적으로 제 1 참조 샘플값을 인코딩하는 방법은,
제 1 참조 샘플값은 하나 이상의 샘플값을 포함하고;
제 1 참조 샘플값의 하나 이상의 샘플값을 인코딩하여 제 1 참조 샘플값의 하나 이상의 샘플값의 인코딩 비트를 얻고 인코딩 비트를 비트 스트림의 데이터 유닛에 기록하는 것을 포함한다.
선택적으로, 제 1 참조 샘플값의 하나 이상의 샘플값을 인코딩하여, 제 1 참조 샘플값의 하나 이상의 샘플값의 인코딩 비트를 얻는 방법은,
샘플값 사용방식 파라미터를 인코딩하고, 샘플값 사용방식 파라미터의 인코딩 비트를 비트 스트림의 데이터 유닛에 기록하는 것을 더 포함한다.
선택적으로, 제 1 참조 샘플값은 샘플값 제어 파라미터를 포함하고, 샘플값 제어 파라미터는, 시퀀스 레이어 샘플값 제어 파라미터, 이미지 레이어 샘플값 제어 파라미터, 슬라이스 레이어 샘플값 제어 파라미터 및 블록 레이어 샘플값 제어 파라미터 중 하나 이상을 포함한다.
제 2 측면에서, 본 발명의 실시예는 이미지 디코딩 방법을 제공하며, 이는 다음 단계:
비트 스트림을 파싱하여 디코딩 블록의 제 1 참조 샘플값, 인트라 예측모드 및 예측 차이 파라미터를 얻는 단계;
제 1 참조 샘플값에 따라 디코딩 블록의 인트라 예측 참조 샘플값을 확정하는 단계;
인트라 예측 참조 샘플값 및 인트라 예측모드에 따라 디코딩 블록의 인트라 예측값을 구성하는 단계;
예측 차이 파라미터를 사용하여 디코딩 블록의 예측 차이를 계산하는 단계;
인트라 예측값과 예측 차이의 합을 계산하여 디코딩 블록의 복원값을 얻는 단계; 를 포함하는 이미지 디코딩 방법을 제공한다.
선택적으로, 제 1 참조 샘플값에 따라 디코딩 블록의 인트라 예측 참조 샘플값을 확정하는 방법은,
디코딩 블록의 참조 샘플값의 존재 여부를 판단하는 단계, 여기서 참조 샘플값은 디코딩 블록에 인접된 하나 이상의 화소점의 복원된 화소 샘플값이고;
디코딩 블록의 일부 또는 전부의 참조 샘플값이 존재하지 않는 경우, 제1 참조 샘플값에 따라 디코딩 블록의 존재하지 않는 값을 확정하여 인트라 예측 참조 샘플값을 얻는 단계; 를 포함하고,
또는 디코딩 블록의 매칭 블록 중의 참조 샘플값이 전부 존재하는지 여부를 판단하는 단계;
디코딩 블록의 매칭 블록 중의 일부 또는 전부의 참조 샘플값이 존재하지 않는 경우, 디코딩 블록의 일부 또는 전부의 참조 샘플값이 존재하지 않는 것으로 판단하고, 제1 참조 샘플값에 따라 디코딩 블록의 존재하지 않는 참조 샘플값을 확정하여 인트라 예측 참조 샘플값을 얻는 단계; 를 포함한다.
선택적으로, 디코딩 블록의 매칭 블록은 디코딩 블록이 위치한 이미지 중 디코딩 블록의 크기와 동일한 영역에 위치한다.
선택적으로 참조 샘플값의 존재 여부를 판단하는 방법은 다음 방법 중 하나 이상을 포함한다.
참조 샘플값에 대응되는 참조 화소점 위치가 디코딩 블록이 위치한 이미지에서 디코딩되지 않은 이미지 영역에 위치하는 경우, 참조 샘플값은 존재하지 않는 것으로 판단되고;
참조 샘플값에 대응되는 참조 화소점 위치가 디코딩 블록이 위치한 이미지의 경계 밖에 위치하는 경우, 참조 샘플값은 존재하지 않는 것으로 판단되고;
디코딩 블록이 위치한 이미지에서, 참조 샘플값에 대응되는 참조 화소점 위치가 디코딩 블록이 위치한 슬라이스 외부에 있는 경우, 참조 샘플값은 존재하지 않는 것으로 판단되고;
디코딩 블록이 위치한 이미지에서, 참조 샘플값에 대응되는 참조 화소점 위치가 디코딩 블록이 위치한 타일 외부에 있는 경우, 참조 샘플값은 존재하지 않는 것으로 판단되고;
인트라 예측 제한 모드를 사용하는 경우, 디코딩 블록이 위치한 이미지에서 참조 샘플값에 대응되는 참조 화소점 위치가 비 인트라 예측모드의 디코딩 블록에 위치하면 참조 샘플값이 존재하지 않는 것으로 판단된다.
선택적으로, 비트 스트림을 파싱하여 디코딩 블록의 제 1 참조 샘플값을 얻는 방법은,
비트 스트림에서 하나 이상의 데이터 유닛을 파싱하여 제 1 참조 샘플값을 얻는 것을 포함하며, 여기서 데이터 유닛은, 하나 이상의 파라미터 세트, 슬라이스 헤더 및 블록 레이어 데이터 유닛 중 하나 이상을 포함한다.
선택적으로, 비트 스트림을 파싱하여 디코딩 블록의 제 1 참조 샘플값을 얻는 방법은,
비트 스트림에서 하나 이상의 데이터 유닛을 파싱하여 샘플값 사용방식 파라미터를 얻는 것을 포함하며, 여기서 샘플값 사용방식 파라미터는 디코딩 블록의 참조 샘플값 설정 과정에서 제 1 참조 샘플값에 포함된 샘플값의 사용방식을 지시하는데 사용된다.
선택적으로, 제 1 참조 샘플값은 샘플값 제어 파라미터를 포함하고, 샘플값 제어 파라미터는, 시퀀스 레이어 샘플값 제어 파라미터, 이미지 레이어 샘플값 제어 파라미터, 슬라이스 레이어 샘플값 제어 파라미터 및 블록 레이어 샘플값 제어 파라미터 중 하나 이상을 포함한다.
선택적으로, 제 1 참조 샘플값에 따라 디코딩 블록의 존재하지 않는 참조 샘플값을 확정하는 방법은,
제 1 참조 샘플값을 사용하여 디코딩 블록의 존재하지 않는 참조 샘플값을 설정하는 것을 포함한다.
선택적으로, 제 1 참조 샘플값은 샘플값 제어 파라미터를 포함하고, 제 1 참조 샘플값에 따라 디코딩 블록의 존재하지 않는 참조 샘플값을 확정하는 방법은,
샘플값 제어 파라미터가 제 1 참조 샘플값을 사용하여 존재하지 않는 참조 샘플값을 구성하도록 지시하는 경우, 제 1 참조 샘플값을 사용하여 디코딩 블록의 존재하지 않는 참조 샘플값을 설정하는 것을 포함한다.
선택적으로, 제 1 참조 샘플값은 샘플값 사용방식 파라미터를 포함하고, 제 1 참조 샘플값에 따라 디코딩 블록의 존재하지 않는 참조 샘플값을 확정하는 방법은,
제 1 참조 샘플값이 적어도 2 개의 샘플값을 포함하는 경우, 샘플값 사용방식 파라미터에 따라 제 1 참조 샘플값에 포함된 샘플값을 사용하여 디코딩 블록의 존재하지 않는 참조 샘플값을 대응되게 설정하는 것을 포함한다.
선택적으로, 제 1 참조 샘플값은 2 개의 샘플값을 포함하고, 샘플값 사용방식 파라미터에 따라, 제 1 참조 샘플값에 포함된 샘플값을 사용하여 디코딩 블록의 존재하지 않는 참조 샘플값을 대응되게 설정하는 방법은,
미리 설정된 규칙에 따라 제 1 참조 샘플값의 두 개의 샘플값을 사용하여 디코딩 블록의 좌측 인접 참조 화소점 위치에서 존재하지 않는 참조 샘플값과 상부 인접 참조 화소점에 존재하지 않는 참조 샘플값을 각각 설정하는 것을 포함한다.
선택적으로, 인트라 예측 참조 샘플값 및 인트라 예측모드에 따라 디코딩 블록의 인트라 예측값을 구성하는 방법은,
인트라 예측 참조 샘플값을 필터링 처리하여 필터링된 참조 샘플값을 획득하는 단계;
필터링된 참조 샘플값을 사용하여 인트라 예측모드에 따라 디코딩 블록의 인트라 예측값을 계산하여 얻는 단계; 를 더 포함한다.
선택적으로, 인트라 예측 참조 샘플값을 필터링 처리하여 필터링된 참조 샘플값을 획득하는 단계는,
비트 스트림을 파싱하여 필터링 제어 파라미터를 얻는 단계, 여기서 필터링 제어 파라미터는 인트라 예측 참조 샘플값에 대한 필터링 여부를 지시하는데 사용되고;
필터링 제어 파라미터가 인트라 예측 참조 샘플값에 대해 필터링하도록 지시하는 경우, 인트라 예측 참조 샘플값을 필터링하여 필터링된 참조 샘플값을 얻는 단계; 를 포함한다.
선택적으로, 인트라 예측 참조 샘플값을 필터링 처리하여 필터링된 참조 샘플값을 획득하는 방법은,
디코딩 블록의 크기가 미리 설정된 값과 같으면 비트 스트림을 파싱하여 필터링 제어 파라미터를 얻는 단계;
필터링 제어 파라미터가 인트라 예측 참조 샘플값에 대해 필터링하도록 지시하는 경우, 인트라 예측 참조 샘플값을 필터링 처리하여 필터링된 참조 샘플값을 얻는 단계; 를 포함한다.
선택적으로, 인트라 예측 참조 샘플값을 필터링 처리하여 필터링된 참조 샘플값을 획득하는 방법은,
디코딩 블록의 크기가 미리 설정된 값과 같으면 인트라 예측 참조 샘플값을 필터링 처리하여 필터링된 참조 샘플값을 얻는 것을 포함한다.
선택적으로, 인트라 예측 참조 샘플값을 필터링 처리하여 필터링된 참조 샘플값을 획득하는 방법은,
디코딩 블록의 인트라 예측모드가 미리 설정된 모드면 비트 스트림을 파싱하여 필터링 제어 파라미터를 얻는 단계;
필터링 제어 파라미터가 인트라 예측 참조 샘플값에 대해 필터링하도록 지시하는 경우, 인트라 예측 참조 샘플값을 필터링 처리하여 필터링된 참조 샘플값을 얻는 단계; 를 포함한다.
선택적으로, 인트라 예측 참조 샘플값을 필터링 처리하여 필터링된 참조 샘플값을 획득하는 방법은,
디코딩 블록의 인트라 예측모드가 미리 설정된 모드면 인트라 예측 참조 샘플값을 필터링 처리하여 필터링된 참조 샘플값을 얻는 것을 포함한다.
선택적으로, 인트라 예측 참조 샘플값을 필터링 처리하여 필터링된 참조 샘플값을 획득하는 방법은,
디코딩 블록의 크기가 미리 설정된 값과 같으며 디코딩 블록의 인트라 예측모드가 미리 설정된 모드인 경우, 비트 스트림을 파싱하여 필터링 제어 파라미터를 얻는 단계;
필터링 제어 파라미터가 인트라 예측 참조 샘플값에 대해 필터링하도록 지시하는 경우, 인트라 예측 참조 샘플값을 필터링 처리하여 필터링된 참조 샘플값을 얻는 단계; 를 포함한다.
선택적으로, 인트라 예측 참조 샘플값을 필터링 처리하여 필터링된 참조 샘플값을 획득하는 방법은,
디코딩 블록의 크기가 미리 설정된 값과 같으며 디코딩 블록의 인트라 예측모드가 미리 설정된 모드인 경우, 인트라 예측 참조 샘플값을 필터링 처리하여 필터링된 참조 샘플값을 얻는 것을 포함한다.
선택적으로, 예측 차이 파라미터를 사용하여 디코딩 블록의 예측 차이를 계산하는 방법은,
예측 차이 파라미터를 스케일링 및 변환 처리하여 디코딩 블록의 예측 차이를 얻는 것을 포함한다.
선택적으로, 인트라 예측값과 예측 차이의 합을 디코딩 블록의 복원값으로 설정한 후, 상기 방법은,
디코딩 블록의 복원값에 대해 루프 필터링 처리하여 디코딩값을 얻는 것을 더 포함한다.
제 3 측면에서, 본 발명의 실시예는 이미지 인코딩 장치를 제공하고, 이미지 인코딩 장치는 제 1 참조 샘플값 확정 유닛, 인트라 예측값 확정 유닛, 예측 차이 파라미터 획득 유닛 및 인코딩 유닛을 포함하고, 여기서,
제 1 참조 샘플값 확정 유닛은 인코딩 블록 중의 화소 샘플값에 따라 인코딩 블록의 제1 참조 샘플값을 확정하도록 구성되고;
인트라 예측값 확정 유닛은 제1 참조 샘플값 확정 유닛을 통해 확정한 제 1 참조 샘플값에 따라 인코딩 블록의 인트라 예측모드를 확정하고 인코딩 블록의 인트라 예측값을 계산하도록 구성되고;
예측 차이 파라미터 획득 유닛은 인코딩 블록의 원래값과 인트라 예측값 확정 유닛을 통해 계산된 인트라 예측값에 따라 예측 차이 파라미터를 얻도록 구성되고;
인코딩 유닛은 제 1 참조 샘플값 확정 유닛에 의해 확정된 제 1 참조 샘플값, 인트라 예측값 확정 유닛에 의해 확정된 인트라 예측모드 및 예측 차이 파라미터 획득 유닛이 획득한 예측 차이 파라미터를 인코딩하고 인코딩 비트를 비트 스트림에 기록하도록 구성된다.
선택적으로, 예측 차이 파라미터 획득 유닛은 예시적으로,
인코딩 블록의 원래값과 인트라 예측값의 차이값을 계산하여 인코딩 블록의 예측 차이값을 얻고;
예측 차이값에 대해 변환 및 양자화 처리하여 예측 차이 파라미터를 얻도록 구성된다.
선택적으로, 제 1 참조 샘플값 확정 유닛은 예시적으로,
인코딩 블록의 참조 샘플값의 존재 여부를 판단하고 여기서 참조 샘플값은 인코딩 블록에 인접한 하나 이상의 화소점의 복원된 화소 샘플값을 의미하며,
인코딩 블록의 일부 또는 전부의 참조 샘플값이 존재하지 않는 경우, 인코딩 블록 중의 화소 샘플값에 따라 인코딩 블록의 제1 참조 샘플값을 확정하도록 구성되고;
또는, 인코딩 블록의 매칭 블록 중의 참조 샘플값이 전부 존재하는지 여부를 판단하고,
인코딩 블록의 매칭 블록 중의 일부 또는 전부 참조 샘플값이 존재하지 않는 경우, 인코딩 블록의 일부 또는 전부의 참조 샘플값이 존재하지 않는 것으로 판단하고, 인코딩 블록 중의 화소 샘플값에 따라 인코딩 블록의 제1 참조 샘플값을 확정하도록 구성된다.
선택적으로, 제 1 참조 샘플값 확정 유닛은 예시적으로,
인코딩 블록 중의 화소 샘플값에 따라 연 판정 방법으로 제 1 참조 샘플값을 확정하도록 구성된다.
선택적으로, 제 1 참조 샘플값 확정 유닛은 예시적으로,
인코딩 블록의 전부의 참조 샘플값이 존재하지 않는 것으로 판단되면, 제 1 참조 샘플값을 인코딩 블록의 원래값의 평균값으로 설정하고;
인코딩 블록의 일부 참조 샘플값이 존재하지 않는 것으로 판단되면, 제 1 참조 샘플값을 인코딩 블록의 원래값의 평균값과 일부 존재하는 참조 샘플값의 평균값의 차이값으로 설정하도록 구성된다.
선택적으로, 인트라 예측값 확정 유닛은 예시적으로,
제 1 참조 샘플값을 사용하여 인코딩 블록의 존재하지 않는 참조 샘플값을 설정하고;
인코딩 블록의 참조 샘플값에 따라, 레이트 왜곡 최적화 방법을 사용하여 인코딩 블록의 인트라 예측모드를 확정하고, 인트라 예측모드를 사용하여 인코딩 블록의 인트라 예측값을 계산하여 얻도록 구성된다.
선택적으로, 인트라 예측값 확정 유닛은 예시적으로,
제 1 참조 샘플값을 사용하여 인코딩 블록의 존재하지 않는 참조 샘플값을 설정하고;
인코딩 블록의 참조 샘플값을 필터링하여 필터링된 참조 샘플값을 얻고;
필터링된 참조 샘플값에 따라, 레이트 왜곡 최적화 방법을 사용하여 인코딩 블록의 인트라 예측모드를 확정하고, 인트라 예측모드를 사용하여 인코딩 블록의 인트라 예측값을 계산하여 얻도록 구성된다.
선택적으로, 인코딩 유닛은 예시적으로,
제 1 참조 샘플값에 대한 인코딩을 통해 제 1 참조 샘플값의 인코딩 비트를 얻고;
인코딩 비트를 비트 스트림의 데이터 유닛에 기록하도록 구성되고, 여기서 비트 스트림의 데이터 유닛은 하나 이상의 파라미터 세트, 슬라이스 헤더 및 블록 레이어 데이터 유닛 중 하나 이상을 포함한다.
제 4 측면에서, 본 발명의 실시예는 이미지 디코딩 장치를 제공하고, 이미지 디코딩 장치는 파싱 유닛, 인트라 예측 참조 샘플값 확정 유닛, 인트라 예측값 확정 유닛, 예측 차이 확정 유닛 및 복원값 획득 유닛을 포함하고, 여기서,
파싱 유닛은 비트 스트림을 파싱하여 디코딩 블록의 제 1 참조 샘플값, 인트라 예측모드 및 예측 차이 파라미터를 얻도록 구성되고;
인트라 예측 참조 샘플값 확정 유닛은 파싱 유닛이 파싱한 제 1 참조 샘플값에 따라 디코딩 블록의 인트라 예측 참조 샘플값을 확정하도록 구성되고;
인트라 예측값 확정 유닛은 인트라 예측 참조 샘플값 확정 유닛이 확정한 인트라 예측 참조 샘플값 및 파싱 유닛이 파싱한 인트라 예측모드에 따라 디코딩 블록의 인트라 예측값을 구성하도록 구성되고;
예측 차이 확정 유닛은 파싱 유닛이 파싱한 예측 차이 파라미터를 사용하여 디코딩 블록의 예측 차이를 계산하도록 구성되고;
복원값 획득 유닛은 인트라 예측값 확정 유닛에 의해 구성된 인트라 예측값 및 예측 차이 확정 유닛에 의해 계산된 예측 차이의 합을 계산하여 디코딩 블록의 복원값을 획득하도록 구성된다.
선택적으로, 파싱 유닛은 예시적으로,
비트 스트림에서 하나 이상의 데이터 유닛을 파싱하여 제 1 참조 샘플값을 얻도록 구성되고, 여기서 데이터 유닛은, 하나 이상의 파라미터 세트, 슬라이스 헤더 및 블록 레이어 데이터 유닛 중 하나 이상을 포함한다.
선택적으로, 인트라 예측값 확정 유닛은 예시적으로,
인트라 예측 참조 샘플값을 필터링 처리하여 필터링된 참조 샘플값을 얻고;
필터링된 참조 샘플값을 사용하여 인트라 예측모드에 따라 디코딩 블록의 인트라 예측값을 계산하여 얻도록 구성된다.
선택적으로, 인트라 예측 참조 샘플값 확정 유닛은 예시적으로,
디코딩 블록의 참조 샘플값의 존재 여부를 판단하고 여기서 참조 샘플값은 디코딩 블록에 인접된 하나 이상의 화소점의 복원된 화소 샘플값이고,
디코딩 블록의 일부 또는 전부의 참조 샘플값이 존재하지 않는 경우, 제1 참조 샘플값에 따라 디코딩 블록의 존재하지 않는 값을 확정하여 인트라 예측 참조 샘플값을 얻도록 구성되고;
또는, 디코딩 블록의 매칭 블록 중의 참조 샘플값이 전부 존재하는지 여부를 판단하고,
디코딩 블록의 매칭 블록 중의 일부 또는 전부의 참조 샘플값이 존재하지 않는 경우, 디코딩 블록의 일부 또는 전부의 참조 샘플값이 존재하지 않는 것으로 판단하고, 제1 참조 샘플값에 따라 디코딩 블록의 존재하지 않는 참조 샘플값을 확정하여 인트라 예측 참조 샘플값을 얻도록 구성된다.
선택적으로, 예측 차이 확정 유닛은 예시적으로,
예측 차이 파라미터를 스케일링 및 변환 처리하여 디코딩 블록의 예측 차이를 얻도록 구성된다.
선택적으로, 복원값 획득 유닛은 예시적으로,
디코딩 블록의 복원값에 대해 루프 필터링 처리하여 디코딩값을 얻도록 구성된다.
제 5 측면에서, 본 발명의 실시예는 인코더를 제공하고, 상기 인코더는, 제 1 프로세서, 제 1 저장매체 및 제 1 통신 버스를 포함하고, 여기서 제 1 프로세서와 제 1 저장매체는 제 1 통신 버스를 통해 연결되고;
제 1 프로세서는 제 1 저장매체에 저장된 이미지 인코딩 관련 프로그램을 호출하여 다음 단계:
인코딩 블록 중의 화소 샘플값에 따라 인코딩 블록의 제1 참조 샘플값을 확정하는 단계;
제1 참조 샘플값에 따라 인코딩 블록의 인트라 예측모드를 확정하고 인코딩 블록의 인트라 예측값을 계산하는 단계;
인코딩 블록의 원래값과 인트라 예측값에 따라 예측 차이 파라미터를 얻는 단계;
제1 참조 샘플값, 인트라 예측모드 및 예측 차이 파라미터에 대해 인코딩을 수행하고, 인코딩 비트를 비트 스트림에 기록하는 단계; 를 수행한다.
제 6 측면에서, 본 발명의 실시예는 디코더를 제공하고, 상기 디코더는 제 2 프로세서, 제 2 저장매체 및 제 2 통신 버스를 포함하고, 여기서 제 2 프로세서와 제 2 저장매체는 제 2 통신 버스를 통해 연결되고;
제 2 프로세서는 제 2 저장매체에 저장된 이미지 디코딩 관련 프로그램을 호출하여 다음 단계:
비트 스트림을 파싱하여 디코딩 블록의 제 1 참조 샘플값, 인트라 예측모드 및 예측 차이 파라미터를 얻는 단계;
제 1 참조 샘플값에 따라 디코딩 블록의 인트라 예측 참조 샘플값을 확정하는 단계;
인트라 예측 참조 샘플값 및 인트라 예측모드에 따라 디코딩 블록의 인트라 예측값을 구성하는 단계;
예측 차이 파라미터를 사용하여 디코딩 블록의 예측 차이를 계산하는 단계;
인트라 예측값과 예측 차이의 합을 계산하여 디코딩 블록의 복원값을 얻는 단계; 를 포함한다.
제 7 측면에서, 본 발명의 실시예는 인코더에 적용되는 컴퓨터 저장매체를 제공하고, 컴퓨터 판독 가능 저장매체에는 하나 이상의 이미지 인코딩 관련 프로그램이 저장되고, 하나 이상의 이미지 인코딩 관련 프로그램은 하나 이상의 제 1 프로세서에 의해 수행되어 상기 이미지 인코딩 방법을 구현할 수 있다.
제 8 측면에서, 본 발명의 실시예는 디코더에 적용되는 컴퓨터 저장매체를 제공하고, 컴퓨터 판독 가능 저장매체에는 하나 이상의 이미지 인코딩 관련 프로그램이 저장되고, 하나 이상의 이미지 인코딩 관련 프로그램은 하나 이상의 제 2 프로세서에 의해 수행되어 상기 이미지 디코딩 방법을 구현할 수 있다.
상기 내용을 종합하면 본 발명의 실시예는 이미지 인코딩 방법, 디코딩 방법, 인코더, 디코더 및 저장매체를 제공한다. 여기서, 이미지 디코딩 방법은, 인코딩 블록 중의 화소 샘플값에 따라 인코딩 블록의 제1 참조 샘플값을 확정하는 단계; 제1 참조 샘플값에 따라 인코딩 블록의 인트라 예측모드를 확정하고 인코딩 블록의 인트라 예측값을 계산하는 단계; 인코딩 블록의 원래값과 인트라 예측값에 따라 예측 차이 파라미터를 얻는 단계; 제1 참조 샘플값, 인트라 예측모드 및 예측 차이 파라미터에 대해 인코딩을 수행하고, 인코딩 비트를 비트 스트림에 기록하는 단계; 를 포함한다. 상기 기술 방안을 사용하는 경우, 제 1 참조 샘플값은 인코딩 블록의 인코딩될 화소 샘플값에 따라 계산되고, 나아가 제 1 샘플값은 인코딩 블록의 인트라 예측 참조 샘플값을 구성하는데 사용되므로, 인코딩 블록의 인접 블록의 샘플값을 모두 사용할 수 없거나 부분적으로 사용할 수 없는 경우, 인트라 예측의 예측값과 인코딩 블록 사이의 예측 차이값을 효과적으로 감소하여 인트라 예측모드의 인코딩 효율을 향상시킬 수 있다.
도 1 은 본 발명의 실시예에 의해 제공되는 이미지 인코딩 방법의 흐름 개략도이다.
도 2는 본 발명의 실시예에 의해 제공되는 이미지 디코딩 방법의 흐름 개략도이다.
도 3은 본 발명의 실시예에 의해 제공되는 인코딩 장치의 구조개략도이다.
도 4는 본 발명의 실시예에 의해 제공되는 디코딩 장치의 구조개략도이다.
도 5는 본 발명의 실시예에 의해 제공되는 인코더의 시스템 아키텍처 개략도이다.
도 6은 본 발명의 실시예에 의해 제공되는 디코더의 시스템 아키텍처 개략도이다.
도 7은 본 발명의 실시예에 의해 제공되는 인코더의 인타라 예측유닛의 구조도이다.
도 8은 본 발명의 실시예에 의해 제공되는 인트라 예측 방법의 개략도이다.
도 9는 본 발명의 실시예에 의해 제공되는 또 하나의 인트라 예측 방법의 개략도이다.
도 10은 본 발명의 실시예에 의해 제공되는 인코더의 엔트로피 인코딩 유닛이 인트라 예측유닛 출력 파라미터에 대해 인코딩을 수행하는 데이터 처리의 흐름 개략도이다.
도 11은 본 발명의 실시예에 의해 제공되는 디코더의 인트라 예측유닛의 구조개략도이다.
도 12는 본 발명의 실시예에 의해 제공되는 디코더의 파싱 유닛이 디코딩 블록비트 스트림 중의 인트라 예측모드와 필터링 파라미터에 대해 파싱을 수행하는 데어터 처리의 흐름 개략도이다.
도 13은 본 발명의 실시예에 의해 제공되는 인코더를 포함하는 전가기기의 구조개략도이다.
도 14은 본 발명의 실시예에 의해 제공되는 디코더를 포함하는 전가기기의 구조개략도이다.
도 15는 본 발명의 실시예에 의해 제공되는 전자 시스템의 시스템 아키텍처 개략도이다.
도 2는 본 발명의 실시예에 의해 제공되는 이미지 디코딩 방법의 흐름 개략도이다.
도 3은 본 발명의 실시예에 의해 제공되는 인코딩 장치의 구조개략도이다.
도 4는 본 발명의 실시예에 의해 제공되는 디코딩 장치의 구조개략도이다.
도 5는 본 발명의 실시예에 의해 제공되는 인코더의 시스템 아키텍처 개략도이다.
도 6은 본 발명의 실시예에 의해 제공되는 디코더의 시스템 아키텍처 개략도이다.
도 7은 본 발명의 실시예에 의해 제공되는 인코더의 인타라 예측유닛의 구조도이다.
도 8은 본 발명의 실시예에 의해 제공되는 인트라 예측 방법의 개략도이다.
도 9는 본 발명의 실시예에 의해 제공되는 또 하나의 인트라 예측 방법의 개략도이다.
도 10은 본 발명의 실시예에 의해 제공되는 인코더의 엔트로피 인코딩 유닛이 인트라 예측유닛 출력 파라미터에 대해 인코딩을 수행하는 데이터 처리의 흐름 개략도이다.
도 11은 본 발명의 실시예에 의해 제공되는 디코더의 인트라 예측유닛의 구조개략도이다.
도 12는 본 발명의 실시예에 의해 제공되는 디코더의 파싱 유닛이 디코딩 블록비트 스트림 중의 인트라 예측모드와 필터링 파라미터에 대해 파싱을 수행하는 데어터 처리의 흐름 개략도이다.
도 13은 본 발명의 실시예에 의해 제공되는 인코더를 포함하는 전가기기의 구조개략도이다.
도 14은 본 발명의 실시예에 의해 제공되는 디코더를 포함하는 전가기기의 구조개략도이다.
도 15는 본 발명의 실시예에 의해 제공되는 전자 시스템의 시스템 아키텍처 개략도이다.
관련 기술에서 비디오 및 이미지 인코딩 표준에서 사용하는 인트라 예측 방법은 현재 인코딩 블록의 좌측 인접 위치와 상부 인접 위치에 있는 인코딩된 화소점을 사용하여 현재 인코딩 블록의 화소점의 예측값을 구성한다. 인트라 예측모드는 인코딩 블록의 인접 화소점을 사용하여 인코딩 블록의 화소점 예측값을 구성하는 방법, 예를 들어 직류(DC) 모드, 인트라 예측 방향 등을 지시한다. 관련 표준은 다양한 인트라 예측모드를 설계하였다. 예를 들어 H.264/AVC 표준은 DC 모드와 8 개의 상이한 인트라 예측 방향을 가진 예측모드를 포함하여 9 개의 인트라 예측모드를 사용하고; H.265/HEVC 표준은 평면 모드, DC 모드 및 33 개의 상이한 인트라 예측 방향의 예측모드를 사용한다.
관련 인트라 예측 방법에서는 먼저 화소점의 "사용 가능" 여부를 참조해야 한다. 참조 화소점이 존재하지 않거나(예를 들면 현재 인코딩 블록이 이미지 경계에 위치함), 현재 인코딩 블록에 의해 사용될 수 없는 경우(예를 들면 현재 블록이 슬라이스의 경계에 위치함), 참조 화소점은 "존재하지 않음"으로 간주된다. 참조 화소점이 "존재하지 않음"인 경우 H.264/AVC 표준에서 이러한 참조 화소점은 "사용 불가능"으로 표시되고 이러한 참조 화소점을 사용하는 인트라 예측모드도 사용할 수 없고; H.265/HEVC 표준에서는 지정된 규칙에 따라 "존재하지 않는" 참조 화소점을 충진하고, 충진 후의 참조 화소점을 "사용 가능"으로 표시한다.
H.264/AVC 표준에서 DC 모드는 항상 사용될 수 있는 인트라 예측모드이다. 인코딩 블록의 참조 화소점이 모두 "사용 불가능"한 경우, DC 모드의 인트라 예측값은 1<<(BitDepth-1)로 설정된다. 여기서 "<<"는 표준에 정의된 산술 왼쪽 시프트(Arithmetic Left Shift) 비트 연산자이고, BitDepth는 컴포넌트의 비트 심도를 나타낸다. 비트 심도(Bit Depth)는 물리량의 디지털 표현으로 사용되는 비트 수를 나타낸다. 상기 표준에서, 예를 들어 BitDepth는 휘도 컴포넌트의 BitDepthY와 같고 BitDepthY는 휘도 컴포넌트의 비트 심도다. 현재 가전 제품에서 일반적으로 사용되는 비트 심도는 8 비트이며, 이런 경우 참조 화소점이 모두 "사용 불가능"인 경우 DC 모드 예측값은 128이다. 참조 화소점의 일부가 "사용 가능"할 때 DC 모드는 "사용 가능한" 참조 화소 샘플값의 평균값을 인트라 예측값으로 사용한다. 상기 표준에서 인코딩되지 않은 화소점, 참조 화소점이 "사용 불가능" 한 경우는 주로 이미지 경계 외부의 화소점인 경우, 슬라이스 경계 외부의 화소점인 경우, constrained_intra_pred_flag의 값이 1일 때 인접 매크로 블록(Macroblock)이 인터(Inter) 인코딩을 사용하는 경우를 포함한다.
H.265/HEVC 표준에서 인코딩 블록의 참조 화소점 위치에 "존재하지 않는" 참조 화소점이 있는 경우, "존재하는" 참조 화소점을 사용하여 "존재하지 않는" 참조 화소점을 충진하고; 인코딩 블록의 참조 화소점이 전부 존재하지 않는 경우, 참조 화소점의 값은 전부 1<<(BitDepth-1)로 충진된다. 상기 표준 인트라 예측 참조 화소점 충진 방법에서 좌측 인접 참조 화소점은 상부에 인접한 "존재하지 않는" 화소점을 충진하기 위해 사용될 수 있다. 상기 표준에서 참조 화소점이 "존재하지 않는" 경우는 주로 인코딩되지 않은 화소점인 경우, 이미지 경계 외부의 화소점인 경우, 슬라이스 경계의 외부의 화소점인 경우, 타일(Tile) 경계 외부의 화소점인 경우 및 constrained_intra_pred_flag의 값이 1일 때 인접된 블록이 인터 인코딩을 사용하는 경우를 포함한다.
그러나 관련 비디오 및 이미지 인코딩 표준은 다음과 같은 단점이 존재한다.
(1) 인트라 예측 참조 화소가 전부 사용 불가능한 경우, 관련 방법은 인트라 예측의 예측 값을 "1<<(BitDepth-1)"로 설정하는 것과 동일하다. 인코딩 블록의 화소 샘플값과 "1<<(BitDepth-1)" 사이의 편차가 큰 경우, 인트라 예측의 예측 차이가 비교적 크므로 인코딩 비트 오버헤드가 커지게 된다.
(2) 인트라 참조 화소가 부분적으로 사용 가능한 경우, 사용 가능한 인트라 예측모드를 제한하고, 사용 가능한 참조 화소 샘플값만 사용하여 예측 값(예: DC 예측값)을 계산하고, 사용 가능한 참조 화소 샘플값으로 충진하는 방법을 사용하고, 이러한 방법의 실행 과정은 모두 참조 화소 샘플값을 기반으로 하고 인코딩 블록의 화소 샘플값을 포함하지 않기 때문에 인트라 예측 오류가 크게 발생한다.
이하 본 발명의 실시예의 첨부 도면을 결합하여 본 발명의 실시예의 기술 방안에 대해 보다 명확하고 완전하게 설명하도록 한다.
이하의 실시예에서 비디오는 이미지로 구성된 이미지 시퀀스를 의미한다. 비트 스트림은, 비디오 인코더가 비디오를 인코딩하여 생성된 비트 스트림을 의미하고, 또한 비디오 인코더가 비디오를 인코딩하여 생성된 비트 스트림을 시스템 레이어 처리하여 얻은, 비디오 인코더가 비디오를 인코딩하여 생성된 비트 스트림을 포함하는 전송 스트림 및/또는 미디어 파일을 의미하며, 비트 스트림을 디코딩하여 비디오를 획득할 수 있다. 시스템 레이어 처리는 비디오 비트 스트림에 대한 패키징 작업이며, 예를 들어 비디오 비트 스트림을 데이터 로드로서 전송 스트림으로 패키징하거나 비디오 비트 스트림을 로드로서 미디어 파일로 패키징하는 것이다. 시스템 레이어 처리는 또한 비디오 스트림을 포함하는 전송 스트림 또는 미디어를 데이터 로드로서 전송용 스트림 또는 저장용 파일로 패키징하는 것을 포함한다. 시스템 레이어 처리에 의해 생성된 데이터 유닛을 시스템 레이어 데이터 유닛이라고도 하고, 시스템 레이어 처리에서 데이터 로드를 패키징하는 과정에서 시스템 레이어 데이터 유닛에 추가된 정보(예를 들면 시스템 레이어 데이터 유닛의 헤더 정보 등)를 시스템 레이어 정보라고 한다. 서브 스트림은 비트 스트림에서 추출 작업을 통해 얻은 비트 스트림의 일부를 의미하며, 서브 스트림을 디코딩하여 비디오 이미지를 얻을 수 있으며, 해당 비디오 이미지는 비트 스트림을 디코딩하여 얻은 비디오 이미지보다 해상도가 낮은 이미지일 수 있고, 또한 비트 스트림을 디코딩하여 얻은 비디오보다 낮은 프레임 레이트를 가진 이미지일 수 있으며, 상기 비디오 이미지에는 비트 스트림을 디코딩하여 얻은 비디오 이미지의 일부가 포함될 수 있다.
실시예 1
도 1을 참조하면 본 발명의 실시예는 이미지 인코딩 방법을 제공하고, 상기 방법은,
인코딩 블록 중의 화소 샘플값에 따라 인코딩 블록의 제1 참조 샘플값을 확정하는 단계(101);
선택적으로 단계(101)는 예시적으로, 인코딩 블록의 참조 샘플값의 존재 여부를 판단하고 여기서 참조 샘플값은 인코딩 블록에 인접한 하나 이상의 화소점의 복원된 화소 샘플값을 의미하고; 인코딩 블록의 일부 또는 전부의 참조 샘플값이 존재하지 않는 경우, 인코딩 블록 중의 화소 샘플값에 따라 인코딩 블록의 제1 참조 샘플값을 확정하는 단계;
또는 인코딩 블록의 매칭 블록 중의 참조 샘플값이 전부 존재하는지 여부를 판단하고, 인코딩 블록의 매칭 블록 중의 일부 또는 전부 참조 샘플값이 존재하지 않는 경우, 인코딩 블록의 일부 또는 전부의 참조 샘플값이 존재하지 않는 것으로 판단하고, 인코딩 블록 중의 화소 샘플값에 따라 인코딩 블록의 제1 참조 샘플값을 확정하는 단계; 를 포함한다.
여기서, 인코딩 블록의 매칭 블록은 인코딩 블록이 위치한 이미지 중 인코딩 블록의 크기와 동일한 영역에 위치한다.
예시적으로, 참조 샘플값의 존재 여부를 판단하는 방법은,
참조 샘플값에 대응되는 참조 화소점의 위치가 인코딩 블록이 위치한 이미지 중 인코딩되지 않은 이미지 영역에 위치하는 경우, 참조 샘플값은 존재하지 않는 것으로 판단되고;
참조 샘플값에 대응되는 참조 화소점의 위치가 인코딩 블록이 위치한 이미지의 경계 밖에 위치하는 경우, 참조 샘플값은 존재하지 않는 것으로 판단되고;
인코딩 블록이 위치한 이미지 중, 참조 샘플값에 대응되는 참조 화소점 위치가 인코딩 블록이 위치한 슬라이스 외부에 있는 경우, 참조 샘플값은 존재하지 않는 것으로 판단되고;
인코딩 블록이 위치한 이미지 중, 참조 샘플값에 대응되는 참조 화소점 위치가 인코딩 블록이 위치한 타일 외부에 있는 경우, 참조 샘플값은 존재하지 않는 것으로 판단되고;
인트라 예측 제한 모드를 사용하는 경우, 인코딩 블록이 위치한 이미지 중, 참조 샘플값에 대응되는 참조 화소점 위치가 비 인트라 예측모드의 인코딩 블록에 위치하면, 참조 샘플값은 존재하지 않는 것으로 판단되는; 중 하나 이상을 포함한다.
선택적으로, 인코딩 블록 중의 화소 샘플값에 따라 연 판정 방법으로 제 1 참조 샘플값을 확정한다.
예시적으로, 인코딩 블록 중의 화소 샘플값에 따라 연 판정 방법으로 인코딩 블록의 제 1 참조 샘플값을 확정하는 단계는 예시적으로, 제약 최적화 방법을 사용하여 제 1 참조 샘플값을 계산하는 단계를 포함하고, 제약 최적화 계산 공식은 다음과 같다.
여기서, D는 인코딩 블록의 인코딩 왜곡을 의미하고; k는 인코딩 블록의 하나 이상의 화소를 포함하는 순회 범위을 의미하고; d(a, b)는 a와 b 사이의 오차값을 의미하고; 는 인코딩 블록에서 인코딩될 화소 샘플값을 의미하고; 는 제 1 참조 샘플값을 사용하며 인트라 예측모드에 따라 계산하여 얻은 예측값를 의미하고; R은 인코딩 블록의 인코딩 비트의 오버헤드이고, 은 인코딩 블록의 인코딩 비트 오버헤드의 상한값이다.
예시적으로, 인코딩 블록 중의 화소 샘플값에 따라 연 판정 방법으로 제 1 참조 샘플값을 확정하는 방법은, 비 제약 최적화 방법을 사용하여 제 1 참조 샘플값을 계산하는 단계를 포함하고, 비 제약 최적화 계산 공식은 다음과 같다.
여기서, r은 제 1 참조 샘플값이고; m은 인코딩 블록의 인트라 예측모드를 의미하고; D는 인코딩 블록의 인코딩 왜곡을 의미하고; R은 인코딩 블록의 인코딩 비트 오버헤드를 의미하고; 은 라그랑주 인자를 의미한다.
선택적으로, 단계(101)는 예시적으로, 인코딩 블록의 전부의 참조 샘플값이 존재하지 않는 것으로 판단되면, 제 1 참조 샘플값은 인코딩 블록의 원래값의 평균값으로 설정되는 단계; 인코딩 블록의 일부 참조 샘플값이 존재하지 않는 것으로 판단되면, 제 1 참조 샘플값은 인코딩 블록의 원래값의 평균값과 일부 존재하는 참조 샘플값의 평균값의 차이값으로 설정되는 단계; 를 포함한다.
예시적으로, 제 1 참조 샘플값은 적어도 2 개의 샘플값 및 사용방식 지시자 파라미터를 포함하고, 여기서 샘플값 사용방식 파라미터는 인코딩 블록의 참조 샘플값 설정 과정에서 제 1 참조 샘플값에 포함된 적어도 2 개의 샘플값의 사용방식을 지시하는데 사용된다.
예시적으로, 제 1 참조 샘플값은 2 개의 샘플값을 포함하고, 인코딩 블록 중의 화소 샘플값에 따라 인코딩 블록의 제1 참조 샘플값을 확정하는 방법은, 2 개의 샘플값에 따라, 인코딩 블록의 좌측 인접 참조 화소점의 위치에서 존재하지 않는 참조 샘플의 값과, 상부 인접 참조 화소점의 위치에서 존재하지 않는 참조 샘플의 값을 각각 설정하는 단계를 포함한다.
제1 참조 샘플값에 따라 인코딩 블록의 인트라 예측모드를 확정하고, 인코딩 블록의 인트라 예측값을 계산하는 단계(102)를 포함하고;
선택적으로, 단계(102)는, 제 1 참조 샘플값을 사용하여 인코딩 블록의 존재하지 않는 참조 샘플값을 설정하는 단계; 인코딩 블록의 참조 샘플값에 따라, 레이트 왜곡 최적화 방법을 사용하여 인코딩 블록의 인트라 예측모드를 확정하고, 인트라 예측모드를 사용하여 인코딩 블록의 인트라 예측값을 계산하여 얻는 단계를 포함한다.
선택적으로, 단계(102)는, 제 1 참조 샘플값을 사용하여 인코딩 블록의 존재하지 않는 참조 샘플값을 설정하는 단계; 인코딩 블록의 참조 샘플값을 필터링하여 필터링된 참조 샘플값을 얻는 단계; 필터링된 참조 샘플값에 따라, 레이트 왜곡 최적화 방법을 사용하여 인코딩 블록의 인트라 예측모드를 확정하고, 인트라 예측모드를 사용하여 인코딩 블록의 인트라 예측값을 계산하여 얻는 단계; 를 더 포함한다.
여기서, 인코딩 블록의 참조 샘플값을 필터링하여 필터링된 참조 샘플값을 얻는 방법은 다음과 같다.
방법(1): 레이트 왜곡 최적화 방법을 사용하여 필터링 제어 파라미터를 확정하고 여기서 필터링 제어 파라미터는 참조 샘플값에 대한 필터링 수행 여부를 지시하는데 사용되고; 필터링 제어 파라미터가 참조 샘플값에 대해 필터링하도록 지시하는 경우, 인코딩 블록의 참조 샘플값을 필터링하여 필터링된 참조 샘플값을 얻는다.
방법(2): 인코딩 블록의 크기가 미리 설정된 값과 같으면, 레이트 왜곡 최적화 방법을 사용하여 필터링 제어 파라미터를 확정하고, 여기서 필터링 제어 파라미터는 참조 샘플값에 대한 필터링 수행 여부를 지시하는데 사용되고; 필터링 제어 파라미터가 참조 샘플값에 대해 필터링하도록 지시하는 경우, 인코딩 블록의 참조 샘플값을 필터링하여 필터링된 참조 샘플값을 얻는다.
여기서, 미리 설정된 값은 미리 설정된 값 또는 미리 설정된 복수의 값 중 하나를 포함한다.
방법 3: 인코딩 블록의 크기가 미리 설정된 값과 같으면, 인코딩 블록의 참조 샘플값을 필터링하여 필터링된 참조 샘플값을 얻는다.
방법 4: 인코딩 블록의 인트라 예측모드가 미리 설정된 모드인 경우, 레이트 왜곡 최적화 방법을 사용하여 필터링 제어 파라미터를 확정하고, 여기서 필터링 제어 파라미터는 참조 샘플값에 대한 필터링 수행 여부를 지시하는데 사용되고; 필터링 제어 파라미터가 참조 샘플값에 대해 필터링하도록 지시하는 경우, 인코딩 블록의 참조 샘플값을 필터링하여 필터링된 참조 샘플값을 얻는다.
여기서, 미리 설정된 모드는 미리 설정된 모드 또는 미리 설정된 복수의 모드 중 하나를 포함한다.
방법 5: 인코딩 블록의 인트라 예측모드가 미리 설정된 모드인 경우, 인코딩 블록의 참조 샘플값을 필터링하여 필터링된 참조 샘플값을 얻는다.
방법 6: 인코딩 블록의 크기가 미리 설정된 값과 같으며 인코딩 블록의 인트라 예측모드가 미리 설정된 모드인 경우, 레이트 왜곡 최적화 방법을 사용하여 필터링 제어 파라미터를 확정하고, 여기서 필터링 제어 파라미터는 참조 샘플값에 대한 필터링 수행 여부를 지시하는데 사용되고; 필터링 제어 파라미터가 참조 샘플값에 대해 필터링하도록 지시하는 경우, 인코딩 블록의 참조 샘플값을 필터링하여 필터링된 참조 샘플값을 얻는다.
방법 7: 인코딩 블록의 크기가 미리 설정된 값과 같으며 인코딩 블록의 인트라 예측모드가 미리 설정된 모드인 경우, 인코딩 블록 참조 샘플값을 필터링하여 필터링된 참조 샘플값을 획득한다.
일 실시예에서, 인코딩 블록의 참조 샘플값을 필터링하여 필터링된 참조 샘플값을 얻는 방법은, 인코딩 블록의 필터링 제어 파라미터를 인코딩하고 인코딩 비트를 비트 스트림에 기록하는 방법을 더 포함한다.
인코딩 블록의 원래값과 인트라 예측값에 따라 예측 차이 파라미터를 얻는 단계(103);
예시적으로, 인코딩 블록의 원래값과 인트라 예측값의 차이값을 계산하여 인코딩 블록의 예측 차이값을 얻고; 예측 차이값에 대해 변환 및 양자화 처리하여 예측 차이 파라미터를 얻는다.
제1 참조 샘플값, 인트라 예측모드 및 예측 차이 파라미터에 대해 인코딩을 수행하고, 인코딩 비트를 비트 스트림에 기록하는 단계(104); 를 포함한다.
선택적으로 단계(104)에서 제 1 참조 샘플값을 인코딩하는 방법은, 제 1 참조 샘플값에 대한 인코딩을 통해 제 1 참조 샘플값의 인코딩 비트를 얻는 단계; 인코딩 비트를 비트 스트림의 데이터 유닛에 기록하는 단계; 를 포함하고, 여기서 비트 스트림의 데이터 유닛은 하나 이상의 파라미터 세트, 슬라이스 헤더 및 블록 레이어 데이터 유닛 중 하나 이상을 포함한다.
선택적으로 단계(104)에서 제 1 참조 샘플값을 인코딩하는 방법은, 제 1 참조 샘플값은 하나 이상의 샘플값을 포함하고; 제 1 참조 샘플값의 하나 이상의 샘플값을 인코딩하여, 제 1 참조 샘플값의 하나 이상의 샘플값의 인코딩 비트를 얻고, 인코딩 비트를 비트 스트림의 데이터 유닛에 기록하는 것을 포함한다.
일 실시예에서, 제 1 참조 샘플값의 하나 이상의 샘플값을 인코딩하여, 제 1 참조 샘플값의 하나 이상의 샘플값의 인코딩 비트를 얻는 방법은, 샘플값 사용방식 파라미터를 인코딩하고, 샘플값 사용방식 파라미터의 인코딩 비트를 비트 스트림의 데이터 유닛에 기록하는 것을 더 포함한다.
본 발명의 실시예에서 제 1 참조 샘플값은 샘플값 제어 파라미터를 포함하고, 샘플값 제어 파라미터는, 시퀀스 레이어 샘플값 제어 파라미터, 이미지 레이어 샘플값 제어 파라미터, 슬라이스 레이어 샘플값 제어 파라미터 및 블록 레이어 샘플값 제어 파라미터 중 하나 이상을 포함한다.
실시예 2
도 2를 참조하면, 본 발명의 실시예는 이미지 디코딩 방법을 제공하고, 상기 방법은,
비트 스트림을 파싱하여 디코딩 블록의 제 1 참조 샘플값, 인트라 예측모드 및 예측 차이 파라미터를 얻는 단계(201);
선택적으로, 단계(201)에서 비트 스트림을 파싱하여 디코딩 블록의 제 1 참조 샘플값을 얻는 방법은,
비트 스트림에서 하나 이상의 데이터 유닛을 파싱하여 제 1 참조 샘플값을 얻는 것을 포함하며, 여기서 데이터 유닛은, 하나 이상의 파라미터 세트, 슬라이스 헤더 및 블록 레이어 데이터 유닛 중 하나 이상을 포함한다.
일 실시예에서, 비트 스트림을 파싱하여 디코딩 블록의 제 1 참조 샘플값을 얻는 방법은,
비트 스트림에서 하나 이상의 데이터 유닛을 파싱하여 샘플값 사용방식 파라미터를 얻는 것을 포함하며, 여기서 샘플값 사용방식 파라미터는 디코딩 블록의 참조 샘플값 설정 과정에서 제 1 참조 샘플값에 포함된 복수의 샘플값의 사용방식을 지시하는데 사용된다.
여기서, 제 1 참조 샘플값은 샘플값 제어 파라미터를 포함하고, 샘플값 제어 파라미터는, 시퀀스 레이어 샘플값 제어 파라미터, 이미지 레이어 샘플값 제어 파라미터, 슬라이스 레이어 샘플값 제어 파라미터 및 블록 레이어 샘플값 제어 파라미터 중 하나 이상을 포함한다.
제 1 참조 샘플값에 따라 디코딩 블록의 인트라 예측 참조 샘플값을 확정하는 단계(202);
선택적으로, 단계(202)는, 디코딩 블록의 참조 샘플값의 존재 여부를 판단하고, 여기서 참조 샘플값은 디코딩 블록에 인접된 하나 이상의 화소점의 복원된 화소 샘플값이고; 디코딩 블록의 일부 또는 전부의 참조 샘플값이 존재하지 않는 경우, 제1 참조 샘플값에 따라 디코딩 블록의 존재하지 않는 값을 확정하여 인트라 예측 참조 샘플값을 얻는 단계; 를 포함하고,
또는 디코딩 블록의 매칭 블록 중의 참조 샘플값이 전부 존재하는지 여부를 판단하고; 디코딩 블록의 매칭 블록 중의 일부 또는 전부의 참조 샘플값이 존재하지 않는 경우, 디코딩 블록의 일부 또는 전부의 참조 샘플값이 존재하지 않는 것으로 판단하고, 제1 참조 샘플값에 따라 디코딩 블록의 존재하지 않는 참조 샘플값을 확정하여 인트라 예측 참조 샘플값을 얻는 단계; 를 포함한다.
설명해야 할 것은, 디코딩 블록의 매칭 블록은 디코딩 블록이 위치한 이미지 중 디코딩 블록의 크기와 동일한 영역에 위치한다.
제 1 참조 샘플값에 따라 디코딩 블록의 존재하지 않는 참조 샘플값을 확정하는 방법 이후, 디코딩 블록의 참조 샘플값은 전부 존재함을 이해할 수 있을 것이다.
실제 응용에서 참조 샘플값의 존재 여부를 판단하는 방법은,
참조 샘플값에 대응되는 참조 화소점 위치가 디코딩 블록이 위치한 이미지에서 디코딩되지 않은 이미지 영역에 위치하는 경우, 참조 샘플값은 존재하지 않는 것으로 판단되는 방법;
참조 샘플값에 대응되는 참조 화소점 위치가 디코딩 블록이 위치한 이미지의 경계 밖에 위치하는 경우, 참조 샘플값은 존재하지 않는 것으로 판단되는 방법;
디코딩 블록이 위치한 이미지에서, 참조 샘플값에 대응하는 참조 화소점 위치가 디코딩 블록이 위치한 슬라이스 외부에 있는 경우, 참조 샘플값은 존재하지 않는 것으로 판단되는 방법;
디코딩 블록이 위치한 이미지에서, 참조 샘플값에 대응되는 참조 화소점 위치가 디코딩 블록이 위치한 타일 외부에 있는 경우, 참조 샘플값은 존재하지 않는 것으로 판단되는 방법;
인트라 예측 제한 모드를 사용하는 경우, 디코딩 블록이 위치한 이미지에서 참조 샘플값에 대응되는 참조 화소점 위치가 비 인트라 예측모드의 디코딩 블록에 위치하면 참조 샘플값이 존재하지 않는 것으로 판단되는 방법; 중 하나 이상을 포함한다.
일 실시예에서, 제 1 참조 샘플값에 따라 디코딩 블록의 존재하지 않는 참조 샘플값을 확정하는 방법은 제 1 참조 샘플값을 사용하여 디코딩 블록의 존재하지 않는 참조 샘플값을 설정하는 것을 포함한다.
일 실시예에서, 제 1 참조 샘플값은 샘플값 제어 파라미터를 포함하고, 제 1 참조 샘플값에 따라 디코딩 블록의 존재하지 않는 참조 샘플값을 확정하는 방법은, 샘플값 제어 파라미터가 제 1 참조 샘플값을 사용하여 존재하지 않는 참조 샘플값을 구성하도록 지시하는 경우, 제 1 참조 샘플값을 사용하여 디코딩 블록의 존재하지 않는 참조 샘플값을 설정하는 것을 포함한다.
일 실시예에서, 제 1 참조 샘플값은 샘플값 사용방식 파라미터를 포함하고, 제 1 참조 샘플값에 따라 디코딩 블록의 존재하지 않는 참조 샘플값을 확정하는 방법은, 제 1 참조 샘플값이 적어도 2 개의 샘플값을 포함하는 경우, 샘플값 사용방식 파라미터에 따라 제 1 참조 샘플값에 포함된 샘플값을 사용하여 디코딩 블록의 존재하지 않는 참조 샘플값을 대응되게 설정하는 것을 포함한다.
예시적으로, 제 1 참조 샘플값은 2 개의 샘플값을 포함하고, 샘플값 사용방식 파라미터 또는 미리 설정된 규칙에 따라, 제 1 참조 샘플값에 포함된 샘플값을 사용하여 디코딩 블록의 존재하지 않는 참조 샘플값을 대응되게 설정하는 방법은, 미리 설정된 규칙에 따라 제 1 참조 샘플값의 두 개의 샘플값을 사용하여 디코딩 블록의 좌측 인접 참조 화소점 위치에서 존재하지 않는 참조 샘플값과 상부 인접 참조 화소점에 존재하지 않는 참조 샘플값을 각각 설정하는 것을 포함한다.
선택적으로, 인트라 예측 참조 샘플값 및 인트라 예측모드에 따라 디코딩 블록의 인트라 예측값을 구성하는 방법은, 인트라 예측 참조 샘플값을 필터링 처리하여 필터링된 참조 샘플값을 얻는 단계; 필터링된 참조 샘플값을 사용하여 인트라 예측모드에 따라 디코딩 블록의 인트라 예측값을 계산하여 얻는 단계; 를 포함한다.
예시적으로, 인트라 예측 참조 샘플값을 필터링 처리하여 필터링된 참조 샘플값을 획득하는 방법은 적어도 다음 방법을 포함한다.
방법(1): 비트 스트림을 파싱하여 필터링 제어 파라미터를 얻고, 여기서 필터링 제어 파라미터는 인트라 예측 참조 샘플값에 대한 필터링 여부를 지시하는데 사용되고; 필터링 제어 파라미터가 인트라 예측 참조 샘플값에 대해 필터링하도록 지시하는 경우, 인트라 예측 참조 샘플값을 필터링하여 필터링된 참조 샘플값을 얻는다.
방법(2): 디코딩 블록의 크기가 미리 설정된 값과 같으면, 비트 스트림을 파싱하여 필터링 제어 파라미터를 얻고; 필터링 제어 파라미터가 인트라 예측 참조 샘플값에 대해 필터링하도록 지시하는 경우, 인트라 예측 참조 샘플값을 필터링 처리하여 필터링된 참조 샘플값을 얻는다.
방법(3): 디코딩 블록의 크기가 미리 설정된 값과 같으면, 인트라 예측 참조 샘플값을 필터링 처리하여 필터링된 참조 샘플값을 얻는다.
방법(4): 디코딩 블록의 인트라 예측모드가 미리 설정된 모드면, 비트 스트림을 파싱하여 필터링 제어 파라미터를 얻고; 필터링 제어 파라미터가 인트라 예측 참조 샘플값에 대해 필터링하도록 지시하는 경우, 인트라 예측 참조 샘플값을 필터링 처리하여 필터링된 참조 샘플값을 얻는다.
방법(5): 디코딩 블록의 인트라 예측모드가 미리 설정된 모드면, 인트라 예측 참조 샘플값을 필터링 처리하여 필터링된 참조 샘플값을 얻는다.
방법(6): 디코딩 블록의 크기가 미리 설정된 값과 같으며 디코딩 블록의 인트라 예측모드가 미리 설정된 모드인 경우, 비트 스트림을 파싱하여 필터링 제어 파라미터를 얻고; 필터링 제어 파라미터가 인트라 예측 참조 샘플값에 대해 필터링하도록 지시하는 경우, 인트라 예측 참조 샘플값을 필터링 처리하여 필터링된 참조 샘플값을 얻는다.
방법(7): 디코딩 블록의 크기가 미리 설정된 값과 같으며 디코딩 블록의 인트라 예측모드가 미리 설정된 모드인 경우, 인트라 예측 참조 샘플값을 필터링 처리하여 필터링된 참조 샘플값을 얻는다.
인트라 예측 참조 샘플값 및 인트라 예측모드에 따라 디코딩 블록의 인트라 예측값을 구성하는 단계(203);
예측 차이 파라미터를 사용하여 디코딩 블록의 예측 차이를 계산하는 단계(204);
선택적으로, 단계(204)는 예측 차이 파라미터를 스케일링 및 변환 처리하여 디코딩 블록의 예측 차이를 얻는 것을 포함한다.
인트라 예측값과 예측 차이의 합을 계산하여 디코딩 블록의 복원값을 얻는 단계(205); 를 포함한다.
실제 응용에서 디코딩 블록의 복원값을 획득한 후, 상기 방법은, 디코딩 블록의 복원값에 대해 루프 필터링 처리하여 디코딩값을 얻는 것을 더 포함한다.
실시예 3
도 3을 참조하면, 본 발명의 실시예는 이미지 인코딩 장치를 제공하고, 상기 장치는 제 1 참조 샘플값 확정 유닛(3001), 인트라 예측값 확정 유닛(3002), 예측 차이 파라미터 획득 유닛(3003) 및 인코딩 유닛(3004)을 포함하고, 여기서,
제 1 참조 샘플값 확정 유닛(3001)은 인코딩 블록 중의 화소 샘플값에 따라 인코딩 블록의 제1 참조 샘플값을 확정하도록 구성되고;
인트라 예측값 확정 유닛(3002)은 제1 참조 샘플값 확정 유닛(3001)을 통해 확정한 제 1 참조 샘플값에 따라 인코딩 블록의 인트라 예측모드를 확정하고, 인코딩 블록의 인트라 예측값을 계산하도록 구성되고;
예측 차이 파라미터 획득 유닛(3003)은 인코딩 블록의 원래값과 인트라 예측값확정 유닛(3002)을 통해 계산된 인트라 예측값을 따라 예측 차이 파라미터를 얻도록 구성되고;
인코딩 유닛(3004)은 제 1 참조 샘플값 확정 유닛(3001)에 의해 확정된 제 1 참조 샘플값, 인트라 예측값 확정 유닛(3002)에 의해 확정된 인트라 예측모드 및 예측 차이 파라미터 획득 유닛(3003)을 통해 획득한 예측 차이 파라미터에 대해 인코딩을 수행하고 인코딩 비트를 비트 스트림에 기록하도록 구성된다.
선택적으로, 예측 차이 파라미터 획득 유닛(3003)은 인코딩 블록의 원래값과 인트라 예측값의 차이값을 계산하여 인코딩 블록의 예측 차이값을 얻고; 예측 차이값에 대해 변환 및 양자화 처리하여 예측 차이 파라미터를 얻도록 예시적으로 구성된다.
선택적으로, 제 1 참조 샘플값 확정 유닛(3001)은 인코딩 블록의 참조 샘플값의 존재 여부를 판단하고, 여기서 참조 샘플값은 인코딩 블록에 인접한 하나 이상의 화소점의 복원된 화소 샘플값을 의미하고; 인코딩 블록의 일부 또는 전부의 참조 샘플값이 존재하지 않는 경우, 인코딩 블록 중의 화소 샘플값에 따라 인코딩 블록의 제1 참조 샘플값을 확정하도록 예시적으로 구성되고;
또는 인코딩 블록의 매칭 블록 중의 참조 샘플값이 전부 존재하는지 여부를 판단하고, 인코딩 블록의 매칭 블록 중의 일부 또는 전부 참조 샘플값이 존재하지 않는 경우, 인코딩 블록의 일부 또는 전부의 참조 샘플값이 존재하지 않는 것으로 판단하고, 인코딩 블록 중의 화소 샘플값에 따라 인코딩 블록의 제1 참조 샘플값을 확정하도록 구성된다.
선택적으로, 제 1 참조 샘플값 확정 유닛(3001)은 인코딩 블록 중의 화소 샘플값에 따라 연 판정 방법으로 제 1 참조 샘플값을 확정하도록 예시적으로 구성된다.
선택적으로, 제 1 참조 샘플값 확정 유닛(3001)은 인코딩 블록의 전부의 참조 샘플값이 존재하지 않는 것으로 판단되면, 제 1 참조 샘플값을 인코딩 블록의 원래값의 평균값으로 설정하고; 인코딩 블록의 일부 참조 샘플값이 존재하지 않는 것으로 판단되면, 제 1 참조 샘플값을 인코딩 블록의 원래값의 평균값과 일부 존재하는 참조 샘플값의 평균값의 차이값으로 설정하도록 예시적으로 구성된다.
선택적으로, 인트라 예측값 확정 유닛(3002)은 제 1 참조 샘플값을 사용하여 인코딩 블록의 존재하지 않는 참조 샘플값을 설정하고; 인코딩 블록의 참조 샘플값에 따라, 레이트 왜곡 최적화 방법을 사용하여 인코딩 블록의 인트라 예측모드를 확정하고, 인트라 예측모드를 사용하여 인코딩 블록의 인트라 예측값을 계산하여 얻도록 예시적으로 구성된다.
선택적으로, 인트라 예측값 확정 유닛(3002)은 제 1 참조 샘플값을 사용하여 인코딩 블록의 존재하지 않는 참조 샘플값을 설정하고; 인코딩 블록의 참조 샘플값을 필터링하여 필터링된 참조 샘플값을 얻으며; 필터링된 참조 샘플값에 따라, 레이트 왜곡 최적화 방법을 사용하여 인코딩 블록의 인트라 예측모드를 확정하고, 인트라 예측모드를 사용하여 인코딩 블록의 인트라 예측값을 계산하여 얻도록 예시적으로 구성된다.
선택적으로, 인코딩 유닛(3004)은 제 1 참조 샘플값에 대한 인코딩을 통해 제 1 참조 샘플값의 인코딩 비트를 얻고; 인코딩 비트를 비트 스트림의 데이터 유닛에 기록하도록 예시적으로 구성되고, 여기서 비트 스트림의 데이터 유닛은 하나 이상의 파라미터 세트, 슬라이스 헤더 및 블록 레이어 데이터 유닛 중 하나 이상을 포함한다.
실시예 4
도 4를 참조하면, 본 발명의 실시예는 이미지 디코딩 장치를 제공하고, 상기 장치는 파싱 유닛(4001), 인트라 예측 참조 샘플값 확정 유닛(4002), 인트라 예측값 확정 유닛(4003), 예측 차이 확정 유닛(4004) 및 복원값 획득 유닛(4005)을 포함하고, 여기서,
파싱 유닛(4001)은 비트 스트림을 파싱하여 디코딩 블록의 제 1 참조 샘플값, 인트라 예측모드 및 예측 차이 파라미터를 얻도록 구성되고;
인트라 예측 참조 샘플값 확정 유닛(4002)은 파싱 유닛(4001)이 파싱한 제 1 참조 샘플값에 따라 디코딩 블록의 인트라 예측 참조 샘플값을 확정하도록 구성되고;
인트라 예측값 확정 유닛(4003)은 인트라 예측 참조 샘플값 확정 유닛(4002)이 확정한 인트라 예측 참조 샘플값 및 파싱 유닛(4001)이 파싱한 인트라 예측모드에 따라 디코딩 블록의 인트라 예측값을 구성하도록 구성되고;
예측 차이 확정 유닛(4004)은 파싱 유닛(4001)이 파싱한 예측 차이 파라미터를 사용하여 디코딩 블록의 예측 차이를 계산하도록 구성되고;
복원값 획득 유닛(4005)은 인트라 예측값 확정 유닛(4003)이 구성한 인트라 예측값 및 예측 차이 확정 유닛(4004)이 계산한 예측 차이의 합을 계산하여 디코딩 블록의 복원값을 획득하도록 구성된다.
선택적으로, 파싱 유닛(4001)은 비트 스트림에서 하나 이상의 데이터 유닛을 파싱하여 제 1 참조 샘플값을 얻도록 예시적으로 구성되며, 여기서 데이터 유닛은, 하나 이상의 파라미터 세트, 슬라이스 헤더 및 블록 레이어 데이터 유닛 중 하나 이상을 포함한다.
선택적으로, 인트라 예측값 확정 유닛(4003)은 인트라 예측 참조 샘플값을 필터링 처리하여 필터링된 참조 샘플값을 얻고; 필터링된 참조 샘플값을 사용하여 인트라 예측모드에 따라 디코딩 블록의 인트라 예측값을 계산하여 얻도록 예시적으로 구성된다.
선택적으로, 인트라 예측 참조 샘플값 확정 유닛(4002)은 디코딩 블록의 참조 샘플값의 존재 여부를 판단하고, 여기서 참조 샘플값은 디코딩 블록에 인접된 하나 이상의 화소점의 복원된 화소 샘플값이고; 디코딩 블록의 일부 또는 전부의 참조 샘플값이 존재하지 않는 경우, 제1 참조 샘플값에 따라 디코딩 블록의 존재하지 않는 값을 확정하여 인트라 예측 참조 샘플값을 얻도록 예시적으로 구성되고;
또는 디코딩 블록의 매칭 블록 중의 참조 샘플값이 전부 존재하는지 여부를 판단하고; 디코딩 블록의 매칭 블록 중의 일부 또는 전부의 참조 샘플값이 존재하지 않는 경우, 디코딩 블록의 일부 또는 전부의 참조 샘플값이 존재하지 않는 것으로 판단하고, 제1 참조 샘플값에 따라 디코딩 블록의 존재하지 않는 참조 샘플값을 확정하여 인트라 예측 참조 샘플값을 얻도록 구성된다.
선택적으로, 예측 차이 확정 유닛(4004)은 예측 차이 파라미터를 스케일링 및 변환 처리하여 디코딩 블록의 예측 차이를 얻도록 예시적으로 구성된다.
선택적으로, 복원값 획득 유닛(4005)은 디코딩 블록의 복원값에 대해 루프 필터링 처리하여 디코딩값을 얻도록 예시적으로 구성된다.
실시예 5
도 5를 참조하면, 본 발명의 실시예는 인코더의 구조개략도를 제공하고, 예시적으로, 인코더는 분할 유닛(201), 예측유닛(202), 제 1 가산기(207), 변환 유닛(208), 양자화 유닛(209), 역 양자화 유닛(210), 역변환 유닛(211), 제 2 가산기(212), 필터링 유닛(213), 디코딩 이미지 버퍼 영역(214) 및 엔트로피 인코딩 유닛(215)을 포함한다. 여기서, 예측유닛(202)은 블록 분할 유닛(203), 모션 추정 유닛(204), 모션 보상 유닛(205) 및 인트라 예측유닛(206)을 포함한다.
설명해야 할 것은, 인코더의 입력은 비디오이고, 인코더의 출력은 입력 비디오를 인코딩한 후 생성된 비트 스트림이다. 비디오는 이미지로 구성된 이미지 시퀀스이므로 인코더의 인코딩 과정은 입력 비디오의 이미지를 인코딩 순서대로 순차적으로 인코딩하는 것이다. 여기서 인코딩 순서는 인코더 구성 파일에 설정된 예측 구조와 같은 파라미터에 의해 결정된다. 비디오에서 이미지의 인코딩 순서(디코더의 디코딩 순서에 해당됨) 및 이미지의 재생 순서는 동일하거나 상이할 수 있다.
분할 유닛(201)은 비디오 이미지를 수신하고, 미리 설정된 구성에 따라 비디오 내의 이미지를 분할하고, 최대 인코딩 유닛 및 최대 인코딩 유닛의 관련 속성 정보를 출력하도록 구성된다.
이미지는 하나 이상의 슬라이스로 분할될 수 있고, 각 슬라이스는 정수의 최대 인코딩 유닛 또는 정수가 아닌 최대 인코딩 유닛을 포함할 수 있음을 이해할 수 있다. 여기서 최대 인코딩 유닛은 하나의 정사각형 이미지 영역이다. 물론, 이미지는 또한 하나 이상의 타일로 분할될 수 있고, 각 타일은 정수 개수의 최대 인코딩 유닛 또는 정수가 아닌 개수의 최대 인코딩 유닛을 포함할 수 있다.
설명해야 할 것은 분할 유닛(201)은 고정된 방식으로 이미지를 분할하도록 구성될 수 있거나 동적으로 이미지를 분할하도록 구성될 수 있다. 예를 들어, 네트워크의 최대 전송 유닛(Maximum Transmission Unit, MTU)에 적응하기 위해 동적인 슬라이스 분할 방법을 사용하여 각 슬라이스의 인코딩 비트 수가 MTU의 한정을 초과하지 않도록 한다.
예측유닛(202)은 분할 유닛(201)에 의해 분할된 최대 인코딩 유닛을 하나 이상의 인코딩 블록으로 분할하고 해당 인코딩 블록의 예측값을 확정하도록 구성된다.
예측유닛(202)의 입력은 분할 유닛(201)에 의해 출력된 최대 인코딩 유닛 및 상기 최대 인코딩 유닛의 관련 속성 정보를 포함함을 이해할 수 있을 있다. 여기서 최대 인코딩 유닛의 관련된 속성 정보는 이미지에서의 최대 인코딩 유닛의 위치, 슬라이스 및 타일에서의 최대 인코딩 유닛의 위치 등을 포함한다. 실제 응용에서 최대 인코딩 유닛을 분할하는 방법에는, 쿼드 트리 분할, 이진 트리 분할 및 삼항 트리 분할이 포함된다.
보충해야 할 것은, 예측유닛(202)은 분할된 인코딩 블록을 더 많은 인코딩 블록으로 더 분할할 수 있다는 것이다. 인코딩 블록을 하나 이상의 예측 블록으로 더 분할하는 것을 통해 예측값을 확정할 수도 있다.
선택적으로, 예측유닛(202)이 인코딩 블록의 예측값을 확정하는 방법은 예시적으로, 디코딩 이미지 버퍼 영역(214)에서 디코딩된 이미지에 따라 인코딩 블록의 인터 예측값을 확정하는 방법; 또는 제 2 가산기(212)에 의해 출력된 현재 인코딩 이미지에서 복원된 부분(필터링 유닛(213)에 의해 처리되지 않음)을 통해 인코딩 블록의 인트라 예측값을 확정하는 방법을 포함한다.
예시적으로, 예측유닛(202)이 인코딩 블록의 예측값을 확정하는 방법은, 레이트 왜곡 최적화(Rate-Distortion Optimization, RDO) 방법을 사용하여 인코딩 블록의 예측값을 확정하고 상기 예측값을 사용하여 인터 예측, 인트라 예측 관련 출력 파라미터를 얻는 방법을 더 포함한다.
예시적으로, 예측유닛(202)은 블록 분할 유닛(203), 모션 추정 유닛(204), 모션 보상 유닛(205) 및 인트라 예측유닛(206)을 포함한다. 이하 예측유닛(202)의 4 개의 서브 유닛에 대해 각각 설명하도록 한다.
블록 분할 유닛(203)은 최대 인코딩 유닛의 인코딩 과정에서 인코딩 블록의 블록 분할 모드를 확정하도록 구성된다.
실제 응용에서 분할 방법은 쿼드 트리 분할, 이진 트리 분할 및 삼항 트리 분할 중 하나 이상을 사용할 수 있다.
보충해야 할 것은, 블록 분할 유닛(203)은 인코딩 블록을 하나 이상의 인코딩 블록으로 분할할 수 있고, 분할된 인코딩 블록을 더 많은 인코딩 블록으로 더 분할할 수 있다. 인코딩 블록은 또한 하나 이상의 예측 블록으로 분할될 수 있다.
예시적으로, 블록 분할 유닛(203)은 RDO 방법을 사용하여 인코딩 블록의 분할방식을 확정한다.
여기서 블록 분할 유닛의 출력 파라미터는 인코딩 블록의 분할방식 파라미터를 포함하며, 상기 파라미터는 인코딩 블록의 분할방식을 지시하는데 사용된다.
모션 추정 유닛(204)은 디코딩 이미지 버퍼 영역(214)에서 하나 이상의 디코딩된 이미지를 참조 이미지로 사용하고, 참조 이미지에 따라 하나 이상의 참조 이미지 리스트를 구성하고, 참조 이미지에서 인코딩 블록의 매칭 블록을 확정하도록 구성된다.
여기서 각 참조 이미지 리스트에는 하나 이상의 참조 이미지가 포함된다.
실제로 모션 추정 유닛(204)의 출력은 매칭 블록 위치의 파라미터를 지시하기 위해 사용되고, 이는 이미지 리스트 지시자, 참조 이미지 인덱스(Reference Index), 모션 벡터(Motion Vector, MV) 등을 포함할 수 있다. 여기서, 참조 이미지 리스트 지시자는 매칭 블록이 포함된 참조 이미지가 위치한 참조 이미지 리스트를 지시하기 위해 사용되고, 참조 이미지 인덱스는 참조 이미지 리스트에서 매칭 블록이 포함된 참조 이미지를 지시하기 위해 사용되며, MV는 인코딩 블록과 매칭 블록이 동일한 이미지 화소점 좌표계에서 상호간의 상대 위치 오프셋을 지시하기 위해 사용된다.
모션 보상 유닛(205)은 매칭 블록에 따라 인코딩 블록의 예측값을 구성하고 인코딩 블록과 예측값 사이의 차이값을 계산하도록 구성된다.
실제로, 모션 보상 유닛(205)의 출력은 또한 매칭 블록의 가중치 값, 매칭 블록을 필터링하기 위한 필터 유형 및 파라미터 등과 같은 인코딩 블록의 예측 값을 구성하기 위한 파라미터를 포함한다.
예시적으로, 모션 추정 유닛(204)과 모션 보상 유닛(205)은 RDO 방법을 병용하여 인코딩 블록에 대한 최상의 레이트 왜곡 성능을 갖는 매칭 블록과 두 유닛의 출력 파라미터를 결정한다.
선택적으로, 모션 추정 유닛(204)과 모션 보상 유닛(205)은 인코딩 블록이 위치한 현재 인코딩된 이미지를 참조 이미지로 사용하여 인코딩 블록의 인트라 예측값을 획득할 수 있다.
설명해야 할 것은, 인트라 예측은 인코딩 블록이 위치한 이미지 중의 데이터만 참조로 사용하여 예측값을 얻는 것을 의미한다. 이 경우, 모션 추정 유닛(204)과 모션 보상 유닛(205)은 현재 인코딩 이미지 중 부분적으로 복원된 일부를 사용하고, 즉 필터링 유닛(213)의 처리를 거치지 않은 부분을 사용하고, 입력 데이터는 제 2 가산기(212)의 출력으로 제공될 수 있고, 예를 들어, 이미지 버퍼 영역을 사용하여 제 2 가산기(212)의 출력 데이터를 저장할 수 있다. 선택적으로, 상기 이미지 버퍼 영역은 디코딩 이미지 버퍼 영역(214)에서의 특수 이미지 버퍼 영역이다.
인트라 예측유닛(206)은 인코딩 블록의 인트라 예측값을 확정하도록 구성된다.
실제 응용에서, 인트라 예측유닛(206)은 인코딩 블록이 위치한 이미지 중 부분적으로 복원된 일부에 따라 인코딩 블록에 대한 인트라 예측 참조 샘플값을 결정하고, 인트라 예측 참조 샘플값을 필터의 입력값으로 사용하여 인코딩 블록의 인트라 예측값을 계산한다. 여기서, 필터는 보간 필터 또는 저역 통과 필터(예를 들면 DC 값을 계산하는데 사용되는 필터)일 수 있다. 선택적으로, 인트라 예측유닛(206)은 RDO 방법을 사용하여 인코딩 블록의 인트라 예측값의 계산에 사용되는 방법(즉, 인트라 예측모드) 및 인트라 예측 값을 확정한다.
인트라 예측유닛(206)은 인코딩 블록에 인접한 부분적으로 복원된 화소 샘플값의 존재 여부를 확정한다. 인트라 예측유닛(206)이 인코딩 블록의 인접 샘플값이 모두 존재한다고 판단하는 경우, 인트라 예측유닛(206)은 인접 샘플값 또는 필터링된 인접 샘플값을 인트라 예측 참조 샘플값으로 설정한다. 반대로, 인트라 예측유닛(206)이 인코딩 블록의 전부 또는 일부의 샘플값이 존재하지 않는다고 판단하는 경우, 인트라 예측유닛(206)은 제 1 참조 샘플값을 확정하고, 제 1 참조 샘플값을 사용하여 인코딩 블록의 인트라 예측 참조 샘플값을 결정한다.
여기서, 인트라 예측유닛(206)은 인트라 예측모드에서 사용되는 참조 샘플값에 대응되는 인접 화소점의 위치에 따라 인접 화소점의 위치의 인접 샘플값의 존재 여부를 판단한다. 일반적으로, 인트라 예측유닛(206)은 다음과 같은 방식으로 인코딩 블록의 인접 샘플값의 존재 여부를 판단한다.
1. 인코딩 블록의 참조 화소점 위치에 있는 화소가 인코딩되지 않은 경우 해당 인접 샘플값이 존재하지 않는다.
2. 인코딩 블록이 이미지의 경계 위치에 있을 때, 이미지의 경계 외부의 참조 화소점의 위치에는 인접 샘플값이 존재하지 않는다. 예를 들어, 인코딩 블록이 이미지의 상부 경계에 위치할 때, 인코딩 블록의 상부 인접 샘플값은 존재하지 않는다.
3. 인코딩 블록이 위치한 슬라이스와 상이한 슬라이스에 위치한 인접 샘플값은 존재하지 않는다.
4. 인코딩 블록이 위치한 타일과 상이한 타일에 위치한 인접 샘플값은 존재하지 않는다.
5. 인트라 예측 사용이 한정되는 경우, 비 인트라 예측 인코딩의 인코딩 블록에 위치한 인접한 샘플값은 존재하지 않는다.
설명해야 할 것은, 인트라 예측유닛(206)이 제 1 참조 샘플값을 확정하는 방법은 여러 가지가 있으며, 하나는 인트라 예측유닛(206)이 제 1 참조 샘플값을 인코딩 블록의 존재하지 않는 인접 샘플값으로 설정하는 것이다(예를 들어, 인코딩 블록이 슬라이스 경계에 있는 경우 다른 슬라이스에 위치한 인코딩 블록의 인접 샘플값을 사용하여 제 1 참조 샘플값을 설정). 다른 하나는 인트라 예측유닛(206)이 인코딩 블록에서 인코딩될 화소 샘플값에 따라 제 1 참조 샘플값을 확정하는 것이다. 또 다른 하나는 인트라 예측유닛(206)이 연 판정(Soft Decision) 방법을 사용하여 RDO 과정에서 제 1 참조 샘플값을 계산하는 것이다.
여기서 연 판정은 이하 제약 최적화 문제를 사용하여 표현할 수 있다.
제약 최적화 1:
여기서 D는 인코딩 블록의 인코딩 왜곡을 의미하고; k의 순회 범위는 인코딩 블록의 전부의 화소이고; d(a, b)는 a와 b 사이의 오차값을 나타내며 사용할 수 있는 오차 기준에는 평균 제곱 오차 기준(Mean Square Error, MSE), 절대 오차값 합계(Sum of Absolute Value, SAD) 또는 인간 시각 시스템(Human Visual System, HVS)과 관련된 지각 오차 기준이 포함되고; xk는 인코딩 블록에서 인코딩될 화소 샘플값이고; pk는 xk의 예측값이고 인트라 예측 과정에서 인트라 예측유닛(206)은 인트라 예측 참조 샘플값을 사용하여 인트라 예측모드에 따라 pk의 값을 계산하고; R은 인코딩 블록의 인코딩 비트 오버헤드를 의미하고, 이는 인코딩 블록의 인코딩 모드 정보의 오버헤드, 제 1 참조 샘플값의 오버헤드, 예측 차이 인코딩 오버헤드 등을 포함하고, R의 값은 인코딩 블록의 모드, 예측 차이, 양자화 파라미터 등에 따라 추정하여 얻을 수 있고(예를 들면 레이트 왜곡(Rate-Distortion, RD) 모델을 사용하여 추정), 또한 실제로 인코딩 블록을 인코딩하여 얻을 수도 있고; RC는 인코딩 블록의 인코딩 비트 오버헤드의 상한값이며, 인코더는 레이트 제어(Rate Control, RC) 유닛에서 인코딩 블록의 비트 할당(Bit Allocation) 과정을 통해 확정할 수 있다.
설명해야 할 것은, 제약 최적화 1에서 인트라 예측 계산 과정에 따라 pk의 값은 인트라 예측 참조 샘플값 및 인트라 예측모드에 따라 결정되고, 인트라 예측 참조 샘플값은 제 1 참조 샘플값에 의해 결정된다. 따라서, 인트라 예측유닛(206)이 제약 최적화 1을 해결하는 것을 통해, 최적의 제 1 참조 샘플값과 인트라 예측모드를 동시에 확정할 수 있다. 인트라 예측유닛(206)은 관련 알고리즘을 사용하여 제약 최적화 1을 해결할 수 있다.
계산 복잡도를 낮추기 위해 Lagrange 요소 방법을 사용하여 제약 최적화 1을 비 제약 최적화 문제로 변환할 수 있는 것을 이해할 수 있다.
비 제약 최적화 1:
여기서 r은 제 1 참조 샘플값을 의미하고; m은 인코딩 블록의 인트라 예측모드를 의미하고; D와 R은 제약 최적화 1에서의 D 및 R과 동일하고; λ는 Lagrange 요소이다. 일반적인 방법은 인코더가 λ와 양자화 파라미터(Quantization Parameter, QP) 사이의 함수 관계를 사용하여 λ의 값을 확정하는 것이다. 인코더는 RC 유닛에서 QP 값을 확정할 수 있다. 인트라 예측유닛(206)는 비 제약 최적화 1을 해결하는 것을 통해 최적의 제 1 참조 샘플값과 인트라 예측모드를 동시에 확정할 수 있다. 인트라 예측유닛(206)은 기존 알고리즘을 사용하여 비 제약 최적화 1을 해결할 수 있다.
일반적으로, 제약 최적화 1을 해결하는 것에 비해, 인트라 예측유닛(206)이 비 제약 최적화 1을 해결하기 위한 계산의 복잡성은 더 낮다. 그럼에도 불구하고, 비 제약 최적화 1에 기초하여, 인트라 예측유닛(206)은 인코딩 블록의 인접 화소의 위치 및 사용되는 인트라 예측모드에 따라 근사 방법을 사용하여 비 제약 최적화 1을 해결함으로써 계산 복잡도를 더욱 낮출 수 있다.
예시적으로, 인트라 예측유닛(206)은 디코딩 블록에 대해 하나 이상의 제 1 참조 샘플값을 결정할 수 있으며, 제 1 참조 샘플값이 복수의 샘플값을 포함하는 경우, 제 1 참조 샘플값에서 샘플값의 사용방식 지시자 파라미터를 추가로 확정하여 상이한 위치의 인트라 예측 참조 샘플값을 확정하는 과정에 사용되는 제 1 참조 샘플값 중의 샘플값을 지시하는데 사용한다. 예를 들어, 인코딩 블록의 좌측 인접 샘플값과 상부 인접 샘플값에 대해 상이한 값을 가진 제 1 참조 샘플값을 사용한다. 여기서 지시자 파라미터는 제 1 참조 샘플값에 포함될 수도 있다.
선택적으로, 인트라 예측유닛(206)은 미리 설정된 규칙에 따라 지시자 파라미터를 유도할 수 있다. 예를 들어, 제 1 참조 샘플값에 두 개의 참조 샘플값이 포함되는 경우, 인트라 예측유닛(206)에 의해 사용되는 미리 설정된 규칙은, 제 1 참조 샘플값 중의 샘플값을 비트 스트림에 기록하는 순서에 따라, 첫 번째 샘플값은 인코딩 블록의 좌측 인접 인트라 예측 참조 샘플값을 구성하는데 사용되고, 두 번째 샘플은 인코딩 블록의 상부 인접 인트라 참조 샘플값을 구성하는데 사용되는 것이다.
선택적으로, 인트라 예측유닛(206)은 또한 이미지에서의 인코딩 블록의 위치 및 인코딩 블록의 인트라 예측모드에 따라 지시자 파라미터를 유도할 수 있다.
예를 들어, 제 1 참조 샘플값에 두 개의 참조 샘플값이 포함되는 경우, 인트라 예측유닛(206)에 의해 사용되는 미리 설정된 규칙은, 제 1 참조 샘플값 중의 샘플값을 비트 스트림에 기록하는 순서에 따라, 첫 번째 샘플값은 인코딩 블록의 좌측 인접 인트라 예측 참조 샘플값을 구성하는데 사용되고, 두 번째 샘플은 인코딩 블록의 상부 인접 인트라 참조 샘플값을 구성하는데 사용되며, 인코딩 블록이 이미지의 좌측 경계(인코딩 블록의 좌측 인접 샘플값이 이미지에 존재하지 않음)에 위치하며 이미지의 상부 경계에 위치하지 않는 경우(인코딩 블록의 상부 인접 샘플 값이 이미지에 존재), 인코딩 블록의 상부 경계가 슬라이스 또는 타일의 경계(인코딩 블록의 상부 인접 샘플값은 인트라 예측 참조 샘플값으로 사용할 수 없음)라면, 두 번째 샘플값을 사용하여 해당 모드에서 인코딩 블록의 좌측 인접 샘플값과 상부 인접 샘플값으로 하는 것이다.
선택적으로, 인트라 예측유닛(206)은 인코딩 블록이 위치한 이미지 중 부분적으로 복원된 일부에서 인코딩 블록의 매칭 블록을 검색하고, 매칭 블록을 인코딩 블록의 인트라 예측값으로 사용한다.
이 경우, 인트라 예측유닛(206)의 출력 파라미터는 또한 매칭 블록의 위치를 지시하기 위해 사용되는 정보를 더 포함할 수 있고, 예를 들어, 동일한 이미지 좌표계에서 인코딩 블록과 매칭 블록이 이미지에서의 위치의 상대 오프셋을 포함할 수 있다. 설명해야 할 것은, 인트라 예측유닛(206)의 출력 파라미터는 제 1 참조 샘플값 및 인트라 예측모드를 지시하기 위해 사용되는 파라미터를 포함한다.
제 1 가산기(207)는 인코딩 블록의 원래값과 예측값 사이의 예측 차이값을 계산하도록 구성된다. 여기서 예측 차이값은 변환 유닛(208)의 입력값이다.
변환 유닛(208)은 예측 차이값을 변환하고, 예측 차이값을 변환하여 얻은 변환 계수를 출력하도록 구성된다.
실제 응용에서, 변환 유닛(208)은 예측 차이값을 변환하기 위해 하나 이상의 변환 방법을 사용할 수 있다. 신호 처리의 관점에서 각 변환 방법은 모두 변환 행렬로 나타낼 수 있다. 변환 유닛(208)은 인코딩 블록과 크기 및 모양이 동일한 직사각형 블록(여기서 정사각형은 직사각형의 특수한 경우임)을 예측 차이에 대한 변환 블록으로 사용하거나, 예측 차이값을 복수의 직사각형 블록(높이가 하나의 화소인 경우를 포함)으로 분할하고 각 직사각형 블록에 대해 차례로 변환할 수 있다.
선택적으로, 변환 유닛(208)은 예측 차이값을 여러 번 변환할 수 있다. 다중 변환 방법을 사용하고, 예측 차이값을 복수의 직사각형 블록으로 분할하여 변환하고, 예측 차이에 대해 여러 번 변환하는 경우, 변환 유닛(208)은 RDO 방법을 사용하여 차이값을 예측하기 위해 사용되는 변환 파라미터 및 변환 파라미터와 변환 과정을 지시하기 위한 수행 방식을 확정한다. 변환 유닛(208)은 변환 파라미터를 출력 파라미터로 사용한다.
양자화 유닛(209)은 변환 유닛(208)에 의해 출력된 예측 차이 값을 변환하여 얻은 변환 계수에 대해 양자화 처리를 수행하고 변환 계수의 양자화 값을 출력하도록 구성된다.
일반적으로 양자화 유닛이 사용할 수 있는 양자화기는 스칼라 양자화기와 벡터 양자화기를 포함한다. 비디오 인코더에서, 양자화 유닛(209)은 스칼라 양자화기를 사용하여 변환 계수를 양자화하고, 양자화기의 양자화 파라미터는 인코더 제어(Code Control) 유닛에 의해 확정된다. 예를 들어, 인코더 제어 유닛은 기존의 코드 레이트 제어 방법을 사용하여 양자화기의 양자화 스텝 크기를 결정하고, 인코더에서 양자화 스텝 크기와 QP 사이의 대응관계에 따라 QP를 확정할 수 있다. 양자화 유닛(209)의 관련 파라미터는 QP이다.
역 양자화 유닛(210)은 양자화 유닛(209)과 동일한 QP를 사용하여 변환 계수의 양자화 값에 대해 스케일링(Scaling) 연산을 수행하여 변환 계수의 복원값을 얻도록 구성된다.
역 변환 유닛(211)은 변환 유닛(208)에서 사용되는 변환의 역 변환을 사용하여 변환 계수의 복원값을 처리하여 예측 차이의 복원값을 얻도록 구성된다.
제 2 가산기(212)는 예측 차이의 복원값 및 예측유닛(202)에 의해 출력된 인코딩 블록의 예측값에 따라 인코딩 블록의 복원값을 계산하고 인코딩 블록의 복원값을 이미지 버퍼 영역에 저장하도록 구성된다.
여기서, 이미지 버퍼 영역은 이미지 인코딩 과정에서 별도로 할당되는 저장 공간의 일부일 수도 있고, 디코딩 이미지 버퍼 영역(214)의 이미지 버퍼 영역일 수도 있다.
필터링 유닛(213)은 이미지 버퍼 영역의 데이터에 대해 필터링 처리하여 이미지의 디코딩 이미지를 획득하도록 구성된다.
실제로, 필터링 유닛(213)은 하나 이상의 필터로 구성된 캐스케이드 구조일 수 있다. 예를 들어, H.265/HEVC 표준에서 필터링 유닛(213)은 2개의 필터, 즉 디블로킹 필터 및 적응적 샘플 오프셋(Sample Adaptive Offset, SAO)필터로 구성된 캐스케이드 구조일 수 있다. 필터링 유닛(213)은 신경망 필터를 포함할 수도 있다.
선택적으로, 필터링 유닛(213)에 의해 이미지 버퍼 영역의 데이터를 필터링하는 동작은 이미지 레이어에서 수행될 수 있고 즉 이미지 내의 전부의 인코딩 블록의 복구값을 이미지 버퍼 영역에 기록한 후, 이미 버퍼 영역의 데이터에 대해 필터링 처리를 수행한다.
선택적으로, 필터링 유닛(213)에 의해 이미지 버퍼 영역의 데이터를 필터링하는 동작은 블록 레이어에서 수행될 수 있고, 즉 어느 인코딩 블록의 복구된 데이터가 더 이상 후속 인코딩 블록에 대한 참조 데이터로 사용되지 않는 경우, 해당 인코딩 블록의 복구된 데이터에 대해 필터링 처리를 수행한다.
필터링 유닛(213)은 기존의 RDO 방식을 사용하여 필터 파라미터를 결정하고, 이를 필터링 유닛(213)의 출력 파라미터로 사용한다. 필터 파라미터에는 사용되는 필터의 표시자 정보, 필터 계수 및 필터의 제어 파라미터가 포함된다.
디코딩 이미지 버퍼 영역(214)은 필터링 유닛(213)에 의해 출력된 디코딩 이미지를 저장하도록 구성된다.
디코딩 이미지 버퍼 영역(214)은 디코딩 이미지 관리와 관련된 파라미터 명령을 확정하고, 디코딩 이미지 버퍼 영역(214)에서 디코딩 이미지의 저장 기간 및 출력 등 동작을 제어하도록 설정된다. 본 실시예에서, 이런 파라미터 명령은 디코딩 이미지 버퍼 영역(214)의 출력 파라미터로 사용될 수 있다.
엔트로피 인코딩 유닛(215)은 이미지의 인코딩 데이터에 대해 이진화 및 엔트로피 인코딩을 수행하고, 파라미터를 표준에 부합되는 하나 이상의 "0" 및 "1" 비트로 구성된 필드로 변환하며, 표준에 따르는 비트 스트림 구문 구조(Syntax Structure)를 통해 필드를 비트 스트림으로 구성하도록 설정된다.
여기서 엔트로피 인코딩 데이터는 이미지의 텍스처 데이터와 비 텍스처 데이터를 포함한다. 여기서 텍스처 데이터는 주로 인코딩 블록의 변환 계수의 양자화 값이고; 비 텍스처 데이터에는 텍스처 데이터를 제외한 기타 전부의 데이터를 포함하며 즉 상기 인코더의 각 유닛의 출력 파라미터, 파라미터 집합, 헤더 정보, 보조 정보 등 파라미터를 포함한다. 엔트로피 인코딩 유닛(215)은 비디오 인코딩 표준의 비트 스트림 구성 형태에 따라 비트 스트림을 생성한다.
실시예 6
도 6을 참조하면, 본 발명의 실시예는 디코더 시스템의 아키텍처 개략도를 제공하고, 디코더는 파싱 유닛(301), 예측유닛(302), 역 양자화 유닛(305), 역 변환 유닛(306), 가산기(307), 필터링 유닛(308) 및 디코딩 이미지 버퍼 영역(309)을 포함한다. 여기서 예측유닛(302)은 모션 보상 유닛(303)과 인트라 예측유닛(304)을 포함한다.
설명해야 할 것은, 디코더의 입력은 비트 스트림이고, 출력은 입력 비트 스트림을 디코딩한 후 생성된 디코딩 비디오이다.
파싱 유닛(301)은 입력 비트 스트림을 파싱하고, 표준에 규정된 엔트로피 디코딩 방법 및 이진화 방법을 사용하여 비트 스트림의 각 필드에 대응하는 하나 이상의 "0" 및 "1" 비트 문자열을 해당 파라미터의 값으로 전환하도록 구성된다. 파싱 유닛(301)은 파라미터의 값에 따라 기타 파라미터의 값을 도출한다. 예를 들어, 비트 스트림의 플래그 비트 값이 디코딩 블록이 이미지에서 첫 번째 디코딩 블록임을 지시하는 경우, 디코딩 블록이 위치한 슬라이스 중 첫 번째 디코딩 블록의 이미지에서의 위치 파라미터를 0으로 설정한다.
일 실시예에서, 파싱 유닛(301)은 디코딩 블록의 예측값을 구성하는데 사용되는 파라미터를 예측유닛(302)으로 전송한다. 여기서, 디코딩 블록의 예측값을 구성하는데 사용되는 파라미터는 상기 인코더에서 분할 유닛(201) 및 예측유닛(202)의 출력 파라미터를 포함한다.
일 실시예에서, 파싱 유닛(301)은 디코딩 블록 예측 차이 복원값을 구성하는데 사용되는 파라미터를 역 양자화 유닛(305) 및 역 변환 유닛(306)으로 전송한다. 여기서, 디코딩 블록 예측 차이 복원값을 구성하는데 사용되는 파라미터는 상기 인코더에서 변환 유닛(208), 양자화 유닛(209)의 출력 파라미터 및 상기 인코더에서 양자화 유닛(209)이 출력한 변환 계수의 양자화 값을 포함한다.
예측유닛(302)은 디코딩 블록의 예측값을 구성하는데 사용되는 파라미터에 따라 디코딩 블록의 예측 값을 구성하도록 구성된다.
설명해야 할 것은, 예측유닛(302)의 입력은 또한 가산기(307)에 의해 출력된 현재 디코딩 이미지 중 부분적으로 복원된 일부(필터링 유닛(308)에 의해 처리되지 않음) 및 디코딩 이미지 버퍼 영역(309)에 저장된 디코딩된 이미지를 포함한다.
예시적으로, 파라미터가 디코딩 블록이 인터 예측을 사용하도록 지시하는 경우, 예측유닛(302)은 상기 인코더에서 모션 추정 유닛(204)과 동일한 방법을 사용하여 하나 이상의 참조 이미지 리스트를 구성하고 각 참조 이미지 리스트는 하나 이상의 참조 이미지를 포함하고, 참조 이미지는 디코딩 이미지 버퍼 영역(309)에서 제공한다. 모션 보상 유닛(303)은 파싱 유닛(301)이 전송한 참조 이미지 리스트 지시자, 참조 이미지 인덱스, 모션 벡터에 따라 참조 이미지에서 디코딩 블록의 하나 이상의 매칭 블록을 확정하고, 상기 인코더 중 모션 보상 유닛(205)과 동일한 방법을 사용하여 인터 예측값을 확정한다. 예측유닛(302)은 모션 보상 유닛(303)이 출력한 인터 예측값을 디코딩 블록의 예측값으로 사용한다.
선택적으로, 모션 보상 유닛(303)은 디코딩 블록이 위치한 현재 디코딩 이미지를 참조 이미지로 사용하여 디코딩 블록의 인트라 예측값을 획득할 수 있다.
여기서 인트라 예측은 디코딩 블록이 위치한 이미지의 데이터만을 참조로 얻은 예측값을 의미한다. 이 경우, 모션 보상 유닛(303)은 현재 디코딩 이미지 중 부분적으로 복원된 일부(필터링 유닛(308)에 의해 처리되지 않음)를 사용하고, 입력 데이터는 가산기(307)의 출력을 통해 제공될 수 있으며, 예를 들어 이미지 버퍼 영역을 사용하여 가산기(307)의 출력 데이터를 저장하고, 선택적으로 상기 이미지 버퍼 영역은 디코딩 이미지 버퍼 영역(309)에서의 특수 이미지 버퍼 영역이다.
예시적으로, 파라미터가 디코딩 블록이 인트라 예측을 사용하도록 지시하는 경우, 예측유닛(302)은 디코딩 블록의 예측값을 구성하는데 사용되는 파라미터에 따라 디코딩 블록의 예측값을 구성한다. 인트라 예측유닛(304)은 디코딩 블록의 예측값을 구성하는데 사용되는 파라미터 중 제 1 참조 샘플값을 획득한다. 인트라 예측유닛(304)이 디코딩 블록의 인접 샘플값이 모두 존재한다고 판단하는 경우, 인트라 예측유닛(304)은 인접 샘플값 또는 필터링된 인접 샘플의 값을 인트라 예측 참조 샘플값으로 설정한다. 반대로, 인트라 예측유닛(304)이 디코딩 블록의 전부 또는 일부의 샘플값이 존재하지 않는다고 판단하는 경우, 인트라 예측유닛(304)은 제 1 참조 샘플값을 사용하여 디코딩 블록의 인트라 예측 참조 샘플값을 확정한다.
여기서, 인트라 예측유닛(304)은 다음 조건을 사용하여 디코딩 블록의 인접 샘플의 존재 여부를 판단한다.
디코딩 블록의 참조 화소점 위치에 있는 화소가 디코딩되지 않은 경우, 해당 인접 샘플값은 존재하지 않는다.
디코딩 블록이 이미지의 경계 위치에 있을 때, 이미지의 경계 외부의 참조 화소점의 위치에는 인접 샘플값이 존재하지 않는다. 예를 들어, 디코딩 블록이 이미지의 상부 경계에 위치할 때, 디코딩 블록의 상부 인접 샘플값은 존재하지 않는다.
디코딩 블록이 위치한 슬라이스와 상이한 슬라이스에 위치한 인접 샘플값은 존재하지 않는다.
디코딩 블록이 위치한 타일과 상이한 타일에 위치한 인접 샘플값은 존재하지 않는다.
인트라 예측 사용이 한정되는 경우, 비 인트라 예측 디코딩의 디코딩 블록에 위치한 인접한 샘플값은 존재하지 않는다.
예시적으로, 인트라 예측유닛(206)이 제 1 참조 샘플값을 설정하는 방법은 여러 가지가 있으며, 하나는 인트라 예측유닛(206)이 디코딩 블록의 인트라 예측 참조 화소점 위치에 존재하지 않는 화소 샘플값을 제 1 참조 샘플값으로 설정하는 것이다. 제 1 참조 샘플값이 하나의 샘플값만을 포함하는 경우, 디코딩 블록의 인접 샘플값의 전부 또는 일부가 존재하지 않는 경우, 인트라 예측유닛(304)은 디코딩 블록의 인접 샘플값을 제 1 참조 샘플값으로 설정한다.
선택적으로, 제 1 참조 샘플값이 복수의 샘플값을 포함하는 경우, 인트라 예측유닛(304)은 제 1 참조 샘플값에서 참조 샘플값의 사용방식 모드 지시자 파라미터에 따라, 상이한 위치의 인트라 예측 참조 샘플값을 확정하는 과정에 사용되는 제 1 참조 샘플값 중의 샘플값을 확정하고 예를 들어, 디코딩 블록의 좌측 인접 샘플값 및 상부 인접 샘플값에 대해 상이한 값을 가지는 제 1 참조 샘플값을 사용한다.
선택적으로, 인트라 예측유닛(304)은 미리 설정된 규칙에 따라 지시 파라미터를 유도할 수 있다. 예를 들어, 제 1 참조 샘플값이 두 개의 참조 샘플값을 포함하는 경우, 인트라 예측유닛(304)에 의해 사용되는 미리 설정된 규칙은 다음과 같다. 제 1 참조 샘플값 중의 샘플값을 비트 스트림에 기록하는 순서(즉 두 개의 샘플값의 파싱 순서)에 따라, 첫 번째 샘플값은 디코딩 블록의 좌측 인접 인트라 예측 참조 샘플값을 구성하는데 사용되고, 두 번째 샘플값은 디코딩 블록의 상부 인접 인트라 예측 참조 샘플값을 구성하는데 사용되는 것이다.
선택적으로, 인트라 예측유닛(304)은 이미지에서의 디코딩 블록의 위치, 디코딩 블록의 인트라 예측모드에 따라 지시 파라미터를 유도한다. 예를 들어, 제 1 참조 샘플값이 두 개의 참조 샘플값을 포함하는 경우, 인트라 예측유닛(304)에 의해 사용되는 미리 설정된 규칙은 다음과 같다. 제 1 참조 샘플값 중의 샘플값을 비트 스트림에 기록하는 순서(즉 두 개의 샘플값의 파싱 순서)에 따라, 첫 번째 샘플값은 디코딩 블록의 좌측 인접 인트라 예측 참조 샘플값을 구성하는데 사용되고, 두 번째 샘플값은 디코딩 블록의 상부 인접 인트라 참조 샘플값을 구성하는데 사용되며, 디코딩 블록이 이미지의 좌측 경계(디코딩 블록의 좌측 인접 샘플값이 이미지에 존재하지 않음)에 있고 이미지의 상부 경계(디코딩 블록의 상부 인접 샘플값이 이미지에 존재함)가 아닌 경우, 디코딩 블록의 상부 경계가 슬라이스 또는 타일의 경계(디코딩 블록의 상부 인접 샘플값은 인트라 예측 참조 샘플값으로 사용할 수 없음)라면, 디코딩 블록이 DC 모드를 사용할 때, 두 번째 샘플 값을 해당 모드에서의 디코딩 블록의 좌측 인접 샘플값과 상부 인접 샘플값으로 사용한다.
인트라 예측유닛(304)은 디코딩 블록의 예측값을 구성하는데 사용되는 파라미터에 따라 인트라 예측모드를 확정하고, 상기 인코더 중 인트라 예측유닛(206)과 동일한 방법으로 인트라 예측 참조 샘플값을 사용하여 디코딩 블록의 인트라 예측값을 계산한다. 선택적으로, 디코딩 블록의 예측값을 구성하는데 사용되는 파라미터가 매칭 블록을 사용하여 디코딩 블록의 예측값을 구성하도록 지시하는 경우, 인트라 예측유닛(304)은 디코딩 블록의 예측값을 구성하는데 사용되는 파라미터로부터 디코딩 블록과 매칭 블록 사이의 오프셋을 획득하고, 디코딩 복호 블록이 위치한 현재 일부 디코딩 이미지에서 매칭 블록을 획득하며, 매칭 블록을 디코딩 블록의 인트라 예측값으로 설정한다. 예측유닛(302)은 인트라 예측유닛(304)이 출력한 인트라 예측값을 디코딩 블록의 예측값으로 사용한다.
역 양자화 유닛(305)은 디코딩 블록 예측 차이 복원값을 구성하는데 사용되는 파라미터 중 QP 및 변환 계수의 양자화 값을 수신하도록 구성된다. 역 양자화 유닛(305)은 QP를 사용하여 변환 계수의 양자화 값에 대한 스케일링 연산을 수행하여 변환 계수의 복원값을 얻는다. 따라서 디코더의 역 양자화 유닛를 스케일링(Scaling) 유닛이라고도 한다.
역 양자화 유닛(305)은 역 변환 유닛(306)에 변환 계수의 복원값을 출력하고, 상기 변환 계수의 복원값은 디코딩 블록예측 차이 복원값의 파라미터 중 상기 인코더의 변환 유닛(208)이 출력한 변환 파라미터를 구성하는데 사용된다.
역 변환 유닛(306)은 상기 인코더 중 역 변환 유닛(211)과 동일한 방법을 사용하여 디코딩 블록의 예측 차이의 복원값을 계산하여 얻는다.
여기서 설명해야 할 것은 "역 변환"은 인코더의 "변환"에 상대적이라는 것이다. 비디오 인코딩 표준에서는 역 변환 유닛(306)에 의해 사용되는 변환 방법, 즉 디코더가 변환 계수의 복원 값을 예측 차이의 복원 값으로 전환하기 위해 사용하는 변환 방법이 지정된다.
가산기(307)는 역 변환 유닛(306)이 출력한 예측 차이의 복원값과 예측유닛(302)이 출력한 디코딩 블록의 예측값에 따라 디코딩 블록의 복원값을 계산하고, 디코딩 블록의 복원값을 이미지 버퍼 영역에 저장한다.
여기서, 이미지 버퍼 영역은 이미지 디코딩 과정에서 별도로 할당되는 저장 공간의 일부일 수도 있고, 디코딩 이미지 버퍼 영역(309)의 이미지 버퍼 영역일 수도 있다.
필터링 유닛(308)은 파싱 유닛(301)에 의해 출력된 필터 파라미터를 수신하고, 필터 파라미터에 따라 이미지 버퍼 영역의 데이터에 대한 필터링 처리하여 이미지의 디코딩 이미지를 획득하도록 구성된다.
여기서, 필터 파라미터는 상기 인코더에서 필터링 유닛(213)의 출력 파라미터이며, 사용되는 필터의 지시 정보, 필터 계수 및 필터의 제어 파라미터를 포함한다.
실제로, 필터링 유닛(308)은 하나 이상의 필터로 구성된 캐스케이드 구조일 수 있다. 예를 들어, H.265/HEVC 표준에서 필터링 유닛(308)은 2개의 필터 즉 디블로킹 필터 및 적응적 샘플 오프셋(Sample Adaptive Offset, SAO)필터로 구성된 캐스케이드 구조일 수 있다. 필터링 유닛(308)은 신경망 필터를 포함할 수도 있다. 선택적으로, 필터링 유닛(308)에 의해 이미지 버퍼 영역의 데이터를 필터링하는 동작은 이미지 레이어에서 수행될 수 있고 즉 이미지 내의 전부의 인코딩 블록의 복구값을 이미지 버퍼 영역에 기록한 후, 이미 버퍼 영역의 데이터에 대해 필터링 처리를 수행한다. 선택적으로, 필터링 유닛(308)에 의해 이미지 버퍼 영역의 데이터를 필터링하는 동작은 블록 레이어에서 수행될 수 있고 즉 어느 인코딩 블록의 복구된 데이터가 더 이상 후속 인코딩 블록에 대한 참조 데이터로 사용되지 않는 경우, 해당 인코딩 블록의 복구된 데이터에 대해 필터링 처리를 수행한다.
디코딩 이미지 버퍼 영역(309)은 필터링 유닛(308)에 의해 출력된 디코딩 이미지를 저장하도록 구성된다.
일 실시예에서, 디코더는 파싱 유닛(301)에 의해 출력된 디코딩 이미지 관리 관련 파라미터 명령(즉, 상기 인코더에서 디코딩 이미지 버퍼 영역(214)의 출력 파라미터)를 사용하여 디코딩 이미지 버퍼 영역(309)에서 디코딩 이미지의 저장 기간 및 출력 등 동작을 제어한다.
실시예 7
도 7을 참조하면, 본 발명의 실시예는 인코더의 인트라 예측유닛의 구조도를 제공한다.
인트라 예측유닛(206)은 인접 샘플값 검출유닛(401), 인접 샘플값 처리유닛(402), 인트라 예측모드 선택유닛(403) 및 인트라 예측 계산유닛(404)을 포함한다.
설명해야 할 것은, 데이터 흐름은 소프트웨어 구현에서 함수의 입력 파라미터 및 반환 파라미터, 하드웨어 구현에서 버스를 통해 전송되는 데이터, 저장 유닛 사이에 공유되는 데이터(레지스터 공유 데이터 포함) 등을 의미한다.
인접 샘플값 검출유닛(401)은 현재 인코딩 이미지에서 부분적으로 복원된 데이터의 일부를 수신하고 인코딩 블록의 인접 샘플값 정보를 생성하도록 구성된다.
선택적으로, 인코딩 블록의 인접 샘플값 정보는 인접 샘플값이 위치한 인접 화소점의 위치, 인접 샘플값의 존재 여부 및 인접 샘플의 값(인접 샘플이 존재하는 경우)을 포함한다.
선택적으로, 현재 인코딩 이미지에서 부분적으로 복원된 일부 데이터는 이미지에서 코드 블록의 위치 정보와 이미지 분할(예를 들면 슬라이스)에서 인코딩 블록의 위치 정보를 포함한다.
예시 적으로, 입력 데이터는 데이터 스트림(40)을 포함하고 출력 데이터는 데이터 스트림(41)이다. 데이터 스트림(40)은 상기 인코더가 인코딩 블록을 인코딩하기 전의 제 2 가산기(212)의 출력 데이터이고 현재 인코딩 이미지에서 부분적으로 복원된 일부 데이터(상기 인코더에서 필터링 유닛(213)에 의해 처리되지 않음)이다. 데이터 스트림(40)은 또한 이미지에서 인코딩 블록의 위치 정보와 이미지 분할(예를 들면 슬라이스)에서 인코딩 블록의 위치 정보를 포함하고, 이런 위치 정보의 소스는 상기 인코더에서 분할 유닛(201) 및 블록 분할 유닛(203)의 출력 데이터를 포함한다. 데이터 스트림(41)은 인접 샘플값 검출부(401)의 출력 데이터이며, 인코딩 블록의 인접 샘플값 정보이고 인접 샘플값이 위치한 인접 화소점의 위치, 인접 샘플값의 존재 여부 및 인접 샘플의 값(인접 샘플이 존재하는 경우)을 포함한다.
인접 샘플값 처리유닛(402)은 인코딩 블록의 인접 샘플값 정보, 인트라 예측모드 지시정보 및 인코딩 블록의 원래값을 수신하여 인트라 예측 참조 샘플값을 생성하도록 구성된다.
예시적으로, 인접 샘플값 처리유닛(402)의 입력은 데이터 스트림(41), 데이터 스트림(43) 및 데이터 스트림(44)이고, 출력은 데이터 스트림(42)이다. 데이터 스트림(41)은 인접 샘플값 검출유닛(401)의 출력이다. 데이터 스트림(43)은 인트라 예측모드 선택유닛(403)에 의해 제공되고, 인트라 예측모드 지시 정보를 포함한다. 데이터 스트림(44)은 상기 인코더에서 분할 유닛(201)의 출력 데이터이며, 인코딩 블록의 원래값이다. 인접 샘플값 처리유닛(402)의 출력데이터 스트림(42)은 인트라 예측 참조 샘플값이다.
인트라 예측모드 선택유닛(403)은 인트라 예측 참조 샘플값 및 인코딩 블록의 원래값을 수신하고 인트라 예측모드 지시정보를 생성하도록 구성된다.
예시적으로, 인트라 예측모드 선택유닛(403)의 입력은 데이터 스트림(42) 및 데이터 스트림(44)이고, 출력은 데이터 스트림(45)이다. 데이터 스트림(42)은 인접 샘플값 처리유닛(402)의 출력 데이터이다. 데이터 스트림(44)은 상기 인코더에서 분할 유닛(201)의 출력 데이터이며, 인코딩 블록의 원래값이다. 데이터 스트림(45)은 인트라 예측모드 지시정보(즉, 인트라 예측모드의 모드 인덱스)이고, 인코딩 블록의 인코딩에 사용되는 인트라 예측모드를 지시하고 인코딩 블록의 인트라 예측값을 계산을 계산하도록 구성된다. 데이터 스트림(45)은 또한 데이터 스트림(42)에서 인트라 예측 참조 샘플값을 포함한다.
인트라 예측 계산유닛(404)은 인트라 예측 참조 샘플값 및 인트라 예측모드 지시정보에 따라 인코딩 블록의 인트라 예측값 계산하여 얻도록 구성된다.
인트라 예측 계산유닛(404)의 입력은 데이터 스트림(45)이고 출력은 데이터 스트림(46)이다. 데이터 스트림(45)은 인트라 예측모드 선택유닛(403)의 출력 데이터이다. 데이터 스트림(46)은 인트라 예측 계산유닛(404)이 데이터 스트림(45) 중의 인트라 예측 참조 샘플값을 사용하여 데이터 스트림(45) 중의 인트라 예측모드 지시정보에 의해 지시된 인트라 예측모드에 따라 계산하여 얻은 인코딩 블록의 인트라 예측값이다.
선택적으로, 인트라 예측 계산유닛(404)은 인코더에 존재하지 않을 수 있다. 인트라 예측모드 선택유닛(403)은 인코딩 블록에 대한 최적 인코딩 모드를 선택하는 과정에서, 일부 또는 전부의 후보 인트라 예측 모드를 순회하고, 각 후보 모드에서 인트라 블록의 인트라 예측값을 각각 계산하여 인코딩 블록의 인코딩 왜곡과 인코딩 비트의 가중 합을 최소화할 수 있는 인트라 예측모드를 인코딩 블록의 최적 인트라 예측모드로 사용하고, 상기 최적 인트라 예측모드의 지시정보와 대응되는 인트라 예측값을 동시에 출력하고, 즉 인트라 예측모드 선택유닛(403)에 의해 출력되는 데이터 스트림(45)에는 인코딩 블록의 최적 인트라 예측모드의 지시 정보 및 인트라 예측값이 포함된다.
인트라 예측유닛(206)은 인트라 예측 방법(1) 및 인트라 예측 방법(2)을 사용하여 인코딩 블록의 인트라 예측 값을 계산할 수 있다. 인트라 예측 방법1에 있어서, "Curr"은 인코딩 블록을 표시하고, 인접한 디코딩된 화소점은 회색으로 표시된다. 도 8은 본 발명의 실시예에 의해 제공되는 인트라 예측 방법의 개략도이고, 도 8에서는 인코딩 블록의 디코딩된 상부 인접 및 좌측 인접 화소점을 예시적으로 나탄낸다. 여러 상이한 인코딩 시퀀스에서, 인코딩 블록의 우측 인접 위치 또는 하부 인접 위치에도 디코딩된 화소점이 있을 수 있다. 인트라 예측 방법(1)은 하나 이상의 인트라 예측모드, 예를 들어 DC 예측모드, 평면 예측모드 및 방향 보간 예측모드 등을 포함한다. 인트라 예측 방법(1)을 사용하는 경우, 인트라 예측유닛(206)의 인트라 예측모드 선택유닛(403)은 사용되는 인트라 예측모드를 지시하는 파라미터를 출력한다.
도 9는 본 발명의 실시예에 의해 제공되는 다른 인트라 예측 방법의 개략도이며, 여기서 "Curr"은 인코딩 블록을 나타내고, 회색 영역은 인코딩 블록을 인코딩하기 전에 인코딩 블록이 위치한 이미지 중 부분적으로 복원된 일부 데이터를 나타내며, "Ref"는 인코딩 블록의 매칭 블록을 나타낸다. 인트라 예측 방법(2)을 사용하는 경우, 인트라 예측모드 선택유닛(403)은 매칭 블록의 구성을 지시하는 파라미터, 예를 들어 이미지에서 매칭 블록의 위치 파라미터를 출력한다. 인트라 예측 방법(2)은 또한 하나 이상의 인트라 예측모드, 예를 들어 블록 매칭 모드, 스트링 매칭 모드 등을 포함할 수 있다.
일반적으로 인트라 예측유닛(206)은 인트라 예측 방법(1)을 사용한다. 인트라 예측 방법(2)의 사용을 허용하는 인코더에서, 인트라 예측유닛(206)의 인트라 예측모드 선택유닛(403)의 출력 데이터 스트림(45)은 또한 인트라 예측 방법의 지시 정보를 포함하고, 상기 지시 정보는 인트라 예측 방법(1) 및 인트라 예측 방법(2) 중 어느 것을 사용하여 인코딩 블록의 인트라 측정값을 계산할 것인지를 지시한다.
인접 샘플값 검출유닛(401)은 데이터 스트림(40)에서 인코딩 블록의 위치 정보에 따라 이미지에서 인코딩 블록의 위치를 확정한다. 인트라 예측 방법(1)의 경우, 인접 샘플값 검출유닛(401)은 데이터 스트림(40)의 이미지에서 부분적으로 복원된 일부 데이터 중 인코딩 블록에 인접한 화소점 위치의 화소 샘플값의 존재 여부를 판단한다. 인접 샘플값 검출유닛(401)이 사용하는 판단 방법은 다음과 같다. 인접 샘플값 검출유닛(401)은 인트라 예측 방법(1)과 관련된 인접 샘플값 정보를 데이터 스트림(41)에 포함시킨다.
인코딩 블록의 참조 화소점 위치에 있는 화소가 인코딩되지 않은 경우 해당 인접 샘플값이 존재하지 않는다.
인코딩 블록이 이미지의 경계 위치에 있을 때, 이미지의 경계 외부의 참조 화소점의 위치에는 인접 샘플값이 존재하지 않는다. 예를 들어, 인코딩 블록이 이미지의 상부 경계에 위치할 때, 인코딩 블록의 상부 인접 샘플값은 존재하지 않는다.
인코딩 블록이 위치한 슬라이스와 상이한 슬라이스에 위치한 인접 샘플값은 존재하지 않는다.
인코딩 블록이 위치한 타일과 상이한 타일에 위치한 인접 샘플값은 존재하지 않는다.
인트라 예측 사용이 한정되는 경우, 비 인트라 예측 인코딩의 인코딩 블록에 위치한 인접한 샘플값은 존재하지 않는다.
선택적으로, 인코더가 인트라 예측 방법(2)의 사용을 허용하는 경우, 인접 샘플값 검출 유닛(401)은 도 9의 "Ref" 블록의 전부의 샘플값이 다 존재하는 범위를 판단하고, "Ref" 블록이 범위 내에 있는 경우, "Ref" 블록의 전부의 샘플이 다 존재하고; 그렇지 않은 경우에는 "Ref" 블록의 일부 또는 전부의 샘플이 존재하지 않는다. 인접 샘플값 검출유닛(401)은 상기 인트라 예측 방법(1)과 동일한 판단 방법을 사용하여 "Ref" 블록의 전부의 샘플이 존재하는 범위를 확정한다. 인접 샘플값 검출유닛(401)은 인트라 예측 방법(2)에 관련된 인접 샘플값 정보를 데이터 스트림(41)에 포함시킨다.
인접 샘플값 처리유닛(402)은 데이터 스트림(41)의 데이터를 처리한다. 인트라 예측 방법(1)과 관련된 데이터의 경우, 데이터 스트림(41)의 인접 샘플값이 전부 존재할 때, 인접 샘플값 처리유닛(402)은 데이터 스트림(41)의 인접 샘플값에 대해 선택적으로 필터링 처리를 수행할 수 있다.
선택적으로, 필터링 처리 방법은 인접 샘플값 처리유닛(402)이 기존 RDO 방법을 사용하여 인접 샘플값을 필터링할지 여부를 결정하고, 플래그 정보를 생성하여 인접 샘플값을 필터링할지 여부를 지시한다.
선택적으로, 인접 샘플값 처리 유닛(402)의 계산 복잡도를 낮추기 위해, 하나의 방법은 특정 크기의 블록에 대해 필터링을 할지 여부를 판단하는 것이다. 예시적으로, 인코딩 블록의 크기가 미리 설정된 값 또는 복수의 미리 설정된 값 중 하나인 경우, 인접 샘플값 처리유닛(402)은 기존 RDO 방법을 사용하여 인코딩 블록의 인접 샘플값에 대한 필터링 처리를 수행할지 여부를 확정하고, 플래그 정보를 생성하여 인접 샘플값을 필터링할지 여부를 지시한다. 선택적으로, 인접 샘플값 처리유닛(402)의 계산 복잡도를 낮추기 위해, 하나의 방법은 인코딩 블록의 크기가 미리 설정된 값 또는 복수의 미리 설정된 값 중 하나인 경우, 인접 샘플값 처리유닛(402)은 인코딩 블록의 인접 샘플값을 필터링한다.
선택적으로, 인접 샘플값 처리 유닛(402)의 계산 복잡도를 낮추기 위해, 하나의 방법은 특정 인트라 예측모드에 대해 필터링을 할지 여부를 판단하는 것이다. 예시적으로, 데이터 스트림(43) 중 인트라 예측모드가 미리 설정된 모드 또는 복수의 미리 설정된 모드 중 하나인 경우, 인접 샘플값 처리유닛(402)은 기존 RDO 방법을 사용하여 인코딩 블록의 인접 샘플값에 대한 필터링 처리를 수행할지 여부를 확정하고, 플래그 정보를 생성하여 인접 샘플값을 필터링할지 여부를 지시한다. 선택적으로, 인접 샘플값 처리유닛(402)의 계산 복잡도를 낮추기 위해, 하나의 방법은 데이터 스트림(43) 중 인트라 예측모드가 미리 설정된 모드 또는 복수의 미리 설정된 모드 중 하나인 경우, 인접 샘플값 처리유닛(402)은 인코딩 블록의 인접 샘플값을 필터링하는 것이다.
선택적으로, 인접한 샘플값 처리 유닛(402)의 계산 복잡도를 낮추기 위해, 하나의 방법은 특정 크기의 블록 및 특정 인트라 예측모드에 대해 필터링을 할지 여부를 판단하는 것이다. 예시적으로, 인코딩 블록의 크기가 미리 설정된 값 또는 복수의 미리 설정된 값 중 하나와 같고 데이터 스트림(43)의 인트라 예측모드가 미리 설정된 모드 또는 미리 설정된 복수의 모드 중 하나인 경우, 인접 샘플 처리유닛(402)은 기존 RDO 방법을 사용하여 인코딩 블록의 인접 샘플값을 필터링할지 여부를 판단하고, 플래그 정보를 생성하여 인접 샘플값을 필터링할지 여부를 확정한다. 선택적으로, 인접 샘플값 처리유닛(402)의 계산 복잡도를 낮추기 위해, 하나의 방법은 인코딩 블록의 크기가 미리 설정된 값 또는 복수의 미리 설정된 값 중 하나와 동일하며 데이터 스트림(43)의 인트라 예측모드가 미리 설정된 모드 또는 복수의 모드 중 하나인 경우, 인접 샘플값 처리 유닛(402)은 인코딩 블록의 인접 샘플값을 필터링하는 것이다. 인접 샘플값 처리 유닛(402)은 인코딩 블록의 인접 샘플값을 데이터 스트림(42)에 포함시킨다.
인트라 예측 방법(1)과 관련된 데이터에 대해 데이터 스트림(41)의 인접 샘플값의 일부 또는 전부가 존재하지 않는 경우, 인접 샘플값 처리유닛(402)은 제 1 참조 샘플값을 결정한다. 인접 샘플값 처리 유닛(402)은 제 1 참조 샘플값의 입력 데이터가 데이터 스트림(41) 내의 인접 샘플값(인접 샘플값의 일부가 존재하는 경우) 및 인접 샘플값에 대응하는 인접 화소점 위치; 데이터 스트림(43)의 후보 인트라 예측모드 및 데이터 스트림(44)의 인코딩 블록의 원래 값임을 확정한다. 인접 샘플값 처리유닛(402)은 상기 실시예에서 제약 최적화 1 또는 비 제약 최적화 1의 방법을 사용하여 제 1 참조 샘플값을 계산한다. 설명해야 할 것은, 제약 최적화 1 또는 비 제약 최적화 1의 방법에서 제 1 참조 샘플값은 하나 또는 복수 일 수 있다. 제 1 참조 샘플값이 복수인 경우, 인접 샘플값 처리유닛(402)은 상이한 제 1 참조 샘플값의 사용방식 파라미터를 기록해야 하며, 파라미터는 상이한 제 1 참조 샘플값이 인접 샘플값 설정에 사용되는 사용방식을 지시하도록 구성된다. 인접 샘플값 처리유닛(402)은 존재하지 않는 인접 샘플의 값을 제 1 참조 샘플값으로 설정하고, 입력 데이터 스트림(41)의 인접 샘플값을 전부 "존재함" 또는 "사용 가능"으로 설정한다. 선택적으로, 인접 샘플값 처리유닛(402)은 상기 필터링 방법을 사용하여 인접 샘플에 대한 필터링 처리를 수행할 수 있다. 인접 샘플값 처리 유닛(402)은 필터링되거나 필터링되지 않은 데이터를 데이터 스트림(42)에 포함시킨다.
계산 복잡도를 낮추기 위해, 인접 샘플값 처리 유닛(402)은 단순화 방법을 사용하여 제 1 참조 샘플값을 확정할 수 있다. 하나의 방법은 데이터 스트림(41)이 인코딩 블록의 인접 샘플이 모두 존재하지 않음을 지시하는 경우, 인접 샘플값 처리 유닛(402)은 제 1 참조 샘플값을 데이터 스트림(44)의 인코딩 블록의 원래값의 평균값으로 설정하는 것이다. 하나의 방법은 데이터 스트림(43)의 인트라 예측모드 정보가 DC 모드를 지시할 때, 인접 샘플값 처리 유닛(402)이 제 1 사전 참조의 값을 데이터 스트림(44)의 인코딩 블록의 원래값의 평균값과 데이터 스트림(41)에 존재하는 일부 인접 샘플값(존재하는 경우)의 평균값 사이의 차이값으로 설정하는 것이다. 하나의 방법은 인접 샘플값 처리유닛(402)이 제 1 사전 참조의 값을 데이터 스트림(44)의 인코딩 블록의 원래값의 평균값과 데이터 스트림(41)에 존재하는 일부 인접 샘플값(존재하는 경우)의 평균값 사이의 차이값으로 설정하는 것이다.
인트라 예측모드 선택유닛(403)은 인코딩 블록에 대한 인트라 예측모드를 확정한다. 인트라 예측모드 선택유닛(403)은 기존 RDO 방법을 사용하여 인코딩 블록의 인트라 예측모드를 확정할 수 있다. 구현 방법 측면에서, 인트라 예측모드 선택유닛(403)은 인접 샘플값 처리유닛(402)과 함께 공동 최적화 방법을 사용하여 인트라 예측 모드 및 제 1 참조 샘플값을 결정할 수 있다. 예를 들어, 인트라 예측모드 선택유닛(403)은 데이터 스트림(43)을 통해 인접 샘플값 처리유닛(402)으로 후보 인트라 예측모드를 전송하고; 인접 샘플값 처리유닛(402)은 상기 후보 인트라 예측모드에서의 제 1 참조 샘플값을 확정하고, 상기 제 1 참조 샘플값을 사용하여 인접 샘플값을 확정하고 데이터 스트림(42)을 통해 처리된 인접 샘플값을 인트라 예측모드 선택유닛(403)으로 전송하고; 인트라 예측모드 선택 유닛(403)은 데이터 스트림(42)의 인접 샘플값을 사용하여 후보 인트라 예측 모드의 비용 함수값을 계산한다. 상기 공동 최적화 과정에서, 인접 샘플값 처리유닛(402)이 제약 최적화 1 또는 비 제약 최적화 1 방법을 사용하여 제 1 참조 샘플값을 확정하면, 인접 샘플값 처리유닛(402)도 동시에 후보 인트라 예측 모드의 비용 함수값을 확정하며, 이 경우 인접 샘플값 처리유닛(402)은 또한 데이터 스트림(42)을 통해 비용 함수값을 인트라 예측모드 선택유닛(403)으로 전송한다. 인트라 예측모드 선택유닛(403)은 각 후보 인트라 예측 모드의 비용 함수값을 비교하고, 비용 함수값이 가장 작은 후보 인트라 예측모드를 선택하여 인코딩 블록의 인트라 예측모드로 한다.
인트라 예측 방법(2)과 관련된 데이터의 경우, 인접 샘플값 처리유닛(402)이 제 1 참조 샘플값을 결정하는 방법은 상기 인트라 예측 방법(1)에서 설정한 방법과 유사하다. 차이점은 인트라 예측 방법(2)의 사용을 허용하는 경우, 데이터 스트림(43)에 포함된 인트라 예측모드 선택유닛(403)이 도 9의 이미지에서 "Ref" 블록의 위치라는 점이다. 인접 샘플값 처리유닛(402)이 "Ref" 블록의 샘플값이 데이터 스트림(41)에 지시된 "Ref" 블록의 모든 샘플값이 존재하는 범위 내에 전부 있지 않다고 판단하면, 인접 샘플값 처리유닛(402)은 제약 최적화 1방법 또는 비 제약 최적화 1 방법을 사용하여 제 1 참조 샘플값을 확정하고 "Ref" 블록에 존재하지 않는 샘플 값을 제 1 참조 샘플값으로 설정한다. 상기 설정된 인트라 예측 방법(1)과 유사하게, 제약 최적화 1 또는 비 제약 최적화 1 방법에서 사용되는 제 1 참조 샘플값은 하나 이상일 수 있다. 제 1 참조 샘플값이 복수인 경우, 인접 샘플값 처리 유닛(402)은 상이한 제 1 참조 샘플값의 사용방식 파라미터를 기록해야 하고, 파라미터는 상이한 제 1 참조 샘플값이 인접 샘플값의 사용방식을 설정하는 것을 지시하도록 설정된다.
상기 설정된 인트라 예측 방법1의 방법과 유사하게, 인트라 예측 방법(2)과 관련된 데이터의 경우, 계산 복잡도를 낮추기 위해 인접 샘플값 처리유닛(402)은 단순화 방법을 사용하여 제 1 참조 샘플값을 확정할 수 있다. 예를 들어, 한 가지 방법은 인접 샘플값 처리유닛(402)이 제 1 참조 샘플값을 데이터 스트림(44)의 인코딩 블록의 원래값의 평균값과 데이터 스트림(41)에 존재하는 일부 인접 샘플값(존재하는 경우)의 평균값 사이의 차이값으로 설정하는 것이고, 특히 데이터 스트림(41)이 인코딩 블록의 인접 샘플값이 전부 존재하지 않음을 나타내는 경우, 인접 샘플값 처리유닛(402)은 제 1 참조 샘플값을 데이터 스트림(44)의 인코딩 블록의 원래값의 평균값으로 설정한다.
상기 설정된 인트라 예측 방법1의 방법과 유사하게, 인트라 예측 방법(2)과 관련된 데이터의 경우, 인트라 예측모드 선택유닛(403)은 인코딩 블록에 대한 "Ref" 블록의 위치를 확정한다. 인트라 예측모드 선택유닛(403)은 기존 RDO 방법을 사용을 사용하여 인코딩 블록의 "Ref" 블록의 위치를 확정할 수 있다. 구현 방법 측면에서, 인트라 예측모드 선택유닛(403)은 인접 샘플값 처리유닛(402)과 함께 공동 최적화 방법을 사용하여 "Ref" 블록의 위치와 제 1 참조 샘플값을 확정할 수 있다. 예를 들어, 인트라 예측모드 선택유닛(403)은 데이터 스트림(43)을 통해 후보 "Ref" 블록의 위치를 인접 샘플값 처리유닛(402)으로 전송하고; 인접 샘플값 처리유닛(402)은 상기 후보 "Ref" 블록의 위치의 제 1 참조 샘플값을 확정하고, 상기 제 1 참조 샘플값을 사용하여 "Ref" 블록의 샘플값을 설정하고, 데이터 스트림(42)을 통해 처리된 상기 "Ref" 블록의 샘플값을 인트라 예측모드 선택유닛(403)으로 전송하고; 인트라 예측모드 선택유닛(403)은 데이터 스트림(42)의 "Ref" 블록의 샘플값을 사용하여 후보 "Ref" 블록의 위치의 비용 함수값을 계산한다. 상기 공동 최적화 과정에서, 인접 샘플값 처리유닛(402)이 제약 최적화 1 또는 비 제약 최적화 1의 방법을 사용하여 제 1 참조 샘플값을 확정하는 경우, 인접 샘플 처리 유닛(402)도 동시에 후보 "Ref" 블록의 위치의 비용 함수값을 확정하고, 이 경우 인접 샘플 처리 유닛(402)은 또한 데이터 스트림(42)을 통해 비용 함수값을 인트라 예측모드 선택유닛(403)으로 전송한다. 인트라 예측모드 선택유닛(403)은 각 후보 "Ref" 블록의 위치의 비용 함수값을 비교하고, 비용 함수값이 가장 작은 후보 "Ref" 블록의 위치를 인코딩 블록의 "Ref" 블록의 위치로 사용하고, 데이터 스트림(45)을 통해 "Ref" 블록의 위치를 지시하도록 구성된 파라미터를 출력하고, 파라미터는 동일한 이미지 좌표계에서 인코딩 블록과 "Ref" 블록 사이의 위치 오프셋으로 표현된다.
설명해야 할 것은, 선택적으로 데이터 스트림(41)의 인접 샘플값 중 일부 또는 전부가 존재하지 않는 경우, 인접 샘플값 처리유닛(402)은 존재하지 않는 인접 샘플값 또는 "Ref" 블록에서 존재하지 않는 샘플값을 디폴트 값(예를 들면 배경기술 부분의 "1 <<( BitDepth-1)")으로 설정할 수 있다. 상기 인접 샘플값 처리유닛(402)과 인트라 예측모드 선택유닛(403)의 결합 최적화 방법은 상기 후보 제 1 참조 샘플값을 디폴트 값으로 사용한다. 디폴트 값을 사용할 때, 인접 샘플값 처리유닛(402)은 데이터 스트림(42)에 디폴트 값의 사용을 지시하기 위한 플래그 비트를 추가한다.
실시예 8
도 10은 본 발명의 실시예에 의해 제공되는 인코더의 엔트로피 인코딩 유닛이 인트라 예측유닛 출력 파라미터에 대해 인코딩을 수행하는 데이터 처리의 흐름 개략도이다. 처리 흐름의 입력은 인트라 예측유닛(206)의 출력 파라미터이고 처리 흐름의 출력은 인트라 예측모드와 제 1 참조 샘플값에 대응되는 비트 스트림이다.
단계(501)에서 제 1 참조 샘플값을 인코딩한다.
샘플값 외에도, 선택적으로 제 1 참조 샘플값은 샘플값 제어 파라미터를 포함할 수 있고, 샘플값 제어 파라미터는 인트라 예측모드를 사용하여 인코딩 블록을 인코딩하는 과정에 존재하지 않는 샘플값을 확정하기 위해 제 1 참조 샘플값 또는 디폴트 값 중 어느 것을 사용할지를 지시한다. 샘플값 제어 파라미터는, 시퀀스 레이어 샘플값 제어 파라미터, 이미지 레이어 샘플값 제어 파라미터, 슬라이스 레이어 샘플값 제어 파라미터 및 블록 레이어 샘플값 제어 파라미터 중 하나 이상을 포함한다.
시퀀스 레이어 샘플값 제어 파라미터는 인트라 예측모드를 사용하여 인코딩 블록을 인코딩하는 과정에서 존재하지 않는 인접 샘플값을 확정하기 위해, 전체 비디오의 이미지에 대해 제 1 참조 샘플값을 사용할 필요가 있는지 여부를 지시하도록 설정된다. 시퀀스 레이어 샘플값 제어 파라미터의 값이 "예"로 표시되면, 인트라 예측유닛(206)은 인코딩 블록의 일부 또는 전부의 인접 샘플값이 존재하지 않는 경우 인코딩 블록의 제 1 참조 샘플값을 확정하고; 반대로, 시퀀스 레이어 샘플값 제어 파라미터의 값이 "아니오"로 지시되면, 인트라 예측유닛(206)은 존재하지 않는 인접 샘플값을 디폴트 값으로 설정한다. 엔트로피 인코딩 유닛(215)은 전체 비디오를 유효 범위로 하는 파라미터 집합에서 시퀀스 레이어 샘플값 제어 파라미터를 인코딩할 수 있다. 선택적으로, 시퀀스 레이어 샘플값 제어 파라미터의 값이 "예"로 지시되는 경우, 엔트로피 인코딩 유닛(215)은 전체 비디오를 유효 범위로 하는 파라미터 집합에서에 제 1 참조 샘플의 샘플 값을 인코딩할 수 있고, 상기 샘플값은 전체 비디오에서 인트라 예측모드를 사용하는 인코딩 블록으로 설정할 수 있다.
이미지 레이어 샘플값 제어 파라미터는 하나의 이미지에 대해 제 1 참조 샘플값을 사용하여 인트라 예측모드를 이용하여 인코딩 블록에 대해 인코딩하는 과정에 존재하지 않는 인접 샘플값을 확정할지 여부를 지시하도록 구성된다. 이미지 레이어 샘플값 제어 파라미터의 값이 "예"로 표시되면, 인트라 예측유닛(206)은 인코딩 블록의 일부 또는 전부의 인접 샘플값이 존재하지 않는 경우 인코딩 블록의 제 1 참조 샘플값을 확정하고; 반대로, 이미지 레이어 샘플값 제어 파라미터의 값이 "아니오"로 지시되면, 인트라 예측유닛(206)은 존재하지 않는 인접 샘플값을 디폴트 값으로 설정한다. 엔트로피 인코딩 유닛(215)은 전체 비디오를 유효 범위로 하는 파라미터 집합에서 시퀀스 레이어 샘플값 제어 파라미터를 인코딩할 수 있다. 선택적으로, 이미지 레이어 샘플값 제어 파라미터의 값이 "예"로 지시되는 경우, 엔트로피 인코딩 유닛(215)은 전체 비디오를 유효 범위로 하는 파라미터 집합에서에 제 1 참조 샘플의 샘플 값을 인코딩할 수 있고, 상기 샘플값은 이미지에서 인트라 예측모드를 사용하는 인코딩 블록으로 설정할 수 있다.
슬라이스 레이어 샘플값 제어 파라미터는 하나의 슬라이스에 대해 제 1 참조 샘플값을 사용하여 인트라 예측모드를 이용하여 인코딩 블록에 대해 인코딩하는 과정에 존재하지 않는 인접 샘플값을 확정할지 여부를 지시하도록 구성된다. 슬라이스 레이어 샘플값 제어 파라미터의 값이 "예"로 표시되면, 인트라 예측유닛(206)은 인코딩 블록의 일부 또는 전부의 인접 샘플값이 존재하지 않는 경우 인코딩 블록의 제 1 참조 샘플값을 확정하고; 반대로, 슬라이스 레이어 샘플값 제어 파라미터의 값이 "아니오"로 지시되면, 인트라 예측유닛(206)은 존재하지 않는 인접 샘플값을 디폴트 값으로 설정한다. 엔트로피 인코딩 유닛(215)은 슬라이스 헤더에서 슬라이스 레이어 샘플값 제어 파라미터를 인코딩할 수 있다. 선택적으로, 슬라이스 레이어 샘플값 제어 파라미터의 값이 "예"로 지시되는 경우, 엔트로피 인코딩 유닛(215)은 슬라이스 헤더에서 제 1 참조 샘플의 샘플 값을 인코딩할 수 있고, 상기 샘플값은 슬라이스에서 인트라 예측모드를 사용하는 인코딩 블록으로 설정할 수 있다.
블록 레이어 샘플값 제어 파라미터는 하나의 인코딩 블록에 대해 제 1 참조 샘플값을 사용하여 인트라 예측모드를 이용하여 인코딩 블록에 대해 인코딩하는 과정에 존재하지 않는 인접 샘플값을 확정할지 여부를 지시하도록 구성된다. 블록 레이어 샘플값 제어 파라미터의 값이 "예"로 표시되면, 인트라 예측유닛(206)은 인코딩 블록의 일부 또는 전부의 인접 샘플값이 존재하지 않는 경우 인코딩 블록의 제 1 참조 샘플값을 확정하고; 반대로, 블록 레이어 샘플값 제어 파라미터의 값이 "아니오"로 지시되면, 인트라 예측유닛(206)은 존재하지 않는 인접 샘플값을 디폴트 값으로 설정한다. 엔트로피 인코딩 유닛(215)은 인코딩 블록의 데이터 유닛에서 블록 레이어 샘플값 제어 파라미터를 인코딩할 수 있다. 선택적으로, 블록 레이어 샘플값 제어 파라미터의 값이 "예"로 지시되는 경우, 엔트로피 인코딩 유닛(215)은 인코딩 블록의 데이터 유닛에서 제 1 참조 샘플의 샘플 값을 인코딩할 수 있고, 상기 샘플의 값은 인코딩 블록의 데이터 유닛에서 인트라 예측모드를 사용하는 인코딩 블록으로 설정할 수 있다.
선택적으로, 인코더는 블록 레이어 샘플값 제어 파라미터 및 대응되는 제 1 참조 샘플값의 유효 범위를 하나의 슬라이스로 설정할 수 있다. 하나의 실시방법은 인코더가 슬라이스에서 처음으로 인트라 예측모드를 사용하고 제 1 참조 샘플값을 사용하여 인코딩 블록의 인접 샘플값을 구성할 때, 엔트로피 인코딩 유닛(215)이 상기 인코딩 블록의 데이터 유닛에서 블록 레이어 샘플값 제어 파라미터 및 제 1 참조 샘플값을 인코딩하는 것이다. 인코더는 슬라이스에서 후속으로 인트라 예측모드를 사용하는 인코딩 블록에 대해 동일한 인코딩 블록 레이어 샘플값 제어 파라미터 및 제 1 참조 샘플값을 사용하고 엔트로피 인코딩 유닛(215)은 더 이상 이런 인코딩 블록에 대한 블록 레이어 샘플값 제어 파라미터 및 제 1 참조 샘플값을 인코딩하지 않는다.
선택적으로, 인코더는 블록 레이어 샘플값 제어 파라미터 및 대응되는 제 1 참조 샘플값의 유효 범위를 하나의 슬라이스로 설정할 수 있다. 하나의 실시방법은 인코더가 슬라이스에서 처음으로 인트라 예측모드를 사용하고 제 1 참조 샘플값을 사용하여 인코딩 블록의 인접 샘플값을 구성할 때, 엔트로피 인코딩 유닛(215)이 상기 인코딩 블록의 데이터 유닛에서 블록 레이어 샘플값 제어 파라미터("제어 파라미터(1)"로 표기) 및 제 1 참조 샘플값("샘플값 1"로 표기)을 인코딩하는 것이다. 인코더가 슬라이스에서 후속으로 인트라 예측모드의 인코딩 블록에 대해 인코딩하는 과정에 제어 파라미터(1) 및 샘플값(1)을 사용하면, 엔트로피 인코딩 유닛(215)은 더 이상 상기 인코딩 블록에 대한 블록 레이어 샘플값 제어 파라미터 및 제 1 참조 샘플값을 인코딩하지 않는다. 인코더가 슬라이스에서 후속으로 인트라 예측모드의 인코딩 블록에 대해 인코딩하는 과정에 제어 파라미터(1) 및 샘플값(1)과 상이한 블록 레이어 샘플값 제어 파라미터("제어 파라미터(2)", "샘플값(2)"로 표기)를 사용하면, 엔트로피 인코딩 유닛(215)은 상기 인코딩 블록의 데이터 유닛에서 "제어 파라미터(2)" 및 "샘플값(2)"을 인코딩한다.
특히, 인코더가 도 7의 인접 샘플값 처리유닛(402)을 인코딩 블록 크기를 통해 제 1 참조 샘플값을 사용하여 인코딩 블록의 인트라 예측인접 샘플값을 구성하기 위한 판단 조건으로 사용하도록 구성하는 경우, 엔트로피 인코딩 유닛(215)은 블록 크기가 "사용하지 않음" 조건에 부합되는 인코딩 블록을 위해 블록 레이어 샘플값 제어 파라미터와 제 1 참조 샘플값을 인코딩하지 않고, 인코더가 블록의 크기가 "사용 가능"의 조건에 부합되는 인코딩 블록을 "필연적 사용"으로 설정하는 경우, 엔트로피 인코딩 유닛(215)은 블록 크기가 "필연적 사용" 조건에 부합되는 인코딩 블록을 위해 블록 레이어 샘플값 제어 파라미터를 인코딩하지 않고 제 1 참조 샘플값만 인코딩한다.
특히 인코더는 상기 두 가지 특수한 경우를 결합할 수 있다.
설명해야 할 것은, 엔트로피 인코딩 유닛(215)이 단계(501)를 수행하여 블록 레이어 샘플값 제어 파라미터에 대한 인코딩을 완성한다는 것이다. 인코더가 시퀀스 레이어 샘플값 제어 파라미터, 이미지 레이어 샘플값 제어 파라미터, 슬라이스 레이어 샘플값 제어 파라미터 중 하나 이상을 사용하는 경우, 엔트로피 인코딩 유닛(215)은 대응되는 파라미터 집합을 생성하는 과정에 시퀀스 레이어 샘플값 제어 파라미터와 이미지 레이어 샘플값 제어 파라미터를 인코딩해야 하고, 엔트로피 인코딩 유닛(215)은 슬라이스 헤더를 인코딩하는 과정에 슬라이스 레이어 샘플값 제어 파라미터를 인코딩해야 하고, 또한 상기 선택 가능한 방법을 사용하여 슬라이스 레이어에 의해 제어되도록 구성된 블록 레이어 샘플값 제어 파라미터를 블록 레이어에서 인코딩할 수 있다. 인코더는 구성 파일에 따라 시퀀스 레이어, 이미지 레이어 및 슬라이스 레이어 샘플 제어 파라미터를 설정할 수 있으며, RDO 방법을 사용하여 상기 제어 파라미터의 값을 동적으로 결정할 수도 있다. 여기서 구성 파일에 기록되는 것은 인코더에 대해 초기화를 수행하는 과정의 파라미터 구성으로 설정된 것이다.
설명해야 할 것은, 제어 파라미터의 유효 제어 범위의 측면에서, 시퀀스 레이어의 범위는 이미지 레이어의 범위보다 크고, 이미지 레이어의 범위는 슬라이스 레이어보다 크며, 슬라이스 레이어의 범위는 블록 레이어보다 크다. 일반적으로 제어 파라미터의 제어 메커니즘은 다음과 같다. 제어 범위가 큰 제어 파라미터가 "사용 가능"을 지시하는 경우, 제어 범위가 작은 제어 파라미터를 인코딩하고 이 작은 제어 범위 내에서 "사용 가능"을 지시하도록 설정된다. 특히, 블록 레이어 필터링 제어 파라미터의 경우, 인코딩 블록이 복수의 서브 블록으로 분할되면, 해당 인코딩 블록의 블록 레이어 필터링 제어 파라미터의 제어 범위는 서브 블록보다 크고, 즉 해당 인코딩 블록의 블록 레이어 샘플값 제어 파라미터가 "사용하지 않음"을 지시하는 경우, 서브 블록은 인트라 예측의 참조 샘플값을 결정하기 위해 제 1 참조 샘플값을 사용하지 않으며, 엔트로피 인코딩 유닛(215)은 서브 블록의 블록 레이어 샘플값 제어 파라미터를 인코딩할 필요가 없다.
설명해야 할 것은, 제어 파라미터가 "사용 가능"을 지시하는 경우, 엔트로피 인코딩 유닛(215)은 제어 파라미터를 대응되게 인코딩하거나 제 1 참조 샘플 값을 유도할 수 있다. 일반적으로, 더 작은 유효 제어 범위를 갖는 제어 파라미터에 대응되는 제 1 참조 샘플 값은 더 큰 제어 범위를 갖는 제어 파라미터에 대응되는 제 1 참조 샘플값을 커버한다. 예를 들어, 엔트로피 인코딩 유닛(215)이 인코딩 블록에 대한 제 1 참조 샘플값을 인코딩하는 경우, 상기 인코딩 블록이 인트라 예측모드의 인접 샘플값을 구성하는 과정에서 사용하는 것은 블록 레이어의 제 1 참조 샘플값이며 슬라이스 레이어의 제 1 참조 샘플값이 아니다.
단계(502)에서 인트라 예측 모드를 인코딩한다. 엔트로피 인코딩 유닛(215)은 인코딩 블록의 인트라 예측모드를 인코딩한다.
상황(1): 인코더의 인트라 예측 유닛(206)은 도 8에 도시된 인트라 예측 방법(1)만을 사용한다.
엔트로피 인코딩 유닛(215)은 먼저 인코딩 블록에 인접한 인코딩된 블록의 인트라 예측모드에 따라 인코딩 블록이 사용할 수 있는 하나 이상의 가장 사용될 가능성이 높은 인트라 예측모드를 유도한다.
인코딩 블록이 사용하는 인트라 예측모드가 가장 사용될 가능성이 높은 인트라 예측모드 중 하나의 인트라 예측모드인 경우, 엔트로피 인코딩 유닛(215)은 플래그 비트를 인코딩하고, 플래그 비트의 값은 "인코딩 블록이 사용하는 인트라 예측모드가 가장 사용될 가능성이 높은 인트라 예측 모드임"을 지시하도록 설정되고; 가장 사용될 가능성이 높은 인트라 예측모드에 포함된 모드가 하나 이상인 경우, 엔트로피 인코딩 유닛(215)은 가장 사용될 가능성이 높은 인트라 예측모드에서의 인코딩 블록이 사용하는 인트라 예측모드의 인덱스 번호를 인코딩한다.
인코딩 블록이 사용하는 인트라 예측모드가 가장 사용될 가능성이 높은 인트라 예측모드 중 하나의 인트라 예측모드가 아닌 경우, 인코딩 블록이 사용하는 인트라 예측모드가 가장 사용될 가능성이 높은 인트라 예측모드에서의 인트라 예측모드 이외의 기타 인트라 예측모드의 인덱스 번호를 인코딩한다.
상황(2): 인코더의 인트라 예측유닛(206)은 도 8의 인트라 예측 방법(1) 및 도 9의 인트라 예측 방법(2)을 사용한다.
인코딩은 인코딩 블록의 인트라 예측모드가 인트라 예측 방법(1) 및 인트라 예측 방법(2) 중 어느 방법에 속하는 지의 식별 정보를 지시하는데 사용된다. 하나의 선택 가능한 방법으로, 엔트로피 인코딩 유닛(215)이 하나의 플래그 비트를 인코딩하여 상기 정보를 지시하는 것이다. 하나의 선택 가능한 방법으로, 인코딩 블록의 인트라 예측 플래그는 인코딩 블록이 사용하는 것은 인트라 예측 방법(1)의 인트라 예측모드인 것을 지시하기 위해서만 사용되고; 인코딩 블록이 인트라 예측 방법(2)을 사용하는 경우, 엔트로피 인코딩 유닛(215)은 인코딩 블록의 인트라 예측 플래그를 "아니오"로 인코딩하고, 인코딩 블록의 참조 이미지 인덱스를 "인코딩 블록이 사용하는 참조 이미지는 인코딩 블록이 위치한 이미지"에 대응되는 값으로 지시한다. 선택적으로, 엔트로피 인코딩 유닛(215)은 나아가 인트라 예측 방법(2)과 관련된 필드를 인코딩하여 인코딩 블록이 사용하는 인트라 예측모드를 지시하기 위해 사용하고, 인트라 예측 방법(2)에 포함될 수 있는 인트라 예측 모드는 블록 매칭 모드, 스트링 매칭 모드 등이고, 엔트로피 인코딩 유닛(215)은 계속하여 매칭 블록, 매칭 스트링을 확정하기 위해 사용되는 관련 파라미터를 인코딩하고, 파라미터는 인코딩 블록이 위치한 이미지에서의 매칭 블록, 스트링의 위치를 확정하기 위해 사용된다.
단계(503)에서 엔트로피 인코딩 유닛(215)은 상기 인코딩 과정에 생성된 인코딩 비트를 출력 비트 스트림에 기록한다.
실시예 9
도 11은 본 발명의 실시예에 의해 제공되는 디코더의 인트라 예측유닛의 구조도이다. 인트라 예측유닛(304)은 인접 샘플값 검출유닛(601), 인접 샘플값 처리유닛(602) 및 인트라 예측 계산유닛(603)을 포함한다.
인접 샘플값 검출유닛(601)의 입력 데이터는 현재 디코딩 이미지 중 부분적으로 복원된 일부 데이터, 디코딩 블록의 인트라 예측모드 지시정보이고; 출력 데이터는 디코딩 블록의 인접 샘플값 정보이다.
예시적으로, 인접 샘플값 검출유닛(601)의 입력 데이터는 데이터 스트림(60), 데이터 스트림(64)이고, 출력 데이터는 데이터 스트림(61)이다. 데이터 스트림(60)은 상기 디코더가 디코딩 블록을 디코딩하기 전에, 가산기(307)의 출력 데이터이며 현재 디코딩 이미지 중 부분적으로 복원된 일부 데이터(상기 디코더의 필터링 유닛(308)의 처리를 거치지 않음)이다. 데이터 스트림(60)은 또한 이미지에서 디코딩 블록의 위치 정보 및 이미지 분할(예를 들어, 슬라이스)에서 디코딩 블록의 위치 정보를 포함하고, 이런 위치 정보의 소스는 상기 디코더의 파싱 유닛(301)의 출력 데이터이다. 데이터 스트림(64)은 파싱 유닛(301)에 의해 디코딩 블록의 인트라 예측모드 지시정보이며, 디코딩 블록이 사용하는 인트라 예측모드를 지시하도록 설정된다. 데이터 스트림(61)은 인접 샘플값 검출유닛(601)의 출력 데이터로서, 디코딩 블록의 인접 샘플값 정보이며, 인접 샘플값이 위치한 인접 화소점의 위치, 인접 샘플값의 존재 여부 및 인접 샘플값의 수치(인접 샘플이 존재하는 경우)를 포함한다. 데이터 스트림(61)은 디코딩 블록의 크기도 포함한다.
인접 샘플값 검출유닛(602)의 출력은 디코딩 블록의 인접 샘플값 정보, 제 1 참조 샘플값이고 출력은 인트라 예측 참조 샘플값이다.
예시적으로, 인접 샘플값 처리유닛(602)의 입력은 데이터 스트림(61), 데이터 스트림(62) 및 데이터 스트림(64)이고, 출력은 데이터 스트림(63)이다. 데이터 스트림(61)은 인접 샘플값 검출유닛(601)의 출력이다. 데이터 스트림(62)은 파싱 유닛(301)에 의해 출력된 제 1 참조 샘플값이고, 샘플값 제어 파라미터 및 제 1 참조 샘플값을 포함한다. 선택적으로, 디코더는 데이터 스트림(64)을 인접 샘플값 처리유닛(602)에 입력한다. 데이터 스트림(64)은 파싱 유닛(301)에 의해 출력된 디코딩 블록의 인트라 예측모드 지시정보이며, 디코딩 블록이 사용하는 인트라 예측모드를 지시하도록 설정된다. 인접 샘플값 처리유닛(602)의 출력 데이터 스트림(63)은 인트라 예측 참조 샘플값이다.
인트라 예측 계산유닛(603)의 입력은 인트라 예측 참조 샘플값 및 데이터 스트림(64)이고, 출력은 디코딩 블록의 인트라 예측값이다.
예시적으로, 인트라 예측 계산유닛(603)의 입력은 데이터 스트림(63) 및 디코딩 블록의 인트라 예측모드 지시정보이고, 출력은 데이터 스트림(65)이다. 데이터 스트림(63)은 인접 샘플값 처리유닛(602)의 출력 데이터이다. 데이터 스트림(64)은 파싱 유닛(301)에 의해 출력된 디코딩 블록의 인트라 예측모드 지시정보이며, 디코딩 블록이 사용하는 인트라 예측모드를 지시하도록 설정된다. 인트라 예측 계산유닛(603)은 데이터 스트림(64)의 인트라 예측모드 지시정보가 지시된 인트라 예측모드에 따라 데이터 스트림(63)의 인트라 예측 참조 샘플값을 사용하여 디코딩 블록의 인트라 예측값을 계산하여 출력 데이터 스트림(65)으로 한다.
상기 인코더의 인트라 예측유닛(206)과 유사하게, 상기 디코더의 인트라 예측유닛(304)은 도 8에 도시된 인트라 예측 방법(1) 및 도 9에 도시된 인트라 예측 방법(2)를 사용하여 디코딩 블록의 인트라 예측값, 출력 데이터 스트림(65)을 계산할 수 있다. 도 8에 도시된 인트라 예측 방법(1)에서, "Curr"는 디코딩 블록을 지시하고, 이에 인접한 디코딩된 화소점은 회색으로 표시된다. 도 8에서는 디코딩 블록의 디코딩된 상부 인접 및 좌측 인접 화소점을 예시적으로 표시한다. 여러 상이한 디코딩 시퀀스에서, 디코딩 블록의 우측 인접 위치 또는 하부 인접 위치에도 디코딩된 화소점이 있을 수 있다. 인트라 예측 방법(1)은 하나 이상의 인트라 예측모드, 예를 들어 DC 예측모드, 평면 예측모드 및 방향 보간 예측모드 등을 포함한다. 인트라 예측 방법(1)을 사용하는 경우, 디코더가 입력한 인트라 예측 계산유닛(603)의 데이터 스트림(64)은 인트라 예측모드의 인덱스이고, 출력 데이터 스트림(65)은 데이터 스트림(64)이 지시하는 인트라 예측 모드를 사용하여 획득한 디코딩 블록의 인트라 예측값이다.
도 9에 도시된 인트라 예측 방법(2)에서 "Curr"는 디코딩 블록을 표시하고, 회색 영역은 디코딩 블록에 대해 디코딩을 수행하기 전에, 디코딩 블록이 위치하는 이미지에서 부분적으로 복원된 데이터의 일부를 나타내고, "Ref"는 디코딩 블록의 매칭 블록을 표시한다. 인트라 예측 방법(2)을 사용하는 경우, 디코더가 입력한 인트라 예측 계산유닛(603)의 데이터 스트림(64)은 "Ref"의 위치 정보를 지시하도록 사용되고, 예를 들어 동일한 이미지 좌표계에서 "Curr"과 "Ref" 사이의 위치 오프셋이고, 출력 데이터 스트림(65)은 데이터 스트림(64)에 의해 지시된 "Ref" 위치 정보를 사용하여 "Ref"를 획득하고, "Ref"를 사용하여 디코딩 블록의 인트라 예측값을 구성하며, 예를 들어, 디코딩 블록의 인트라 예측값을 "Ref"의 샘플값 또는 "Ref"의 샘플값을 필터링 한 후의 값으로 설정한다. 인트라 예측 방법(2)은 또한 하나 이상의 인트라 예측모드, 예를 들어 블록 매칭 모드, 스트링 매칭 모드 등을 포함할 수 있다.
일반적으로 인트라 예측유닛(304)은 인트라 예측 방법(1)을 사용한다. 인트라 예측 방법(2)의 사용을 허용하는 디코더에서, 데이터 스트림(64)은 인트라 예측 방법의 지시 정보를 포함하고, 이를 통해 디코딩 블록의 디코등 과정에서 인트라 예측 방법(1)과 인트라 예측 방법(2) 중 어느 것을 사용하여 디코딩 블록의 제 1 예측값을 계산할 것을 확정한다.
인접 샘플값 검출유닛(601)은 데이터 스트림(60)에서 디코딩 블록의 위치 정보에 따라 이미지에서 디코딩 블록의 위치를 확정한다. 데이터 스트림(64)의 인트라 예측모드 지시정보가 디코딩 블록이 인트라 예측 방법(1)을 사용함을 지시할 때, 인접 샘플값 검출유닛(601)은 데이터 스트림(60)의 이미지에서 부분적으로 복원된 일부 데이터 중 디코딩 블록에 인접한 화소점 위치의 화소 샘플값의 존재 여부를 판단한다. 인접 샘플값 검출유닛(601)은 다음과 같은 판단 방법을 사용한다. 인접 샘플값 검출유닛(601)은 인트라 예측 방법(1)과 관련된 인접 샘플값 정보를 데이터 스트림(61)에 포함시킨다. 데이터 스트림(61)에는 또한 디코딩 블록의 크기 정보가 포함된다.
디코딩 블록의 참조 화소점 위치에 있는 화소가 디코딩되지 않은 경우 해당 인접 샘플값이 존재하지 않는다.
디코딩 블록이 이미지의 경계 위치에 있을 때, 이미지의 경계 외부의 참조 화소점의 위치에는 인접 샘플값이 존재하지 않는다. 예를 들어, 디코딩 블록이 이미지의 상부 경계에 위치할 때, 디코딩 블록의 상부 인접 샘플값은 존재하지 않는다.
디코딩 블록이 위치한 슬라이스와 상이한 슬라이스에 위치한 인접 샘플값은 존재하지 않는다.
디코딩 블록이 위치한 타일과 상이한 타일에 위치한 인접 샘플값은 존재하지 않는다.
인트라 예측 사용이 한정되는 경우, 비 인트라 예측 디코딩의 디코딩 블록에 위치한 인접한 샘플값은 존재하지 않는다.
데이터 스트림(64)의 인트라 예측모드 지시정보가 디코딩 블록이 인트라 예측 방법(2)을 사용함을 지시할 때, 인접 샘플값 검출유닛(601)은 도 9의 "Ref" 블록의 샘플값이 전부 존재하는지 여부를 판단한다. 인접 샘플값 검출유닛(601)은 데이터 스트림(64)에서의 "Ref"의 위치 정보 및 이미지에서의 디코딩 블록의 위치에 따라 이미지에서의 "Ref"의 위치를 결정한다. 인접 샘플값 검출유닛(601)은 상기 인트라 예측 방법(1)과 동일한 방법으로 "Ref" 블록의 샘플값이 전부 존재하는 여부의 범위를 확정한다. 인접 샘플값 검출유닛(601)은 인트라 예측 방법(2)과 관련된 인접 샘플값 정보를 데이터 스트림(61)에 포함시킨다. 데이터 스트림(61)은 또한 디코딩 블록 크기에 대한 정보를 포함한다.
인접 샘플값 처리유닛(602)은 데이터 스트림(61)의 데이터를 처리한다. 데이터 스트림(64)의 인트라 예측모드 지시정보가 디코딩 블록이 인트라 예측방법(1)을 사용함을 지시하는 경우, 데이터 스트림(61)의 인접 샘플값이 모두 존재하는 경우, 인접 샘플값 처리 유닛(602)은 데이터 스트림(64)의 지시 정보에 따라 데이터 스트림(61)의 인접 샘플값에 대해 필터링 처리를 수행한다.
선택적으로, 하나의 방법은 인접 샘플 처리 유닛(602)이 데이터 스트림(64)에 포함된 플래그 정보에 따라 인접 샘플값을 필터링할지 여부를 결정하는 것이다.
선택적으로, 하나의 방법은 특정 크기의 블록에 대해서만 필터링을 사용하는 것이다. 예시적으로, 데이터 스트림(61)에서 디코딩 블록의 크기가 미리 설정된 값 또는 복수의 미리 설정된 값 중 하나인 경우, 인접 샘플값 처리유닛(602)은 데이터 스트림(64)에 포함된 플래그 정보에 따라 디코딩 블록의 인접 샘플값에 대한 필터링 여부를 확정한다. 하나의 방법은 데이터 스트림(61)에서 디코딩 블록의 크기가 미리 설정된 값 또는 복수의 미리 설정된 값 중 하나와 같으면, 인접 샘플값 처리유닛(602)은 디코딩 블록의 인접 샘플 값에 대해 필터링을 수행하는 것이다.
선택적으로, 하나의 방법은 인트라 예측모드에 대해서만 필터링을 사용하는 것이다. 예시적으로, 데이터 스트림(64)에서 인트라 예측모드가 미리 설정된 모드 또는 복수의 미리 설정된 모드 중 하나인 경우, 인접 샘플값 처리유닛(602)은 데이터 스트림(64)에 포함된 플래그 정보에 따라 디코딩 블록의 인접 샘플값에 대한 필터링 여부를 확정한다. 선택적으로, 하나의 방법은 데이터 스트림(64)에서 인트라 예측모드가 미리 설정된 모드 또는 복수의 미리 설정된 모드 중 하나와 같으면, 인접 샘플값 처리유닛(602)은 디코딩 블록의 인접 샘플값에 대해 필터링을 수행하는 것이다.
선택적으로, 하나의 방법은 특정 크기의 블록 및 특정 인트라 예측모드에 대해 필터링을 사용하는 것이다. 예시적으로, 데이터 스트림(61)에서 디코딩 블록의 크기가 미리 설정된 값 또는 복수의 미리 설정된 값 중 하나이며 데이터 스트림(64)에서 인트라 예측모드가 미리 설정된 모드 또는 복수의 미리 설정된 모드 중 하나인 경우, 인접 샘플값 처리유닛(602)은 데이터 스트림(64)에 포함된 플래그 정보에 따라 디코딩 블록의 인접 샘플값에 대한 필터링 여부를 확정한다. 선택적으로, 하나의 방법은 데이터 스트림(61)에서 데이터 스트림(61)에서 디코딩 블록의 크기가 미리 설정된 값 또는 복수의 미리 설정된 값 중 하나이며 데이터 스트림(64)에서 인트라 예측모드가 미리 설정된 모드 또는 복수의 미리 설정된 모드 중 하나인 경우, 인접 샘플값 처리유닛(602)은 디코딩 블록의 인접 샘플값에 대해 필터링을 수행하는 것이다. 인접 샘플값 처리유닛(602)은 디코딩 블록의 인접 샘플값을 데이터 스트림(63)에 포함시킨다.
데이터 스트림(64)의 인트라 예측모드 지시정보가 디코딩 블록이 인트라 예측 방법(1)을 사용함을 지시하는 경우, 데이터 스트림(61)의 인접 샘플값의 일부 또는 전부가 존재하지 않는 경우, 인접 샘플값 처리유닛(602)은 데이터 스트림(62)에서 샘플값 제어 파라미터 및 제 1 참조 샘플값을 포함하는 제 1 참조 샘플값을 획득한다. 샘플값 제어 파라미터가 제 1 참조 샘플값을 사용하여 존재하지 않는 인접 샘플값을 구성하도록 지시하는 경우, 인접 샘플값 처리유닛(602)은 존재하지 않는 인접 샘플의 값을 제 1 참조 샘플값으로 설정하고, 디코딩 블록의 인접 샘플값을 모두 "존재" 또는 "사용 가능"으로 설정한다.
선택적으로, 제 1 참조 샘플값이 복수 개인 경우, 인접 샘플값 처리유닛(602)은 데이터 스트림(62)에서 상이한 제 1 참조 샘플값의 사용방식 파라미터에 따라 존재하지 않는 인접 샘플의 값을 대응되는 제 1 참조샘플의 값으로 설정하고, 디코딩 블록의 인접 샘플값은 모두 "존재" 또는 "사용 가능"으로 설정한다. 샘플값 제어 파라미터가 존재하지 않는 인접 샘플값을 구성하기 위해 제 1 참조 샘플값을 사용하지 않음을 지시하는 경우, 인접 샘플값 처리유닛(602)은 디폴트 값(예를 들면 배경기술 부분의 "1 <<( BitDepth-1)")을 사용하여 존재하지 않는 인접 샘플값을 설정하고 디코딩 블록의 인접 샘플값을 모두 "존재" 또는 "사용 가능"으로 설정한다.
선택적으로, 인접 샘플값 처리유닛(602)은 상기 필터링 방법을 사용하여 인접 샘플값에 대한 필터 처리를 수행할 수 있다. 인접 샘플값 처리유닛(602)은 디코딩 블록의 인접 샘플값을 데이터 스트림(63)에 포함시킨다.
데이터 스트림(64)의 인트라 예측모드 지시정보가 디코딩 블록이 인트라 예측 방법(2)을 사용함을 지시하는 경우, 샘플 제어 파라미터가 "Ref"에 존재하지 않는 샘플값을 구성하기 위해 제 1 참조 샘플값을 사용하도록 지시하는 경우, 인접 샘플값 처리유닛(602)은 "Ref"에 존재하지 않는 샘플의 값을 제 1 참조 샘플값으로 설정한다.
선택적으로, 제 1 참조 샘플값이 복수 개인 경우, 인접 샘플값 처리유닛(602)은 데이터 스트림(62)에서 상이한 제 1 참조 샘플값의 사용방식 파라미터에 따라 "Ref"에 존재하지 않는 샘플값을 대응되는 제 1 참조 샘플값으로 설정한다. 샘플값 제어 파라미터가 "Ref"에 존재하지 않는 샘플값을 구성하기 위해 제 1 참조 샘플값을 사용하지 않음을 지시하는 경우, 인접 샘플값 처리유닛(602)은 디폴트 값(예를 들어, 이미지의 또는 슬라이스 경계의 화소점 위치의 샘플값을 사용하여 이미지를 충진하는 방법)을 사용하여 존재하지 않는 샘플값을 설정하고, 디코딩 블록의 인접 샘플값을 모두 "존재" 또는 "사용 가능"으로 설정한다. 인접 샘플값 처리유닛(602)은 데이터 스트림(63)에 "Ref"의 샘플값을 포함시킨다.
인트라 예측 계산유닛(603)은 데이터 스트림(64)의 인트라 예측모드 지시정보에 의해 지시된 인트라 예측모드에 따라 데이터 스트림(63)의 인트라 예측 참조 샘플값을 사용하여 디코딩 블록의 인트라 예측값을 계산하여 얻으며 이를 출력 데이터 스트림(65)으로 한다.
실시예 10
도 12는 본 발명의 실시예에 의해 제공되는 디코더의 파싱 유닛이 디코딩 블록비트 스트림 중의 인트라 예측모드와 필터링 파라미터에 대해 파싱을 수행하는 데어터 처리의 흐름 개략도이다. 처리 흐름의 입력은 입력 비트 스트림의 제 1 참조 샘플값 및 인트라 예측모드에 대응되는 비트 스트림이고, 출력은 제 1 참조 샘플값 및 인트라 예측모드이다. 상기 디코더는 제 1 참조 샘플값을 인트라 예측유닛(304)에서 인접 샘플값 처리유닛(602)의 입력 데이터 스트림(62)으로 설정한다. 상기 디코더는 인트라 예측모드를 인트라 예측유닛(304)에서 사용하는 데이터 스트림(64)으로 한다.
단계(701)에서 제 1 참조 샘플값을 파싱한다.
샘플값 외에도, 선택적으로, 제 1 참조 샘플값은 샘플값 제어 파라미터를 포함할 수 있으며, 샘플값 제어 파라미터는, 인트라 예측모드를 사용하여 디코딩 블록을 디코딩하는 과정에 존재하지 않는 인접 샘플값을 확정하기 위해, 제 1 참조 샘플값 또는 디폴트 값 중 어느 것을 사용할지를 지시한다. 샘플값 제어 파라미터는, 시퀀스 레이어 샘플값 제어 파라미터, 이미지 레이어 샘플값 제어 파라미터, 슬라이스 레이어 샘플값 제어 파라미터 및 블록 레이어 샘플값 제어 파라미터 중 하나 이상을 포함한다.
시퀀스 레이어 샘플값 제어 파라미터는 인트라 예측모드를 사용하여 디코딩 블록을 디코딩하는 과정에서 존재하지 않는 인접 샘플값을 확정하기 위해, 전체 비디오의 이미지에 대해 제 1 참조 샘플값을 사용할 필요가 있는지 여부를 지시하도록 설정된다. 시퀀스 레이어 샘플값 제어 파라미터의 값이 "예"로 표시되면, 인트라 예측유닛(304)은 디코딩 블록의 일부 또는 전부의 인접 샘플값이 존재하지 않는 경우 제 1 참조 샘플값을 사용하여 디코딩 블록의 인접 샘플값을 확정하고; 반대로, 시퀀스 레이어 샘플값 제어 파라미터의 값이 "아니오"로 지시되면, 인트라 예측유닛(304)은 존재하지 않는 인접 샘플값을 디폴트 값으로 설정한다. 파싱 유닛(301)은 전체 비디오를 유효 범위로 하는 파라미터 집합에서 시퀀스 레이어 샘플값 제어 파라미터를 얻을 수 있다. 선택적으로, 시퀀스 레이어 샘플값 제어 파라미터의 값이 "예"로 지시되는 경우, 파싱 유닛(301)은 전체 비디오를 유효 범위로 하는 파라미터 집합에서에 제 1 참조 샘플의 샘플 값을 얻을 수 있고, 상기 샘플값은 전체 비디오에서 인트라 예측모드를 사용하는 디코딩 블록에서 사용할 수 있다.
이미지 레이어 샘플값 제어 파라미터는 하나의 이미지에 대해 제 1 참조 샘플값을 사용하여 인트라 예측모드를 이용하여 디코딩 블록에 대해 디코딩하는 과정에 존재하지 않는 인접 샘플값을 확정할지 여부를 지시하도록 구성된다. 이미지 레이어 샘플값 제어 파라미터의 값이 "예"로 표시되면, 인트라 예측유닛(304)은 디코딩 블록의 일부 또는 전부의 인접 샘플값이 존재하지 않는 경우 제 1 참조 샘플값을 사용하여 디코딩 블록의 제 1 참조 샘플값을 설정하고; 반대로, 이미지 레이어 샘플값 제어 파라미터의 값이 "아니오"로 지시되면, 인트라 예측유닛(304)은 존재하지 않는 인접 샘플값을 디폴트 값으로 설정한다. 파싱 유닛(301)은 전체 비디오를 유효 범위로 하는 파라미터 집합에서 이미지 레이어 샘플값 제어 파라미터를 획득할 수 있다. 선택적으로, 이미지 레이어 샘플값 제어 파라미터의 값이 "예"로 지시되는 경우, 파싱 유닛(301)은 전체 비디오를 유효 범위로 하는 파라미터 집합에서에 제 1 참조 샘플의 샘플값을 획득할 수 있고, 상기 샘플값은 이미지에서 인트라 예측모드를 사용하는 디코딩 블록에 사용할 수 있다.
슬라이스 레이어 샘플값 제어 파라미터는 하나의 슬라이스에 대해 제 1 참조 샘플값을 사용하여 인트라 예측모드를 이용하여 디코딩 블록에 대해 디코딩하는 과정에 존재하지 않는 인접 샘플값을 확정할지 여부를 지시하도록 구성된다. 슬라이스 레이어 샘플값 제어 파라미터의 값이 "예"로 표시되면, 인트라 예측유닛(304)은 디코딩 블록의 일부 또는 전부의 인접 샘플값이 존재하지 않는 경우 디코딩 블록의 제 1 참조 샘플값을 인접 샘플값으로 설정하고; 반대로, 슬라이스 레이어 샘플값 제어 파라미터의 값이 "아니오"로 지시되면, 인트라 예측유닛(304)은 존재하지 않는 인접 샘플값을 디폴트 값으로 설정한다. 파싱 유닛(301)은 슬라이스 헤더에서 슬라이스 레이어 샘플값 제어 파라미터를 획득할 수 있다. 선택적으로, 슬라이스 레이어 샘플값 제어 파라미터의 값이 "예"로 지시되는 경우, 파싱 유닛(301)은 슬라이스 헤더에서 제 1 참조 샘플의 샘플 값을 획득할 수 있고, 상기 샘플값은 슬라이스에서 인트라 예측모드를 사용하는 디코딩 블록에서 사용할 수 있다.
블록 레이어 샘플값 제어 파라미터는 하나의 디코딩 블록에 대해 제 1 참조 샘플값을 사용하여 인트라 예측모드를 이용하여 디코딩 블록에 대해 디코딩하는 과정에 존재하지 않는 인접 샘플값을 확정할지 여부를 지시하도록 구성된다. 블록 레이어 샘플값 제어 파라미터의 값이 "예"로 표시되면, 인트라 예측유닛(304)은 디코딩 블록의 일부 또는 전부의 인접 샘플값이 존재하지 않는 경우 제 1 참조 샘플값을 사용하여 디코딩 블록의 인접 샘플값을 확정하고; 반대로, 블록 레이어 샘플값 제어 파라미터의 값이 "아니오"로 지시되면, 인트라 예측유닛(304)은 존재하지 않는 인접 샘플값을 디폴트 값으로 설정한다. 파싱 유닛(215)은 디코딩 블록의 데이터 유닛에서 블록 레이어 샘플값 제어 파라미터를 획득할 수 있다. 선택적으로, 블록 레이어 샘플값 제어 파라미터의 값이 "예"로 지시되는 경우, 파싱 유닛(215)는 디코딩 블록의 데이터 유닛에서 제 1 참조 샘플의 샘플 값을 획득할 수 있고, 상기 샘플의 값은 디코딩 블록의 데이터 유닛에서 인트라 예측모드를 사용하는 인코딩 블록 또는 상기 디코딩 블록의 분할에 사용할 수 있다.
선택적으로, 디코더는 블록 레이어 샘플값 제어 파라미터 및 대응되는 제 1 참조 샘플값의 유효 범위를 하나의 슬라이스로 설정할 수 있다. 하나의 실시방법은 슬라이스에서 처음으로 인트라 예측모드를 사용하고 제 1 참조 샘플값을 사용하여 디코딩 블록의 인접 샘플값을 구성할 때, 파싱 유닛(301)이 상기 디코딩 블록의 데이터 유닛에서 블록 레이어 샘플값 제어 파라미터 및 제 1 참조 샘플값을 획득하는 것이다. 디코더는 슬라이스에서 후속으로 인트라 예측모드를 사용하는 디코딩 블록에 대해 동일한 디코딩 블록 레이어 샘플값 제어 파라미터 및 제 1 참조 샘플값을 사용한다.
선택적으로, 디코더는 블록 레이어 샘플값 제어 파라미터 및 대응되는 제 1 참조 샘플값의 유효 범위를 하나의 슬라이스로 설정할 수 있다. 하나의 실시방법은 슬라이스에서 처음으로 인트라 예측모드를 사용하고 제 1 참조 샘플값을 사용하여 디코딩 블록의 인접 샘플값을 구성할 때, 파싱 유닛(304)이 상기 디코딩 블록의 데이터 유닛에서 블록 레이어 샘플값 제어 파라미터("제어 파라미터(1)"로 표기) 및 제 1 참조 샘플값("샘플값 1"로 표기)을 획득하는 것이다. 슬라이스에서 후속으로 사용되는 인트라 예측모드의 디코딩 블록에 새로운 제 1 참조 샘플값이 존재하지 않는 경우, 파싱 유닛(301)은 디코딩 블록의 제 1 참조 샘플값을 제어 파라미터(1) 및 샘플값(1)으로 설정하고, 데이터 스트림(62)으로 하여 인접 샘플값 처리유닛(602)에 전송한다. 슬라이스에서 후속으로 사용되는 인트라 예측모드의 디코딩 블록에 새로운 제 1 참조 샘플값("제어 파라미터(2)", "샘플값(2)"로 표기)이 존재하는 경우, 파싱 유닛(301)은 새로운 제 1 참조 샘플값을 획득하고 데이터 스트림(62)으로 하여 인접 샘플값 처리유닛(602)에 전송한다.
상기 디코더가 블록 레이어 샘플값 제어 파라미터 및 대응되는 제 1 참조 샘플값의 유효 범위에 대해 하나의 슬라이스 처리 과정을 구성하는 것은 파싱 유닛(301)이 항상 슬라이스에 포함된 디코딩 블록의 마지막으로 획득한 제 1 참조 샘플값을 사용하여 데이터 스트림(62)을 설정하는 것으로 귀납할 수 있다.
특히, 도 11을 참조하면 본 발명의 실시예는 디코더의 인트라 예측 유닛을 제공한다. 디코더가 도 11의 인접 샘플값 처리유닛(602)을 디코딩 블록 크기를 통해 제 1 참조 샘플값을 사용하여 디코딩 블록의 인트라 예측인접 샘플값을 설정하기 위한 판단 조건으로 사용하도록 설정하는 경우, 파싱 유닛(215)은 디코딩 블록의 비트 스트림을 파싱하지 않고 "사용하지 않음"조건에 부합되는 디코딩 블록의 블록 레이어 샘플값 제어 파라미터를 "아니오"로 직접 설정하고, 디코더가 블록 크기가 "사용 가능" 조건에 부합되는 디코딩 블록을 "필연적 사용"으로 설정하는 경우, 파싱 유닛(301)은 디코딩 블록의 비트 스트림을 파싱하지 않고 "필연적 사용"조건에 부합되는 디코딩 블록의 블록 레이어 샘플값 제어 파라미터를 "예"로 직접 설정하고, 파싱 유닛(301)은 디코딩 블록의 비트 스트림을 파싱하여 블록 레이어의 제 1 참조 샘플값을 획득한다. 여기서 "설정"은 디코더가 파라미터 집합 지시 정보 또는 미리 설정된 규칙에 따라 디코딩 과정에 대해 설정하는 것을 의미한다.
특히, 디코더가 도 11의 인접 샘플값 처리유닛(402)을 디코딩 블록의 인트라 예측모드를 통해 제 1 참조 샘플값을 사용하여 디코딩 블록의 인트라 예측인접 샘플값을 설정하기 위한 판단 조건으로 사용하도록 설정하는 경우, 파싱 유닛(301)은 인트라 예측모드가 "사용하지 않음" 조건에 부합되는 디코딩 블록의 데이터 유닛을 파싱하지 않고, 디코딩블록 레이어 샘플값 제어 파라미터을 "아니오"로 설정한다. 디코더가 인트라 예측모드가 "사용 가능"의 조건에 부합되는 디코딩 블록을 "필연적 사용"으로 설정하는 경우, 파싱 유닛(301)은 인트라 예측모드가 "필연적 사용" 조건에 부합되는 디코딩 블록을 파싱하지 않으며, 디코딩 블록의 블록 레이어 샘플값 제어 파라미터를 "예"로 설정하고, 파싱 유닛(301)은 디코딩 블록의 비트 스트림을 파싱하여 블록 레이어의 제 1 참조 샘플값을 획득한다. 여기서 "설정"은 디코더가 파라미터 집합 지시 정보 또는 미리 설정된 규칙에 따라 디코딩 과정에 대해 설정하는 것을 의미한다.
특히 디코더는 상기 두 가지 특수한 경우를 결합할 수 있다.
설명해야 할 것은, 파싱 유닛(301)이 단계(701)를 수행하여 블록 레이어 샘플값 제어 파라미터에 대한 디코딩을 완성한다는 것이다. 파싱 유닛(301)이 비트 스트림에 대한 파싱을 통해 시퀀스 레이어 샘플값 제어 파라미터, 이미지 레이어 샘플값 제어 파라미터, 슬라이스 레이어 샘플값 제어 파라미터 중 하나 이상을 획득하는 경우, 설명해야 할 것은, 제어 파라미터의 유효 제어 범위의 측면에서, 시퀀스 레이어의 범위는 이미지 레이어의 범위보다 크고, 이미지 레이어의 범위는 슬라이스 레이어보다 크며, 슬라이스 레이어의 범위는 블록 레이어보다 크다. 일반적으로 제어 파라미터의 제어 메커니즘은 다음과 같다. 제어 범위가 큰 제어 파라미터가 "사용 가능"을 지시하는 경우, 제어 범위가 작은 제어 파라미터를 파싱하여 이 작은 제어 범위 내에서 "사용 가능"을 지시하도록 설정된다. 특히, 블록 레이어 필터링 제어 파라미터의 경우, 디코딩 블록이 복수의 서브 블록으로 분할되면, 해당 디코딩 블록의 블록 레이어 필터링 제어 파라미터의 제어 범위는 서브 블록보다 크고, 즉 해당 디코딩 블록의 블록 레이어 필터링 제어 파라미터가 "사용하지 않음"을 지시하는 경우, 서브 블록은 적응형 필터링을 사용하지 않으며, 파싱 유닛(301)은 서브 블록의 데이터 유닛을 파싱하여 서브 블록의 블록 레이어 필터링 제어 파라미터를 획득할 필요가 없다.
설명해야 할 것은, 제어 파라미터가 "사용 가능"을 지시하는 경우, 파싱 유닛(304)은 파싱하거나 상기 제어 파라미터에 대응되는 제 1 참조 샘플값을 유도할 수 있다. 일반적으로, 더 작은 유효 제어 범위를 갖는 제어 파라미터에 대응되는 제 1 참조 샘플 값은 더 큰 제어 범위를 갖는 제어 파라미터에 대응되는 제 1 참조 샘플값을 커버한다. 예를 들어, 파싱 유닛(215)이 디코딩 블록의 블록 레이어제 1 참조 샘플값을 획득하는 경우, 디코더는 상기 디코딩 블록에 대한 인트라 예측모드의 인접 샘플값을 확정하는 과정에, 슬라이스 레이어의 제1 참조 샘플값 대신 블록 레이어의 제 1 참조 샘플값을 사용한다.
단계(702)에서 파싱 유닛(301)은 비트 스트림을 파싱하여 디코딩 블록의 인트라 예측 모드를 획득한다.
상황(1): 디코더는 인트라 예측 유닛(304)의 도 8의 인트라 예측 방법(1)만을 사용한다.
파싱 유닛(301)은 먼저 디코딩 블록에 인접한 디코딩 블록의 인트라예측 모드에 따라 디코딩 블록이 사용할 수 있는 하나 이상의 가장 사용될 가능성이 높은 인트라 예측모드를 유도한다.
파싱 유닛(301)은 플래그 비트를 파싱하고, 플래그 비트의 값은 "디코딩 블록이 사용하는 인트라 예측 모드가 가장 사용될 가능성이 높은 인트라 예측모드 중의 모드 인지 여부"를 지시한다. "예"인 경우, 가장 사용될 가능성이 높은 인트라 예측모드만을 포함하면, 파싱 유닛(301)은 상기 인트라 예측 모드를 디코딩 블록의 인트라 예측모드로 설정하고; 가장 사용될 가능성이 높은 인트라 예측모드에 복수의 인트라 예측 모드만을 포함하면, 파싱 유닛(301)은 인덱스 번호를 파싱하여 가장 사용될 가능성이 높은 인트라 예측모드에서 상기 인덱스 번호에 대응되는 인트라 예측모드를 디코딩 블록의 인트라 예측모드로 설정한다. 반대로, 플래그 비트의 값이 "아니오"를 지시내는 경우, 파싱 유닛(301)은 인덱스 번호를 파싱하고 디코딩 블록이 사용하는 인트라 예측모드를 가장 사용될 가능성이 높은 인트라 예측모드에서의 인트라 예측모드 이외의 기타 인트라 예측모드의 인덱스 번호에 대응되는 인트라 예측모드로 설정한다.
상황(2): 디코더는 인트라 예측유닛(304)의 도 8의 인트라 예측 방법(1) 및 인트라 예측 방법(2)을 사용한다.
파싱 유닛(301)은 디코딩 블록의 인트라 예측모드가 인트라 예측 방법(1) 또는 인트라 예측 방법(2) 중 어느 방법에 속하는지를 지시하는데 사용되는 식별 정보를 파싱한다. 하나의 선택 가능한 사용 방법은 파싱 유닛(301)이 상기 정보를 지시내는 플래그 비트를 파싱하는 것이다. 하나의 선택 가능한 방법은 파싱 유닛(301)이 디코딩 블록의 인트라 예측 표기를 "아니오"로 파싱하며 디코딩 블록의 참조 이미지 인덱스가 "디코딩 블록이 사용하는 참조 이미지는 디코딩 블록이 위치한 이미지 임"을 지시하는 경우, 디코딩 블록의 인트라 예측모드는 인트라 예측 방법(2)으로 설정한다. 선택적으로, 파싱 유닛(301)은 나아가 비트 스트림에서 인트라 예측 방법(2)과 관련된 필드를 파싱하여 디코딩 블록이 사용하는 인트라 예측 모드를 확정할 수 있고, 인트라 예측 방법(2)에 포함될 수 있는 인트라 예측 모드는 블록 매칭 모드, 스트링 매칭 모드 등이고, 파싱 유닛(215)은 계속하여 비트 스트림을 파싱하여 매칭 디코딩 블록이 위치한 이미지에서의 블록, 스트링의 위치를 확징하기 위해 사용되는 매칭 블록, 스트링 관련 파마리터를 획득하여 확정한다. 예를 들어, 파싱 유닛(301)은 비트 스트림을 파싱하여 동일한 이미지 좌표계에서 디코딩 블록과 도 9의 "Ref" 블록 사이의 위치 오프셋을 얻는다.
단계(703)에서, 파싱 유닛(301)이 디코딩 블록의 인트라 예측모드 및 필터 파라미터를 파싱하는 과정이 종료된다.
상기 디코더는 인트라 제 1 참조 샘플값을 인트라 예측유닛(304)에서 인접 샘플값 처리유닛(602)의 입력 데이터 스트림(62)으로 한다. 상기 디코더는 예측 모드를 인트라 예측유닛(304)에서 사용되는 데이터 스트림(64)으로 한다.
실시예 11
도 13을 참조하면, 본 발명의 실시예는 인코더를 포함하는 인코딩 장치를 제공한다. 인코딩 장치는 수집 유닛(801), 인코더(802) 및 전송 유닛(803)을 포함한다. 여기서,
수집 유닛(801)은 비디오 또는 이미지를 수집하도록 구성된다.
실제로, 수집 유닛(801)은 자연 비디오 또는 자연 이미지를 획득하기 위한 적어도 하나의 카메라를 포함할 수 있으며; 선택적으로 수집 유닛(801)은 또한 깊이 비디오 또는 깊이 이미지를 획득하기 위한 카메라로 구성될 수 있고; 선택적으로 수집 유닛은 또한 적외선 카메라를 장착할 수 있고; 선택적으로 수집 유닛에 원격 감지 카메라를 장착할 수도 있다. 수집 유닛(801)은 방사선 투과 또는 스캐닝을 통해 생성된 비디오 또는 이미지를 포함하는 장치 또는 기기일 수도 있다.
선택적으로, 수집 유닛(801)은 입력 비디오 또는 이미지에 대해 전처리할 수 있으며, 예를 들어, 자동 초점, 자동 화이트 밸런스, 자동 노출, 역광 보정, 노이즈 감소, 샤프닝, 스티칭, 이미지 해상도 증가 또는 감소, 비디오 프레임 증가 또는 감소, 가상 뷰 합성 등을 수행할 수 있다.
수집 유닛(801)은 기타 장치나 유닛에서 출력한 비디오나 이미지를 수신할 수도 있고, 예를 들어, 수집 유닛(801)은 트랜스 코더의 구성단위 일수 있으며, 트랜스 코더는 부분적인 디코딩 이미지를 수집 유닛(801)에 입력한다. 예를 들어, 수집 유닛(801)은 데이터 연결을 통해 기타 장치로부터 전송된 비디오 또는 이미지를 수신한다.
설명해야 할 것은, 비디오 또는 이미지에 외에도, 수집 유닛(801)은 오디오와 같은 다른 미디어 정보도 수집할 수 있다. 수집 유닛(801)은 또한 텍스트, 자막, 컴퓨터 생성 사진 또는 비디오 등과 같은 인위적으로 생성된 정보를 수신할 수 있다.
인코더(802)는 획득 유닛(801)에 의해 출력된 비디오 또는 이미지를 수신하고, 비디오 또는 이미지를 인코딩하고, 비디오 또는 이미지 스트림을 출력하도록 구성된다.
저장 또는 전송 유닛(803)은 인코더(802)에 의해 출력된 비디오 또는 이미지 비트 스트림을 수신하고 비디오 또는 이미지 비트 스트림에 대해 시스템 레이어 처리를 수행하도록 구성된다.
예시적으로, 저장 또는 전송 유닛(803)은 전송 프로토콜 및 미디어 파일 포멧과 같은 표준에 따른 패키징을 포함하는 비디오 또는 이미지 스트림에 대한 시스템 레이어 처리를 수행한다. 저장 또는 전송 유닛(803)은 시스템 레이어 처리 후 획득한 전송 스트림 또는 미디어 파일을 전자 장치의 메모리에 저장하거나 유선 또는 무선 네트워크를 통해 전송한다.
설명해야 할 것은, 인코더(802)에 의해 출력된 비디오 또는 이미지 스트림 외에도, 저장 또는 전송 유닛(803)의 입력은 또한 오디오 스트림, 텍스트, 자막, 사진 등을 포함할 수 있다. 저장 또는 전송 유닛(803)은 미디어 파일 포맷 및 전송 프로토콜과 같은 표준에 따라 이러한 입력을 인코더(802)에 의해 출력된 비트 스트림과 함께 전송 스트림 또는 미디어 파일에 패키징한다.
본 실시예의 전자기기는 휴대폰, 컴퓨터, 미디어 서버, 휴대용 이동 단말기, 디지털 비디오 카메라, 디지털 카메라, TV 방송 시스템 장비, 콘텐츠 배포 네트워크 장비, 감시 카메라, 회의 TV 시스템 장비 등와 같은 비디오 통신 응용에서 비디오 또는 이미지 스트림을 생성하거나 처리할 수 있는 장치일 수 있다.
실시예 12
도 14를 참조하면, 본 발명의 실시예는 디코더를 포함하는 구조도를 제공한다. 디코딩 장치는 수신 유닛(901), 디코더(902) 및 프레젠테이션 유닛(903)을 포함한다. 여기서,
수신 유닛(901)은 비디오 또는 이미지 비트 스트림을 수신하도록 구성된다.
예시적으로, 수신 유닛(901)은 유선 또는 무선 네트워크로부터 비디오 또는 이미지 비트 스트림을 수신하거나 전자 장치의 메모리를 판독하여 비디오 또는 이미지 비트 스트림을 획득하거나 데이터 연결을 통해 기타 장치로부터 전송된 비디오 또는 이미지 비트 스트림을 수신한다.
수신 유닛(901)의 입력은 또한 비디오 또는 이미지 비트 스트림을 포함하는 전송 스트림 또는 미디어 파일일 수 있다. 수신 유닛(901)은 전송 프로토콜 및 미디어 파일 포맷과 같은 표준에 따라 수신된 전송 스트림 또는 미디어 파일로부터 비디오 또는 이미지 비트 스트림을 추출한다.
설명해야 할 것은, 비디오 또는 이미지 스트림 외에도, 수신 유닛(901)의 출력은 또한 오디오 비트 스트림, 텍스트, 자막, 사진 등을 포함 할 수 있다. 수신 유닛(901)은 이러한 출력을 전자기기의 대응하는 처리 유닛으로 전송한다. 예를 들어, 수신 유닛(901)은 오디오 비트 스트림을 전자기기에 포함된 오디오 디코더로 출력한다.
디코더(902)는 수신 유닛(901)에 의해 출력된 수신된 비디오 또는 이미지 스트림을 디코딩하고 디코딩 비디오 또는 이미지를 출력하도록 구성된다.
프레젠테이션 유닛(903)은 디코더(902)에 의해 출력된 디코딩 복원 비디오 또는 이미지를 수신하고 프레젠테이션 동작을 수행하도록 구성된다.
설명해야 할 것은, 프레젠테이션 유닛(903)은 디스플레이 스크린과 같은 전자기기의 구성요소일 수 있으며, 프로젝터, 디스플레이 등과 같은 데이터 연결을 통해 전자기기에 연결된 단독적인 장치일 수도 있다.
선택적으로, 프레젠테이션 유닛(903)은 복원된 비디오 또는 이미지에 대한 후처리를 수행할 수 있으며, 예를 들어, 자동 초점, 자동 화이트 밸런스, 자동 노출, 역광 보정, 노이즈 감소, 샤프닝, 스티칭, 이미지 해상도 증가 또는 감소, 비디오 프레임 증가 또는 감소, 가상 뷰 합성 등을 수행할 수 있다.
설명해야 할 것은, 디코딩하여 복원된 비디오 또는 이미지 외에도, 프레젠테이션 유닛(903)의 입력은 또한 오디오, 텍스트, 자막 및 사진과 같은 전자기기의 기타 유닛으로부터 출력된 미디어 데이터를 포함할 수 있다. 프레젠테이션 유닛(903)의 입력은 또한 원격 교육 응용에서 지역 강사가 주요 콘텐츠에 대해 그린 선 등 마킹 데이터와 같은 인위적으로 생성된 데이터를 포함한다. 프레젠테이션 유닛(903)은 입력된 미디어 데이터를 중첩하여 시청자에게 보여준다.
본 실시예의 전자기기는 휴대폰, 컴퓨터, 셋톱 박스, TV, 플레이어, 미디어 서버, 휴대용 모바일 단말기, 디지털 카메라, TV 방송 시스템 장비, 콘텐츠 유통망 장비, 회의 TV 시스템 장비 등 비디오 통신 응용에서 비디오 또는 이미지 비트 스트림을 디코딩하거나 처리할 수 있는 장치 일 수 있다.
실시예 13
도 15를 참조하면, 본 발명의 실시예는 인코딩 장치 및 디코딩 장치를 포함하는 전자 시스템을 제공한다.
소스 장치(1001)는 도 13에 도시된 인코딩 장치를 포함한다.
저장 또는 전송 네트워크(1002)는 장치 또는 전자 시스템의 저장 장치, 데이터 연결을 통해 데이터 판독 동작을 수행하는 외부 저장 장치를 포함할 수 있으며, 유선 네트워크와 무선 네트워크로 구성된 데이터 전송 네트워크를 포함할 수도 있다. 저장 또는 전송 네트워크(1002)는 소스 장치(1001)의 저장 또는 전송 유닛(803)을 위한 저장 장치 또는 데이터 전송 네트워크를 제공한다.
싱크 장치(1003)는 도 14에 도시된 디코딩 장치를 포함한다. 싱크 장치(1003)의 수신 유닛(901)은 저장 또는 전송 네트워크(1002)에 의해 제공되는 비디오 또는 이미지 비트 스트림의 전송 스트림 또는 비디오 또는 이미지 비트 스트림의 미디어 파일을 포함하는 비디오 또는 이미지 비트 스트림을 수신한다.
실시예 14
본 발명의 실시예는 제 1 프로세서, 제 1 저장매체, 제 1 통신 버스를 포함하는 인코더를 제공하고, 여기서, 제 1 프로세서와 제 1 저장매체는 제 1 통신 버스를 통해 연결되고;
제 1 프로세서는 제 1 저장매체에 저장된 이미지 인코딩 관련 프로그램을 호출하고 다음과 같은 단계:
인코딩 블록 중의 화소 샘플값에 따라 인코딩 블록의 제1 참조 샘플값을 확정하는 단계;
제1 참조 샘플값에 따라 인코딩 블록의 인트라 예측모드를 확정하고, 인코딩 블록의 인트라 예측값을 계산하는 단계;
인코딩 블록의 원래값과 인트라 예측값에 따라 예측 차이 파라미터를 얻는 단계;
제1 참조 샘플값, 인트라 예측모드 및 예측 차이 파라미터에 대해 인코딩을 수행하고, 인코딩 비트를 비트 스트림에 기록하는 단계; 를 수행한다.
실시예 15
본 발명의 실시예는 제 2 프로세서, 제 2 저장매체 및 제 2 통신 버스를 포함하는 디코더를 제공하고, 여기서 제 2 프로세서와 제 2 저장매체는 제 2 통신 버스를 통해 연결되고;
제 2 프로세서는 제 2 저장매체에 저장된 이미지 디코딩 관련 프로그램을 호출하여 다음 단계를 수행한다:
비트 스트림을 파싱하여 디코딩 블록의 제 1 참조 샘플값, 인트라 예측모드 및 예측 차이 파라미터를 얻는 단계;
제 1 참조 샘플값에 따라 디코딩 블록의 인트라 예측 참조 샘플값을 확정하는 단계;
인트라 예측 참조 샘플값 및 인트라 예측모드에 따라 디코딩 블록의 인트라 예측값을 구성하는 단계;
예측 차이 파라미터를 사용하여 디코딩 블록의 예측 차이를 계산하는 단계;
인트라 예측값과 예측 차이의 합을 계산하여 디코딩 블록의 복원값을 얻는 단계; 를 포함한다.
한편, 본 발명의 일 실시예는 인코더에서 사용되는 컴퓨터 판독 가능 저장 매체를 제공하고, 컴퓨터 판독 가능 저장 매체는 하나 이상의 이미지 인코딩 관련 프로그램을 저장하고, 하나 이상의 이미지 인코딩 관련 프로그램은 또한 하나 이상의 제 1 프로세서에 의해 실행되어 상기 어느 하나의 이미지 인코딩 방법을 구현할 수 있다.
한편, 본 발명의 일 실시예는 디코더에 적용되는 컴퓨터 판독 가능 저장 매체를 제공하고, 컴퓨터 판독 가능 저장 매체는 하나 이상의 이미지 디코딩 관련 프로그램을 저장하고, 하나 이상의 이미지 디코딩 관련 프로그램은 또한 하나 이상의 제 2 프로세서에 의해 실행되어 상기 어느 하나의 이미지 디코딩 방법을 구현할 수 있다.
본 실시예의 전자 시스템은 비디오 통신 응용에서 디코딩 비디오 또는 이미지 비트 스트림을 생성, 저장 및 전송할 수 있는 시스템 또는 장치일 수 있으며 예를 들어, 휴대폰, 컴퓨터, IPTV 시스템, OTT 시스템, 인터넷 멀티미디어 시스템, 디지털 텔레비전 방송 시스템, 모니터링 시스템, 휴대용 모바일 단말기, 디지털 촬영기, 디지털 사진기, 화상 회의 시스템 장비 등일 수 있다.
본 발명은 또한 많은 기타 실시예를 가질 수 있으며, 본 발명의 사상 및 본질을 벗어나지 않은 상황에서 본 분야 당업자는 본 발명 따라 대응되게 다양한 변경 및 수정을 할 수 있지만, 이러한 대응 변경 및 모든 변형은 본 발명에 첨부된 청구항의 보호 범위에 속한다.
본 분야의 당업자는 본 발명의 실시예가 방법 또는 컴퓨터 프로그램 제품으로 제공될 수 있음을 이해할 수 있을 것이다. 따라서, 본 발명은 하드웨어 실시예, 소프트웨어 실시예 또는 소프트웨어와 하드웨어를 결합한 실시예의 형태를 채택할 수 있다. 또한, 본 발명은 컴퓨터 사용 가능 프로그램 코드를 포함하는 하나 이상의 컴퓨터 사용 가능 저장매체(디스크 저장 장치, 광학 저장 장치 등을 포함하지만 이에 제한되지 않음)상에서 구현되는 컴퓨터 프로그램 제품의 형태를 취할 수 있다.
본 발명은 본 발명의 실시예에 따른 방법, 장치(시스템) 및 컴퓨터 프로그램 제품의 흐름도 및/또는 블록도를 참조하여 설명된다. 흐름도 및/또는 블록도의 각 프로세스 및/또는 블록, 그리고 흐름도 및/또는 블록도의 프로세스 및/또는 블록의 조합은 컴퓨터 프로그램 명령에 의해 구현될 수 있음을 이해할 수 있을 것이다. 이러한 컴퓨터 프로그램 명령은 범용 컴퓨터의 프로세서, 전용 컴퓨터, 임베디드 프로세서 또는 기타 프로그래밍 가능한 데이터 처리 장비에 제공되어 기계를 생성할 수 있으며, 컴퓨터 또는 기타 프로그래밍 가능한 데이터 처리 장비의 프로세서에 의해 실행되는 명령을 통해 플로우의 한 프로세스 또는 여러 프로세스 및/또는 블록도의 한 블록 또는 복수의 블록에 지정된 기능을 실현할 수 있다.
이러한 컴퓨터 프로그램 명령은 또한 컴퓨터 또는 다른 프로그램 가능한 데이터 처리 장비가 특정 방식으로 작동하도록 안내할 수 있는 컴퓨터 판독 가능 메모리에 저장될 수 있으며, 컴퓨터 판독 가능 메모리에 저장된 명령어로 명령어 장치를 포함하는 제조품을 생성하도록 하며. 상기 명령어 장치는 플로우의 한 프로세스 또는 여러 프로세스 및/또는 블록도의 한 블록 또는 여러 블록에 지정된 기능을 구현한다.
본 발명의 실시예에 따르는 기술 방안에서 제 1 참조 샘플값은 인코딩 블록의 인코딩될 화소 샘플값에 따라 계산되고, 나아가 제 1 참조 샘플값은 인코딩 블록의 인트라 예측 참조 샘플값을 구성하는데 사용되므로, 인코딩 블록의 인접 블록의 샘플값을 모두 사용할 수 없거나 부분적으로 사용할 수 없는 경우, 인트라 예측의 예측값과 인코딩 블록 사이의 예측 차이값을 효과적으로 감소하여 인트라 예측모드의 인코딩 효율을 향상시킬 수 있다.
Claims (64)
- 인코딩 블록 중의 화소 샘플값에 따라 인코딩 블록의 제1 참조 샘플값을 확정하는 단계;
상기 제1 참조 샘플값에 따라 상기 인코딩 블록의 인트라 예측모드를 확정하고 상기 인코딩 블록의 인트라 예측값을 계산하는 단계;
상기 인코딩 블록의 원래값과 상기 인트라 예측값에 따라 예측 차이 파라미터를 얻는 단계;
상기 제1 참조 샘플값, 상기 인트라 예측모드 및 상기 예측 차이 파라미터에 대해 인코딩을 수행하고, 인코딩 비트를 비트 스트림에 기록하는 단계; 를 포함하되,
상기 제 1 참조 샘플값을 인코딩하는 방법은,
상기 제 1 참조 샘플값에 대한 인코딩을 통해 상기 제 1 참조 샘플값의 인코딩 비트를 얻는 단계;
상기 인코딩 비트를 상기 비트 스트림의 데이터 유닛에 기록하는 단계; 를 포함하고, 여기서 상기 비트 스트림의 데이터 유닛은 하나 이상의 파라미터 세트, 슬라이스 헤더 및 블록 레이어 데이터 유닛 중 하나 이상을 포함하는 것을 특징으로 하는 이미지 인코딩 방법. - 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 비트 스트림을 파싱하여 디코딩 블록의 제 1 참조 샘플값, 인트라 예측모드 및 예측 차이 파라미터를 얻는 단계;
상기 제 1 참조 샘플값에 따라 상기 디코딩 블록의 인트라 예측 참조 샘플값을 확정하는 단계;
상기 인트라 예측 참조 샘플값 및 상기 인트라 예측모드에 따라 상기 디코딩 블록의 인트라 예측값을 구성하는 단계;
예측 차이 파라미터를 사용하여 상기 디코딩 블록의 예측 차이를 계산하는 단계;
상기 인트라 예측값과 상기 예측 차이의 합을 계산하여 상기 디코딩 블록의 복원값을 얻는 단계; 를 포함하되,
상기 비트 스트림을 파싱하여 디코딩 블록의 제 1 참조 샘플값을 얻는 방법은,
상기 비트 스트림에서 하나 이상의 데이터 유닛을 파싱하여 상기 제 1 참조 샘플값을 얻는 단계를 포함하며, 여기서 상기 데이터 유닛은, 하나 이상의 파라미터 세트, 슬라이스 헤더 및 블록 레이어 데이터 유닛 중 하나 이상을 포함하는 것을 특징으로 하는 이미지 디코딩 방법. - 제 26 항에 있어서,
상기 제 1 참조 샘플값에 따라 상기 디코딩 블록의 인트라 예측 참조 샘플값을 확정하는 방법은,
상기 디코딩 블록의 참조 샘플값의 존재 여부를 판단하는 단계, 여기서 각각의 상기 참조 샘플값은 상기 디코딩 블록에 인접된 대응되는 화소점의 복원된 화소 샘플값이고;
상기 디코딩 블록의 일부 또는 전부의 참조 샘플값이 존재하지 않는 경우, 상기 제1 참조 샘플값에 따라 상기 디코딩 블록의 존재하지 않는 값을 확정하여 인트라 예측 참조 샘플값을 얻는 단계; 를 포함하고,
또는 상기 디코딩 블록의 매칭 블록 중의 참조 샘플값이 전부 존재하는지 여부를 판단하는 단계;
상기 디코딩 블록의 매칭 블록 중의 일부 또는 전부의 참조 샘플값이 존재하지 않는 경우, 상기 디코딩 블록의 일부 또는 전부의 참조 샘플값이 존재하지 않는 것으로 판단하고, 상기 제1 참조 샘플값에 따라 상기 디코딩 블록의 존재하지 않는 참조 샘플값을 확정하여 인트라 예측 참조 샘플값을 얻는 단계; 를 포함하는 것을 특징으로 하는 이미지 디코딩 방법. - 제 27 항에 있어서,
상기 디코딩 블록의 매칭 블록은 상기 디코딩 블록이 위치한 이미지 중 디코딩 블록의 크기와 동일한 영역에 위치하는 것을 특징으로 하는 이미지 디코딩 방법. - 제 27 항에 있어서,
상기 참조 샘플값의 존재 여부를 판단하는 방법은,
상기 참조 샘플값에 대응되는 참조 화소점 위치가 상기 디코딩 블록이 위치한 이미지에서 디코딩되지 않은 이미지 영역에 위치하는 경우, 상기 참조 샘플값은 존재하지 않는 것으로 판단되고;
상기 참조 샘플값에 대응되는 참조 화소점 위치가 상기 디코딩 블록이 위치한 이미지의 경계 밖에 위치하는 경우, 상기 참조 샘플값은 존재하지 않는 것으로 판단되고;
상기 디코딩 블록이 위치한 이미지에서, 상기 참조 샘플값에 대응되는 참조 화소점 위치가 상기 디코딩 블록이 위치한 슬라이스 외부에 있는 경우, 상기 참조 샘플값은 존재하지 않는 것으로 판단되고;
상기 디코딩 블록이 위치한 이미지에서, 상기 참조 샘플값에 대응되는 참조 화소점 위치가 상기 디코딩 블록이 위치한 타일 외부에 있는 경우, 상기 참조 샘플값은 존재하지 않는 것으로 판단되고;
인트라 예측 제한 모드를 사용하는 경우, 상기 디코딩 블록이 위치한 이미지에서 상기 참조 샘플값에 대응되는 참조 화소점 위치가 비 인트라 예측모드의 디코딩 블록에 위치하면 상기 참조 샘플값이 존재하지 않는 것으로 판단되는; 중 하나 이상을 포함하는 것을 특징으로 하는 이미지 디코딩 방법. - 삭제
- 제 26 항에 있어서,
상기 비트 스트림을 파싱하여 디코딩 블록의 제 1 참조 샘플값을 얻는 방법은,
상기 비트 스트림에서 하나 이상의 데이터 유닛을 파싱하여 샘플값 사용방식 파라미터를 얻는 단계를 포함하며, 여기서 상기 샘플값 사용방식 파라미터는 상기 디코딩 블록의 참조 샘플값 설정 과정에서 상기 제 1 참조 샘플값에 포함된 샘플값의 사용방식을 지시하는데 사용되는 것을 특징으로 하는 이미지 디코딩 방법. - 제 26 항에 있어서,
상기 제 1 참조 샘플값은 샘플값 제어 파라미터를 포함하고, 상기 샘플값 제어 파라미터는, 시퀀스 레이어 샘플값 제어 파라미터, 이미지 레이어 샘플값 제어 파라미터, 슬라이스 레이어 샘플값 제어 파라미터 및 블록 레이어 샘플값 제어 파라미터 중 하나 이상을 포함하는 것을 특징으로 하는 이미지 디코딩 방법. - 제 27 항에 있어서,
상기 제 1 참조 샘플값에 따라 상기 디코딩 블록의 존재하지 않는 참조 샘플값을 확정하는 방법은,
상기 제 1 참조 샘플값을 사용하여 상기 디코딩 블록의 존재하지 않는 참조 샘플값을 설정하는 단계를 포함하는 것을 특징으로 하는 이미지 디코딩 방법. - 제 27 항에 있어서,
상기 제 1 참조 샘플값은 샘플값 제어 파라미터를 포함하고, 상기 제 1 참조 샘플값에 따라 상기 디코딩 블록의 존재하지 않는 참조 샘플값을 확정하는 방법은,
상기 샘플값 제어 파라미터가 상기 제 1 참조 샘플값을 사용하여 존재하지 않는 참조 샘플값을 구성하도록 지시하는 경우, 상기 제 1 참조 샘플값을 사용하여 상기 디코딩 블록의 존재하지 않는 참조 샘플값을 설정하는 단계를 포함하는 것을 특징으로 하는 이미지 디코딩 방법. - 제 27 항에 있어서,
상기 제 1 참조 샘플값은 샘플값 사용방식 파라미터를 포함하고, 상기 제1 참조 샘플값에 따라 상기 디코딩 블록의 존재하지 않는 참조 샘플값을 확정하는 방법은,
상기 제 1 참조 샘플값이 적어도 2 개의 샘플값을 포함하는 경우, 상기 샘플값 사용방식 파라미터에 따라 상기 제 1 참조 샘플값에 포함된 샘플값을 사용하여 상기 디코딩 블록의 존재하지 않는 참조 샘플값을 대응되게 설정하는 단계를 포함하는 것을 특징으로 하는 이미지 디코딩 방법. - 제 35 항에 있어서,
상기 제 1 참조 샘플값은 2 개의 샘플값을 포함하고, 상기 샘플값 사용방식 파라미터에 따라, 상기 제 1 참조 샘플값에 포함된 샘플값을 사용하여 상기 디코딩 블록의 존재하지 않는 참조 샘플값을 대응되게 설정하는 방법은,
미리 설정된 규칙에 따라 상기 제 1 참조 샘플값의 두 개의 샘플값을 사용하여 상기 디코딩 블록의 좌측 인접 참조 화소점 위치에서 존재하지 않는 참조 샘플값과 상부 인접 참조 화소점에 존재하지 않는 참조 샘플값을 각각 설정하는 단계를 포함하는 것을 특징으로 하는 이미지 디코딩 방법. - 제 26 항에 있어서,
상기 인트라 예측 참조 샘플값 및 상기 인트라 예측모드에 따라 상기 디코딩 블록의 인트라 예측값을 구성하는 방법은,
상기 인트라 예측 참조 샘플값을 필터링 처리하여 필터링된 참조 샘플값을 획득하는 단계;
상기 필터링된 참조 샘플값을 사용하여 상기 인트라 예측모드에 따라 상기 디코딩 블록의 인트라 예측값을 계산하여 얻는 단계; 를 더 포함하는 것을 특징으로 하는 이미지 디코딩 방법. - 제 37 항에 있어서,
상기 인트라 예측 참조 샘플값을 필터링 처리하여 필터링된 참조 샘플값을 획득하는 단계는,
상기 비트 스트림을 파싱하여 필터링 제어 파라미터를 얻는 단계, 여기서 상기 필터링 제어 파라미터는 상기 인트라 예측 참조 샘플값에 대한 필터링 여부를 지시하는데 사용되고;
상기 필터링 제어 파라미터가 상기 인트라 예측 참조 샘플값에 대해 필터링하도록 지시하는 경우, 상기 인트라 예측 참조 샘플값을 필터링하여 상기 필터링된 참조 샘플값을 얻는 단계; 를 포함하는 것을 특징으로 하는 이미지 디코딩 방법. - 제 37 항에 있어서,
상기 인트라 예측 참조 샘플값을 필터링 처리하여 필터링된 참조 샘플값을 획득하는 방법은,
상기 디코딩 블록의 크기가 미리 설정된 값과 같으면 상기 비트 스트림을 파싱하여 필터링 제어 파라미터를 얻는 단계;
상기 필터링 제어 파라미터가 상기 인트라 예측 참조 샘플값에 대해 필터링하도록 지시하는 경우, 상기 인트라 예측 참조 샘플값을 필터링 처리하여 필터링된 상기 참조 샘플값을 얻는 단계; 를 포함하는 것을 특징으로 하는 이미지 디코딩 방법. - 제 37 항에 있어서,
상기 인트라 예측 참조 샘플값을 필터링 처리하여 필터링된 참조 샘플값을 획득하는 방법은,
상기 디코딩 블록의 크기가 미리 설정된 값과 같으면 상기 인트라 예측 참조 샘플값을 필터링 처리하여 상기 필터링된 참조 샘플값을 얻는 단계를 포함하는 것을 특징으로 하는 이미지 디코딩 방법. - 제 37 항에 있어서,
상기 인트라 예측 참조 샘플값을 필터링 처리하여 필터링된 참조 샘플값을 획득하는 방법은,
상기 디코딩 블록의 인트라 예측모드가 미리 설정된 모드면 상기 비트 스트림을 파싱하여 필터링 제어 파라미터를 얻는 단계;
상기 필터링 제어 파라미터가 상기 인트라 예측 참조 샘플값에 대해 필터링하도록 지시하는 경우, 상기 인트라 예측 참조 샘플값을 필터링 처리하여 상기 필터링된 참조 샘플값을 얻는 단계; 를 포함하며,
또는,
상기 인트라 예측 참조 샘플값을 필터링 처리하여 필터링된 참조 샘플값을 획득하는 방법은,
상기 디코딩 블록의 인트라 예측모드가 미리 설정된 모드면 상기 인트라 예측 참조 샘플값을 필터링 처리하여 상기 필터링된 참조 샘플값을 얻는 단계를 포함하며,
또는,
상기 인트라 예측 참조 샘플값을 필터링 처리하여 필터링된 참조 샘플값을 획득하는 방법은,
상기 디코딩 블록의 크기가 미리 설정된 값과 같으며 상기 디코딩 블록의 인트라 예측모드가 미리 설정된 모드인 경우, 상기 비트 스트림을 파싱하여 필터링 제어 파라미터를 얻는 단계;
상기 필터링 제어 파라미터가 상기 인트라 예측 참조 샘플값에 대해 필터링하도록 지시하는 경우, 상기 인트라 예측 참조 샘플값을 필터링 처리하여 상기 필터링된 참조 샘플값을 얻는 단계; 를 포함하며,
또는,
상기 인트라 예측 참조 샘플값을 필터링 처리하여 필터링된 참조 샘플값을 획득하는 방법은,
상기 디코딩 블록의 크기가 미리 설정된 값과 같으며 상기 디코딩 블록의 인트라 예측모드가 미리 설정된 모드인 경우, 상기 인트라 예측 참조 샘플값을 필터링 처리하여 상기 필터링된 참조 샘플값을 얻는 것을 포함하는 것을 특징으로 하는 이미지 디코딩 방법. - 삭제
- 삭제
- 삭제
- 제 26 항에 있어서,
상기 예측 차이 파라미터를 사용하여 상기 디코딩 블록의 예측 차이를 계산하는 방법은,
상기 예측 차이 파라미터를 스케일링 및 변환 처리하여 상기 디코딩 블록의 예측 차이를 얻는 단계를 포함하며,
또는,
상기 인트라 예측값과 상기 예측 차이의 합을 상기 디코딩 블록의 복원값으로 설정한 후, 상기 방법은,
상기 디코딩 블록의 복원값에 대해 루프 필터링 처리하여 디코딩값을 얻는 단계를 더 포함하는 것을 특징으로 하는 이미지 디코딩 방법. - 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 제 1 프로세서, 제 1 저장매체 및 제 1 통신 버스를 포함하고, 여기서 상기 제 1 프로세서와 상기 제 1 저장매체는 상기 제 1 통신 버스를 통해 연결되고;
상기 제 1 프로세서는 상기 제 1 저장매체에 저장된 이미지 인코딩 관련 프로그램을 호출하여 제1항에 따른 방법을 수행하며,
상기 제 1 참조 샘플값을 인코딩하는 방법은,
상기 제 1 참조 샘플값에 대한 인코딩을 통해 상기 제 1 참조 샘플값의 인코딩 비트를 얻는 단계;
상기 인코딩 비트를 상기 비트 스트림의 데이터 유닛에 기록하는 단계; 를 포함하고, 여기서 상기 비트 스트림의 데이터 유닛은 하나 이상의 파라미터 세트, 슬라이스 헤더 및 블록 레이어 데이터 유닛 중 하나 이상을 포함하는 것을 특징으로 하는 인코더. - 제 2 프로세서, 제 2 저장매체 및 제 2 통신 버스를 포함하고, 여기서 상기 제 2 프로세서와 상기 제 2 저장매체는 상기 제 2 통신 버스를 통해 연결되고;
상기 제 2 프로세서는 상기 제 2 저장매체에 저장된 이미지 디코딩 관련 프로그램을 호출하여 다음 단계:
비트 스트림을 파싱하여 디코딩 블록의 제 1 참조 샘플값, 인트라 예측모드 및 예측 차이 파라미터를 얻는 단계;
상기 제 1 참조 샘플값에 따라 상기 디코딩 블록의 인트라 예측 참조 샘플값을 확정하는 단계;
상기 인트라 예측 참조 샘플값 및 상기 인트라 예측모드에 따라 상기 디코딩 블록의 인트라 예측값을 구성하는 단계;
예측 차이 파라미터를 사용하여 상기 디코딩 블록의 예측 차이를 계산하는 단계;
상기 인트라 예측값과 상기 예측 차이의 합을 계산하여 상기 디코딩 블록의 복원값을 얻는 단계; 를 수행하고,
상기 비트 스트림을 파싱하여 디코딩 블록의 제 1 참조 샘플값을 얻는 방법은,
상기 비트 스트림에서 하나 이상의 데이터 유닛을 파싱하여 상기 제 1 참조 샘플값을 얻는 단계를 포함하며, 여기서 상기 데이터 유닛은, 하나 이상의 파라미터 세트, 슬라이스 헤더 및 블록 레이어 데이터 유닛 중 하나 이상을 포함하는 것을 특징으로 하는 디코더. - 삭제
- 삭제
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810671512.9A CN110650337B (zh) | 2018-06-26 | 2018-06-26 | 一种图像编码方法、解码方法、编码器、解码器及存储介质 |
CN201810671512.9 | 2018-06-26 | ||
PCT/CN2019/086046 WO2020001170A1 (zh) | 2018-06-26 | 2019-05-08 | 一种图像编码方法、解码方法、编码器、解码器及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20210028212A KR20210028212A (ko) | 2021-03-11 |
KR102513756B1 true KR102513756B1 (ko) | 2023-03-24 |
Family
ID=68986043
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020217002646A KR102513756B1 (ko) | 2018-06-26 | 2019-05-08 | 이미지 인코딩 방법, 디코딩 방법, 인코더, 디코더 및 저장매체 |
Country Status (6)
Country | Link |
---|---|
US (1) | US11343513B2 (ko) |
EP (1) | EP3817383A4 (ko) |
JP (1) | JP7393366B2 (ko) |
KR (1) | KR102513756B1 (ko) |
CN (1) | CN110650337B (ko) |
WO (1) | WO2020001170A1 (ko) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109889827B (zh) * | 2019-04-11 | 2021-01-29 | 腾讯科技(深圳)有限公司 | 帧内预测编码方法、装置、电子设备及计算机存储介质 |
JP7541439B2 (ja) | 2020-02-19 | 2024-08-28 | 日本放送協会 | 画像符号化装置、画像復号装置及びこれらのプログラム |
JP7514107B2 (ja) | 2020-04-24 | 2024-07-10 | 日本放送協会 | 画像符号化装置、画像復号装置及びこれらのプログラム |
CN116578273B (zh) * | 2023-02-28 | 2024-02-09 | 中国长江三峡集团有限公司 | 一种编码结构设计方法、装置、存储介质及电子设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130039421A1 (en) | 2010-04-09 | 2013-02-14 | Jin Ho Lee | Method and apparatus for performing intra-prediction using adaptive filter |
WO2018026166A1 (ko) * | 2016-08-01 | 2018-02-08 | 한국전자통신연구원 | 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE602006020556D1 (de) * | 2005-04-01 | 2011-04-21 | Panasonic Corp | Bilddecodierungsvorrichtung und bilddecodierungsverfahren |
JP2006304102A (ja) | 2005-04-22 | 2006-11-02 | Renesas Technology Corp | 画像符号化ユニットと画像符号化方法 |
CN101483780B (zh) * | 2008-01-07 | 2011-08-24 | 华为技术有限公司 | 一种帧内dc预测的方法及装置 |
KR101591825B1 (ko) * | 2008-03-27 | 2016-02-18 | 엘지전자 주식회사 | 비디오 신호의 인코딩 또는 디코딩 방법 및 장치 |
KR101373814B1 (ko) * | 2010-07-31 | 2014-03-18 | 엠앤케이홀딩스 주식회사 | 예측 블록 생성 장치 |
HUE040604T2 (hu) * | 2010-08-17 | 2019-03-28 | M&K Holdings Inc | Berendezés intra predikció mód dekódolására |
WO2012134046A2 (ko) * | 2011-04-01 | 2012-10-04 | 주식회사 아이벡스피티홀딩스 | 동영상의 부호화 방법 |
CN103067699B (zh) | 2011-10-20 | 2018-02-16 | 中兴通讯股份有限公司 | 一种帧内预测模式编码器、解码器及其方法和电子设备 |
MX2014005114A (es) * | 2011-10-28 | 2014-08-27 | Samsung Electronics Co Ltd | Metodo y aparato para intra-prediccion de video. |
US20160241882A1 (en) * | 2013-10-11 | 2016-08-18 | Sony Corporation | Image processing apparatus and image processing method |
KR101961385B1 (ko) | 2014-07-07 | 2019-03-25 | 에이치에프아이 이노베이션 인크. | 인트라 블록 카피 검색 및 보상 범위의 방법 |
US10455249B2 (en) * | 2015-03-20 | 2019-10-22 | Qualcomm Incorporated | Downsampling process for linear model prediction mode |
US10200713B2 (en) * | 2015-05-11 | 2019-02-05 | Qualcomm Incorporated | Search region determination for inter coding within a particular picture of video data |
WO2017069419A1 (ko) * | 2015-10-22 | 2017-04-27 | 엘지전자 주식회사 | 비디오 코딩 시스템에서 인트라 예측 방법 및 장치 |
US10194170B2 (en) * | 2015-11-20 | 2019-01-29 | Mediatek Inc. | Method and apparatus for video coding using filter coefficients determined based on pixel projection phase |
CN108293116A (zh) * | 2015-11-24 | 2018-07-17 | 三星电子株式会社 | 视频解码方法及设备和视频编码方法及设备 |
CN116962721A (zh) * | 2016-05-04 | 2023-10-27 | 微软技术许可有限责任公司 | 利用样本值的非相邻参考线进行帧内图片预测的方法 |
-
2018
- 2018-06-26 CN CN201810671512.9A patent/CN110650337B/zh active Active
-
2019
- 2019-05-08 US US17/255,018 patent/US11343513B2/en active Active
- 2019-05-08 EP EP19824813.0A patent/EP3817383A4/en active Pending
- 2019-05-08 JP JP2020572841A patent/JP7393366B2/ja active Active
- 2019-05-08 KR KR1020217002646A patent/KR102513756B1/ko active IP Right Grant
- 2019-05-08 WO PCT/CN2019/086046 patent/WO2020001170A1/zh unknown
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130039421A1 (en) | 2010-04-09 | 2013-02-14 | Jin Ho Lee | Method and apparatus for performing intra-prediction using adaptive filter |
WO2018026166A1 (ko) * | 2016-08-01 | 2018-02-08 | 한국전자통신연구원 | 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체 |
Also Published As
Publication number | Publication date |
---|---|
WO2020001170A1 (zh) | 2020-01-02 |
CN110650337A (zh) | 2020-01-03 |
CN110650337B (zh) | 2022-04-01 |
EP3817383A4 (en) | 2022-06-29 |
EP3817383A1 (en) | 2021-05-05 |
US11343513B2 (en) | 2022-05-24 |
JP2021529473A (ja) | 2021-10-28 |
KR20210028212A (ko) | 2021-03-11 |
US20210274193A1 (en) | 2021-09-02 |
JP7393366B2 (ja) | 2023-12-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102628895B1 (ko) | 조인트 크로마 코딩을 사용하는 블록에 대해 크로마 디블로킹을 수행하기 위한 인코더, 디코더 및 대응 방법 | |
US10708594B2 (en) | Adaptive skip or zero block detection combined with transform size decision | |
KR102518627B1 (ko) | 이미지 인코딩 방법, 디코딩방법, 인코더 및 디코더 | |
KR102513756B1 (ko) | 이미지 인코딩 방법, 디코딩 방법, 인코더, 디코더 및 저장매체 | |
TW202005399A (zh) | 基於區塊之自適應迴路濾波器(alf)之設計及發信令 | |
US11153591B2 (en) | Method and apparatus for color transform in VVC | |
US11412235B2 (en) | Color transform for video coding | |
CN113508592A (zh) | 编码器、解码器及相应的帧间预测方法 | |
CN112673626A (zh) | 各分割约束元素之间的关系 | |
KR20210107889A (ko) | 인코더, 디코더 및 디블로킹 필터 적응 방법 | |
CN114679583B (zh) | 视频编码器、视频解码器及对应方法 | |
KR20220065880A (ko) | 아핀 모션 보상에서 dct 기반 보간 필터 및 향상된 쌍선형 보간 필터의 사용 | |
CN113228632A (zh) | 用于局部亮度补偿的编码器、解码器、以及对应方法 | |
WO2024118114A1 (en) | Systems and methods for signaling of downsampling filters for chroma from luma intra prediction mode | |
WO2023212254A1 (en) | Methods and devices for high precision intra prediction |
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 |