KR20240089756A - 다층 코딩 및 디코딩을 위한 alf aps - Google Patents

다층 코딩 및 디코딩을 위한 alf aps Download PDF

Info

Publication number
KR20240089756A
KR20240089756A KR1020247015999A KR20247015999A KR20240089756A KR 20240089756 A KR20240089756 A KR 20240089756A KR 1020247015999 A KR1020247015999 A KR 1020247015999A KR 20247015999 A KR20247015999 A KR 20247015999A KR 20240089756 A KR20240089756 A KR 20240089756A
Authority
KR
South Korea
Prior art keywords
alf
aps
layer
values
video data
Prior art date
Application number
KR1020247015999A
Other languages
English (en)
Inventor
파브리스 어반
필립 드 라그랑주
필립 보르데스
프랑크 히론
Original Assignee
인터디지털 씨이 페이튼트 홀딩스, 에스에이에스
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 인터디지털 씨이 페이튼트 홀딩스, 에스에이에스 filed Critical 인터디지털 씨이 페이튼트 홀딩스, 에스에이에스
Publication of KR20240089756A publication Critical patent/KR20240089756A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/187Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a scalable video layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop

Abstract

다층 비디오 코딩 스킴에서의 계층별 제한된 신택스 범위는 계층간 충돌을 방지한다. 일 실시예에서, 적응형 파라미터 세트에 정의된 적응형 루프 필터링 세트들은 다수의 계층에서 별개이다. 다른 실시예에서, 계층 식별이 또한 적응 파라미터 세트를 고유하게 식별하는 데 사용된다. 관련 실시예에서, 하이 레벨 신택스 플래그가 계층이 다른 계층들과는 독립적인지를 나타낸다.

Description

다층 코딩 및 디코딩을 위한 ALF APS
본 실시예들 중 적어도 하나는 일반적으로 비디오 인코딩 또는 디코딩, 압축 또는 압축해제를 위한 방법 또는 장치에 관한 것이다.
높은 압축 효율을 달성하기 위해, 이미지 및 비디오 코딩 스킴들은 통상적으로, 모션 벡터 예측을 포함한 예측과, 비디오 콘텐츠에서 공간적 및 시간적 중복성을 활용하기 위한 변환을 채용한다. 일반적으로, 인트라 또는 인터 예측은 인트라 또는 인터 프레임 상관관계를 이용하는 데 사용되고, 이어서, 종종 예측 에러들 또는 예측 잔차들로 표시되는, 오리지널 이미지와 예측 이미지 사이의 차이들은 변환되고, 양자화되고, 엔트로피 코딩된다. 비디오를 재구성하기 위해, 압축 데이터는 엔트로피 코딩, 양자화, 변환, 및 예측에 대응하는 역 프로세스들에 의해 디코딩된다. 다기능 비디오 코덱(Versatile Video Coding, VVC)은 비디오 시퀀스들의 압축에 사용되는 비디오 코딩 표준이다.
본 실시예들 중 적어도 하나는 일반적으로 비디오 인코딩 또는 디코딩을 위한 방법 또는 장치에 관한 것이며, 보다 구체적으로는, VVC(Versatile Video Coding 또는 H.266) 표준에서와 같이, 다층 코딩에서 적응형 루프 필터(ALF, Adaptive Loop Filter)를 위한 적응 파라미터 세트(APS, Adaptation Parameter Set)를 사용하기 위한 방법 또는 장치에 관한 것이다.
제1 태양에 따르면, 방법이 제공된다. 방법은 비디오 데이터를 포함하는 다수의 계층들에 대응하는 신택스 요소에 값들의 범위들을 할당하기 위한 단계; 및 상기 할당된 값들의 범위들을 사용하여 비디오 데이터의 다수의 계층들을 인코딩하기 위한 단계를 포함한다.
제2 태양에 따르면, 방법이 제공된다. 방법은 비디오 데이터를 포함하는 다수의 계층들에 대응하는 신택스 요소의 값들의 범위들을 결정하기 위한 단계; 및 상기 결정된 값들의 범위들을 사용하여 비디오 데이터의 다수의 계층들을 디코딩하기 위한 단계를 포함한다.
다른 태양에 따르면, 장치가 제공된다. 장치는 프로세서를 포함한다. 프로세서는 전술된 방법들 중 임의의 것을 실행함으로써 비디오의 블록을 인코딩하거나 비트스트림을 디코딩하도록 구성될 수 있다.
적어도 하나의 실시예의 다른 일반적인 태양에 따르면, 디코딩 실시예들 중 임의의 것에 따른 장치; 및 (i) 신호를 수신하도록 구성된 안테나 - 신호는 비디오 블록을 포함함 -, (ii) 비디오 블록을 포함하는 수신된 신호를 주파수들의 대역으로 제한하도록 구성된 대역 제한기, 또는 (iii) 비디오 블록을 나타내는 출력을 디스플레이하도록 구성된 디스플레이 중 적어도 하나를 포함하는 디바이스가 제공된다.
적어도 하나의 실시예의 다른 일반적인 태양에 따르면, 기술된 인코딩 실시예들 또는 변형예들 중 임의의 것에 따라 생성된 데이터 콘텐츠를 포함하는 비일시적 컴퓨터 판독가능 매체가 제공된다.
적어도 하나의 실시예의 다른 일반적인 태양에 따르면, 기술된 인코딩 실시예들 또는 변형예들 중 임의의 것에 따라 생성된 비디오 데이터를 포함하는 신호가 제공된다.
적어도 하나의 실시예의 다른 일반적인 태양에 따르면, 기술된 인코딩 실시예들 또는 변형예들 중 임의의 것에 따라 생성된 데이터 콘텐츠를 포함하도록 비트스트림이 포맷화된다.
적어도 하나의 실시예의 다른 일반적인 태양에 따르면, 프로그램이 컴퓨터에 의해 실행될 때, 컴퓨터로 하여금, 기술된 디코딩 실시예들 또는 변형예들 중 임의의 것을 수행하게 하는 명령어들을 포함하는 컴퓨터 프로그램 제품이 제공된다.
일반적인 태양들의 이들 및 다른 태양들, 특징들 및 이점들이 첨부된 도면들과 관련하여 읽혀질 예시적인 실시예들의 다음의 상세한 설명으로부터 명백해질 것이다.
도 1은 다층 VTM 인코더의 개요를 예시한다.
도 2는 대칭 필터(좌측) 및 필터 회전(우측)을 예시한다.
도 3은 ALF 및 CC-ALF 필터들을 예시한다.
도 4는 전체 ALF 및 CC-ALF 프로세스를 예시한다.
도 5는 비트스트림의 예시적인 구조를 예시한다.
도 6은 현재 픽처 루마 성분에 대해 사용할 alf_aps_id들을 선택하기 위한 예시적인 프로세스를 예시한다.
도 7은 다층 비트스트림의 예시적인 구조를 예시한다.
도 8은 APS 식별자로서 layer_id를 갖는 ALF 파라미터들의 예시적인 디코딩 프로세스를 예시한다.
도 9는 일반적인 설명된 태양들 하의 방법의 일 실시예를 예시한다.
도 10은 일반적인 설명된 태양들 하의 방법의 다른 실시예를 도시한다.
도 11은 설명된 태양들 하의 예시적인 장치를 도시한다.
도 12는 표준의 포괄적 비디오 압축 스킴을 도시한다.
도 13은 표준의 포괄적 비디오 압축해제 스킴을 도시한다.
도 14는 일반적인 설명된 태양들 하의 인코딩/디코딩을 위한 프로세서 기반 시스템을 도시한다.
본 명세서에 설명되는 실시예들은 비디오 압축의 분야의 것이며, 일반적으로 비디오 압축과 비디오 인코딩 및 디코딩, 보다 구체적으로는 다층 코딩 및 디코딩을 위한 적응형 루프 필터(ALF) 적응 파라미터 세트(APS)를 사용하는 것과 관련된다.
높은 압축 효율을 달성하기 위해, 이미지 및 비디오 코딩 스킴들은 통상적으로, 모션 벡터 예측을 포함한 예측과, 비디오 콘텐츠에서 공간적 및 시간적 중복성을 활용하기 위한 변환을 채용한다. 일반적으로, 인트라 또는 인터 예측은 인트라 또는 인터 프레임 상관관계를 이용하는 데 사용되고, 이어서, 종종 예측 에러들 또는 예측 잔차들로 표시되는, 오리지널 이미지와 예측 이미지 사이의 차이들은 변환되고, 양자화되고, 엔트로피 코딩된다. 비디오를 재구성하기 위해, 압축 데이터는 엔트로피 코딩, 양자화, 변환, 및 예측에 대응하는 역 프로세스들에 의해 디코딩된다.
VVC는 확장성, 멀티뷰 또는 360° 사용 사례들을 위한, 다층 프로파일을 이용한, 다층 인코딩을 가능하게 한다. 소스에 대응하는 각각의 계층은 개별적으로 또는 계층간 종속적으로 코딩되며, 이어서 비트스트림은 계층 정보와 함께 단일 비트스트림으로 병합된다.
도 1은 VTM(Versatile Test Model)의 다층 구현 개요를 도시한다. 각각의 계층에 대해 별개의 인코더 인스턴스가 생성된다. 각각의 계층화된 인코더는 그의 소스를 인코딩한다(예를 들어, 공간 확장성 사용 사례에서, 각각의 소스는 상이한 해상도의 동일한 비디오 시퀀스에 대응함). 계층간 예측이 가능하다. 각각의 픽처에 대해, 계층화된 인코더 프로세스들은, 최저 계층 ID로부터 시작하여, 순차적으로 시작된다. 인코더들은 APS ID와 같은 계층 독립적 변수를 공유한다. 모든 픽처에 대해, 출력 비트스트림들은, 예를 들어 NAL(Network Abstraction Layer) 유닛 헤더에서 시그널링되는 그들의 대응하는 계층 ID(IDentification number) 정보와 함께, 공통 비트스트림으로 다중화된다.
VVC에서, 4개의 인루프 필터(in-loop filter)가 있다: 루마-매핑 크로마 스케일링(LMCS, luma-mapping chroma scaling), 디블로킹 필터(DBF, deblocking filter), 샘플 적응형 오프셋(SAO, sample adaptive offset) 및 ALF(Adaptive Loop Filter, 적응형 루프 필터). 인루프 ALF 필터는 그의 목적이 오리지널 픽처에 비해 왜곡을 감소시키는 것인 선형 필터이다.
ALF 필터의 계수들 "cn"은 위너 기반(Wiener-based) 적응형 필터 기법을 사용함으로써 오리지널 샘플들 "s(r)"과 필터링된 샘플들 "t(r)" 사이의 평균 제곱 오차를 최소화하도록 결정된다.
[식 2]
여기서,
r=(x,y)는 필터링될 영역 "R"에 속하는 샘플 위치이다.
오리지널 샘플: s(r)
필터링될 샘플: t(r)
N개의 계수들을 갖는 FIR 필터: c = [c0, … cN-1]T
필터 탭 위치 오프셋: { p0, p1,… pN-1}, 여기서 pn은 n번째 필터 탭의 r에 대한 샘플 위치 오프셋을 나타낸다. 이하에서 탭 위치들의 세트를 필터 "형상"으로 또한 명명할 것이다.
필터링된 샘플: f(r)
s(r)과 f(r) 사이의 최소 제곱 오차 합(SSE)을 구하기 위해, cn에 대한 SSE의 도함수를 0이라고 한다. 이어서 계수 값들 "c"는 하기 식을 푸는 것(320, 330)에 의해 획득되며:
[식 3]
[Tc].cT = vT
여기서,
VVC(Versatile Video Coding)에서, 재구성된 루마 샘플들 "t(r)"은 K개의 클래스들로 분류되고(310)(루마 샘플들에 대해 K=25, 크로마 샘플들에 대해 K=1), K개의 상이한 필터들이 각각의 클래스의 샘플들로 결정된다. 분류는 국소적 기울기들로 도출된 방향성 및 활동 값들로 이루어진다.
VVC에서, ALF의 계수들은 비트스트림에서 코딩될 수 있으며, 따라서 그들이 비디오 콘텐츠에 동적으로 적응될 수 있다. 몇몇 디폴트 계수들이 또한 있다. 인코더는 코딩 트리 유닛(CTU, Coding Tree Unit)마다 사용될 계수들의 세트를 선택하고 표시한다(340).
VVC에서, 대칭 필터들이 사용되며, 몇몇 필터들은 회전에 의해 다른 필터들로부터 획득될 수 있다(도 2).
VVC에서, APS에 저장되는 추정된 필터들에 더하여, 하드코딩된 계수들을 갖는 16개의 고정된 필터 세트가 있다.
추가적인 교차 성분 필터(CC-ALF)가 크로마 샘플들을 정정할 수 있다(도 3). 정정은 병치된(co-located) 재구성된 루마 샘플들의 선형 조합으로서 이루어진다. 식 2, 식 3에서, s(r)의 값들은 타겟(오리지널) 크로마 샘플 값들이고, t(r)은 루마 샘플 값들이고, f(r)은 크로마 정정이다.
전체 ALF(Adaptive Loop Filter, 적응형 루프 필터) 및 CC-ALF(Cross Component ALF, 교차 성분 ALF) 인코더 프로세스가 도 4에 도시되어 있다. 재구성된 이미지에 기초하여, 루마 샘플들이 먼저 분류되고(310), 이어서 ALF 필터 계수들이 도출된다(320). 크로마 계수들이 또한 도출된다(330). 이어서 CTU마다 최상의 계수 세트가 선택되고(340), 루마 및 크로마 성분들에 적용된다(350). 이어서 CC-ALF 계수들의 도출(360), CTU마다의 최상의 계수 세트의 선택(370) 및 그들의 적용(380)으로 CC-ALF가 실행된다. 이어서 필터링된 픽처가 획득된다.
주어진 픽처에 대해, ALF 계수들은 하나의 APS NAL 유닛에 코딩될 수 있다. 동일한 ID를 갖는 다수의 APS가 있을지라도(예를 들어, 픽처가 다수의 서브픽처로 분할되는 경우) 동일한 픽처에 대한 주어진 ID를 갖는 ALF APS의 콘텐츠는 동일해야 한다는 제약이 있다. CTU 레벨에서, ALF 계수들은 이전 APS로부터 또는 몇몇 디폴트들로부터 검색될 수 있다. ALF 프로세스는 CTU 기초로 수행된다. ALF 파라미터들은 삼중이다:
Figure pct00003
Alf_ph_param: 픽처 또는 슬라이스 헤더에서. 각각의 성분: sh_alf_enabled[i=0,1,2], sh_alf_cc_cb_enabled_flag, sh_alf_cc_cr_enabled_flag, 및 APS 식별: 사용된 APS ID의 수, 각각의 사용된 APS에 대한 APS ID, 및 크로마에 대한 유사한 시그널링에 대해 ALF 및 CC-ALF가 활성화되는지를 나타내는 5개의 플래그를 포함한다.
Alf_aps_param: APS에서: 몇몇 ALF 및 CC-ALF 계수 필터들이 코딩된다: alf_data()
Alf_ctu_param: 각각의 CTU에 대해, CTU 헤더(코딩된 픽처)에서, 그것은 성분별로 시그널링된다:
ALF가 인에이블되는 경우: alf_ctb_flag[i=0,1,2][ctu].
그리고 만약 그렇다면, 각각의 성분에 대해 사용할 필터 인덱스: alf_luma_fixed_filter_idx (luma), alf_ctb_filter_alt_idx[ 0,1 ][ctu], alf_ctb_cc_cb_idc[ctu], alf_ctb_cc_cr_idc[ctu]
VVC에서, Alf_ph_paramAlf_aps_param은 가변 길이 코딩(VLC) 코딩을 사용하는 반면, Alf_ctu_param은 엔트로피 코딩(CABAC)을 사용한다.
가장 낮은 필터 인덱스 [0, 15]는 고정된 필터들을 지칭하는 반면, 더 높은 인덱스 [16, 23]은 APS들에 저장된 추정된 필터들을 지칭한다. 사용되는 APS ID들은 슬라이스 헤더에서 시그널링된다.
최상의 계수들을 선택하기 위해(340), ALF 프로세스는 계수 세트들 사이에서 선택할 수 있다. 각각의 계수 세트는 APS에 저장된다. 이전에 코딩된 프레임들에 대해 사용된 계수들은 APS가 이용가능한 경우 재사용될 수 있다.
ALF APS들은 다음의 경우에 특정 픽처에 대해 사용될 수 있다.
- 그것이 덮어쓰기되지 않음
- 그것이 코딩 중인 현재 픽처의 시간 계층 이하인 시간 계층에 연관됨. 시간 계층은 계층적일 수 있는 GOP(Group of Pictures, 픽처들의 그룹) 구조에 의존한다.
- APS 계층 ID는 현재 픽처의 계층 ID 이하이고, APS 계층 ID는 기준 계층으로 올바르게 정의됨, 즉 현재 픽처의 계층 ID를 포함하는 VPS(Video Parameter Set, 비디오 파라미터 세트)에 의해 지정된 모든 OLS(Output Layer Set, 출력 계층 세트)들이 또한 APS 계층 ID를 포함함.
도 6은 인코더 ALF 프로세스에 대해 사용할 APS ID들을 선택하기 위한 프로세스를 도시한다. 새로운 필터 세트가 사용되지 않는 경우, 이전 APS에 저장된 이전에 정의된 필터 세트가 ALF APS 리스트를 생성하는 데 사용된다. 새로운 ALF APS가 송신되지 않아, 비트를 절약하지만, 계수가 현재 픽처에 대해 덜 최적화될 수 있다.
그렇지 않고, 새로운 ALF APS가 사용되는 경우, ALF 계수가 저장될 새로운 APS ID가 생성된다(인코더 ALF 프로세스는 현재 픽처와 함께 사용할 최상의 계수를 계산할 것이다). ALS APS들에 대해, ID는 0 내지 7(이들 값을 포함함)의 범위에 있다. VTM 인코더는 alf_aps_id 7로 시작하고, 새로운 ID가 요구될 때마다 1만큼 감소한다. 값이 음수인 경우, 그것은 다시 7로 설정되고 동일한 ID를 갖는 이전 APS는 덮어쓰기된다.
이어서, 사용할 ALF APS 리스트가 생성된다. 새로운 alf_aps_id가 사용되는 경우, alf_aps_id는 새로운 추정된 계수를 참조해야 하는데, 왜냐하면 그 APS에 저장된 이전 계수가 덮어쓰기될 것이기 때문이다.
루마 성분에 대해 새로운 계수 세트가 사용되지 않으면, 새로운 크로마 필터 세트가 사용되는 경우에, 여분의/자유로운 alf_aps_id가 크로마 ALF 인코더를 위해 여전히 이용가능해야 한다.
도 7은 다층 비트스트림의 예를 도시한다. 비트스트림은 NALU(Network Abstraction Layer Unit, 네트워크 추상화 계층 유닛)들로 분할되며, 각각의 NALU는 유형(APS, VLC, SPS 등) 및 계층과 같은 여러 파라미터를 갖는다.
서브픽처들은 픽처를 여러 직사각형 형상으로 세분하고 서브픽처들 중 일부만을 디코딩할 수 있게 하는 VVC에서의 도구이다. 이 도구는 예를 들어 360° 비디오 콘텐츠를 코딩하는 데 유용할 수 있으며, 여기서 큰 픽처는 다수의 인코더를 사용하여 여러 서브픽처로 병렬로 인코딩될 수 있고, 스트림들은 디코더가 필요로 하는 것에 따라 부분적으로 다중화될 수 있으며, 디코더는 뷰어에게 보이는 뷰포트에 나타나는 서브픽처들만을 디코딩한다. 이와 관련하여, 주어진 픽처에 대해 동일한 ID를 갖는 APS들은 동일한 콘텐츠를 가져야 하기 때문에, 인코더들은 그들이 주어진 APS ID, 또는 모든 서브픽처에 대한 상이한 APS ID들을 갖는 동일한 APS들을 사용하도록 적절한 APS ID들을 사용하기 위해 서로 통신할 필요가 있다.
이전 접근법에서, 이와 관련하여 ALF를 사용할 수 있게 하기 위해 인코더를 수정하기 위한 몇몇 솔루션이 제안된다. 순진한 솔루션은 상당한 코딩 효율 손실의 대가로 ALF(즉, 고정된 ALF 및 ALF APS 둘 모두)를 디스에이블하는 것이다. 다른 솔루션은, ALF APS에 의한 파라미터 적응의 이익을 버리는 대가로 ALF APS 사용이 디스에이블되는 동안, 미리 정의된 고정된 ALF를 인에이블된 상태로 유지하는 것이다. 코딩 효율의 면에서 보다 효율적인 솔루션은, 고정된 ALF에 더하여, ALF APS 필터를 제한된 방식으로 인에이블하여, 서브비트스트림들의 임의의 집성이 임의의 alf_aps_id 식별자 충돌 없이 정합 비트스트림을 야기하게 하는 것이다.
이전 접근법에서, 픽처에서 허용되는 ALF APS의 최대 수가 인코더 구성 파라미터로서 정의되는 것이 제안된다. 정의된 구성 파라미터는 {0, ..., 8}의 범위 내의 값을 취할 수 있다. 스위칭 포인트에서 단일 비트스트림으로 다중화되는 서브스트림들에 대한 alf_aps_id 식별자들의 할당을 관리하기 위해, alf_aps_id 식별자에 대한 오프셋 값이 정의된다. 할당은 alf_aps_id 식별자들의 고유 범위가 각각의 서브스트림에 할당되는 방식으로 수행된다.
이러한 솔루션은 단일 비트스트림으로 다중화되는 서브픽처들을 사용하는 독립 인코더에 효과가 있다.
인코딩을 위해 다수의 계층을 사용할 때, 모든 계층에 대해 단일 alf_aps_id 공간이 사용된다. 하나의 계층에 대한 ALF 인코더는 다른 계층의 인코더가 사용하고 있던 alf_aps_id들을 사용할 수 있으며, 상기 다른 계층 인코더는 연관된 ALF 계수를 다음 픽처에 대해 재사용할 수 없고, ALF의 성능은 감소된다. 이러한 이벤트는 하나의 계층의 픽처가 여러 서브픽처로 분할될 수 있는 경우에 더 복잡하다.
일반적인 설명된 태양들은 ALF(적응형 루프 필터링)의 필터를 정의하는 APS(적응형 파라미터 세트)가 VVC(다기능 비디오 코덱) 인코더에서 정의되고 사용되는 방법을 다룬다. 구체적으로, 인코더의 개선이 다층 상황에서 제안된다. 계층간 충돌이 발생하지 않을 수 있도록 계층별로 제한된 alf_aps_id 공간을 정의하고 사용하는 것이 제안된다.
다른 실시예(규범적임)는 APS를 고유하게 식별하기 위해 layer_id를 추가하는 것에 있다.
계층별 alf_aps_id 공간 제약
이 솔루션은 계층에 따라 소정 값으로 제한되도록 alf_aps_id들을 제약하는 것에 있다. 각각의 계층에 대해, alf_aps_id들의 범위가 정의된다. 범위들이 겹치지 않으면, 인코더 ALF 프로세스에서 충돌이 발생하지 않는다. 계층별 alf_aps_id 범위들은 겹칠 수 있지만, 이것은 충돌을 생성할 것이다.
솔루션은 도 6에 도시된 새로운 alf_aps_id를 생성하는 프로세스를 참조한다. 각각의 계층에 대해, 인코더가 도 1에 도시된 바와 같이 인스턴스화된다. 현재 alf_aps_id 변수는 인코더들 사이에서 더 이상 공유되지 않는다. 각각의 인코더는 alf_aps_id_start 및 alf_aps_id_end 파라미터들로 인스턴스화된다.
새로운 ALF APS가 사용되는 경우, ALF 계수가 저장될 새로운 APS ID가 다음과 같이 생성될 수 있다: ID는 이제 범위 alf_aps_id_start 내지 alf_aps_id_end(이들 값을 포함함) 내에 있다. 인코더는 alf_aps_id_end와 동일한 alf_aps_id로 시작하고, 새로운 ID가 요구될 때마다 1만큼 감소한다. 값이 alf_aps_id_start 미만이면, 그것은 다시 alf_aps_id_end로 설정된다. alf_aps_id_start가 alf_aps_id_end보다 높으면, alf_aps_id가 정의될 수 없으며, 고정된 필터만이 사용된다.
alf_aps_id_start 및 alf_aps_id_end는 다음과 같이 자동으로 그리고 최적으로 정의될 수 있으며:
ALF_CTB_MAX_NUM_APS = 8은 총 이용가능한 alf_aps_id 범위를 정의하고, nb_layers는 인코딩할 계층들의 총 수이고, i는 첫 번째 계층(확장가능한 상황에서 기본 계층)에 대해 0부터 시작하는, 인코딩할 계층 인덱스이고, int()는 가장 가까운 정수로 끝수를 잘라버리는 정수 부분 연산자이다.
변형에서, alf_aps_id_start 및 alf_aps_id_end는 입력 구성 파라미터들로서 수동으로 정의될 수 있다.
ALF APS를 고유하게 식별하기 위한 layer_id의 사용
커플(layer_id, alf_aps_id)을 다층 프로파일을 위한 ALF APS를 위한 식별자로서 사용하는 것이 제안된다. alf_aps_id는 APS를 고유하게 식별하기에 충분하지 않다. 이에 따라, 동일한 alf_aps_id를 갖는 2개 이상의 ALF APS가 그들이 상이한 layer_id를 갖는다면 공존할 수 있다.
위의 솔루션에서와 같이, 현재 alf_aps_id 변수가 인코더들 사이에서 더 이상 공유되지 않으며, 각각의 인코더 인스턴스는 현재 VVC에서와 같이 0 내지 ALF_CTB_MAX_NUM_APS = 8의 범위의 그 자신의 값을 갖는다.
몇몇 ALF 파라미터들이 변경을 구현하기 위해 변경된다: Alf_ph_param 및 Alf_aps_param은 변경되지 않고, Alf_ctu_param은 변경된다.
하이 레벨 신택스
이 실시예는 항상 인에이블될 수 있거나, 프로파일이 다층 프로파일인 경우에만 인에이블될 수 있다. 도 8에 도시된 변형에서, 예를 들어, VPS(Video Parameter Set, 비디오 파라미터 세트) 또는 SPS(Sequence Parameter Set, 시퀀스 파라미터 세트)에서, 하이 레벨 신택스 플래그 layer_dependent_aps_flag가 실시예가 구현되는지를 나타낸다. 비트스트림이 단일 계층 시퀀스인 경우, layer_dependent_aps_flag는 거짓으로 추론되어야 한다. VPS에서의 추가된 플래그의 예가 표 1에서 주어진다. 플래그는, 버전 1보다 큰 VVC의 버전(예를 들어, VVC v2)에서만 사용되도록, 확장 플래그가 인에이블되는 경우(vps_extension_flag)에만 사용될 수 있다. 예를 들어, VVC v2에서 vps_extension_flag가 인에이블될 수 있다. 확장 플래그는 또한 SPS에서 시그널링될 수 있다. 이 경우에, layer_dependent_aps_flag는 SPS에서 시그널링되고, 각각의 계층에 대해 반복될 것이다. layer_dependent_aps_flag는 또한 SPS 또는 PPS에서 시그널링될 수 있지만, 확장 플래그(예를 들어, vps_extension_flag 또는 sps_extension_flag)에 의해 게이팅될 수 있다.
이러한 하이 레벨 신택스 플래그는 또한 LMCS APS 또는 스케일링 매트릭스 APS와 같은 다른 유형의 APS에 대해 사용될 수 있다.
[표 1]
픽처 또는 슬라이스 레벨 신택스
사용될 ALF 필터 세트를 식별하기 위해 ALF APS의 layer_id를 지정하는 식별자가 추가된다. 이것은 더 높은 레벨(예를 들어, VPS 또는 PPS)에서 정의된 range_extension 플래그의 값으로 컨디셔닝될 수 있으며, 따라서 그것은 예를 들어 VVC의 장래 버전에 대해서만 이용가능하다. Alf_ph_param은, 픽처 또는 슬라이스 헤더(코딩된 픽처)에서, 각각의 슬라이스에 대해 다음과 같이 시그널링되며, 그것은 표 2에 예시된 바와 같이 ALF가 인에이블되는 경우 성분별로 시그널링된다:
sh_alf_enabled_flag.
sh_alf_enabled_flag가 온 상태임
Figure pct00011
필터 계수들을 도출할 APS들: alf_aps_id_luma[ i ], alf_aps_id_chroma, alf_cc_cb_aps_id alf_cc_cr_aps_id.
현재 픽처 계층이 독립적이지 않은 경우, APS들을 정의하는 layer_id: alf_aps_luma_layer_idx[i], alf_aps_chroma_layer_idx, alf_cc_cb _aps_chroma_layer_idx, alf_cc_cr _aps_chroma_layer_idx
layer_dependent_aps_flag가 거짓인 경우, alf_aps_luma_layer_idx[i], alf_aps_chroma_layer_idx, alf_cc_cb _aps_chroma_layer_idx, alf_cc_cr _aps_chroma_layer_idx는 APS의 layer_id와 동일한 것으로 추론된다.
그렇지 않으면, (계층이 독립적임) alf_aps_luma_layer_idx[i], alf_aps_chroma_layer_idx, alf_cc_cb _aps_chroma_layer_idx, alf_cc_cr _aps_chroma_layer_idx는 현재 픽처의 계층 ID와 동일한 것으로 추론된다.
[표 2]
다른 실시예에서, 전술된 ALF 필터 설명 데이터는 상이한 레벨에서 시그널링될 수 있다. 예를 들어, 더 많은 유연성을 위해, 그것은 CTU와는 독립적인 주어진 크기의 CTU 또는 블록별로 시그널링될 수 있다.
본 명세서에 설명된 일반적인 태양 하의 방법(900)의 일 실시예가 도 9에 도시되어 있다. 방법은 시작 블록(901)에서 시작하고, 제어는 비디오 데이터를 포함하는 다수의 계층에 대응하는 신택스 요소에 값들의 범위들을 할당하기 위한 블록(910)으로 진행한다. 제어는 블록(910)으로부터, 상기 할당된 값들의 범위들을 사용하여 비디오 데이터의 다수의 계층을 인코딩하기 위한 블록(920)으로 진행한다.
본 명세서에 설명된 일반적인 태양 하의 방법(1000)의 일 실시예가 도 10에 도시되어 있다. 방법은 시작 블록(1001)에서 시작하고, 제어는 비디오 데이터를 포함하는 다수의 계층에 대응하는 신택스 요소의 값들의 범위들을 결정하기 위한 블록(1010)으로 진행한다. 제어는 블록(1010)으로부터, 상기 결정된 값들의 범위들을 사용하여 비디오 데이터의 다수의 계층을 디코딩하기 위한 블록(1020)으로 진행한다.
도 11은 계층간 충돌을 방지하기 위해 다층 비디오 시스템에서 계층별로 제한된 범위의 신택스 값들을 사용하여 비디오 데이터를 인코딩, 디코딩, 압축 또는 압축해제하기 위한 장치(1100)의 일 실시예를 도시한다. 장치는 프로세서(1110)를 포함하고, 적어도 하나의 포트를 통해 메모리(1120)에 상호접속될 수 있다. 프로세서(1110) 및 메모리(1120) 둘 모두는 또한, 외부 접속부들에 대한 하나 이상의 추가적인 상호접속부들을 가질 수 있다.
프로세서(1110)는 또한 비트스트림에 정보를 삽입하거나 그 내의 정보를 수신하도록, 그리고 설명된 태양들 중 임의의 것을 사용하여 압축, 인코딩 또는 디코딩 중 어느 하나를 하도록 구성된다.
본 명세서에 설명된 실시예들은 도구들, 특징부들, 실시예들, 모델들, 접근법들 등을 포함한 다양한 태양들을 포함한다. 이들 태양들 중 많은 것은 특이성을 갖고서 기술되며, 적어도, 개별 특성들을 보여주기 위해, 종종, 제한하는 것으로 들릴 수 있는 방식으로 기술된다. 그러나, 이는 설명의 명확성을 위한 것이며, 그러한 태양들의 적용 또는 범위를 제한하지 않는다. 실제로, 상이한 모든 태양들이 조합되고 상호교환되어 추가의 태양들을 제공할 수 있다. 또한, 태양들이 조합될 수 있고, 마찬가지로 이전의 출원에 기술된 태양들과 상호교환될 수 있다.
본 출원에서 기술되고 고려되는 태양들은 많은 다양한 형태로 구현될 수 있다. 도 12, 도 13 및 도 14는 몇몇 실시예들을 제공하지만, 다른 실시예들이 고려되고, 도 12, 도 13 및 도 14의 논의는 구현예들의 폭을 제한하지 않는다. 태양들 중 적어도 하나는 일반적으로 비디오 인코딩 및 디코딩에 관한 것이고, 적어도 하나의 다른 태양은 일반적으로 생성된 또는 인코딩된 비트스트림을 송신하는 것에 관한 것이다. 이들 및 다른 태양들은 방법, 장치, 기술된 방법들 중 임의의 방법에 따라 비디오 데이터를 인코딩 또는 디코딩하기 위한 명령어들이 저장된 컴퓨터 판독가능 저장 매체, 및/또는 기술된 방법들 중 임의의 방법에 따라 생성된 비트스트림이 저장된 컴퓨터 판독가능 저장 매체로서 구현될 수 있다.
본 출원에서, 용어 "재구성된" 및 "디코딩된"은 상호교환가능하게 사용될 수 있고, 용어 "픽셀" 및 "샘플"은 상호교환가능하게 사용될 수 있으며, 용어 "이미지", "픽처" 및 "프레임"은 상호교환가능하게 사용될 수 있다. 반드시 그렇지는 않지만, 일반적으로, 용어 "재구성된"은 인코더 측에서 사용되는 반면, "디코딩된"은 디코더 측에서 사용된다.
다양한 방법들이 본 명세서에 기술되고, 각각의 방법은 기술된 방법을 달성하기 위한 하나 이상의 단계들 또는 액션들을 포함한다. 방법의 적절한 동작을 위해 단계들 또는 액션들의 특정 순서가 요구되지 않는 한, 특정 단계들 및/또는 액션들의 순서 및/또는 사용은 수정되거나 조합될 수 있다.
본 출원에 설명된 다양한 방법 및 다른 태양은 도 12 및 도 13에 도시된 바와 같은 비디오 인코더(100) 및 디코더(200)의 모듈, 예를 들어 인트라 예측, 엔트로피 코딩, 및/또는 디코딩 모듈(160, 360, 145, 330)을 수정하는 데 사용될 수 있다. 또한, 본 태양들은 VVC 또는 HEVC로 제한되지 않으며, 예를 들어, 기존에 존재하든 향후 개발되든, 다른 표준들 및 권고들, 및 임의의 그러한 표준들 및 권고들(VVC 및 HEVC를 포함함)의 확장들에 적용될 수 있다. 달리 나타내지 않거나, 또는 기술적으로 배제되지 않는 한, 본 출원에 기술되는 태양들은 개별적으로 또는 조합하여 사용될 수 있다.
다양한 수치 값들이 본 출원에서 사용된다. 특정 값들은 예시적인 목적들을 위한 것이고, 기술된 태양들은 이러한 특정 값들로 제한되지 않는다.
도 12는 인코더(100)를 예시한다. 이러한 인코더(100)의 변형들이 고려되지만, 인코더(100)는 모든 예상되는 변형들을 기술함이 없이 명료함을 위해 후술된다.
인코딩되기 전에, 비디오 시퀀스는, 예를 들어, 입력 컬러 픽처에 컬러 변환을 적용하거나(예컨대, RGB 4:4:4로부터 YCbCr 4:2:0으로의 변환), 또는 (예를 들어, 컬러 컴포넌트들 중 하나의 컴포넌트의 히스토그램 등화를 사용하여) 압축에 더 탄력적인 신호 분포를 얻기 위해 입력 픽처 컴포넌트들의 리매핑을 수행하는, 프리-인코딩 처리(101)를 거칠 수 있다. 메타데이터는 전처리와 연관될 수 있고, 비트스트림에 부착될 수 있다.
인코더(100)에서, 픽처는 후술되는 바와 같이 인코더 요소들에 의해 인코딩된다. 인코딩될 픽처는, 예를 들어, CU들의 유닛들로 파티셔닝되고(102) 처리된다. 각각의 유닛은, 예를 들어 인트라 또는 인터 모드를 사용하여 인코딩된다. 유닛이 인트라 모드에서 인코딩될 때, 그것은 인트라 예측(160)을 수행한다. 인터 모드에서, 모션 추정(175) 및 보상(170)이 수행된다. 인코더는 유닛을 인코딩하기 위해 인트라 모드 또는 인터 모드 중 어느 것을 사용할지를 결정하고(105), 예를 들어, 예측 모드 플래그에 의해 인트라/인터 결정을 나타낸다. 예측 잔차들은, 예를 들어, 오리지널 이미지 블록에서 예측된 블록을 감산(110)함으로써 계산된다.
이어서, 예측 잔차들은 변환되고(125) 양자화된다(130). 양자화된 변환 계수들뿐만 아니라 모션 벡터들 및 다른 신택스 요소들은 엔트로피 코딩되어(145) 비트스트림을 출력한다. 인코더는 변환을 스킵할 수 있고, 비변환된 잔차 신호에 직접 양자화를 적용할 수 있다. 인코더는 변환 및 양자화 둘 모두를 스킵할 수 있는데, 즉 잔차는 변환 또는 양자화 프로세스들의 적용 없이 직접 코딩된다.
인코더는 인코딩된 블록을 디코딩하여 추가 예측들을 위한 기준을 제공한다. 양자화된 변환 계수들은 예측 잔차들을 디코딩하기 위해 탈양자화(de-quantize)되고(140) 역변환된다(150). 디코딩된 예측 잔차들 및 예측된 블록을 조합하여(155) 이미지 블록이 재구성된다. 인루프 필터들(165)이, 예를 들어, 인코딩 아티팩트들을 감소시키기 위해 디블록킹/SAO(Sample Adaptive Offset) 필터링을 수행하도록 재구성된 픽처에 적용된다. 필터링된 이미지는 기준 픽처 버퍼(180)에 저장된다.
도 13은 비디오 디코더(200)의 블록도를 예시한다. 디코더(200)에서, 비트스트림은 후술되는 바와 같이 디코더 요소들에 의해 디코딩된다. 비디오 디코더(200)는 일반적으로, 도 12에 기술된 바와 같이, 인코딩 패스에 상반되는 디코딩 패스를 수행한다. 인코더(100)는 또한 일반적으로, 비디오 데이터를 인코딩하는 것의 일부로서 비디오 디코딩을 수행한다.
특히, 디코더의 입력은 비디오 인코더(100)에 의해 생성될 수 있는 비디오 비트스트림을 포함한다. 비트스트림은 먼저, 변환 계수들, 모션 벡터들, 및 다른 코딩된 정보를 획득하기 위해 엔트로피 디코딩된다(230). 픽처 파티션 정보는 픽처가 어떻게 파티셔닝되는지를 나타낸다. 따라서, 디코더는 디코딩된 픽처 파티셔닝 정보에 따라 픽처를 분할할 수 있다(235). 변환 계수들은 예측 잔차들을 디코딩하기 위해 탈양자화되고(240) 역변환된다(250). 디코딩된 예측 잔차들 및 예측된 블록을 조합하여(255) 이미지 블록이 재구성된다. 예측된 블록은 인트라 예측(260) 또는 모션 보상된 예측(즉, 인터 예측)(275)으로부터 획득될 수 있다(270). 재구성된 이미지에 인루프 필터들(265)이 적용된다. 필터링된 이미지는 기준 픽처 버퍼(280)에 저장된다.
디코딩된 픽처는 포스트-디코딩 처리(285), 예를 들어, 프리-인코딩 처리(101)에서 수행된 리매핑 프로세스의 역을 수행하는 역 리매핑 또는 역 컬러 변환(예를 들어, YcbCr 4:2:0으로부터 RGB 4:4:4로의 변환)을 추가로 거칠 수 있다. 포스트-디코딩 처리는, 프리-인코딩 처리에서 도출되고 비트스트림에서 시그널링된 메타데이터를 사용할 수 있다.
도 14는 다양한 태양들 및 실시예들이 구현되는 시스템의 예의 블록도를 예시한다. 시스템(1000)은 후술되는 다양한 컴포넌트들을 포함하는 디바이스로서 구현될 수 있으며, 본 문서에 기술된 태양들 중 하나 이상을 수행하도록 구성된다. 그러한 디바이스들의 예들은, 다양한 전자 디바이스들, 예컨대 개인용 컴퓨터, 랩톱 컴퓨터, 스마트폰, 태블릿 컴퓨터, 디지털 멀티미디어 셋톱 박스, 디지털 텔레비전 수신기, 개인용 비디오 녹화 시스템, 커넥티드 가전, 및 서버를 포함하지만, 이들로 제한되지 않는다. 시스템(1000)의 요소들은 단일 집적 회로(IC), 다수의 IC들, 및/또는 별개의 컴포넌트들에서, 단독으로 또는 조합되어 구현될 수 있다. 예를 들어, 적어도 하나의 실시예에서, 시스템(1000)의 처리 및 인코더/디코더 요소들은 다수의 IC들 및/또는 별개의 컴포넌트들에 걸쳐 분산된다. 다양한 실시예들에서, 시스템(1000)은, 예를 들어, 통신 버스를 통해 또는 전용 입력 및/또는 출력 포트들을 통해 하나 이상의 다른 시스템들, 또는 다른 전자 디바이스들에 통신가능하게 결합된다. 다양한 실시예들에서, 시스템(1000)은 본 문서에 기술된 태양들 중 하나 이상을 구현하도록 구성된다.
시스템(1000)은, 예를 들어, 본 문서에 기술된 다양한 태양들을 구현하기 위해 그 내부에 로딩된 명령어들을 실행하도록 구성된 적어도 하나의 프로세서(1010)를 포함한다. 프로세서(1010)는 내장된 메모리, 입력 출력 인터페이스, 및 당업계에 알려진 바와 같은 다양한 다른 회로부들을 포함할 수 있다. 시스템(1000)은 적어도 하나의 메모리(1020)(예컨대, 휘발성 메모리 디바이스, 및/또는 비휘발성 메모리 디바이스)를 포함한다. 시스템(1000)은, 전기적으로 소거가능한 프로그래밍가능 판독-전용 메모리(Electrically Erasable Programmable Read-Only Memory, EEPROM), 판독-전용 메모리(Read-Only Memory, ROM), 프로그래밍가능 판독-전용 메모리(Programmable Read-Only Memory, PROM), 랜덤 액세스 메모리(Random Access Memory, RAM), 동적 랜덤 액세스 메모리(Dynamic Random Access Memory, DRAM), 정적 랜덤 액세스 메모리(Static Random Access Memory, SRAM), 플래시, 자기 디스크 드라이브, 및/또는 광학 디스크 드라이브를 포함하지만 이에 제한되지 않는 비휘발성 메모리 및/또는 휘발성 메모리를 포함할 수 있는 저장 디바이스(1040)를 포함한다. 저장 디바이스(1040)는 비제한적인 예들로서, 내부 저장 디바이스, 부착된 저장 디바이스(분리가능한 저장 디바이스 및 분리가능하지 않은 저장 디바이스를 포함함), 및/또는 네트워크 액세스가능한 저장 디바이스를 포함할 수 있다.
시스템(1000)은, 예를 들어, 인코딩된 비디오 또는 디코딩된 비디오를 제공하기 위해 데이터를 처리하도록 구성된 인코더/디코더 모듈(1030)을 포함하고, 인코더/디코더 모듈(1030)은 그 자체 프로세서 및 메모리를 포함할 수 있다. 인코더/디코더 모듈(1030)은 인코딩 및/또는 디코딩 기능들을 수행하기 위해 디바이스에 포함될 수 있는 모듈(들)을 나타낸다. 알려진 바와 같이, 디바이스는 인코딩 및 디코딩 모듈들 중 하나 또는 둘 모두를 포함할 수 있다. 추가적으로, 인코더/디코더 모듈(1030)은 시스템(1000)의 별개의 요소로서 구현될 수 있거나, 또는 당업자에게 알려진 바와 같은 하드웨어와 소프트웨어의 조합으로서 프로세서(1010) 내에 통합될 수 있다.
본 문서에 기술된 다양한 태양들을 수행하기 위해 프로세서(1010) 또는 인코더/디코더(1030)에 로딩될 프로그램 코드는 저장 디바이스(1040)에 저장될 수 있고, 후속적으로 프로세서(1010)에 의한 실행을 위해 메모리(1020)에 로딩될 수 있다. 다양한 실시예들에 따르면, 프로세서(1010), 메모리(1020), 저장 디바이스(1040), 및 인코더/디코더 모듈(1030) 중 하나 이상은 본 문서에 기술된 프로세스들의 수행 동안 다양한 항목들 중 하나 이상을 저장할 수 있다. 이러한 저장된 항목들은 입력 비디오, 디코딩된 비디오 또는 디코딩된 비디오의 일부들, 비트스트림, 행렬들, 변수들, 및 식들, 공식들, 연산들 및 연산 로직의 처리로부터의 중간 또는 최종 결과들을 포함할 수 있지만, 이들로 제한되지 않는다.
몇몇 실시예들에서, 프로세서(1010) 및/또는 인코더/디코더 모듈(1030) 내부의 메모리는 명령어들을 저장하기 위해 그리고 인코딩 또는 디코딩 동안 필요한 처리를 위한 작업 메모리를 제공하기 위해 사용된다. 그러나, 다른 실시예들에서, 처리 디바이스(예를 들어, 처리 디바이스는 프로세서(1010) 또는 인코더/디코더 모듈(1030) 중 어느 하나일 수 있음) 외부의 메모리가 이러한 기능들 중 하나 이상에 사용된다. 외부 메모리는 메모리(1020) 및/또는 저장 디바이스(1040), 예를 들어, 동적 휘발성 메모리 및/또는 비휘발성 플래시 메모리일 수 있다. 몇몇 실시예들에서, 외부 비휘발성 플래시 메모리는 예를 들어, 텔레비전의 운영 체제를 저장하는 데 사용된다. 적어도 하나의 실시예에서, RAM과 같은 고속 외부 동적 휘발성 메모리는, MPEG-2(MPEG는 Moving Picture Experts Group을 지칭하고, MPEG-2는 또한 ISO/IEC 13818로도 지칭되고, 13818-1은 또한 H.222로도 알려져 있고, 13818-2는 또한 H.262로도 알려져 있음), HEVC(HEVC는 High Efficiency Video Coding을 지칭하고, H.265 및 MPEG-H Part 2로도 알려져 있음), 또는 VVC(Versatile Video Coding, JVET(Joint Video Experts Team)에서 개발 중인 새로운 표준)에 대한 것과 같은, 비디오 코딩 및 디코딩 동작들을 위한 작업 메모리로서 사용된다.
시스템(1000)의 요소들에 대한 입력은 블록(1130)에 표시된 바와 같은 다양한 입력 디바이스들을 통해 제공될 수 있다. 그러한 입력 디바이스들은, (i) 예를 들어, 브로드캐스터(broadcaster)에 의해 무선으로(over the air) 송신된 무선 주파수(radio frequency, RF) 신호를 수신하는 RF 부분, (ii) 컴포넌트(COMP) 입력 단자(또는 COMP 입력 단자들의 세트), (iii) 범용 직렬 버스(Universal Serial Bus, USB) 입력 단자, 및/또는 (iv) 고화질 멀티미디어 인터페이스(HDMI) 입력 단자를 포함하지만, 이들로 제한되지 않는다. 도 14에 도시되지 않은 다른 예는 복합 비디오를 포함한다.
다양한 실시예들에서, 블록(1130)의 입력 디바이스들은 당업계에 알려진 바와 같은 연관된 각자의 입력 처리 요소들을 갖는다. 예를 들어, RF 부분은, (i) 원하는 주파수를 선택하는 것(신호를 선택하는 것, 또는 신호를 주파수들의 대역으로 대역 제한하는 것으로도 지칭됨), (ii) 선택된 신호를 하향변환(downconvert)하는 것, (iii) (예를 들어) 소정 실시예들에서 채널로 지칭될 수 있는 신호 주파수 대역을 선택하기 위해 주파수들의 더 좁은 대역으로 다시 대역-제한하는 것, (iv) 하향변환되고 대역-제한된 신호를 복조하는 것, (v) 에러 정정을 수행하는 것, 및 (vi) 데이터 패킷들의 원하는 스트림을 선택하기 위해 역다중화하는 것에 적합한 요소들과 연관될 수 있다. 다양한 실시예들의 RF 부분은 이러한 기능들을 수행하기 위한 하나 이상의 요소들, 예를 들어 주파수 선택기들, 신호 선택기들, 대역-제한기들, 채널 선택기들, 필터들, 하향 변환기들, 복조기들, 에러 정정기들, 및 역다중화기들을 포함한다. RF 부분은, 예를 들어, 수신된 신호를 더 낮은 주파수(예를 들어, 중간 주파수 또는 기저대역 인근 주파수)로 또는 기저대역으로 하향 변환하는 것을 포함한, 다양한 이들 기능을 수행하는 튜너를 포함할 수 있다. 하나의 셋톱 박스 실시예에서, RF 부분 및 그의 연관된 입력 처리 요소는 유선(예를 들어, 케이블) 매체를 통해 송신된 RF 신호를 수신하고, 원하는 주파수 대역에 대해 필터링, 하향 변환, 및 다시 필터링함으로써 주파수 선택을 수행한다. 다양한 실시예들은 전술한(그리고 다른) 요소들의 순서를 재배열하고, 이들 요소들 중 일부를 제거하고/하거나 유사하거나 상이한 기능들을 수행하는 다른 요소들을 추가한다. 요소들을 추가하는 것은, 예를 들어, 증폭기들 및 아날로그-디지털 변환기를 삽입하는 것과 같이, 기존 요소들 사이에 요소들을 삽입하는 것을 포함할 수 있다. 다양한 실시예에서, RF 부분은 안테나를 포함한다.
또한, USB 및/또는 HDMI 단자들은 시스템(1000)을 USB 및/또는 HDMI 접속부들을 통해 다른 전자 디바이스들에 접속하기 위한 각자의 인터페이스 프로세서들을 포함할 수 있다. 입력 처리의 다양한 태양들, 예를 들어, 리드 솔로몬(Reed-Solomon) 에러 정정은 필요에 따라, 예를 들어, 별개의 입력 처리 IC 내에서 또는 프로세서(1010) 내에서 구현될 수 있다는 것이 이해되어야 한다. 유사하게, USB 또는 HDMI 인터페이스 처리의 태양들은 필요에 따라, 별개의 인터페이스 Ic들 내에서 또는 프로세서(1010) 내에서 구현될 수 있다. 복조, 에러 정정, 및 역다중화된 스트림은, 예를 들어, 출력 디바이스 상에서의 프레젠테이션을 위해 필요에 따라 데이터스트림을 처리하도록 메모리 및 저장 요소들과 조합하여 동작하는 프로세서(1010), 및 인코더/디코더(1030)를 포함한 다양한 처리 요소들에 제공된다.
시스템(1000)의 다양한 요소들이 통합된 하우징 내에 제공될 수 있으며, 통합된 하우징 내에서, 다양한 요소들은 적합한 접속 배열체, 예를 들어, 인터-IC(I2C) 버스, 배선, 및 인쇄 회로 기판을 포함하는, 당업계에 알려진 바와 같은 내부 버스를 사용하여 상호접속되고 그들 사이에서 데이터를 전송할 수 있다.
시스템(1000)은 통신 채널(1060)을 통해 다른 디바이스들과의 통신을 가능하게 하는 통신 인터페이스(1050)를 포함한다. 통신 인터페이스(1050)는 통신 채널(1060)을 통해 데이터를 송신하도록 그리고 수신하도록 구성된 송수신기를 포함할 수 있지만, 이에 제한되지 않는다. 통신 인터페이스(1050)는 모뎀 또는 네트워크 카드를 포함할 수 있지만 이에 제한되지 않으며, 통신 채널(1060)은, 예를 들어, 유선 및/또는 무선 매체 내에서 구현될 수 있다.
데이터는, 다양한 실시예들에서, Wi-Fi 네트워크, 예를 들어 IEEE 802.11(IEEE는 전기 전자 기술자 협회(Institute of Electrical and Electronics Engineers)를 지칭함)과 같은 무선 네트워크를 사용하여, 시스템(1000)에 스트리밍되거나 또는 달리 제공된다. 이러한 실시예들의 Wi-Fi 신호는 Wi-Fi 통신들에 대해 적응된 통신 채널(1060) 및 통신 인터페이스(1050)를 통해 수신된다. 이러한 실시예들의 통신 채널(1060)은 전형적으로, 스트리밍 애플리케이션들 및 다른 오버더톱(over-the-top) 통신들을 허용하기 위한 인터넷을 포함하는 외부 네트워크들에 대한 액세스를 제공하는 액세스 포인트 또는 라우터에 접속된다. 다른 실시예들은 입력 블록(1130)의 HDMI 접속을 통해 데이터를 전달하는 셋톱 박스를 사용하여 스트리밍된 데이터를 시스템(1000)에 제공한다. 또 다른 실시예들은 입력 블록(1130)의 RF 접속을 사용하여 스트리밍된 데이터를 시스템(1000)에 제공한다. 전술한 바와 같이, 다양한 실시예들은 비-스트리밍 방식으로 데이터를 제공한다. 또한, 다양한 실시예들은 Wi-Fi 이외의 무선 네트워크들, 예를 들어 셀룰러 네트워크 또는 블루투스 네트워크를 사용한다.
시스템(1000)은 디스플레이(1100), 스피커들(1110), 및 다른 주변 디바이스들(1120)을 포함한 다양한 출력 디바이스들에 출력 신호를 제공할 수 있다. 다양한 실시예의 디스플레이(1100)는, 예를 들어, 터치스크린 디스플레이, 유기 발광 다이오드(OLED) 디스플레이, 곡면 디스플레이, 및/또는 폴더블(foldable) 디스플레이 중 하나 이상을 포함한다. 디스플레이(1100)는 텔레비전, 태블릿, 랩톱, 휴대폰(모바일폰), 또는 다른 디바이스를 위한 것일 수 있다. 디스플레이(1100)는 또한 (예를 들어, 스마트폰에서와 같이) 다른 컴포넌트들과 통합될 수 있거나, 또는 별개일 수 있다(예를 들어, 랩톱을 위한 외부 모니터). 실시예들의 다양한 예들에서, 다른 주변 디바이스들(1120)은 독립형 디지털 비디오 디스크(또는 디지털 다기능 디스크)(두 용어들 모두에 대해, DVR), 디스크 플레이어, 스테레오 시스템 및/또는 조명 시스템 중 하나 이상을 포함한다. 다양한 실시예들은 시스템(1000)의 출력에 기초하여 기능을 제공하는 하나 이상의 주변 디바이스들(1120)을 사용한다. 예를 들어, 디스크 플레이어는 시스템(1000)의 출력을 재생하는 기능을 수행한다.
다양한 실시예들에서, 제어 신호들은, 시그널링, 예컨대, AV.Link, CEC(Consumer Electronics Control), 또는 사용자 개입이 있거나 또는 개입 없이 디바이스 대 디바이스 제어를 가능하게 하는 다른 통신 프로토콜들을 사용하여 시스템(1000)과 디스플레이(1100), 스피커들(1110), 또는 다른 주변 디바이스들(1120) 사이에서 통신된다. 출력 디바이스들은 각자의 인터페이스들(1070, 1080, 1090)을 통해 전용 접속부들을 거쳐 시스템(1000)에 통신가능하게 결합될 수 있다. 대안적으로, 출력 디바이스들은 통신 인터페이스(1050)를 통해 통신 채널(1060)을 사용하여 시스템(1000)에 접속될 수 있다. 디스플레이(1100) 및 스피커(1110)는, 예를 들어, 텔레비전과 같은 전자 디바이스에서 시스템(1000)의 다른 컴포넌트와 단일 유닛으로 통합될 수 있다. 다양한 실시예들에서, 디스플레이 인터페이스(1070)는, 예를 들어, 타이밍 컨트롤러(T Con) 칩과 같은 디스플레이 드라이버를 포함한다.
디스플레이(1100) 및 스피커(1110)는 대안적으로, 예를 들어, 입력(1130)의 RF 부분이 별개의 셋톱 박스의 일부인 경우, 다른 컴포넌트들 중 하나 이상과 별개일 수 있다. 디스플레이(1100) 및 스피커들(1110)이 외부 컴포넌트들인 다양한 실시예들에서, 출력 신호는, 예를 들어, HDMI 포트들, USB 포트들, 또는 COMP 출력들을 포함한 전용 출력 접속부들을 통해 제공될 수 있다.
실시예들은 프로세서(1010)에 의해 구현되는 컴퓨터 소프트웨어에 의해 또는 하드웨어에 의해, 또는 하드웨어와 소프트웨어의 조합에 의해 수행될 수 있다. 비제한적인 예로서, 실시예들은 하나 이상의 집적 회로들에 의해 구현될 수 있다. 메모리(1020)는 기술적 환경에 적절한 임의의 유형의 것일 수 있고, 비제한적인 예들로서, 광학 메모리 디바이스, 자기 메모리 디바이스, 반도체 기반 메모리 디바이스, 고정 메모리, 및 착탈식 메모리와 같은 임의의 적절한 데이터 저장 기술을 사용하여 구현될 수 있다. 프로세서(1010)는 기술적 환경에 적절한 임의의 유형의 것일 수 있고, 비제한적인 예들로서, 마이크로프로세서들, 범용 컴퓨터들, 특수 목적 컴퓨터들, 및 멀티-코어 아키텍처에 기반한 프로세서들 중 하나 이상을 포괄할 수 있다.
다양한 구현예들이 디코딩을 수반한다. 본 출원에서 사용되는 바와 같이, "디코딩"은, 예를 들어, 디스플레이에 적합한 최종 출력을 생성하기 위해 수신된 인코딩된 시퀀스에 대해 수행되는 프로세스의 전부 또는 일부를 포함할 수 있다. 다양한 실시예들에서, 그러한 프로세스들은 디코더에 의해 전형적으로 수행되는 프로세스들 중 하나 이상의 프로세스들, 예를 들어, 엔트로피 디코딩, 역양자화, 역변환, 및 차분 디코딩을 포함한다. 다양한 실시예들에서, 그러한 프로세스들은 또한, 또는 대안적으로, 본 출원에 기술된 다양한 구현예들의 디코더에 의해 수행되는 프로세스들을 포함한다.
추가 예들로서, 하나의 실시예에서, "디코딩"은 엔트로피 디코딩만을 지칭하고, 다른 실시예에서, "디코딩"은 차분 디코딩만을 지칭하고, 또 다른 실시예에서, "디코딩"은 엔트로피 디코딩과 차분 디코딩의 조합을 지칭한다. 어구 "디코딩 프로세스"가 동작들의 서브세트를 구체적으로 나타내기 위한 것인지, 또는 일반적으로 보다 광의의 디코딩 프로세스를 나타내기 위한 것인지 여부는 특정 설명들의 맥락에 기초하여 명확할 것이며, 당업자에 의해 잘 이해될 것으로 여겨진다.
다양한 구현예들이 인코딩을 수반한다. "디코딩"에 대한 상기 논의와 유사한 방식으로, 본 출원에서 사용되는 바와 같은 "인코딩"은, 예를 들어, 인코딩된 비트스트림을 생성하기 위해 입력 비디오 시퀀스에 대해 수행되는 프로세스들의 전부 또는 일부를 포함할 수 있다. 다양한 실시예들에서, 이러한 프로세스들은 전형적으로 인코더에 의해 수행되는 프로세스들, 예를 들어, 파티셔닝, 차분 인코딩, 변환, 양자화, 및 엔트로피 인코딩 중 하나 이상을 포함한다. 다양한 실시예들에서, 그러한 프로세스들은 또한, 또는 대안적으로, 본 출원에 기술된 다양한 구현예들의 인코더에 의해 수행되는 프로세스들을 포함한다.
추가 예들에서, 하나의 실시예에서, "인코딩"은 단지 엔트로피 인코딩을 지칭하며, 다른 실시예에서 "인코딩"은 단지 차분 인코딩을 지칭하고, 다른 실시예에서 "인코딩"은 차분 인코딩과 엔트로피 인코딩의 조합을 지칭한다. 어구 "인코딩 프로세스"가 동작들의 서브세트를 구체적으로 나타내기 위한 것인지, 또는 일반적으로 보다 광의의 인코딩 프로세스를 나타내기 위한 것인지 여부는 특정 설명들의 맥락에 기초하여 명확할 것이며, 당업자에 의해 잘 이해될 것으로 여겨진다.
본 명세서에 사용된 바와 같은 신택스 요소들은 설명적 용어들임에 유의한다. 그렇기 때문에, 이들은 다른 신택스 요소 명칭들의 사용을 배제하지 않는다.
도면이 흐름도로서 제시될 때, 그것은 또한 대응하는 장치의 블록도를 제공한다는 것을 이해해야 한다. 유사하게, 도면이 블록도로서 제시될 때, 그것은 또한 대응하는 방법/프로세스의 흐름도를 제공한다는 것을 이해해야 한다.
다양한 실시예들은 파라미터 모델들 또는 레이트 왜곡 최적화를 언급할 수 있다. 특히, 인코딩 프로세스 동안, 계산 복잡성의 제약이 종종 있게 되면, 레이트와 왜곡 사이의 균형 또는 트레이드-오프가 일반적으로 고려된다. 그것은 RDO(Rate Distortion Optimization) 메트릭을 통해, 또는 LMS(Least Mean Square), MAE(Mean of Absolute Errors), 또는 다른 그러한 측정들을 통해 측정될 수 있다. 레이트 왜곡 최적화는 일반적으로 레이트와 왜곡의 가중 합인 레이트 왜곡 함수를 최소화하는 것으로 공식화된다. 레이트 왜곡 최적화 문제를 해결하기 위한 상이한 접근법들이 있다. 예를 들어, 접근법들은, 코딩 및 디코딩 후 재구성된 신호의 코딩 비용 및 관련된 왜곡의 완전한 평가를 이용한, 모든 고려된 모드들 또는 코딩 파라미터들 값들을 포함하는 모든 인코딩 옵션들의 광범위한 검사에 기초할 수 있다. 특히 재구성된 것이 아니라 예측 또는 예측 잔차 신호에 기초한 근사화된 왜곡의 계산과 함께 인코딩 복잡성을 덜기 위해, 더 빠른 접근법들이 또한 사용될 수 있다. 이들 2개의 접근법들의 혼합은 또한, 예컨대, 가능한 인코딩 옵션들 중 일부만에 대한 근사화된 왜곡 및 다른 인코딩 옵션들에 대한 완전한 왜곡을 사용함으로써 사용될 수 있다. 다른 접근법들은 가능한 인코딩 옵션들의 서브세트만을 평가한다. 보다 일반적으로, 많은 접근법들은 최적화를 수행하기 위해 다양한 기술들 중 임의의 기술을 채용하지만, 최적화가 반드시 코딩 비용과 관련된 왜곡 둘 모두에 대한 완전한 평가이지는 않다.
본 명세서에 기술된 구현예들 및 태양들은, 예를 들어, 방법 또는 프로세스, 장치, 소프트웨어 프로그램, 데이터 스트림, 또는 신호에서 구현될 수 있다. 단일 형태의 구현예의 맥락에서만 논의되더라도(예를 들어, 방법으로서만 논의됨), 논의된 특징들의 구현예는 또한 다른 형태들(예를 들어, 장치 또는 프로그램)로 구현될 수 있다. 장치는, 예를 들어, 적절한 하드웨어, 소프트웨어, 및 펌웨어로 구현될 수 있다. 방법은, 예를 들어, 프로세서에서 구현될 수 있으며, 이는, 예컨대 컴퓨터, 마이크로프로세서, 집적 회로, 또는 프로그래밍가능 로직 디바이스를 포함하는, 일반적으로 처리 디바이스를 지칭한다. 프로세서들은 또한, 예를 들어, 컴퓨터들, 휴대폰들, 휴대용/개인 디지털 어시스턴트들("PDA들"), 및 최종 사용자들 사이의 정보의 통신을 용이하게 하는 다른 디바이스들과 같은 통신 디바이스들을 포함한다.
"하나의 실시예" 또는 "실시예" 또는 "하나의 구현예" 또는 "구현예"뿐만 아니라 그의 다른 변형들에 대한 언급은, 실시예와 관련하여 기술된 특정 특징부, 구조, 특성 등이 적어도 하나의 실시예에 포함됨을 의미한다. 따라서, 본 출원 전반에 걸친 다양한 곳에서 나타나는 어구 "하나의 실시예에서" 또는 "실시예에서" 또는 "하나의 구현예에서" 또는 "구현예에서"뿐만 아니라 임의의 다른 변형들의 출현들이 반드시 모두 동일한 실시예를 언급하는 것은 아니다.
또한, 본 출원은 다양한 정보들을 "결정하는 것"을 언급할 수 있다. 정보를 결정하는 것은, 예를 들어, 정보를 추정하는 것, 정보를 계산하는 것, 정보를 예측하는 것, 또는 메모리로부터 정보를 검색하는 것 중 하나 이상을 포함할 수 있다.
또한, 본 출원은 다양한 정보에 "액세스하는 것"을 언급할 수 있다. 정보에 액세스하는 것은, 예를 들어 정보를 수신하는 것, (예를 들어, 메모리로부터) 정보를 검색하는 것, 정보를 저장하는 것, 정보를 이동시키는 것, 정보를 복사하는 것, 정보를 계산하는 것, 정보를 결정하는 것, 정보를 예측하는 것, 또는 정보를 추정하는 것 중 하나 이상을 포함할 수 있다.
또한, 본 출원은 다양한 정보를 "수신하는 것"을 언급할 수 있다. 수신하는 것은 "액세스하는 것"과 마찬가지로 광의의 용어인 것으로 의도된다. 정보를 수신하는 것은, 예를 들어, 정보에 액세스하는 것, 또는 (예를 들어, 메모리로부터) 정보를 검색하는 것 중 하나 이상을 포함할 수 있다. 또한, "수신하는 것"은 전형적으로, 예를 들어 정보를 저장하는 동작, 정보를 처리하는 동작, 정보를 전송하는 동작, 정보를 이동하는 동작, 정보를 복사하는 동작, 정보를 소거하는 동작, 정보를 계산하는 동작, 정보를 결정하는 동작, 정보를 예측하는 동작, 또는 정보를 추정하는 동작과 같은 동작들 동안 어떤 방식으로든 수반된다.
예를 들어 다음의 "A/B", "A 및/또는 B" 및 "A 및 B 중 적어도 하나"의 경우들에서 "/", "및/또는", 및 "적어도 하나" 중 임의의 것의 사용은 첫 번째 열거된 옵션(A) 단독의 선택, 또는 두 번째 열거된 옵션(B) 단독의 선택, 또는 옵션들(A 및 B) 둘 모두의 선택을 포함하도록 의도됨을 이해해야 한다. 추가의 예로서, "A, B 및/또는 C" 및 "A, B 및 C 중 적어도 하나"의 경우에서, 그러한 어구는 첫 번째 열거된 옵션(A) 단독의 선택, 또는 두 번째 열거된 옵션(B) 단독의 선택, 또는 세 번째 열거된 옵션(C) 단독의 선택, 또는 첫 번째 및 두 번째 열거된 옵션(A 및 B) 단독의 선택, 또는 첫 번째 및 세 번째 열거된 옵션(A 및 C) 단독의 선택, 또는 두 번째 및 세 번째 열거된 옵션(B 및 C) 단독의 선택, 또는 3개의 모든 옵션(A, B 및 C)의 선택을 포괄하도록 의도된다. 이는, 본 명세서에 기술된 바와 같은 많은 항목들에 대해, 본 명세서 및 관련 분야의 당업자에게 명백한 바와 같이 확장될 수 있다.
또한, 본 명세서에 사용된 바와 같이, 용어 "신호"는 특히 대응하는 디코더에게 무언가를 나타내는 것을 지칭한다. 예를 들어, 소정 실시예들에서 인코더는 복수의 변환들, 코딩 모드들 또는 플래그들 중 특정한 하나를 시그널링한다. 이러한 방식으로, 실시예에서 동일한 변환, 파라미터, 또는 모드가 인코더 측 및 디코더 측 둘 모두에서 사용된다. 따라서, 예를 들어, 인코더는 디코더가 동일한 특정 파라미터를 사용할 수 있도록 디코더에 특정 파라미터를 송신할 수 있다(명시적 시그널링). 반대로, 디코더가 이미 특정 파라미터뿐만 아니라 다른 것들을 갖고 있다면, 단순히 디코더가 특정 파라미터를 알고 선택할 수 있게 하기 위해 송신 없이 시그널링이 사용될 수 있다(암시적 시그널링). 임의의 실제 기능들의 송신을 회피함으로써, 다양한 실시예들에서 비트 절약이 실현된다. 시그널링은 다양한 방식들로 달성될 수 있다는 것이 이해되어야 한다. 예를 들어, 하나 이상의 신택스 요소들, 플래그들 등이 다양한 실시예들에서 대응하는 디코더에 정보를 시그널링하는 데 사용된다. 전술된 표현이 단어 "신호"의 동사 형태와 관련되지만, 단어 "신호"는 또한 명사로서 본 명세서에서 사용될 수 있다.
당업자에게 명백한 바와 같이, 구현예들은, 예를 들어 저장되거나 송신될 수 있는 정보를 반송하도록 포맷화된 다양한 신호들을 생성할 수 있다. 정보는, 예를 들어, 방법을 수행하기 위한 명령어들, 또는 기술된 구현예들 중 하나에 의해 생성된 데이터를 포함할 수 있다. 예를 들어, 신호는 기술된 실시예의 비트스트림을 반송하도록 포맷화될 수 있다. 그러한 신호는, 예를 들어, 전자기파로서(예를 들어, 스펙트럼의 무선 주파수 부분을 사용함) 또는 기저대역 신호로서 포맷화될 수 있다. 포맷화는, 예를 들어, 데이터 스트림을 인코딩하는 것, 및 인코딩된 데이터 스트림으로 반송파를 변조하는 것을 포함할 수 있다. 신호가 반송하는 정보는, 예를 들어, 아날로그 또는 디지털 정보일 수 있다. 신호는, 알려진 바와 같이, 다양한 상이한 유선 또는 무선 링크들을 통해 송신될 수 있다. 신호는 프로세서 판독가능 매체에 저장될 수 있다.
다양한 청구항 카테고리들 및 유형들에 걸쳐, 다수의 실시예들을 기술한다. 이들 실시예의 특징은 단독으로 또는 임의의 조합으로 제공될 수 있다. 또한, 실시예들은, 다양한 청구항 카테고리들 및 유형들에 걸쳐, 단독으로 또는 임의의 조합으로, 다음의 특징들, 디바이스들, 또는 태양들 중 하나 이상을 포함할 수 있다:
다층 비디오 코딩 스킴에서의 계층별 제한된 신택스 범위.
적응형 파라미터 세트에 정의된 적응형 루프 필터링 세트들은 다수의 계층에서 별개이다.
적응 파라미터 세트를 고유하게 식별하는 데 사용되는 계층 식별.
적응형 파라미터 세트들이 그들의 계층에 의해 식별되는지를 나타내는 하이 레벨 신택스 플래그.
기술된 실시예들 중 임의의 것에 따라 생성된 신택스 이송 정보를 포함하는 비트스트림 또는 신호.
기술된 실시예들 중 임의의 것에 따라 생성하고/하거나 송신하고/하거나 수신하고/하거나 디코딩함.
기술된 실시예들 중 임의의 것에 따른 방법, 프로세스, 장치, 명령어들을 저장하는 매체, 데이터를 저장하는 매체, 또는 신호.
인코더에 의해 사용된 것에 대응하는 방식으로 디코딩 정보를 결정하도록 디코더를 인에이블하는 시그널링 신택스 요소들에 삽입함.
기술된 신택스 요소들, 또는 이들의 변형들 중 하나 이상을 포함하는 비트스트림 또는 신호를 생성하고/하거나 송신하고/하거나 수신하고/하거나 디코딩함.
기술된 실시예들 중 임의의 것에 따라 변환 방법(들)을 수행하는 TV, 셋톱 박스, 휴대폰, 태블릿, 또는 다른 전자 디바이스.
기술된 실시예들 중 임의의 것에 따라 변환 방법(들) 결정을 수행하고, (예컨대, 모니터, 스크린, 또는 다른 유형의 디스플레이를 사용하여) 결과적인 이미지를 디스플레이하는 TV, 셋톱 박스, 휴대폰, 태블릿, 또는 다른 전자 디바이스.
인코딩된 이미지를 포함하는 신호를 수신하기 위한 채널을 선택하거나, 대역제한하거나, (예를 들어, 튜너를 사용하여) 튜닝하고, 기술된 실시예들 중 임의의 것에 따라 변환 방법(들)을 수행하는 TV, 셋톱박스, 휴대폰, 태블릿, 또는 다른 전자 디바이스.
인코딩된 이미지를 포함하는 신호를 무선으로 (예를 들어, 안테나를 사용하여) 수신하고, 변환 방법(들)을 수행하는 TV, 셋톱박스, 휴대폰, 태블릿, 또는 다른 전자 디바이스.

Claims (15)

  1. 방법으로서,
    비디오 데이터를 포함하는 다수의 계층들에 대응하는 신택스 요소에 값들의 범위들을 할당하는 단계; 및
    상기 할당된 값들의 범위들을 사용하여 비디오 데이터의 상기 다수의 계층들을 인코딩하는 단계를 포함하는, 방법.
  2. 장치로서,
    프로세서를 포함하며, 상기 프로세서는,
    비디오 데이터를 포함하는 다수의 계층들에 대응하는 신택스 요소에 값들의 범위들을 할당하는 것; 및
    상기 할당된 값들의 범위들을 사용하여 비디오 데이터의 상기 다수의 계층들을 인코딩하는 것을 수행하도록 구성되는, 장치.
  3. 방법으로서,
    비디오 데이터를 포함하는 다수의 계층들에 대응하는 신택스 요소의 값들의 범위들을 결정하는 단계; 및
    상기 결정된 값들의 범위들을 사용하여 비디오 데이터의 상기 다수의 계층들을 디코딩하는 단계를 포함하는, 방법.
  4. 장치로서,
    프로세서를 포함하며, 상기 프로세서는,
    비디오 데이터를 포함하는 다수의 계층들에 대응하는 신택스 요소의 값들의 범위들을 결정하는 것; 및
    상기 결정된 값들의 범위들을 사용하여 비디오 데이터의 상기 다수의 계층들을 디코딩하는 것을 수행하도록 구성되는, 장치.
  5. 제1항 또는 제3항에 있어서, 또는 제2항 또는 제4항에 있어서, 계층에 대한 적응형 루프 필터링 적응 파라미터 세트들을 식별하기 위해 상기 신택스 요소와 함께 계층 식별이 사용되는, 방법 또는 장치.
  6. 제1항 또는 제3항 또는 제5항에 있어서, 또는 제2항 또는 제4항 또는 제5항에 있어서, 상기 신택스 요소 범위는 추가되는 모든 계층에 대해 감소하는, 방법 또는 장치.
  7. 제1항 또는 제3항 또는 제5항에 있어서, 또는 제2항 또는 제4항 또는 제5항에 있어서, 상기 값들의 범위는 입력 파라미터들로서 정의되는, 방법 또는 장치.
  8. 제1항 또는 제3항 또는 제5항에 있어서, 또는 제2항 또는 제4항 또는 제5항에 있어서, 하이 레벨 신택스 플래그가 적응형 파라미터 세트들이 상기 적응형 파라미터 세트들의 계층에 의해 식별되는지를 나타내는, 방법 또는 장치.
  9. 제8항에 있어서, 상기 하이 레벨 신택스 플래그는 비디오 파라미터 세트 또는 시퀀스 파라미터 세트에 위치되는, 방법 또는 장치.
  10. 제1항 또는 제3항 또는 제5항에 있어서, 또는 제2항 또는 제4항 또는 제5항에 있어서, 상기 신택스 요소는 alf_aps_id들인, 방법 또는 장치.
  11. 제1항 또는 제3항 또는 제5항에 있어서, 또는 제2항 또는 제4항 또는 제5항에 있어서, 식별자가 사용된 적응형 루프 필터 세트를 식별하는 데 사용되는, 방법 또는 장치.
  12. 디바이스로서,
    제1항에 따른 장치; 및
    (i) 신호를 수신하도록 구성된 안테나 - 상기 신호는 비디오 블록을 포함함 -, (ii) 비디오 블록을 포함하는 상기 수신된 신호를 주파수들의 대역으로 제한하도록 구성된 대역 제한기, 및 (iii) 비디오 블록을 나타내는 출력을 디스플레이하도록 구성된 디스플레이 중 적어도 하나를 포함하는, 디바이스.
  13. 프로세서를 사용한 재생을 위해, 제1항의 방법에 따라, 또는 제2항의 장치에 의해 생성된 데이터 콘텐츠를 포함하는 비일시적 컴퓨터 판독가능 매체.
  14. 프로세서를 사용한 재생을 위해, 제1항의 방법에 따라, 또는 제2항의 장치에 의해 생성된 비디오 데이터를 포함하는 신호.
  15. 명령어들을 포함하는 컴퓨터 프로그램 제품으로서, 상기 명령어들은, 상기 프로그램이 컴퓨터에 의해 실행될 때, 상기 컴퓨터로 하여금 제1항의 방법을 수행하게 하는, 컴퓨터 프로그램 제품.
KR1020247015999A 2021-10-14 2022-10-11 다층 코딩 및 디코딩을 위한 alf aps KR20240089756A (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP21306436.3 2021-10-14

Publications (1)

Publication Number Publication Date
KR20240089756A true KR20240089756A (ko) 2024-06-20

Family

ID=

Similar Documents

Publication Publication Date Title
CN113228650B (zh) 基于块的表面的视频编码或解码的量化
CN112970264A (zh) 基于相邻样本相关参数模型的译码模式的简化
EP3891994A1 (en) Managing coding tools combinations and restrictions
KR20210135247A (ko) 인 루프 재성형 적응적 재성형기 방향
KR20210058938A (ko) 픽처 인코딩 및 디코딩을 위한 방법 및 디바이스
US20240031607A1 (en) Scaling list control in video coding
KR20240089756A (ko) 다층 코딩 및 디코딩을 위한 alf aps
JP2022502981A (ja) 輝度および彩度に対して別々のコーディングツリーを使用する場合の彩度量子化パラメータを決定するための方法および装置
US20230141577A1 (en) Method and apparatus for video encoding and decoding
US20230232045A1 (en) Scaling process for joint chroma coded blocks
US20240171756A1 (en) Template matching prediction for video encoding and decoding
US20220368912A1 (en) Derivation of quantization matrices for joint cb-br coding
US20220224902A1 (en) Quantization matrices selection for separate color plane mode
US20220272356A1 (en) Luma to chroma quantization parameter table signaling
WO2023062014A1 (en) ALF APSs FOR MULTILAYER CODING AND DECODING
US20230336721A1 (en) Combining abt with vvc sub-block-based coding tools
US20210344962A1 (en) Method and apparatus for video encoding and decoding with signaling of coding type or coding tree type
CN114073093A (zh) 三角形分割的合并索引的信令通知
CN114270829A (zh) 局部照明补偿标志继承
CN118233634A (zh) 基于块的表面的视频编码或解码的量化
CN118233633A (zh) 基于块的表面的视频编码或解码的量化
CN117501692A (zh) 用于视频编码和解码的模板匹配预测
CN114041286A (zh) 用于视频编码和解码的色度格式相关量化矩阵