KR102330153B1 - 저지연 화상 코딩 - Google Patents

저지연 화상 코딩 Download PDF

Info

Publication number
KR102330153B1
KR102330153B1 KR1020207030444A KR20207030444A KR102330153B1 KR 102330153 B1 KR102330153 B1 KR 102330153B1 KR 1020207030444 A KR1020207030444 A KR 1020207030444A KR 20207030444 A KR20207030444 A KR 20207030444A KR 102330153 B1 KR102330153 B1 KR 102330153B1
Authority
KR
South Korea
Prior art keywords
picture
slice
decoding
current
entropy
Prior art date
Application number
KR1020207030444A
Other languages
English (en)
Other versions
KR20200123289A (ko
Inventor
토마스 쉬를
발레리 게오르게
아나스타샤 헨켈
데트레브 마르페
카르스텐 그륀버그
로버트 스쿠핀
Original Assignee
지이 비디오 컴프레션, 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=48141968&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=KR102330153(B1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by 지이 비디오 컴프레션, 엘엘씨 filed Critical 지이 비디오 컴프레션, 엘엘씨
Priority to KR1020217037683A priority Critical patent/KR102472481B1/ko
Publication of KR20200123289A publication Critical patent/KR20200123289A/ko
Application granted granted Critical
Publication of KR102330153B1 publication Critical patent/KR102330153B1/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/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/188Methods 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 video data packet, e.g. a network abstraction layer [NAL] unit
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N17/00Diagnosis, testing or measuring for television systems or their details
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods 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 picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • 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/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/98Adaptive-dynamic-range coding [ADRC]

Abstract

엔트로피 디코딩이 관련되는 한 각각의 슬라이스 외부의 화상의 영역과 관계없는 어떠한 슬라이스들이 완전히 코딩되거나/디코딩되는지에 따라 보통의 슬라이스 개념이 서로 다른 방식의 슬라이스들, 즉 슬라이스 경계들을 가로질러 상호의존성을 허용하는 의존성 슬라이스들로 불리는 슬라이스들, 및 예를 들면, 정상적인 슬라이스들로 불리는 그렇지 않은 나머지들을 위하여 포기되면 감소된 종단간 지연으로 파면 병렬 처리와 같은 병렬 처리 개념들이 실현된다. 상기 관점(aspect)과 결합되거나 또는 그렇지 않거나, 파면 병렬 처리 개념은 파면 병렬 처리 엔트리 지점들을 위치시키기 위하여 슬라이스들의 출발 구문 부를 사용함으로써 더 효율적이 된다.

Description

저지연 화상 코딩{LOW DELAY PICTURE CODING}
본 발명은 화상들의 저지연 코딩에 관한 것이다.
현재 고효율 비디오 코딩(High Efficiency Video Coding, HEVC, 이하 HEVC로 표기) 디자인에서, 슬라이스(slice)들, 엔트로피 슬라이스들(이전의 경량 슬라이스들) 타일(tile)들 및 파면 병렬 처리(Wavefront Parallel Processing, WPP)는 병렬화를 위한 툴들로서 포함된다.
비디오 인코더들과 디코더들의 병렬화를 위하여 화상-레벨 분할은 다른 접근법들과 비교하여 일부 장점들을 갖는다. H.264/AVC[1] 같은, 이전의 비디오 코더들에서, 화상 파티션들은 코딩 효율과 관련하여 높은 값을 갖는 규칙적인 슬라이스(regular slice)들로만 가능하였다. 스케일러블 병렬 H.264/AVC 디코딩을 위하여 화상 재구성을 위한 매크로블록-레벨 병행성(parallelism) 및 엔트로피 디코딩을 위한 프레임-레벨 병행성을 결합하는 것이 필요하다. 그러나, 이러한 접근법은 화상 지연의 제한된 감소 및 높은 메모리 사용을 제공한다. 이러한 제한들을 극복하기 위하여, 새로운 화상 분할 전략들이 HEVC 코덱 내에 포함되어왔다. 현재의 기준 소프트웨어 버전(HM-6)은 다음의 4가지 서로 다른 접근법을 포함한다: 규칙적이거나 또는 정상적인 슬라이스들, 엔트로피 슬라이스들, 파면 병렬 처리 서브-스트림들 및 타일들. 일반적으로 그러한 화상 파티션들은 HEVC 또는 이들의 서브셋에서 정의되는 것과 같이, 최대 코딩 유닛들(LCU)의 세트, 또는 동의어로, 코딩 트리 유닛(CTU)들의 세트를 포함한다.
도 1은 바람직하게는 최대 코딩 유닛들의 열(row, 902) 당 규칙적인 슬라이스(900) 내에 위치되는 화상(898)으로서 도시한다. 규칙적이거나 또는 정상적인 슬라이스들(H.264[1]에서 정의되는 것과 같이)은 최대 코딩 페널티를 갖는데 그 이유는 슬라이스들이 엔트로피 디코딩과 예측 의존성을 깨뜨리기 때문이다.
슬라이스들과 같은, 엔트로피 슬라이스들은 엔트로피 디코딩 의존성을 깨뜨리나 슬라이스 경계들을 가로지르기 위한 예측(및 필터링)을 허용한다.
파면 병렬 처리에 있어서 화상 파티션들은 이제 삽입되고, 엔트로피 디코딩과 예측 모두 다른 파티션들 내의 블록들로부터 데이터를 사용하도록 허용된다. 이러한 방법으로 코딩 손실이 최소화되며 동시에 파면 병행성이 활용될 수 있다. 그러나, 삽입은 비트스트림 인과율(bitstream causalty)을 침해하는데 그 이유는 이전의 파티션이 그 다음의 디코딩하기 위한 파티션을 필요로 하기 대문이다.
도 2는 바람직하게는 수평으로 분할하는 타일들(906)의 두 개의 열(904, 904b)로 세분되는 화상(898)을 도시한다. 타일들은 화상(898)을 타일 행들(912a, b, c)과 열들(904a, b)로 분할하는 수평(908) 및 수직 경계(910)를 정의한다. 규칙적인 슬라이스들(900)과 유사하게, 타일들은 엔트로피 디코딩 및 예측 의존성들을 깨뜨리나, 각각의 타일을 위한 헤더를 요구하지는 않는다.
이러한 기술들 각각을 위하여 파티션들의 수는 인코더에 의해 자유롭게 선택될 수 있다. 일반적으로 더 많은 파티션을 갖는 것은 더 높은 압축 손실에 이르게 한다. 그러나 파면 병렬 처리에 있어서 손실 전파는 높지 않으며 따라서 화상 파티션들의 수는 열 당 하나로 고정될 수 있다. 이는 또한 몇몇 장점들에 이르게 한다. 우선, 파면 병렬 처리 비트스트림을 위하여, 인과율이 보장된다. 두 번째로, 디코더 구현들은 해상도에 따라 증가하는, 특정 양의 병행성이 이용가능하다는 것을 추정할 수 있다. 그리고, 마지막으로, 상대적으로 낮은 코딩 손실들을 야기하는, 파면 순서로 디코딩할 때, 콘텍스트 선택과 예측 의존성들 중 어느 것도 깨져서는 안 된다.
그러나, 지금까지 변환 개념들에서의 모든 병렬 코딩은 저지연의 유지와 결합하여 고압축 효율의 달성을 제공하는데 실패하였다. 이는 또한 파면 병렬 처리 개념에서도 마찬가지이다. 슬라이스들은 코딩 파이프라인(coding pipeline)에서 전송의 가장 작은 유닛들이며, 일부 파면 병렬 처리 서브스트림들은 여전히 연속적으로 전송되어야만 한다.
따라서, 종단간(end-to-end) 지연을 더 감소시키거나 또는 사용되는 코딩 오버헤드의 감소에 의해 코딩 효율을 향상시키는 것과 같이, 증가된 효율을 갖는, 예를 들면, 파면 병렬 처리에 따른 병렬 디코딩을 허용하는 화상 코딩 개념을 제공하는 것이 본 발명의 목적이다.
본 발명의 목적은 독립항들의 주제에 의해 달성된다.
만일 엔트로피 디코딩이 관련되는 한 각각의 슬라이스 외부의 화상의 영역과 관계없는 어떠한 슬라이스들이 완전히 코딩되거나/디코딩되는지에 따라 보통의 슬라이스 개념이 서로 다른 방식의 슬라이스들, 즉 슬라이스 경계들을 가로질러 상호의존성을 허용하는 의존성 슬라이스들로 불리는 슬라이스들, 및 예를 들면, 정상적인 슬라이스들로 불리는 그렇지 않은 나머지들을 위하여 포기되면 감소된 종단간 지연으로 파면 병렬 처리와 같은 병렬 처리 개념들이 실현될 수 있는 것이 본 발명의 기본 발견이다.
만일 슬라이스들의 출발 구문 부(start syntax portion)들이 파면 병렬 처리 엔트리 지점(entry point)들을 위치시키는데 사용되면 파면 병렬 처리 처리 개념이 더 효율적으로 만들어질 수 있다는 사실이, 첫 번째와 결합되거나 또는 개별적으로 사용될 수 있는 본 발명의 또 다른 기본 발견이다.
도면들과 관련하여 본 발명의 바람직한 실시 예들이 아래에 설명되는데, 바람직한 실시 예들은 종속항들의 주제이다.
도 1은 바람직하게는 최대 코딩 유닛들의 열 당 규칙적인 슬라이스로 분할되는 화상 또는 화상 내의 매크로블록들을 도시한다.
도 2는 바람직하게는 수평으로 분할되는 타일들의 2열로 분할되는 화상을 도시한다.
도 3은 바람직하게는 슬라이스 또는 네트워크 전송 세그먼트로의 병렬 인코딩된 파티션들의 지정을 도시한다.
도 4는 최소 종단간 지연을 위한 타일 코딩 접근법으로의 프레임의 일반 단편화(fragmentation)를 나타내는 개략적인 다이어그램을 도시한다.
도 5는 최소 종단간 지연을 위한 파면 병렬 처리 접근법으로의 프레임의 바람직한 단편화를 나타내는 개략적인 다이어그램을 도시한다.
도 6은 비디오 서비스들을 사용하는 대화(conversation)의 시나리오를 나타내는 개략적인 블록 다이어그램을 도시한다.
도 7은 최소 종단간 지연으로의 일반 서브셋들을 갖는 타일들을 위한 인코딩, 전송 및 디코딩의 가능한 시간 스케줄을 개략적으로 도시한다.
도 8은 통상적으로 종단간 지연을 달성하는 타이밍 스케줄을 개략적으로 도시한다.
도 9는 바람직하게는 두 개의 슬라이스로 분할되는, 11x9 코딩 트리블록을 갖는 화상을 도시한다.
도 10은 바람직하게는 세 개의 타일로 분할되는, 13x8 코딩 트리블록을 갖는 화상을 도시한다.
도 11은 시퀀스 파라미터 세트 구문의 일례를 도시한다.
도 12는 화상 파라미터 세트 구문의 일례를 도시한다.
도 13은 슬라이스 헤더 구문을 위한 일례를 도시한다.
도 14는 규칙적인 슬라이스 내로의 파면 병렬 처리 및 저지연 처리를 위한 종속 슬라이스(dependent slice)들 내로의 화상의 분할을 예시한다.
도 15는 화상 파라미터 세트 구문 내의 일 부를 위한 일례들 도시한다.
도 16은 가능한 슬라이스-헤더 구문을 도시한다.
도 17은 정상 슬라이스들(및 종속 슬라이스들)을 위한 코딩 상호의존성을 개략적으로 도시한다.
도 18은 타일들의 저지연 전송을 위한 인코딩을 비교하는 개략적인 다이어그램을 도시한다(종속 슬라이스들을 사용하는 파면 병렬 처리).
도 19는 도 18의 오른쪽 면에 도시된 것과 같이 종속 슬라이스들을 사용하는 파면 병렬 처리를 사용할 때 파이프라인 저지연 전송으로의 바람직한 파면 병렬 처리 코딩을 나타내는 타이밍 스케줄을 도시한다.
도 20은 앵커(anchor)들로서 규칙적인 슬라이스의 사용에 의한 견고성 향상을 나타내는 개략적인 다이어그램을 도시한다.
도 21은 슬라이스 헤더 구문을 위한 또 다른 실시 예를 도시한다.
도 22는 화상 파라미터 세트 구문을 위한 또 다른 실시 예를 도시한다.
도 23은 왼쪽 화상 경계에서 시작하는 경우에 종속 슬라이스를 위한 심볼 확률(symbol probability) 초기화 과정을 나타내는 개략적인 다이어그램을 도시한다.
도 24는 디코더의 개략적인 다이어그램을 도시한다.
도 25는 화상의 코딩 블록들과 슬라이스들로의 분할과 함께 디코더의 블록 다이어그램을 개략적으로 도시한다.
도 26은 인코더의 블록 다이어그램을 개략적으로 도시한다.
도 27은 여기서는 슬라이스 세그먼트들로 불리는, 정상 및 종속 슬라이스들을 개략적으로 도시한다.
도 28은 여기서는 한편으로는 슬라이스 세그먼트들, 다른 한편으로는 타일들로 불리는 정상 및 종속 슬라이스로 분할되는 화상을 개략적으로 도시한다.
도 29는 종속 슬라이스들을 사용하는 콘텍스트 초기화 과정을 나타내는 플로우 다이어그램을 도시한다.
도 30은 종속 슬라이스들을 사용하기 위한 콘텍스트 저장 과정을 나타내는 플로우 다이어그램을 도시한다.
도 31은 파면 병렬 처리 엔트리 지점들을 시그널링하는 서로 다른 가능성을 개략적으로 도시한다.
다음에서, 각각 병렬 화상 코딩 및 저지연 코딩을 가능하게 하기 위한 오늘날의 개념의 설명으로 구체적인 내용을 시작한다. 두 능력 모두를 가지려고 할 때 발생하는 문제점들이 설명된다. 특히, 다음의 설명에서 나타나는 것과 같이, 지금까지 설명된 파면 병렬 처리 서브스트림 개념은 하나의 슬라이스로 그루핑(grouping)함으로써 파면 병렬 처리 서브스트림들을 전달하기 위한 필요성에 기인하는 저지연을 갖기 위한 바람과 다소 충돌된다. 다음의 실시 예들은 슬라이스 개념을 확장함으로써, 즉 또 다른 형태의 슬라이스를 도입함으로써 훨씬 덜한 지연을 필요하게 하는 애플리케이션들에 적용할 수 있는, 파면 병렬 처리와 같은 병렬 처리 개념들을 제공한다.
디스플레이에 대한 포획으로부터 종단간 지연 비디오 지연의 최소화는 비디오 화상회의 등과 같은 적용들에서의 주요 목적 중 하나이다.
디지털 비디오 전송을 위한 신호 처리 체인은 카메라, 포획 장치(capturer), 인코더, 캡슐화, 전송, 디멀티플렉서(demultiplexer), 디코더, 렌더러(renderer) 및 디스플레이로 구성된다. 각각의 이러한 단계들은 뒤따르는 단계로의 직렬 전송 전에 이미지 데이터를 버퍼링함으로써 종단간 지연에 기여한다.
일부 적용, 예를 들면, 처리되는 대상들을 직접적으로 볼 수 없는, 위험한 영역, 또는 최소 절개 수술에서의 대상들의 원격 처리는 그러한 지연의 최소화를 필요로 한다.
심지어 짧은 지연도 적절한 처리의 심각한 어려움을 야기하거나 또는 비극적인 실수에 이르게 할 수 있다.
많은 경우에 있어서, 전체 비디오 프레임은 예를 들면, 인트라 프레임(intra frame) 처리를 허용하기 위한 처리 단계 내에서 버퍼링된다. 일부 단계는 그 다음 단계로 전달되는 패킷들을 형성하기 위하여 데이터를 수집한다. 일반적으로, 지역 처리(local processing)의 요구사항들로부터 야기하는 지연을 위하여 낮은 경계가 존재한다. 이는 아래에 더 상세히 설명되는 각각의 개별 단계를 위하여 분석된다.
카메라 내부의 처리는 반드시 인트라-프레임 신호 처리를 필요로 하지 않으며, 따라서 프레임 및 하드웨어 제조사에 의한 일부 디자인 선택에 의해 한정되는, 센서의 적분 시간에 의해 최소 지연이 주어진다. 카메라 출력은 일반적으로 상부 왼쪽 모서리에서 처리를 시작하고 상부 오른쪽 모서리로 이동하며 한 라인씩 하부 오른쪽 모서리로 지속하는 스캔 순서와 관련된다. 결론적으로, 이는 센서로부터 카메라 출력으로 모든 데이터가 전달될 때까지 약 1 프레임 기간이 걸린다.
포획 장치는 수신 후에 바로 카메라 데이터를 전달할 수 있으나, 일반적으로 메모리 또는 저장장치로의 데이터 액세스를 최적화하기 위하여 일부 데이터를 버퍼링하고 버스트(burst)들을 발생할 것이다. 게다가, 카메라/포획장치 및 컴퓨터의 메모리 사이의 연결은 일반적으로 포획된 이미지 데이터의 또 다른 처리(인코딩)를 위한 메모리로의 전달을 위한 비트레이트(bitrate)를 한정한다. 일반적으로, 카메라는 USB 2.0 또는 USB 3.0을 거쳐 연결되나, 항상 인코더로의 이미지 데이터의 부분 전송을 포함할 것이다. 이는 극도의 저지연 시나리오에서 인코더 면 상의 병렬화를 한정하는데, 즉 인코더는 예를 들면, 이미지의 상부로부터 하부로의 래스터-스캔(raster scan)에서, 카메라로부터의 데이터가 이용가능할 때, 가능한 한 빨리 인코딩을 시작하려고 할 것이다.
인코더에서, 처리지연의 감소를 위한, 특정 비디오 충실성을 위하여 필요한 데이터 비율과 관련하여, 인코딩 효율을 절충하도록 허용하는 일부 자유도(degree of freedom)가 존재한다.
인코더는 그 뒤에 인코딩되는 이미지를 예측하기 위하여 이미 전송된 데이터를 사용한다. 일반적으로, 실제 이미지와 예측 사이의 차이는 예측 없이 필요할 수 있는 것보다 더 적은 비트들로 인코딩될 수 있다. 이러한 예측 값들은 디코더에서 이용할 수 있도록 하기 위하여 필요하며, 따라서 예측은 동일한 이미지의 이전에 디코딩된 부들(인트라-프레임 예측) 또는 이전에 처리된 다른 이미지들(인터(inter)-프레임 예측)을 기초로 한다. 전-HEVC 비디오 인코딩 표준은 위의 이미지 또는 동일한 라인 내, 그러나 왼쪽(이전에 인코딩된)의 일부분, 움직임 벡터 예측 및 엔트로피 코딩(콘텍스트 적응 이진 산술 코딩(CABAC), 이하 CABAC로 표기)만을 사용한다.
예측 구조의 최적화에 더하여, 병렬 처리의 영향이 고려될 수 있다. 병렬 처리는 독립적으로 처리될 수 있는 화상 영역의 식별을 필요로 한다. 합리적인 이유를 위하여, 흔히 "타일들"로 불리는, 수평 또는 수직 직사각형과 같은 인접한 영역들이 선택된다. 저지연 제한의 경우에 있어서, 그러한 영역들은 가능한 한 빨리, 포획장치로부터 들어오는 데이터를 메모리로의 병렬화된 코딩을 허용해야만 한다. 래스터-스캔 메모리를 전달할 때, 인코딩을 즉시 시작하기 위하여, 원시 데이터의 수직 파티션들이 이치에 맞는다. 화상을 수직 파티션들로 세분하는(아래의 도면 참조), 그러한 타일들 내부에, 인트라-예측, 움직임 벡터 예측 및 엔트로피 코딩(콘텍스트 기반 적응 산술 코딩)은 합리적인 코딩 효율에 이르게 할 수 있다. 지연을 최소화하기 위하여, 상부로부터 시작하는, 화상의 일부분만이 인코더의 프레임에 전달될 수 있으며, 병렬 처리는 수직 타일들 내에서 시작되어야만 한다.
병렬 처리를 허용하는 또 다른 방법은 타일들과 비교될 수 있는, 규칙적인 슬라이스 내의 파면 병렬 처리, 단일 슬라이스 내에 포함된 타일들의 "열"을 사용하는 것이다. 그러한 슬라이스 내의 데이터는 또한 슬라이스 내의, 파면 병렬 처리 서브스트림들을 사용하여 병렬 인코딩될 수 있다. 슬라이스들(900) 및 타일들/파면 병렬 처리 서브스트림들(914)로의 화상 분리가 도 3에 도시된다.
따라서, 도 3은 906 또는 914와 같은 병렬 인코딩된 파티션들의 슬라이스 또는 네트워크 전송 세그먼트(단일 네트워크 패킷 또는 다중 네트워크(900) 패킷)로의 지정을 도시한다.
H.264 또는 HEVC에서 정의된 것과 같이, 인코딩된 데이터의 네트워크 추상 계층(NAL)으로의 캡슐화는 전송 전에 또는 인코딩 과정 동안에 각각의 블록의 식별 및 만일 적용가능하면, 블록들의 재정렬(reordering)을 허용하는 데이터 블록들에 일부 헤더를 추가한다. 표준 사례에서, 어떠한 부가적인 시그널링도 필요하지 않은데, 그 이유는 코딩 요소의 순서가 항상 타일의 위치의 내포된 할당인, 디코딩 순서 내에 존재하거나, 또는 일반적인 코딩 단편이 주어지기 때문이다.
만일 저지연 병렬 전송을 위한 부가적인 전송 층으로의 병렬 처리가 고려되면, 즉 전송 층은 저지연 전송을 허용하기 위하여 타일들을 위한 화상 파티션들을 재정렬할 수 있는데, 이는 그것들이 인코딩됨에 따라 도 4에 도시된 것과 같이 단편들을 보낼 수 있다는 것을 의미한다. 그러한 단편들은 또한 완전히 인코딩된 슬라이스들이 아닐 수 있으며, 슬라이스의 서브셋일 수 있으며, 종속 슬라이스 내에 포함될 수 있다.
부가적인 단편들을 생성하는 경우에, 헤더 정보가 일정한 수의 바이트를 추가하기 때문에 큰 데이터 블록들과 함께 가장 높을 수 있는, 효율 및 지연 사이에 균형이 존재하는데, 그 이유는 병렬 인코더들의 큰 데이터 블록들은 전송 이전에 버퍼링될 필요가 있기 때문이다. 전체 지연은 만일 수직 타일들(906)의 인코딩된 표현이 단편이 완전히 인코딩되자마자 전송되는 다수의 단편(916)으로 분리되면 감소될 수 있다. 각각의 단편의 크기는 매크로블록들, 최대 코딩 유닛들과 같은,고정된 이미지 영역 혹은 도 4에 도시된 것과 같이 최대 데이터와 관련하여 결정될 수 있다.
따라서, 도 4는 최소 종단간 지연을 위한 타일 코딩 접근법으로의 프레임의 일반적인 단편화를 도시한다.
유사하게, 도 5는 최소 종단간 지연을 위한 파면 병렬 처리 코딩 접근법으로의 프레임의 일반적인 단편화를 도시한다.
전송은 예를 들면, 만일 전송의 견고성을 증가시키는 순방향 오류 정정(Forward Error Correction)과 같은, 부가적인 블록 지향의 처리가 적용되면 지연을 더 추가할 수 있다. 그밖에, 네트워크 기반구조(라우터(router) 등) 또는 물리적 연결이 지연을 추가할 수 있으며, 이는 일반적으로 연결을 위한 레이턴시(latency)로 알려져 있다. 레이턴시에 더하여, 전송 비트레이트는 비디오 서비스들을 사용하는 도 6에 도시된 것과 같이 대화에서, 파티(Party, a)로부터 파티(b)로 데이터를 전달하기 위한 시간(지연)을 결정한다.
만일 인코딩된 데이터 블록들이 제멋대로 전송되면, 지연의 재배열이 고려되어야만 한다. 이에 앞서 디코딩되어야만 하는 다른 데이터 유닛들이 이용가능하면, 디코딩은 데이터 유닛이 도착하자마자 시작할 수 있다.
타일들의 경우에 있어서, 타일들 사이에 어떠한 의존성도 없으며, 따라서 타일은 즉시 디코딩될 수 있다. 만일 단편들이 도 4에 도시된 것과 같이 각각의 단편 당 개별 슬라이스들과 같은, 타일로 생산되었으면, 단편들은 각각 그것들의 포함된 최대 코딩 유닛들 또는 코딩 유닛들로 인코딩되자마자 직접적으로 전송될 수 있다.
렌더러는 병렬 디코딩 엔진들의 출력들을 어셈블링하고 결합된 화상을 한 라인(line)씩 디스플레이에 전달한다.
디스플레이는 어떠한 지연을 반드시 추가하지는 않으나, 실제로 이미지 데이터가 디스플레이되기 전에 실제로 일부 인트라 프레임 처리를 한다. 이는 하드웨어 제조사에 의한 디자인 선택에 달려 있다.
요약하면, 최소 종단간 지연을 달성하기 위하여 인코딩, 캡슐화, 전송 및 디코딩 단계들이 영향을 미칠 수 있다. 만일 병렬 처리, 타일들 및 타일들 내의 단편을 사용하면, 총 지연은 도 8에 도시된 것과 같이 이러한 각각의 단계들에서 약 1 프레임 지연을 추가하는 일반적으로 사용되는 처리 체인과 비교하여, 도 7에 도시된 것과 같이 상당히 감소될 수 있다.
특히, 도 7은 최소 종단간 지연으로 일반 서브셋을 갖는 타일들을 위한 인코딩, 전송 및 디코딩을 도시하나, 도 8은 일반적으로 달성된 종단간 지연을 도시한다.
HEVC는 이러한 슬라이스 분할, 타일 분할, 및 다음의 방법으로의 사용을 허용한다:
타일: 타일의 트리블록 래스터 스캔 내에 연속적으로 정렬되는, 하나의 행(column)과 하나의 열에서 공동 발생하는 정수(integer number)의 트리블록. 화상 내의 타일들은 화상의 타일 래스터 스캔 내에 연속적으로 정렬된다. 슬라이스가 타일의 트리블록 래스터 스캔 내에서 연속적이나, 이러한 타일블록들은 화상의 트리블록 래스터 스캔 내에서 반드시 연속적이지는 않다.
슬라이스: 래스터 스캔 내에 연속적으로 정렬되는 정수의 트리블록들. 슬라이스들로의 각각의 화상의 세분화가 분할이다. 트리블록 주소들은 슬라이스 내의 제 1 트리블록 어드레스로부터 도출된다.
래스터 스캔: 1차원 패턴 내의 제 1 엔트리들이 왼쪽으로부터 오른쪽으로 스캐닝되는 2차원 패턴의 제 1 상부 열로부터 존재하고, 유사하게 각각 왼쪽으로부터 오른쪽으로 스캐닝되는 패턴의 제 2, 제 3 등의 열이 뒤따르는 것과 같은 직사각형 2차원 패턴의 1차원 패턴으로의 매핑.
트리블록: 4개의 샘플 어레이를 갖는 화상의 루마 샘플(luma sample)들의 NxN 블록 및 크로마 샘플(chroma sample)의 두 개의 상응하는 블록, 혹은 3개의 개별 색 평면을 사용하여 코딩되는 모노크롬 화상 또는 화상의 샘플들의 NxN 블록. 트리블록들로의 슬라이스의 세분이 분할이다.
분할: 세트의 각각의 요소가 정확하게 서브셋들의 하나인 것과 같이 하나의 세트의 서브셋들로의 세분.
쿼드트리: 부모 노드(parent node)가 4개의 자식 노드로 분할될 수 있는 트리. 자식 노드는 4개의 자식 노드로의 또 다른 분할을 위한 부모 노드가 될 수 있다.
다음으로, 화상들, 슬라이스들 및 타일들의 공간 세분화가 설명된다. 특히, 다음의 설명은 화상이 어떻게 슬라이스들, 타일들 및 코딩 트리블록들로 분할되는지를 명시한다. 화상들은 슬라이스들과 타일들로 세분된다. 슬라이스는 코딩 트리블록들의 시퀀스이다. 유사하게, 타일은 코딩 트리블록들의 시퀀스이다.
샘플들은 코딩 트리블록의 유닛들 내에서 처리된다. 샘플들 내의 각각의 트리블록을 위한 루마 어레이 크기는 CtbSize이다, 각각의 코딩 트리블록을 위한 크로마 어레이의 폭 및 높이는 각각, CtbWidthC 및 CtbHeightC이다. 예를 들면, 화상은 그 다음의 도면에 도시된 것과 같이 두 개의 슬라이스로 세분될 수 있다. 또 다른 실시 예에서와 같이, 화상은 그 다음 두 번째 도면에 도시된 것과 같이 세 개의 타일로 세분될 수 있다.
슬라이스들과 다르게, 타일들은 항상 직사각형이고 항상 코딩 트리블록 래스터 스캔 내에 정수의 코딩 트리블록을 포함한다. 타일은 하나 이상의 슬라이스 내에 포함된 코딩 트리블록들로 구성될 수 있다. 유사하게 슬라이스는 하나 이상의 슬라이스 내에 포함된 코딩 트리블록들로 구성될 수 있다.
도 9는 두 개의 슬라이스(900a, b)로 분할되는 13x8 코딩 트리블록들(918)을 갖는 화상(898)을 도시한다.
도 10은 세 개의 타일로 분할되는 13x8 코딩 트리블록들(918)을 갖는 화상을 도시한다.
각각의 코딩(898) 트리블록(918)은 인트라 또는 인터 예측 및 변환 코딩을 위한 블록 크기들을 식별하기 위한 파티션 시그널링이 지정된다. 분할은 재귀적(recursive) 쿼드트리 분할이다. 쿼드트리의 루트는 코딩 트리블록과 관련된다. 쿼드트리는 리프(leaf)가 도달할 때까지 분열되는데, 이는 코딩 블록으로서 언급된다. 코딩 블록은 두 개의 트리, 예측 트리와 변환 트리의 루트 노드(root node)이다.
예측 트리는 예측 블록들의 위치와 크기를 지정한다. 예측 블록들 및 관련 예측 데이터는 예측 유닛으로서 언급된다.
도 11은 바람직한 시퀀스 파라미터 세트 원시 바이트 시퀀스 페이로드(RBSP, 이하 RBSP로 표기) 구문을 도시한다.
변환 트리는 변환 블록들의 위치와 크기를 지정한다. 변환 블록들 및 관련 변환 데이터는 변환 유닛으로서 언급된다.
루마 및 크로마를 위한 분할 정보는 예측 트리를 위하여 동일하며 변환 트리를 위하여 동일하거나 또는 동일하지 않을 수 있다.
코딩 블록, 관련 코딩 데이터 및 관련 예측과 변환 유닛은 함께 코딩 유닛을 형성한다.
타일 스캔 순서에 대한 코딩 트리블록 래스터 순서에서의 코딩 트리블록 주소의 대화를 위한 과정은 다음과 같을 수 있다:
이러한 과정의 출력들은 다음과 같다:
- 0 내지 PicHeightInCtbs*PicWidthInCtbs - 1의 범위의 ctbAddrRS를 갖는, 어레이 CtbAddrTS[ctbAddrRS]
- 0 내지 PicHeightInCtbs*PicWidthInCtbs - 1의 범위의 ctbAddrTS를 갖는, 어레이 TileId[ctbAddrTS]
CtbAddrTS[]의 어레이는 다음과 같이 도출된다:
Figure 112020112114613-pat00001
어레이 CtbAddrTS[]는 다음과 같이 도출된다:
Figure 112020112114613-pat00002
어레이 TileId[]는 다음과 같이 도출된다:
Figure 112020112114613-pat00003
상응하는, 바람직한 구문이 도 11, 12 및 13에 도시되는데, 도 12는 바람직한 화상 파라미터 세트 RBSP 구문을 갖는다. 도 13은 바람직한 슬라이스 헤더 구문을 도시한다.
구문 실시 예에서, 다음의 시맨틱(semantic)이 적용될 수 있다:
1과 동일한 entropy_slice_flag는 존재하지 않는 슬라이스 헤더 구문 요소들의 값이 선행 슬라이스 내의 슬라이스 헤더 구문 요소들의 값과 동일하도록 추론된다는 것을 지정하는데, 선행 슬라이스는 위치(SliceCtbAddrRS-1)를 갖는 코딩 트리블록을 포함하는 슬라이스로서 정의된다. SliceCtbAddrRS가 0과 동일할 때 entropy_slice_flag는 0과 동일해야만 한다.
0과 동일한 tiles_or_entropy_coding_sync_idc는 코딩된 비디오 시퀀스 내의 각각의 화상 내에 하나의 타일만이 존재하고, 코딩 트리블록들의 열의 제 1 코딩 트리블록을 디코딩하기 전에 콘텍스트 변수들을 위한 어떠한 특정화 과정도 적용되지 않는다는 것을 지정한다.
1과 동일한 tiles_or_entropy_coding_sync_idc는 코딩된 비디오 시퀀스 내의 각각의 화상 내에 하나 이상의 타일이 존재하고, 코딩 트리블록들의 열의 제 1 코딩 트리블록을 디코딩하기 전에 콘텍스트 변수들을 위한 어떠한 특정 동기화 과정도 적용되지 않는다는 것을 지정한다.
2와 동일한 tiles_or_entropy_coding_sync_idc는 코딩된 비디오 시퀀스 내의 각각의 화상 내에 하나 이상의 타일이 존재하고, 코딩 트리블록들의 열의 제 1 코딩 트리블록을 디코딩하기 전에 콘텍스트 변수들을 위한 특정 동기화 과정이 적용되며, 코딩 트리블록들의 열의 두 개의 코딩 트리블록을 디코딩한 후에 콘텍스트 변수들을 위한 특정 기억 과정이 적용된다는 것을 지정한다.
tiles_or_entropy_coding_sync_idc의 값은 0 내지 2의 범위 내에 존재하여야만 한다.
num_tile_columns_minus1 plus 1은 화상을 분할하는 타일 행들의 수를 지정한다.
num_tile_rows_minus1 plus 1은 화상을 분할하는 타일 열들의 수를 지정한다. num_tile_columns_minus1이 0과 동일할 때, num_tile_rows_minus1은 0과 동일해서는 안 된다.
다음의 조건 중 하나 또는 둘 모두는 각각의 슬라이스 및 타일을 위하여 실현되어야만 한다:
- 슬라이스 내의 모든 인코딩된 블록은 동일한 타일에 속한다.
- 타일 내의 모든 인코딩된 블록은 동일한 슬라이스에 속한다.
주의 - 동일한 화상 내에서, 다수의 타일을 포함하는 슬라이스들 및 다수의 슬라이스를 포함하는 타일들 모두가 존재할 수 있다.
1과 동일한 uniform_spacing_flag는 행 경계들과 유사한 열 경계들이 화상을 가로질러 균일하게 분포되는 것을 지정한다. 0과 동일한 uniform_spacing_flag는 행 경계들과 유사한 열 경계들이 화상을 가로질러 균일하게 분포되지 않으나, 구문 요소들 column_width[i] 및 row_height[i]를 사용하여 분명하게 시그널링되는 것을 지정한다.
column_width[i]는 코딩 트리블록들의 유닛들 내의 i번째 타일 행의 폭을 지정한다.
row_height[i]는 코딩 트리블록들의 유닛들 내의 i번째 타일 열의 높이를 지정한다. 코딩 트리블록들의 유닛들 내의 i번째 타일 행의 폭을 지정하는, Column Width[i]의 값들 및 루마 샘플들 내의 i번째 타일 행의 높이를 지정하는, Column WidthInLumaSamples[i]의 값들은 다음과 같이 도출된다:
Figure 112020112114613-pat00004
코딩 트리블록들의 유닛들 내의 i번째 타일 열의 높이를 지정하는, RowHeight[i]의 값들은 다음과 같이 도출된다:
Figure 112020112114613-pat00005
코딩 트리블록들의 유닛들 내의 i번째 타일 행의 왼쪽 행 경계의 위치를 지정하는, ColBd[1]의 값들은 다음과 같이 도출된다:
Figure 112020112114613-pat00006
코딩 트리블록들의 유닛들 내의 i번째 타일 열의 상부 열 경계의 위치를 지정하는, RowBd[1]의 값들은 다음과 같이 도출된다:
Figure 112020112114613-pat00007
num_substreams_minus1 plus 1은 tiles_or_entropy_coding_sync_idc가 2와 동일할 때 슬라이스 내에 포함된 서브셋들의 최대 수를 지정한다. 존재하지 않을 때, num_substreams_minus1의 값은 0과 동일한 것으로 추론된다.
num_entry_point_offsets는 슬라이스 헤더 내의 entry_point_offset[i] 구문 요소들의 수를 지정한다. tiles_or_entropy_coding_sync_idc가 1과 동일할 때, num_entry_point_offsets의 값은 0 내지 (num-tile_columns_minus1 + 1) * (num_tile_rows_minus1 + 1) - 1의 범위 내에 존재하여야만 한다. tiles_or_entropy_coding_sync_idc가 2와 동일할 때, num_entry_point_offsets의 값은 0 내지 num-substreams_minus1의 범위 내에 존재하여야만 한다. 존재하지 않을 때, num_entry_point_offsets의 값은 0과 동일한 것으로 추론된다.
offset_len_minu1 plus 1은 entry_point_offset[i] 구문 요소들의 비트들 내의 길이를 지정한다.
entry_point_offset[i]는 바이트들 내의 i번째 엔트리 지점 오프셋을 지정하며, offset_len_minu1 plus 1 비트들에 의해 표현되어야만 한다. 코딩된 슬라이스 네트워크 추상 계층 유닛은 0부터 num_entry_point_offsets까지의 범위의 지수 값을 갖는, num_entry_point_offsets + 1 서브셋들로 구성된다. 서브셋 0은 코딩된 슬라이스 네트워크 추상 계층 유닛의 바이트 0 내지 entry_point_offset[0]-1로 구성되고, 1 내지 num_entry_point_offsets-1의 범위 내의 k를 갖는, 서브셋 k는 바이트들 entry_point_offset[k-1] 내지 entry_point_offset[k]+entry_point_offset[k-1]-1로 구성되며, 마지막 서브셋(num_entry_point_offsets와 동일한 서브셋 지수를 갖는)은 코딩된 슬라이스 네트워크 추상 계층 유닛의 나머지 바이트들로 구성된다.
주의- 네트워크 추상 계층 유닛 헤더 및 코딩된 슬라이스 네트워크 추상 계층 유닛 내의 슬라이스 헤더는 항상 서브셋 0 내에 포함된다.
tiles_or_entropy_coding_sync_idc가 1과 동일하고 num_entry_point_offsets가 0보다 클 때, 각각의 서브셋은 하나 또는 다수의 완전한 타일의 모든 코딩된 비트를 포함하여야만 하고 서브셋들의 수는 슬라이스 내의 타일들의 수와 동일하거나 또는 작아야만 한다.
tiles_or_entropy_coding_sync_idc가 2와 동일하고 num_entry_point_offsets가 0보다 클 때, 각각의 모든 가능한 k 값들을 위한 서브셋 k는 현재 비트스트림 포인터 k를 위한 초기화 과정 동안에 사용되도록 모든 비트를 포함하여야만 한다.
슬라이스 데이터 시맨틱과 관련하여, 다음이 적용될 수 있다:
0과 동일한 end_of_slice_flag는 또 다른 매크로블록이 슬라이스 내에 따르는 것을 지정한다. 1과 동일한 end_of_slice_flag는 슬라이스의 끝을 지정하고 어떠한 다른 매크로블록도 따르지 않는 것을 지정한다.
entry_point_marker_two_3bytes는 0x000002와 동일한 3 바이트의 고정된 값 시퀀스이다. 이러한 구문 요소는 엔트리 마커 프리픽스(entry marker prefix)로 불린다.
tile_idx_minus_1은 래스터 스캔 순서 내의 TileID를 지정한다. 화상 내의 첫 번째 타일은 0의 TileID를 가져야만 한다. tile_idx_minus_1의 값은 0 내지 (num_tile_columns_minus1+1)*(num_tile_rows_minu1+1)-1의 범위 내에 존재하여야만 한다.
슬라이스 데이터를 위한 CABAC 파싱(parsing) 과정은 다음과 같다:
이러한 과정은 기술자(descriptor) ae(v)를 갖는 구문 요소를 파싱할 때 적용된다.
이러한 과정에 대한 입력들은 구문 요소의 값 및 이전에 파싱된 구문 요소들의 값들의 요구(request)이다.
이러한 과정의 출력은 구문 요소의 값이다.
슬라이스의 슬라이스 데이터의 파싱을 시작할 때, CABAC 파싱 과정의 초기화 과정이 적용된다. tiles_orentropy_coding_sync_idc가 2와 동일하고 num_substreams_minus1+이 0보다 클 때, 나중을 위하여 현재 비트스트림 포인터(bitstream pointer) 편차를 사용하기 위하여 비트스트림 포인트 테이블을 지정하는 num_substreams_minus1 + 1을 갖는, 매핑 테이블 BitStreamTable은 다음과 같이 도출된다.
- 비트스트림 포인터를 포함하기 위하여 BitStreamTable[0]이 초기화된다.
- 0보다 크고 num-substreams_minus1 + 1보다 작은 모든 지수(i)를 위하여, BitStreamTable[i]는 BitStreamTable[i-1] 이후의 entry_point_offset[i]에 대한 비트스트림 포인터를 포함한다.
현재의 비트스트림 포인터는 BitStreamTable[0]으로 설정된다.
공간적 이웃 블록(T)을 포함하는 코딩 트리블록의 최소 코딩 블록 주소(ctbMinCbAddrT)는 예를 들면, 다음과 같은 현재 코딩 트리블록의 상부 왼쪽 루마 샘플의 위치(x0, y0)를 사용하여 도출된다.
x= x0 + 2 ≪ Log2CtbSize - 1
y = y0 - 1
ctbMinCbAddrT = MinCbAddrZS[x ≫ Log2MinCbSize][y ≫ Log2MinCbSize]
변수(availableFlagT)는 입력으로서 ctbMinCbAddrT를 갖는 적절한 코딩 블록 이용가능성 도출 과정을 적용함으로써 획득된다.
코딩 트리의 파싱을 시작하고 tiles_or_entropy_coding_sync_idc이 2와 동일하고 num_substreams_minus1이 0보다 클 때, 다음이 적용된다.
- 만일 CtbAddrRS%PicWidthInCtbs가 0과 동일하면, 다음이 적용된다.
- availableFlagT가 1과 동일할 때, 하위절(subclause) "콘텍스트 변수들을 위한 동기화 과정"에 지정된 것과 같이 CABAC 파싱 과정의 동기화 과정이 적용된다.
- 종료 이전에 이진 결정을 위한 디코딩 과정이 적용되고 산술 디코딩 엔진을 위한 초기화 과정이 뒤따른다.
- 현재 비트스트림 포인터는 다음과 같이 도출되는 지수(i)를 갖는 BitStreamTable[i]를 나타내도록 설정된다.
i = (CtbAddrRS/PicWidthInCtbs)%(num_substreams_minus1 + 1)
- 그렇지 않으면, 만일 CtbAddrRS%PicWidthInCtbs가 2와 동일하면, 하위절 "콘텍스트 변수들을 위한 기억 과정"에 지정된 것과 같이 CABAC 파싱 과정의 기억 과정이 적용된다.
초기화 과정은 다음과 같을 수 있다:
이러한 과정의 출력들은 초기화된 CABAC 내부 변수들이다.
슬라이스의 슬라이스 데이터의 파싱을 시작할 때 또는 코딩 트리의 데이터의 파싱을 시작하고 코딩 트리가 타일 내의 첫 번째 코딩 트리일 때 그것들의 특별한 과정들이 적용된다.
콘텍스트 변수들을 위한 기억 과정은 다음과 같을 수 있다:
이러한 과정의 입력들은 ctxIdx에 의해 인덱싱되는 CABAC 콘텍스트 변수들이다.
이러한 과정의 출력은 엔드-오브-슬라이스(end-of-slice) 플래그를 제외하고 구문 요소들에 지정되는 콘텍스트 변수들의 초기화 과정에서 사용되는 변수들(m 및 n)의 값들을 포함하는 변수들(TableStateSync 및 TableMPSSync)이다.
각각의 콘텍스트 변수를 위하여, 테이블들(TableStateSync 및 TableMPSSync)의 상응하는 엔트리들(n 및 m)이 상응하는 pStateIdx 및 valMPS로 초기화된다.
콘텍스트 변수들을 위한 동기화 과정은 다음과 같을 수 있다:
이러한 과정의 입력들은 엔드-오브-슬라이스 플래그를 제외하고 구문 요소들에 지정되는 콘텍스트 변수들의 기억 과정에서 사용되는 변수들(n 및 m)의 값들을 포함하는 변수들(TableStateSync 및 TableMPSSync)이다.
이러한 과정의 출력들은 ctxIdx에 의해 인덱싱되는 CABAC 콘텍스트 변수들이다.
각각의 콘텍스트 변수를 위하여, 상응하는 콘텍스트 변수들(pStateIdx 및 valMPS)은 테이블들(TableStateSync 및 TableMPSSync)의 상응하는 엔트리들(n 및 m)로 초기화된다.
다음에서, 파면 병렬 처리를 사용하는 저지연 코딩 및 전송이 설명된다. 특히, 아래의 설명은 도 7에 도시된 것과 같은 저지연 전송이 어떻게 또한 파면 병렬 처리에 적용될 수 있는지를 나타낸다.
우선, 전체 화상의 완성 이전에, 화상의 서브셋이 보내질 수 있는 것이 중요하다. 정상적으로는, 이미 도 5에 도시된 것과 같이, 이는 슬라이스들을 사용하여 달성될 수 있다.
다음의 도면들에서 도시되는 것과 같이 타일들과 비교하여 지연을 감소시키기 위하여, 최대 코딩 유닛들의 열 당 단일 파면 병렬 처리 서브스트림을 적용하고 또한 각각의 그러한 열들의 개별 전송을 허용하기 위한 필요성이 존재한다. 코딩 효율을 높게 유지하기 위하여, 각각의 열/서브스트림 당 슬라이스들은 사용될 수 없다. 따라서, 아래의, 그 다음이 섹션에서 정의되는 것과 같이 이른바 종속 슬라이스가 도입된다. 이러한 슬라이스는 예를 들면, 완전한 HEVC 슬라이스 헤더의 모든 필드를 갖지 않으나, 엔트로피 슬라이스들을 위하여 사용되는 필드들을 갖는다. 게다가, 열들 사이의 CABAC의 정지(break)를 끄기 위한 스위치가 존재할 수 있다. 파면 병렬 처리의 경우에 있어서, CABAC 콘텍스트(도 14의 화살표들)의 사용 및 열들의 예측은 타일에 대한 파면 병렬 처리의 코딩 효율 이득을 유지하도록 허용되어야만 한다.
특히, 도 14는 규칙적인 슬라이스(900, reg.SL)로의 파면 병렬 처리 및 종속 슬라이스들(920, OS)로의 저지연 처리를 위한 화상(10)을 예시한다.
현재의 새로운 HEVC 표준은 슬라이스들과 관련하여 두 가지 형태의 분할을 제공한다. 규칙적인(정상) 슬라이스 및 엔트로피 슬라이스가 존재한다. 규칙적인 슬라이스는 슬라이스 경계들 상의 블록화 제거 필터 과정에 기인하여 이용가능할 수 있는 일부 의존성을 제외하고 완전히 독립된 화상 파티션이다. 엔트로피 슬라이스는 또한 엔트로피 코딩과 관련해서만 독립적이다. 도 14의 개념은 슬라이싱 개념을 일반화하는 것이다. 따라서 새로운 HEVC 표준은 두 가지 일반적인 슬라이스의 형태: 독립(규칙적인) 또는 종속을 제공해야만 한다. 따라서, 새로운 형태의 슬라이스, 종속 슬라이스가 도입된다.
종속 슬라이스는 이전의 슬라이스에 대한 의존성을 갖는 슬라이스이다. 의존성은 엔트로피 디코딩 과정 및/또는 픽셀 재구성 과정에서 슬라이스들 사이에서 사용될 수 있는 특정 데이터이다.
도 14에서 종속 슬라이스들의 개념이 바람직하게 표현된다. 화상은 예를 들면, 항상 규칙적인 슬라이스로 시작한다. 이러한 개념에서 규칙적인 슬라이스 행동은 약간 변경된다는 것에 유의하여야 한다. 일반적으로, H.264/AVC 또는 HEVC 같은 표준들에서, 규칙적인 슬라이스는 완전히 독립적인 파티션이고 블록화 제거 필터 과정을 위한 일부 데이터를 제외하고는 디코딩 후에 어떠한 데이터도 유지해서는 안 된다. 그러나 다음의 종속 슬라이스(920)는 위의 슬라이스, 여기서는 첫 번째 열 내의 규칙적인 슬라이스(900)의 데이터를 참조함으로써만 가능하다. 이를 달성하기 위하여, 규칙적인 슬라이스(900)는 마지막 코딩 유닛-열의 데이터를 유지해야만 한다.
이러한 데이터는 다음을 포함한다:
- CABAC 코딩 엔진 데이터(종속 슬라이스의 엔트로피 디코딩 과정이 초기화될 수 있는 하나의 코딩 유닛의 콘텍스트 모델 상태들),
- 종속 코딩 유닛들의 규칙적인 CABAC 디코딩 과정을 위한 코딩 유닛들의 모든 코딩된 구문 요소,
- 인트라 및 움직임 벡터 예측의 데이터.
그 결과 각각의 종속 슬라이스(920)는 동일한 절차(동일한 화상 내의 다가올 종속 슬라이스를 위한 데이터의 유지)를 수행하여야만 한다.
실제로, 이러한 부가적인 단계들이 문제가 되어서는 안 되는데, 그 이유는 디코딩 과정이 일반적으로 항상 구문 요소들 같은 일부 데이터를 저장하도록 강요받기 때문이다.
아래의 섹션들에서 종속 슬라이스들의 개념을 가능하게 하는데 필요한 HEVC 표준 구문을 위한 가능한 변화들이 표현된다.
예를 들면, 도 5는 화상 파라미터 세트 RBSP 구문의 가능한 변화를 나타낸다.
종속 슬라이스들을 위한 화상 파라미터 세트 시멘틱은 다음과 같을 수 있다:
1과 동일한 dependent_slices_present_flag는 화상이 종속 슬라이스들을 포함하며 각각의 (규칙적인 또는 종속) 슬라이스의 디코딩 과정이 또한 규칙적인 슬라이스를 뒤따를 수 있는 종속 슬라이스일 수 있는 그 다음의 슬라이스를 위하여 엔트로피 디코딩의 상태들, 및 인트라 및 움직임 벡터 예측을 저장하는 것을 지정한다. 그 다음의 종속 슬라이스는 그러한 저장된 데이터를 참조할 수있다.
도 16은 HEVC의 현재 상태에 대한 변화들을 갖는 가능한 slice_header 구문을 도시한다.
1과 동일한 dependent_slice_flag는 존재하지 않는 슬라이스 헤더 구문 요소들의 값이 선행(규칙적인) 슬라이스 내의 슬라이스 헤더 구문 요소들의 값과 동일하도록 추론되는 것을 지정하며, 선행 슬라이스는 위치(SliceCtbAddrRS-1)를 갖는 코딩 트리블록을 포함하는 슬라이스로서 정의되고, SliceCtbAddrRS가 0과 동일할 때 dependent_slice_flag는 0과 동일해야만 한다.
1과 동일한 no_ cabac _reset_flag는 이전에 디코딩된 슬라이스(및 초기 값들을 갖지 않는)의 저장된 상태로부터의 CABAC 초기화를 지정한다. 그렇지 않으면, 즉, 만일 0이면, 이전에 디코딩된 슬라이스의 어떠한 상태와 관계없는, 즉 초기 값들을 갖는 CABAC 초기화가 지정된다.
1과 동일한 last_ ctb _ cabac _ init _flag는 이전에 디코딩된 슬라이스(예를 들면, 항상 1과 동일한 타일들을 위하여)마지막 코딩된 트리블록이 저장된 상태로부터의 CABAC 초기화를 지정한다. 그렇지 않으면(0과 동일하면), 만일 현재 슬라이스의 첫 번째 코딩된 트리블록이 열 내의 첫 번째 코딩된 트리블록이면(즉, 파면 병렬 처리 방식), 초기화 데이터는 이전에 디코딩된 슬라이스의 마지막(이웃하는) ctb-row의 두 번째 코딩된 트리블록의 저장된 상태로부터 참조되며, 그렇지 않으면 CABAC 초기화는 이전에 코딩된 슬라이스의 마지막 코딩된 트리블록의 저장된 상태로부터 실행된다.
종속 슬라이스들 및 다른 분할 전략들(유용한)의 비교가 아래에 제공된다.
도 17에서, 정상 및 종속 슬라이스들 사이의 차이점이 도시된다.
도 18과 관련하여 도시된 것과 같이 종속 슬라이스들(DS) 내의 파면 병렬처리 서브스트림들의 가능한 코딩 및 전송은 타일들(왼쪽) 및 파면 병렬 처리/종속 슬라이스의 저지연 전송을 위한 인코딩을 비교한다. 도 18에서 굵게 연속적으로 도시된 선은 파면 병렬 처리 열의 인코딩이 단일 타일의 인코딩과 동일한 시간이 걸릴 때 두 가지 방법을 위한 시간의 동일한 시간 지점을 나타낸다. 코딩 의존성에 기인하여, 파면 병렬 처리의 첫 번째 라인만이 준비되며, 결국 타일들은 인코딩되었다. 그러나 종속 슬라이스를 사용하여 접근법은 일단 인코딩되면 첫 번째 열을 보내기 위하여 파면 병렬 처리 접근법을 허용한다.
이는 초기의 파면 병렬 처리 서브스트림 지정들과는 다르며, "서브스트림"은 동일한 디코더 스레드(decoder thread), 즉, 동일한 코어/프로세서에 의해 디코딩되는 파면 병렬 처리가 되도록 코딩 유닛 열들의 연결로서의 파면 병렬 처리를 위하여 정의된다. 비록 이전에 열 당 서브스트림 및 엔트로피 슬라이스 당 서브스트림이 또한 가능하였을 수 있으나, 엔트로피 슬라이스는 엔트로피 코딩 의존성을 깨뜨리고 따라서 낮은 코딩 효율을 갖는데, 즉 파면 병렬 처리 효율 이득이 손실된다.
부가적으로, 두 접근법 사이의 지연 차이는 도 19에 도시된 것과 같은 전송이라고 가정하면, 실제로 낮을 수 있다. 특히, 도 19는 파이프라인 방식의 저지연 전송을 갖는 파면 병렬 처리 코딩을 도시한다.
도 18의 파면 병렬 처리 접근법에서 종속 슬라이스 #1.1의 후자의 두 개의 코딩 유닛의 인코딩이 첫 번째 열 SL #1의 전송보다 길게 걸리지 않는다고 가정하면, 저지연의 경우에서 타일들과 파면 병렬 처리 사이에 어떠한 차이도 존재하지 않는다. 그러나 파면 병렬 처리/종속 슬라이스의 코딩 효율은 타일 개념을 능가한다.
파면 병렬 처리 저지연 방식을 위한 견고성을 증가시키기 위하여, 도 20은 앵커들과 같은 규칙적인 슬라이스들(RS)을 사용함으로써 견고성 향상이 달성되는 것을 도시한다. 도 20에 도시된 화상에서 (규칙적인) 슬라이스(RS)는 종속 슬라이스(DS)를 뒤따른다. 여기서, (규칙적인) 슬라이스는 선행 슬라이스들에 대한 의존성을 깨뜨리기 위한 앵커로서 작용하며, 따라서 (규칙적인) 슬라이스의 그러한 삽입 지점에서 더한 견고성이 제공된다. 원칙적으로, 이는 어쨌든 (규칙적인) 슬라이스를 삽입하는 것과 다르지 않다.
종속 슬라이스들의 개념은 또한 다음과 같이 구현될 수 있다:
여기서, 도 21은 가능한 슬라이스 헤더 구문을 도시한다.
슬라이스 헤더 시멘틱은 다음과 같다:
1과 동일한 dependent_slice_flag는 존재하지 않는 각각의 슬라이스 헤더 구문 요소의 값이 코딩 트리블록 주소가 SliceCtbAddrRS-1인 코딩 트리블록을 포함하는 선행 슬라이스 내의 상응하는 슬라이스 헤더 구문 요소의 값과 동일하도록 추론되는 것을 지정한다.
slice_address는 슬라이스가 시작하는 입상 해상도 내의 슬라이스 주소를 지정한다. slice_address 구문 요소의 길이는 (Ceil(Log2(PicWidthInCtbs *PicHeightInCtbs))+SliceGranularity) 비트이다.
슬라이스가 코딩 트리블록 래스터 스캔 순서로 시작하는 코딩 트리블록을 지정하는, 변수 SliceCtbAddrRS는 다음과 같이 도출된다.
SliceCtbAddrRS = (slice_address ≫ SliceGranularity)
Z-스캔 순서로 최소 코딩 블록 입상도로 슬라이스 내의 첫 번째 코딩 블록의 주소를 지정하는, 변수 SliceCtbAddrZS는 다음과 같이 도출된다.
SliceCbAddrZS = slice_address
≪ ((log2_diff_max_min_coding_block_size-SliceGranularity) ≪ 1).
슬라이스 디코딩은 가능한 가장 큰 코딩 유닛과 함께, 또는 다른 관점에서, 슬라이스 시작 좌표에서 CTU로 시작한다.
first_slice_in_ pic _flag는 슬라이스가 화상의 첫 번째 슬라이스인지를 나타낸다. 만일 first_slice_in_pic_flag가 1과 동일하면, 변수들 SliceCbAddrZS 및 SliceCtbAddrRS는 모두 0으로 설정되고 디코딩은 화상 내의 첫 번째 코딩 트리블록으로 시작한다.
pic _parameter_set_id는 사용중인 화상 파라미터 세트를 지정한다. pic_parameter_set_id의 값은 0 내지 255의 범위 내에 존재하여야만 한다.
num _entry_point_offsets는 슬라이스 헤더 내의 entry_point_offset[i] 구문 요소들의 수를 지정한다. tiles_or_entropy_coding_sync_idc가 1과 동일할 때, num_entry_point_offsets의 값은 0 내지 (num_tile_columns_minu1 + 1)*(num_tile_rows_minus1 + 1) - 1의 범위 내에 존재하여야만 한다. tiles_or_entropy_coding_sync_idc가 2와 동일할 때, num_entry_point_offsets의 값은 0 내지 PicHeightInCtbs-1의 범위 내에 존재하여야만 한다. 존재하지 않을 때, num_entry_point_offsets의 값은 0과 동일한 것으로 추론된다.
offset_len_ minus1 + 1은 entry_point_offset[i] 구문 요소들의 비트들 내의 길이를 지정한다.
entry_point_offset[i]는 바이트들 내의 i번째 엔트리 지점 오프셋을 지정하며, offset_len_minu1 plus 1 비트들에 의해 표현되어야만 한다. 슬라이스 헤더 이후의 코딩된 슬라이스 데이터는 0부터 num_entry_point_offsets까지 범위의 지수 값을 갖는, num_entry_point_offsets + 1 서브셋들로 구성된다. 서브셋 0은 코딩된 슬라이스 데이터의 바이트 0 내지 entry_point_offset[0]-1로 구성되고, 1 내지 num_entry_point_offsets-1의 범위 내의 k를 갖는, 서브셋 k는 바이트들 entry_point_offset[k-1] 내지 entry_point_offset[k]+entry_point_offset[k-1]-1로 구성되며, 마지막 서브셋(num_entry_point_offsets와 동일한 서브셋 지수를 갖는)은 코딩된 슬라이스 데이터의 나머지 바이트들로 구성된다.
tiles_or_entropy_coding_sync_idc가 1과 동일하고 num_entry_point_offsets가 0보다 클 때, 각각의 서브셋은 정확하게 하나의 타일의 모든 코딩된 비트를 포함하여야만 하며, 서브셋들의 수(즉, num_entry_point_offsets + 1의 값)는 슬라이스 내의 타일들의 수와 동일하거나 또는 적어야만 한다.
주의 - tiles_or_entropy_coding_sync_idc가 1과 동일할 때, 각각의 슬라이스는 반드시 하나의 타일(이 경우에 있어서 엔트로피 지점들의 시그널링이 불필요한)의 서브셋 또는 완전한 타일들의 정수를 포함하여야만 한다.
tiles_or_entropy_coding_sync_idc가 2와 동일하고 num_entry_point_offsets가 0보다 클 때, 0 내지 num_entry_point_offsets - 1의 범위 내의 k를 갖는 각각의 서브셋 k는 코딩 트리블록들이 정확하게 하나의 열의 모든 코딩된 비트를 포함해야만 하고, 마지막 서브셋(num_entry_point_offsets와 동일한 서브셋 지수를 갖는)은 슬라이스 내에 포함된 나머지 코딩 블록들의 모든 코딩된 비트를 포함해야만 하며, 나머지 코딩 블록들은 코딩 트리블록들의 정확하게 하나의 열 또는 코딩 트리블록들의 하나의 열의 하나의 서브셋으로 구성되며, 서브셋들의 수(즉, num_entry_point_offsets + 1의 값)는 슬라이스 내의 코딩 트리 블록들의 열들의 수와 동일해야만 하고, 슬라이스 내의 코딩 트리 블록들의 하나의 열의 서브셋이 또한 계수된다.
주의 - tiles_or_entropy_coding_sync_idc가 2와 동일할 때, 슬라이스는 코딩 트리 블록들의 다수의 열 및 코딩 트리 블록들의 하나의 열의 하나의 서브셋을 포함할 수 있다. 예를 들면, 만일 하나의 슬라이스가 코딩 트리 블록들의 2½ 열을 포함하면, 서브셋들의 수(즉, num_entry_point_offsets + 1의 값)는 3과 동일해야만 한다.
상응하는 화상 파라미터 세트 RBSP 구문은 도 22에 도시된 것과 같이 선택될 수 있다.
화상 파라미터 세트 RBSP 시멘틱은 다음과 같을 수 있다:
1과 동일한 dependent_slice_enabled_flag는 화상 파라미터 세트를 언급하는 코딩된 화상들을 위한 슬라이스 헤더 내의 구문 요소(dependent_slice_flag)의 존재를 지정한다. 0과 동일한 dependent_slice_enabled_flag는 화상 파라미터 세트를 언급하는 코딩된 화상들을 위한 슬라이스 헤더 내의 구문 요소(dependent_slice_flag)의 부재를 지정한다. tiles_or_entropy_coding_sync_idc가 3과 동일할 때, dependent_slice_enabled_flag의 값은 모두 1과 동일해야만 한다.
0과 동일한 tiles_or_entropy_coding_sync_idc는 화상 파라미터 세트를 언급하는 각각의 화상 내에 단지 하나의 타일만이 존재하고 화상 파림터 세트를 언급하는 각각의 화상 내의 코딩 트리 블록들의 열의 첫 번째 코딩 블록을 디코딩하기 전에 적용되는 콘텍스트 변수들을 위한 어떠한 특정 동기화 과정이 존재해서는 안 되며, 화상 파라미터 세트를 언급하는 코딩된 화상들을 위한 cabac_independent_flag 및 dependent_slice_flag의 값은 모두 1과 동일해서는 안 된다는 것을 지정한다.
cabac_independent_flag 및 de[pendent_slice_flag가 슬라이스를 위하여 모두 1과 동일할 때, 슬라이스는 엔트로피 슬라이스인 것에 유의하여야 한다.
1과 동일한 tiles_or_entropy_coding_sync_idc는 화상 파라미터 세트를 언급하는 각각의 화상 내에 하나 이상의 타일이 존재할 수 있는 것을 지정하고, 화상 파라미터 세트를 언급하는 각각의 화상 내의 코딩 트리 블록들의 하나의 열의 첫 번째 코딩 트리 블록을 디코딩하기 전에 적용되는 콘텍스트 변수들을 위한 어떠한 특정 동기화 과정도 존재해서는 안 되며, 화상 파라미터 세트를 언급하는 코딩된 화상들을 위한 cabac_independent_flag 및 dependent_slice_flag의 값들은 모두 1과 동일해서는 안 된다.
2와 동일한 tiles_or_entropy_coding_sync_idc는 화상 파라미터 세트를 언급하는 각각의 화상 내에 하나의 타일만이 존재해야만 한다는 것을 지정하고, 화상 파라미터 세트를 언급하는 각각의 화상 내의 코딩 트리 블록들의 하나의 열의 첫 번째 코딩 트리 블록을 디코딩하기 전에 콘텍스트 변수들을 위한 특정 동기화 과정이 적용되어야만 하며, 화상 파라미터 세트를 언급하는 각각의 화상 내의 코딩 트리 블록들의 하나의 열의 두 개의 코딩 트리 블록을 디코딩한 후에 콘텍스트 변수들을 위한 특정 기억 과정이 적용되어야만 하며, 화상 파라미터 세트를 언급하는 코딩된 화상들을 위한 cabac_independent_flag 및 dependent_slice_flag의 값들은 모두 1과 동일해서는 안 된다.
3과 동일한 tiles_or_entropy_coding_sync_idc는 화상 파라미터 세트를 언급하는 각각의 화상 내에 하나의 타일만이 존재해야만 한다는 것을 지정하고,
화상 파라미터 세트를 언급하는 각각의 화상 내의 코딩 트리 블록들의 하나의 열의 첫 번째 코딩 트리 블록을 디코딩하기 전에 적용되는 콘텍스트 변수들을 위한 어떠한 특정 동기화 과정도 존재해서는 안 되며, 화상 파라미터 세트를 언급하는 코딩된 화상들을 위한 cabac_independent_flag 및 dependent_slice_flag의 값들은 모두 1과 동일할 수 있다.
dependent_slice_enabled_flag가 0과 동일해야만 할 때, tiles_or_entropy_coding_sync_idc는 3과 동일해서는 안 된다.
tiles_or_entropy_coding_sync_idc의 값이 코딩된 비디오 시퀀스 내에서 작동되는 모든 화상 파라미터 세트를 위하여 동일해야만 하는 것이 비트스트림 적합성의 요구조건이다.
화상 파라미터 세트를 언급하는 각각의 슬라이스를 위하여, tiles_or_entropy_coding_sync_idc가 2와 동일하고 슬라이스 내의 첫 번째 코딩 블록이 코딩 트리 블록들의 하나의 열의 첫 번째 코딩 트리 블록 내의 첫 번째 코딩 블록이 아닐 때, 글라이스 내의 마지막 코딩 블록은 슬라이스 내의 첫 번째 코딩 블록과 동일한 코딩 트리 블록들의 열에 속해야만 한다.
num _tile_column_ minus1 + 1은 화상을 분할하는 타일 행들의 수를 지정한다.
num _tile_rows_ minus1 + 1은 화상을 분할하는 타일 열들의 수를 지정한다.
num_tile_column_minus1이 0과 동일할 때, num_tile_rows_minus1은 0과 동일해서는 안 된다. 1과 동일한 uniform_spacing_flag는 행 경계들과 유사한 열 경계들이 화상을 가로질러 균일하게 분포되는 것을 지정한다. 0과 동일한 uniform_spacing_flag는 행 경계들과 유사한 열 경계들이 화상을 가로질러 균일하게 분포되지 않으나, 구문 요소들 column_width[i] 및 row_height[i]를 사용하여 분명하게 시그널링되는 것을 지정한다.
column_width[i]는 코딩 트리블록들의 유닛들 내의 i번째 타일 행의 폭을 지정한다.
row_height[i]는 코딩 트리블록들의 유닛들 내의 i번째 타일 열의 높이를 지정한다.
벡터 colWidth[i]는 0부터 num_tile_columns_minus1까지의 범위의 행(i)을 갖는 CTB들의 유닛들 내의 i번째 타일의 폭을 지정한다.
벡터 CtbAddrRStoTS[ctbAddrRS]는 래스터 스캔 순서 내의 CTB 주소로부터 0부터 (picHeightInCtbs*picWidthInCtbs) - 1까지 범위의 지수(ctbAddrRS)를 갖는 타일 스캔 순서 내의 CTB 주소까지의 대화를 지정한다.
벡터 CtbAddrRStoTS[ctbAddrTS]는 래스터 스캔 순서 내의 CTB 주소로부터 0부터 (picHeightInCtbs*picWidthInCtbs) - 1까지 범위의 지수(ctbAddrTS)를 갖는 타일 스캔 순서 내의 CTB 주소까지의 대화를 지정한다.
벡터 TileId[ctbAddrTS]는 0부터 (picHeightInCtbs*picWidthInCtbs) - 1까지 범위의 지수(ctbAddrTS)를 갖는 타일 스캔 순서 내의 CTB 주소로부터 타일 id까지의 대화를 지정한다.
colWidth, CtbAddrRStoTS, CtbAddrTStoRS 및 TileId의 값들은 입력들로서 PicHeightInCtbs 및 PicWidthInCtbs를 갖는 CTB 래스터 및 타일 스캐닝 대화 과정을 적용시킴으로써 유래되고, 출력은 colWidth, CtbAddrRStoTS 및 TileId에 지정된다.
루마 샘플들 내의 유닛들의 i번째 타일 행의 폭을 지정하는 ColumnWidthInLumaSamples[i]의 값들은 colWidth[i]≪Log2CtbSize와 동일하게 설정된다.
0 내지 picWidthInMinCbs -1까지의 범위를 갖는 x와 0 내지 picHeightInMinCbs -1까지의 범위를 갖는 y를 갖는, 최소 코딩 블록들의 유닛들 내의 위치(x. y)로부터 z-스캔 순서 내의 최소 코딩 블록 주소까지의 대화를 지정하는, 어레이 MinCbAddrZS[x][y]는 입력으로서 Log2MinCbSize, Log2CtbSize, PicHeightInCtbs, PicWidthInCtbs, 및 벡터 CtbAddrRStoTS를 갖는 Z 스캐닝 순서 어레이 초기화 과정을 적용시킴으로써 유래되고, 출력은 MinCbAddrZS에 지정된다.
1과 동일한 loop_filter_across_tiles_enabled_flag는 타일 경계들을 가로질러 인-루프(in-loop) 필터링 연산들이 실행되는 것을 지정한다. 0과 동일한 loop_filter_across_tiles_enabled_flag는 타일 경계들을 가로질러 인-루프 필터링 연산들이 실행되지 않는 것을 지정한다. 인-루프 필터링 연산들은 블록화 제거 필터, 샘플 적응적 오프셋, 및 적응적 루프 필터 연산들을 포함한다. 존재하지 않을 때, loop_filter_across_tiles_enabled_flag의 값은 1과 동일한 것으로 추론된다.
0과 동일한 cabac _independent_flag는 슬라이스 내의 코딩 블록들의 CABAC 디코딩이 이전에 디코딩된 슬라이스의 어떠한 상태와도 독립적인 것을 지정한다. 1과 동일한 cabac_independent_flag는 슬라이스 내의 코딩 블록들의 CABAC 디코딩이 이전에 디코딩된 슬라이스의 어떠한 상태에 의존한다는 것을 지정한다. 존재하지 않을 때, cabac_independent_flag의 값은 0과 동일한 것으로 추론된다.
최소 코딩 블록 주소를 갖는 코딩 블록의 이용가능성을 위한 도출 과정은 다음과 같을 수 있다:
이러한 과정에 대한 입력들은 다음과 같다:
- z-스캔 순서 내의 최소 코딩 블록 주소 minCbAddrZS
- z-스캔 순서 내의 현재 최소 코딩 블록 주소 currminCBAddrZS
이러한 과정의 출력은 z-스캔 순서(cbAvailable) 내의 최소 코딩 블록 주소(cbAddrZS)를 갖는 코딩 블록의 이용가능성이다.
주의 1 - 이용가능성의 의미는 이러한 과정이 적용될 때 결정된다.
주의 2 - 그것의 관계없이, 어떠한 코딩 블록이 z-스캔 순서 내의 최소 코딩 블록 크기를 갖는 코딩 블록의 주소인, 최소 코딩 블록 주소와 관련된다.
- 만일 다음의 조건들 중 하나 또는 그 이상이 사실이면, cbAvailable은 거짓(FALSE)으로 설정된다.
- minCbAddrZS는 0보다 작다.
- minCbAddrZS는 currMinCBAddrZS보다 크다.
- 최소 코딩 블록 주소(minCbAddrZS)를 갖는 코딩 블록은 현재 최소 코딩 블록(currMinCBAddrZS)을 갖는 코딩 블록과 다른 주소에 속하며 현재 최소 코딩 블록(currMinCBAddrZS)을 갖는 코딩 블록을 포함하는 슬라이스의 dependent_slice_flag는 0과 동일하다.
- 그렇지 않으면, cbAvailable은 사실(TRUE)로 설정된다.
슬라이스 데이터를 위한 CABAC 파싱 과정은 다음과 같을 수 있다:
이러한 과정은 기술자 ae(v)를 갖는 특정 구문 요소들을 파싱할 때 적용된다.
이러한 과정에 대한 입력들은 구문 요소의 값 및 이전에 파싱된 구문 요소들의 값들의 요구이다.
이러한 과정의 출력은 구문 요소의 값이다.
슬라이스의 슬라이스 데이터의 파싱을 시작할 때, CABAC 파싱 과정의 초기화 과정이 적용된다.
도 23은 현재 코딩 트리 블록(유용한)에 대하여 코딩 트리 블록 이용가능성 도출 과정을 적용하기 위하여 공간적 이웃 블록(T)이 어떻게 사용되는지에 대하여 도시한다.
공간적 이웃 블록(T, 도 23)을 포함하는 코딩 트리 블록의 최소 코딩 블록 주소, ctbMINCbAddrT는 다음과 같이 현재 코딩 트리 블록이 상부-왼쪽 루마 샘플의 위치(x0, y0)를 사용하여 도출된다.
x= x0 + 2 ≪ Log2CtbSize - 1
y = y0 - 1
ctbMinCbAddrT = MinCbAddrZS[x ≫ Log2MinCbSize][y ≫ Log2MinCbSize]
변수(availableFlagT)는 입력으로서 ctbMinCbAddrT를 갖는 코딩 블록 이용가능성을 적용시킴으로써 획득된다.
산술 디코딩 엔진은 다음과 같이 초기화된다.
만일 CtbAddrRS가 slice_address와 동일하면, dependent_slice_flag는 1과 동일하고 wntropy_config_reser_flag는 0과 동일하며, 다음이 적용된다.
CABAC 파싱 과정의 동기화 과정은 입력으로서 TableStateIdxDS 및 TableMPSValDS와 함께 적용된다.
종료 이전에 이진 결정들을 위한 디코딩 과정이 적용되고, 산술 디코딩 엔진을 위한 초기화 과정이 뒤따른다.
그렇지 않고 만일 tiles_or_entropy_coding_sync_idc가 2와 동일하고, CtbAddrRS%PicWidthInCtbs가 0과 동일하면, 다음이 적용된다.
availableFlagT가 1과 동일할 때, CABAC 파싱 과정을 위한 동기화 과정은 입력으로서 TableStateIdxWPP 및 TableMPSValWPP와 함께 적용된다.
종료 이전에 이진 결정들을 위한 디코딩 과정이 적용되고, 산술 디코딩 엔진을 위한 초기화 과정이 뒤따른다.
cabac_indenpendent_flag가 0과 동일하고 dependent_slice_flag가 1과 동일할 때, 또는 tiles_or_entropy_coding_sync_idc가 2와 동일할 때, 기억 과정은 다음과 같이 적용된다.
tiles_or_entropy_coding_sync_idc가 2와 동일하고 CtbAddrRS%PicWidthInCtbs가 2와 동일할 때, CABAC 파싱 과정의 기억 과정은 출력으로서 TableStateIdxWPP 및 TableMPSValWPP와 함께 적용된다.
cabac_independent_flaf가 0과 동일하고, dependent_slice_flag가 1과 동일하며, 둥_of_slice_flag가 1과 동일하면, CABAC 파싱 과정의 기억 과정은 출력으로서 TableStateIdxDS 및 TableMPSValDS와 함께 적용된다.
구문 요소들의 파싱은 다음과 같이 진행된다:
각각의 구문 요소의 요구된 값을 위하여 이진화가 도출된다.
구문 요소를 위한 이진화 및 파싱된 빈(bin)들의 시퀀스는 디코딩 과정 흐름을 결정한다.
변수(binIdx)에 의해 인덱싱되는, 구문 요소의 이진화의 각각의 빈을 위하여, 콘텍스트 지수(ctxIdx)가 도출된다.
각각의 ctxIdx를 위하여, 산술 디코딩 과정이 적용된다.
파싱된 빈들의 결과로서 생기는 시퀀스(b0..bbinIdx)는 각각의 빈의 디코딩 후에 이진화 과정에 의해 주어지는 빈 스트링(bin string)들의 세트와 비교된다. 시퀀스가 주어진 세트 내의 빈 스트링과 일치할 때, 상응하는 값이 구문 요소에 지정된다.
구문 요소의 값을 위한 요구가 구문 요소(pcm_flag)를 위하여 진행되고 pcm_flag의 디코딩된 값이 1과 동일한 경우에, 디코딩 엔진은 어떠한 pcm_alighment_zero_bit, num_subsequent_pcm, 및 모든 pcm_sample_luma와 pcm_sample_chroma 데이터의 디코딩 후에 초기화된다.
따라서, 위의 설명은 도 24에 도시된 것과 같은 디코더를 나타낸다. 일반적으로 도면부호 5에 의해 표시되는, 이러한 디코더는 화상(10)이 분할되는 슬라이스들(14)의 유닛들 내에 화상(10)이 코딩되는 데이터 스트림(12)으로부터 화상(10)을 재구성하며, 디코더(5)는 슬라이스 순서(16)에 따라 데이터 스트림(12)으로부터 슬라이스들(14)을 디코딩하도록 구성된다. 자연적으로, 디코더(5)는 슬라이스들(14)을 연속으로 디코딩하도록 제한되지 않는다. 오히려, 디코더(5)는 슬라이스들(14) 내로 분할하는 화상(10)이 파면 병렬 처리에 적합하면, 슬라이스들(14)을 디코딩하기 위하여 파면 병렬 처리를 사용할 수 있다. 따라서, 디코더(5)는 예를 들면, 위에 설명되고 또한 아래에 설명될 것과 같이 파면 처리를 허용하기 위하여 슬라이스 순서(16)를 고려함으로써 슬라이스들(14)의 디코딩의 시작을 갖는 스태그드 방식(staggered manner)으로 병렬로 슬라이스들(14)을 디코딩할 수 있는 디코더일 수 있다.
디코더(5)는 적어도 두 가지 방식(20 및 22) 중 하나에 따라 현재 슬라이스를 디코딩하기 위하여 슬라이스들(14)의 현재 슬라이스 내의 구문 요소 부(18)에 응답한다. 적어도 두 가지 방식 중 첫 번째 방식, 즉 방식(20)에 따라, 현재 슬라이스는 슬라이스 경계들을 가로질러, 즉 도 24의 쇄선을 가로질러 콘텍스트의 도출을 포함하는 콘텍스트 적응적 엔트로피 디코딩(context-adaptive entropy coding)을 사용하여, 즉 다른 "슬라이스들을 선행하는 슬라이스 순서(16)로" 코딩/디코딩에서 기인하는 정보를 사용함으로써 데이터 스트림(12)으로부터 디코딩된다. 또한, 첫 번째 방식(20)을 사용하는 데이터 스트림(12)으로부터의 현재 슬라이스의 디코딩은 이전에 디코딩된 슬라이스의 심볼 확률의 저장된 상태들에 의존하는, 현재 슬라이스의 디코딩의 시작에서 코덱의 심볼 확률들의 연속적인 업데이트 및 심볼 확률들의 초기화를 포함한다. 그러한 의존성은 예를 들면 "코덱 변수들을 위한 동기화 과정"과 함께 설명되었다. 최종적으로 첫 번째 방식(20)은 또한 슬라이스 경계들을 가로질러 예측 디코딩을 포함한다. 슬라이스 경계들을 가로지르는 그러한 예측 디코딩은 예를 들면, 슬라이스 경계들을 가로지르는 인트라-예측, 즉 슬라이스를 선행하는, "슬라이스 순서(16)"로 이미 재구성된 샘플 값들을 기초로 하여 현재 슬라이스 내의 샘플 값들의 예측, 혹은 움직임 벡터들, 예측 방식들, 코딩 방식들 등의 예측과 같은 슬라이스 경계들을 가로지르는 코딩 파라미터들의 예측을 포함할 수 있다.
두 번째 방식(22)에 따르면, 디코더(5)는 슬라이스 경계들을 가로지르지 않기 위하여 콘텍스트들의 도출의 제한을 갖는, 콘텍스트 적응적 엔트로피 디코딩을 사용하여, 데이터 스트림(12)으로부터 현재 슬라이스, 즉 현재 디코딩되는 슬라이스를 디코딩한다. 만일 그렇더라도, 예를 들면, 현재 슬라이스 내의 블록과 관련하여 특정 구문 요소를 위한 콘텍스트를 도출하기 위하여 사용되는 이웃하는 위치들의 템플릿(template)은 이웃하는 슬라이스 내로 확장하며, 그렇게 함으로써 현재 슬라이스의 슬라이스 경계를 가로지르며, 이웃하는 슬라이스의 이러한 이웃하는 부의 상응하는 구문 요소의 값과 같은, 이웃하는 슬라이스의 각각의 부분의 상응하는 속성은 현재 슬라이스와 이웃하는 슬라이스들 사이의 상호의존을 억제하기 위하여 디폴드 값(default value)으로 설정된다. 마치 첫 번째 방식(20)의 경우처럼 콘텍스트들의 심볼 확률들의 연속적인 업데이트가 발생할 수 있으나, 두 번째 방식(20)에서의 심볼 확률들의 초기화는 어떠한 이전에 디코딩된 슬라이스와는 독립적이다. 또한, 슬라이스 경계들을 가로지르지 않기 위하여 예측 디코딩의 한정을 갖는 예측 디코딩이 실행된다.
도 24의 설명 및 그 다음의 설명의 이해를 용이하게 하기 위하여, 도 24와 비교하여 더 구체적인 의미에서의 디코더(5)의 가능한 구현을 도시하는, 도 25가 참조된다. 도 24의 경우에서와 같이, 디코더(5)는 예를 들면, 예측 잔류 및 예측 파라미터들을 획득하기 위하여 데이터 스트림을 디코딩하기 위한 콘텍스트 적응적 엔트로피 디코딩을 사용하는 예측 디코더이다.
도 25에 도시된 것과 같이, 디코더(5)는 엔트로피 디코더(24), 탈양자화 및 역 변환 모듈(26), 도 25에 도시된 것과 같이 예를 들면, 가산기 및 예측기(28)로서 구현되는 결합기(28)를 포함할 수 있다. 엔트로피 디코더(24), 모듈(26) 및 가산기(27)는 언급된 순서로 디코더(5)의 입력과 출력 사이에 순차적으로 연결되고, 예측기(28)는 결합기(27)와 함께 예측 루프를 형성하기 위하여 가산기(28)의 출력 및 그것들의 또 다른 입력 사이에 연결된다. 따라서, 디코더(24)는 예측기(28)의 코딩 파라미터 입력에 부가적으로 연결되는 출력을 갖는다.
도 25가 디코더가 현재 화상을 순차적으로 디코딩하는 인상을 제공하나, 디코더(25)는 예를 들면, 병렬로 화상(10)을 디코딩하도록 구현될 수 있다. 디코더는 예를 들면, 각각 도 25의 요소들(24-28)에 따라 작동하는 다수의 코어를 포함할 수 있다. 그러나, 병렬 처리는 선택적이며, 엔트로피 디코더(24)의 입력에서 오는 데이터 스트림을 디코딩하기 위하여 순차적으로 작동하는 디코더(5)가 또한 가능할 수 있다.
현재 화상(10)을 순차적으로 또는 병렬로 디코딩하는 방금 언급된 능력을 효율적으로 달성하기 위하여, 디코더(5)는 화상(10)을 디코딩하기 위하여 코딩 블록들(30)의 유닛들 내에 작동한다. 코딩 블록들(30)은 예를 들면, 코딩 트리 블록들 또는 가장 큰 코딩 블록들(32)이 쿼드트리 분할과 같은 재귀적 분할에 의해 분할되는 리프 블록(leaf block)들이다. 코드 트리블록들(32)은 차례로, 화상(10)의 이러한 코드 트리블록들(32)로의 규칙적인 분할을 형성하기 위하여 행들과 열들 내에 규칙적으로 배치된다. 도 25에서, 코드 트리블록들(32)은 실선으로 도시되고, 코딩 블록들(30)은 쇄선으로 도시된다. 설명의 목적을 위하여, 하나의 코드 트리블록(32)만이 코딩 블록들(30)로 더 분할되는 것으로 도시되나, 대신에, 나머지 코드 트리블록들(32)은 직접적으로 코딩 블록을 형성하기 위하여 더 분할되지 않도록 도시된다. 데이터 스트림(12)은 화상(10)이 코드 블록들(30)로 어떻게 분할되는지에 대하여 시그널링하는 구문 부를 포함할 수 있다.
데이터 스트림(12)은 각각의 코딩 블록(30)을 위하여, 모듈들(24 내지 28)이 어떻게 그러한 코딩 블록(30) 내의 화상 콘텐츠를 복원하는지를 나타내는 구문 요소들을 전달한다. 예를 들면, 이러한 구문 요소들은 다음을 포함한다:
1) 선택적으로, 코딩 블록(30)을 예측 블록들로 더 분할하는 분할 데이터,
2) 선택적으로, 코딩 블록(30)을 잔류(residual) 및/또는 변환 블록들로 더 분할하는 분할 데이터,
3) 코딩 블록(30)을 위한 예측 신호를 도출하기 위하여 어떠한 예측 방식이 사용되는지를 시그널링하는 예측 방식, 이러한 예측 방식이 시그널링되는 입상도(granularity)는 코딩 블록들(30) 및/또는 예측 블록에 의존할 수 있다.
4) 예측 파라미터들이 코딩 블록 당 또는 만일 존재하면, 예를 들면 예측 방식에 따라 보내지는 일종의 예측 파라미터들을 갖는 예측 블록 당 시그널링될 수 있다. 가능한 예측 방식들은 예를 들면, 인트라-예측 및/또는 인터-예측을 포함할 수 있다.
5) 예측 신호 및/또는 재생산되도록 재구성되는 신호를 획득하기 위하여 화상(10)을 필터링하기 위한 필터링 정보와 같은 다른 구문 요소들이 또한 존재할 수 있다.
6) 마지막으로, 예를 들면, 그중에서도 변환 계수들의 형태의 잔류 정보가 코딩 블록(30)을 위한 데이터 스트림 내에 포함될 수 있으며; 잔류 블록들의 유닛들 내에, 잔류 데이터가 시그널링될 수 있으며; 잔류 블록 당, 스펙트럼 분해는 만일 존재하면, 앞서 언급된 변환 블록들의 유닛들 내에서 실행될 수 있다.
엔트로피 디코더(24)는 데이터 스트림으로부터 앞서 언급된 구문 요소들을 획득하는데 책임이 있다. 이를 위하여, 엔트로피 디코더(24)는 콘텍스트 적응적 엔트로피 디코딩을 사용한다. 즉, 엔트로피 디코더(24)는 일부 콘텍스트를 제공한다. 데이터 스트림(12)으로부터 특정 구문 요소를 도출하기 위하여, 엔트로피 디코더(24)는 가능한 콘텍스트 중에서 특정 콘텍스트를 선택한다. 가능한 콘텍스트들 중에서의 선택은 현재 구문 요소가 속하는 화상(10) 부분의 이웃(neighborhood)의 속성에 의존한다. 각각의 가능한 콘텍스트들을 위하여, 엔트로피 디코더(24)는 심볼 확률들, 즉 어떠한 엔트로피 디코더(24)가 작동하는지를 기초로 하는 심볼 알파벳의 각각의 가능한 심볼을 위한 확률 추정을 관리한다. "관리"는 각각의 콘텍스트와 관련된 심볼 확률들을 실제 화상 콘텐츠에 적용하기 위하여 앞서 언급된 콘텍스트들의 심볼 확률들의 연속적인 업데이트를 포함한다. 이러한 측정에 의해, 심볼 확률들은 심볼들의 실제 확률 통계에 적용된다.
이웃의 속성들이 현재 코딩 블록(30)과 같은 화상(10)의 현재 부분에 영향을 미치는 또 다른 상황은 예측기(28) 내의 예측 디코딩이다. 예측은 현재 코딩 블록(30) 내의 예측 콘텐츠에만 한정되는 것이 아니라, 또한 예측 파라미터들, 분할 데이터, 또는 심지어 변환 계수들과 같은 현재 코딩 블록(30)을 위한 데이터 스트림 내에 포함되는 파라미터들의 예측도 포함할 수 있다. 즉, 예측기(28)는 데이터 스트림(12)으로부터 모듈(26)에 의해 획득된 것과 같이 예측 잔류와 결합되는 기록된 신호를 획득하기 위하여 화상 콘텐츠 또는 앞서 언급된 이웃으로부터의 그러한 파라미터들을 예측한다. 예측 파라미터들의 경우에 있어서, 예측기(28)는 예측 파라미터의 실제 값을 획득하기 위하여 예측 잔류들로서 데이터 스트림 내에 포함된 구문 요소들을 사용할 수 있다. 예측기(28)는 결합기(27)에서 예측 잔류와 결합되는 앞서 언급된 예측 신호를 획득하기 위하여 후자의 예측 파라미터 값을 사용한다.
앞서 언급된 "이웃"은 주로 현재 엔트로피 디코딩되는 구문 요소 또는 현재 예측 디코딩되는 구문 요소가 속하는 현재 부분의 원주의 상부 왼쪽 부분을 포함한다. 도 25에서, 각각의 이웃이 바람직하게는 하나의 코딩 블록(30)을 위하여 34에 도시된다.
코딩/디코딩 순서는 코딩 블록들(30) 중에서 정의되며, 가장 거친 레벨에서, 화상(10)의 코드 트리블록들(32)은 여기서는 상부로부터 하부로의 열 방식(row-wise)에 이르게 하는 래스터 스캔으로서 도시되는, 스캔 순서(36) 내에서 스캔된다. 각각의 코드 트리블록 내에, 코딩 블록들(30)은 각각의 계층 내에서, 코드 트리블록(32)이 실질적으로 또한 상부로부터 하부로의 열 방식에 이르게 하는 래스터 스캔 내에서 스캔되는 것과 같이 첫 번째 깊이 순회 순서(depth first traversal order)로 스캔된다.
코딩 블록들(30) 중에서 정의되는 코딩 순서는 이웃(34)이 이미 코딩 순서에 따라 디코딩의 대상이 된 화상(10)의 부들을 대부분 포함한다는 점에서 콘텍스트들을 선택하거나 및/또는 공간 예측을 실행하기 위하여 이웃 내의 속성을 도출하도록 사용되는 이웃(34)의 정의와 조화를 이룬다 이웃(34)의 부들이 화상(10)의 비-이용가능한 부들을 포함할 때마다, 예를 들면, 디폴트 데이터가 대신 사용된다. 예를 들면, 이웃 템플릿(34)은 화상(10) 외부로 확장할 수 있다. 그러나, 또 다른 가능성은 이웃(34)이 이웃하는 슬라이스 내로 확장하는 것이다.
슬라이스들은 예를 들면, 코딩 블록들(30)을 따라 정의되는 코딩/디코딩 순서를 따라 화상(120)을 세분하는데, 즉, 각각의 슬라이스는 앞서 언급된 코딩 블록 순서를 따라 코딩 블록들(30)의 연속적인 비-차단된 시퀀스이다. 도 25에서, 슬라이스들은 일점쇄선(14)으로 표시된다. 슬라이스들 중에서 정의되는 순서는 위에 설명된 것과 같이 순차적 코딩 블록들(30)의 런(run)들의 구성으로부터 야기한다. 만일 특정 슬라이스(14)의 구문 요소 부(18)가 첫 번째 방식으로 동일하게 디코딩되는 것을 나타내면, 엔트로피 디코더(24)는 슬라이스 경계들을 가로질러 콘텍스트들을 도출하기 위하여 콘텍스트 적응적 엔트로피 디코딩을 허용한다. 즉, 현재 슬라이스(14)와 관련하여 엔트로피 디코딩 데이터 내의 콘텍스트들을 선택하기 위하여 공간적 이웃(34)이 사용된다. 도 25의 경우에 있어서, 예를 들면, 슬라이스 수(3)는 현재 디코딩되는 슬라이스일 수 있으며, 코딩 블록(30) 또는 그 안에 포함된 일부 부에 대한 엔트로피 디코딩 구문 요소에 있어서, 엔트로피 디코더(24)는 슬라이스 수(1)와 같은 이웃하는 슬라이스 내의 부들의 디코딩으로부터 기인하는 속성들을 사용할 수 있다. 예측기(28)는 동일하게 행동하며, 첫 번째 방식(20)인 슬라이스를 위하여, 예측기(28)는 현재 슬라이스를 둘러싸는 슬라이스 경계를 가로질러 공간 예측을 사용한다.
그러나, 그것들과 관련된 두 번째 방식(22)을 갖는, 즉 구문 요소 부(18)가 두 번째 방식(22)을 나타내는 슬라이스들을 위하여, 엔트로피 디코더(24) 및 예측기(28)는 현재 슬라이스 내에만 있는 부들에 대한 속성들에 의존하기 위하여 엔트로피 콘텍스트들의 도출과 예측 디코딩을 제한한다. 명백하게, 코딩 효율은 이러한 제한으로부터 어려움을 겪는다. 다른 한편으로, 두 번째 방식(22)의 슬라이스들은 슬라이스들의 시퀀스 사이의 상호의존성의 방해를 허용한다. 따라서, 두 번째 방식(22)의 슬라이스들은 재동기화 지점들을 허용하기 위하여 화상(10) 내에 또는 화상(10)이 속하는 비디오 내에 배치될 수 있다. 그러나 각각의 화상(10)이 두 번째 방식(22)에서 적어도 하나의 슬라이스를 가질 필요는 없다.
위에 이미 언급된 것과 같이, 첫 번째 및 두 번째 방식(20 및 22)은 또한 심볼 확률들의 그것들의 초기화가 다르다. 두 번째 방식(22)으로 코딩된 슬라이스들은 어떠한 이전에 디코딩된, 즉 슬라이스들 중에서 정의된 순서의 의미로 이전에 디코딩된 슬라이스와 관계없이 확률들을 재초기화하는 엔트로피 디코더(24)를 야기한다. 심볼 확률들은 예를 들면, 인코더 면 및 디코더 면 모두에 알려진 디폴트 값들로 설정되거나, 또는 초기화 값들은 두 번째 방식(22)으로 코딩된 슬라이스들 내에 포함된다.
즉, 두 번째 방식(22)으로 코딩되는/디코딩되는 슬라이스들을 위하여, 심볼 확률들의 적응은 항상 이러한 슬라이스들의 시작으로부터 즉시 시작한다. 따라서, 적응 정확도는 이러한 슬라이스들의 시작에서 이러한 슬라이스들을 위하여 좋지 않다.
첫 번째 방식으로 코딩된/디코딩된 슬라이스들에서는 다르다. 후자의 슬라이스들을 위하여, 엔트리 디코더(24)에 의해 실행되는 심볼 확률들의 초기화는 이전에 디코딩된 슬라이스의 심볼 확률들의 저장된 상태들에 의존한다. 첫 번째 방식(20)에서 코딩된/디코딩된 슬라이스가 예를 들면, 화상(10)의 왼쪽 면 이외에, 즉 하부 쪽으로 그 다음의 열로 진행하기 전에 래스터 스캔(36)이 열 방식으로의 구동을 시작하는 면이 아닌 곳에 위치되는, 그것의 시작을 가질 때마다. 바로 선행하는 슬라이스의 엔트로피 디코딩의 끝에서 야기하는 갓과 같은 심볼 확률들이 적용된다. 이는 예를 들면 슬라이스 #4를 위한 화살표(38)에 의해 도 2에 도시된다. 슬라이스 #4는 화상(10)의 오른쪽 면과 왼쪽 면 사이의 어딘가에서 그것의 시작을 가지며, 따라서 심볼 확률들을 초기화하는데 있어서, 엔트로피 디코더(24)는 그것들의 끝까지, 즉 그것의 끝까지 슬라이스 #3의 엔트로피 디코딩 동안에 심볼 확률들의 연속적인 업데이트를 포함하여, 바로 선행하는 슬라이스, 즉 슬라이스 #3의 엔트로피 디코딩에서 획득된 심볼 확률들을 적용한다.
그러나 예를 들면 슬라이스 #5와 같은 화상(10)의 왼쪽 면에서의 시작을 갖는, 그것과 관련된 두 번째 방식(22)을 갖는 슬라이스들은 바로 선행하는 슬라이스 #4의 엔트로피 디코딩의 종료 후에 획득되는 것과 같은 심볼 확률들을 적용하지 않는데, 그 이유는 두 번째 방식은 디코더(5)가 파면 처리의 사용에 의한 화상(10)의 병렬 디코딩을 방지하기 때문이다. 오히려, 위에 설명된 것과 같이, 엔트로피 디코더(24)는 화살표(40)에 의해 도시된 것과 같이 바로 선행하는(인코딩/디코딩 순서(36) 내의) 코드 트리블록 열 내의 두 번째(인코딩/디코딩 순서(36) 내의) 코드 블록(32)의 엔트로피 디코딩의 종료 후에 획득된 것과 같은 심볼 확률들을 적용한다.
도 25에서, 예를 들면 화상(10)은 바람직하게는 코드 트리블록들의 3개의 열 및 코딩 트리 루트 블록들(32)의 4개의 행으로 분할되었고 각각의 코드 트리블록 열은 2개의 슬라이스로 세분화되었으며, 따라서 매 두 번째 슬라이스의 시작은 각각의 코드 트리블록 열의 코딩 유닛 순서 내의 첫 번째 코딩 유닛과 일치한다. 따라서, 엔트로피 디코더(24)는 첫 번째 또는 맨 위의 코드 트리 루트 블록 열로 시작하고 그리고 나서 두 번째 및 그리고 나서 세 번째로 시작하는 스태그드 방식으로 이러한 코드 트리 루트 블록 열들의 디코딩의 시작과 함께, 각각의 코드 트리 루트 블록 열을 병렬로 디코딩함으로써, 화상(10)을 디코딩하는데 파면 처리를 사용할 수 있다.
자연적으로, 재귀적 방식으로 또 다른 코딩 블록들(30)로의 블록들(32)의 분할은 선택적이며, 따라서 더 일반적인 의미에서, 블록들(32)은 또한 "코딩 블록들"로 불릴 수 있다. 즉, 더 일반적으로, 화상(10)은 열들과 행들로 배치되고 서로 중에서 정의되는 래스터 스캔 순서를 갖는 코딩 블록들로 분할될 수 있으며, 디코더(5)는 서브셋들이 슬라이스 순서에 따른 래스터 스캔 순서(36)를 따라 서로 뒤따르도록 하기 위하여 각각의 슬라이스를 래스터 스캔 순서(36) 내의 코딩 블록들(32)의 연속적인 서브셋과 연관시키도록 고려될 수 있다.
또한 위의 설명으로부터 자명한 것과 같이, 디코더(5) 또는 더 구체적으로 엔트로피 디코더(24)는 래스터 스캔 순서(36)에 따라 코딩 블록 열의 두 번째 코딩 블록까지 어떠한 슬라이스의 콘텍스트 적응적 엔트로피 디코딩에서 획득되는 것과 같은 심볼 확률들을 저장하도록 구성될 수 있다. 그것과 관련된 첫 번째 방식(20)을 갖는 현재 슬라이스의 콘텍스트 적응적 엔트로피 디코딩을 위한 심볼 확률들의 초기화에 있어서, 디코더(5) 또는 , 더 구체적으로 엔트로피 디코더(24)는 현재 슬라이스와 관련된 코딩 블록들(32)의 연속적인 서브셋들의 첫 번째 코딩 블록(32)이 래스터 스캔 순서에 따른 열의 첫 번째 코딩 블록인지에 대하여 검사하도록 구성될 수 있다. 만일 그렇다면, 현재 슬라이스의 콘텍스트 적응적 엔트로피 디코딩을 위한 심볼 확률들은 화살표(40)와 관련하여 설명되는 것과 같이, 즉 래스터 스캔 순서(36)에 따라 열의 두 번째 코딩 블록까지 이전에 디코딩된 슬라이스의 콘텍스트 적응적 엔트로피 디코딩에서 획득되는 것과 같은 저장된 심볼 확률들에 따라 초기화된다. 만일 그렇지 않으면, 현재 슬라이스의 콘텍스트 적응적 엔트로피 디코딩을 위한 심볼 확률들의 초기화는 이전에 디코딩된 슬라이스의 끝까지 이전에 디코딩된 슬라이스의 콘텍스트 적응적 엔트로피 디코딩에서 획득되는 것과 같은 심볼 확률들에 따라 , 즉 화살표(38)에 따라 실행된다. 다시, 38에 따른 초기화의 경우에 있어서, 이는 슬라이스 순서(36) 내의 바로 선행하는 슬라이스의 엔트로피 디코딩의 끝에서의 저장된 상태로 여겨지며, 반면에, 초기화(40)의 경우에 있어서, 이는 블록 순서(36) 내의 블록(32)의 바로 선행하는 열의 두 번째 블록의 끝을 포함하는 이전에 디코딩된 슬라이스이다..
도 24의 쇄선에 의해 도시된 것과 같이, 디코더는 적어도 세 가지 방식 중 어느 하나에 따라 현재 슬라이스를 디코딩하기 위하여 슬라이스들의 현재 슬라이스 내의 구문 요소 부(18)에 응답하도록 구성될 수 있다. 즉, 두 가지 방식(20 및 22) 이외에 세 번째 방식(42)이 존재할 수 있다. 세 번째 방식(42)은 슬라이스 경계들을 가로지르는 예측이 허용된다는 점에서 두 번째 방식(22)과 다를 수 있으나, 슬라이스 경계들을 가로지르지 않도록 하기 위하여 엔트로피 코딩/디코딩은 여전히 제한된다.
위에서 구문 요소 부(18)와 관련하여 두 가지 실시 예가 설명되었다. 아래의 테이블은 이러한 두 가지 실시 예를 요약한다.
Figure 112020112114613-pat00008
일 실시 예에서, 구문 요소 부(18)는 dependent_slice_flag에 의해 개별적으로 형성되나, 다른 실시 예에서, dependent_slice_flag 및 no_cabac_reset_flag의 조합이 구문 요소 부를 형성한다. 이전에 디코딩된 슬라이스의 저장된 상태들에 따라 심볼 확률들의 초기화가 관련되는 한 콘텍스트 변수들을 위한 동기화 과정이 참조된다. 특히, 디코더는 만일 last_ctb_cabac_init_flag=0이고 tiles_or_entropy_coding_sync_idc=2이면, 래스터 스캔 순서에 따라 열 내의 두 번째 코딩 블록까지 이전에 디코딩된 슬라이스의 콘텍스트 적응적 엔트로피 디코딩에서 획득되는 것과 같은 심볼 확률들을 저장하고, 첫 번째 방식에 따라 현재 슬라이스의 콘텍스트 적응적 엔트로피 디코딩을 위한 심볼 확률들의 초기화에서, 현재 슬라이스와 관련된 코딩 블록들의 연속적인 서브셋들의 첫 번째 코딩 블록이 래스터 스캔 순서에 따른 열의 첫 번째 코딩 블록인지를 검사하도록 구성될 수 있으며, 만일 그렇다면, 래스터 스캔 순서에 따라 열의 두 번째 코딩 블록까지 이전에 디코딩된 슬라이스의 콘텍스트 적응적 엔트로피 디코딩에서 획득되는 것과 같은 저장된 심볼 확률들에 따라 현재 슬라이스의 콘텍스트 적응적 엔트로피 디코딩을 위한 심볼 확률들을 초기화하고, 만일 그렇지 않으면, 이전에 디코딩된 슬라이스의 끝까지 이전에 디코딩된 슬라이스의 콘텍스트 적응적 엔트로피 디코딩에서 획득되는 것과 같은 심볼 확률들에 따라 현재 슬라이스의 콘텍스트 적응적 엔트로피 디코딩을 위한 심볼 확률들을 초기화하도록 구성될 수 있다.
따라서, 바꾸어 말하면, 구문을 위한 두 번째 실시 예에 따라, 디코더는 화상(10)이 세분화되는 슬라이스들(14)의 유닛들 내에서 화상이 코딩되는 데이터스트림(12)으로부터 화상(10)을 재구성할 수 있으며, 디코더는 적어도 두 가지 방식(20, 22)에 따라 현재 슬라이스를 디코딩하기 위하여 슬라이스 순서(16)에 따라 데이터스트림(12)으로부터 슬라이스들(14)을 디코딩하도록 구성되고 디코더는 적어도 두 가지 방식(20, 22) 중 어느 하나에 따라 현재 슬라이스를 디코딩하기 위하여 구문 요소 부(18), 즉 슬라이스들의 현재 슬라이스 내의 dependent_slice_flag에 응답한다. 적어도 두 가지 방식 중 첫 번째 방식(20)에 따라, 즉 만일 dependent_slice_flag=1이면, 디코더는 슬라이스 경계들을 가로지른 콘텍스트들의 도출, 콘텍스트들의 심볼 확률들의 연속적인 업데이트들 및 이전에 디코딩된 슬라이스의 심볼 확률들의 저장된 상태에 따른 심볼 확률들의 초기화(38, 40)를 포함하는 콘텍스트 적응적 엔트로피 디코딩(24), 및 슬라이스 경계들을 가로지른 예측 디코딩을 사용하여 데이터스트림(12)으로부터 현재 슬라이스를 디코딩하며, 적어도 두 가지 방식 중 두 번째 방식(22)에 따라, 즉 만일 dependent_slice_flag=0이면, 디코더는 슬라이스 경계들을 가로지르지 않도록 하기 위한 콘텍스트들의 도출의 제한, 콘텍스트들의 심볼 확률들의 연속적인 업데이트 및 어떠한 이전에 디코딩된 슬라이스와 관계없는 심볼 확률들의 초기화를 갖는 콘텍스트 적응적 엔트로피 디코딩, 및 슬라이스 경계들을 가로지르지 않도록 하기 위한 예측 디코딩의 제한을 갖는 예측 디코딩을 사용하여 데이터스트림(12)으로부터 현재 슬라이스를 디코딩한다. 화상(10)은 열과 행들로 배치되고 서로 중에서 정의되는 래스터 스캔 순서(36)를 갖는 코딩 블록들(32)로 분할될 수 있으며, 디코더는 각각의 슬라이스(14)를 슬라이스 순서에 따른 래스터 스캔 순서(36)를 따라 서브셋들이 서로 뒤따르도록 하기 위하여 래스터 스캔 순서(36)로 코딩 블록들의 연속적인 서브셋들과 연관시키도록 구성된다. 디코더는 즉 tiles_or_entropy_coding_sync_idc=2에 응답하여, 래스터 스캔 순서(36)에 따라 열 내의 두 번째 코딩 블록(32)까지 이전에 디코딩된 슬라이스의 콘텍스트 적응적 엔트로피 디코딩에서 획득하는 것과 같이 심볼 확률들을 저장하고, 첫 번째 방식에 따라 현재 슬라이스의 콘텍스트 적응적 엔트로피 디코딩을 위한 심볼 확률들의 초기화에서, 현재 슬라이스와 관련된 코딩 블록들(32)의 연속적인 서브셋들의 첫 번째 코딩 블록이 래스터 스캔 순서에 따른 열의 첫 번째 코딩 블록(32)인지를 검사하도록 구성될 수 있으며, 만일 그렇다면, 래스터 스캔 순서(36)에 따라 열의 두 번째 코딩 블록까지 이전에 디코딩된 슬라이스의 콘텍스트 적응적 엔트로피 디코딩에서 획득되는 것과 같은 저장된 심볼 확률들에 따라 현재 슬라이스의 콘텍스트 적응적 엔트로피 디코딩을 위한 심볼 확률들을 초기화하고(40) 만일 그렇지 않으면, 이전에 디코딩된 슬라이스의 끝까지 이전에 디코딩된 슬라이스를 콘텍스트 적응적 엔트로피 디코딩에서 획득되는 것과 같은 심볼 확률들에 따라 현재 슬라이스의 콘텍스트 적응적 엔트로피 디코딩을 위한 심볼 확률들을 초기화하도록(38) 구성될 수 있다. 디코더는 적어도 3가지 방식 중 어느 하나, 즉 첫 번째(20) 및 세 번째(42) 또는 두 번째 방식(22) 중 어느 하나에 따라 현재 슬라이스를 디코딩하기 위하여, 슬라이스들의 현재 슬라이스 내의 구문 요소 부(18)에 응답하도록 구성될 수 있으며, 디코더는 즉 만일 dependent_slice_flag=1이고 tiles_or_entropy_coding_sync_idc=3이면, 세 번째 방식(42)에 따라 슬라이스 경계들을 가로지르지 않도록 하기 위한 콘텍스트들의 도출의 제한, 어떠한 이전에 디코딩된 슬라이스와 관계없는 콘텍스트들의 심볼 확률들의 연속적인 업데이트 및 심볼 확률들의 초기화를 갖는 콘텍스트 적응적 엔트로피 디코딩, 및 슬라이스 경계들을 가로지르는 예측 디코딩을 사용하여 데이터스트림으로부터 현재 슬라이스를 디코딩하도록 구성되며. 첫 번째 및 세 번째 방식 중 하나는 구문 요소, 즉 cabac_independent_flag에 따라 선택된다. 디코더는 즉 만일 tiles_or_entropy_coding_sync_idc=0, 1, 및 3이면(cabac_independent flag=0일 때 "3"), 이전에 디코딩된 슬라이스의 끝까지 이전에 디코딩된 슬라이스를 콘텍스트 적응적 엔트로피 디코딩에서 획득되는 것과 같은 심볼 확률들을 저장하고, 저장된 심볼 확률들에 따라 현재 슬라이스의 콘텍스트 적응적 엔트로피 디코딩을 위한 심볼 확률들을 초기화하도록 구성될 수 있다. 디코더는 즉, 만일 tiles_or_entropy_coding_sync_idc=1이면, 첫 번째 및 두 번째 방식에서, 화상이 세분화되는 타일들 내의 예측 디코딩을 제한하도록 구성될 수 있다.
자연적으로, 인코더는 디코더가 위에 설명된 장점들을 획득하는 것을 가능하게 하기 위하여 위의 설명된 구문을 설정할 수 있다. 인코더는 다중 코어, 인코더와 같은, 병렬 인코더일 수 있으나, 반드시 그럴 필요는 없다. 슬라이스들(14)의 유닛들 내의 데이터스트림 내로의 화상(10)의 인코딩을 위하여, 인코더는 슬라이스 순서(16)에 따라 데이터스트림(12) 내로 슬라이스들(14)을 인코딩할 수 있다. 인코더는 슬라이스들의 현재 슬라이스를 위한 구문 요소 부(18)를 결정할 수 있고, 구문 요소 부가 두 가지 방식(20, 22) 중 적어도 하나에 따라 코딩되는 현재 슬라이스를 시그널링하도록 이를 슬라이스들의 현재 슬라이스 내로 코딩할 수 있으며, 만일 현재 슬라이스가 적어도 두 가지 방식 중 첫 번째 방식(20)에 따라 코딩되면, 슬라이스 경계들을 가로질러 콘텍스트들의 도출, 콘텍스트들의 심볼 확률들의 연속적인 업데이트 및 이전에 인코딩된 슬라이스의 심볼 확률들의 저장된 상태에 따라 심볼 확률들의 초기화(38, 40)를 포함하는 콘텍스트 적응적 엔트로피 인코딩(24)을 사용하여 현재 슬라이스를 데이터스트림(12) 내로 인코딩할 수 있으며, 만일 현재 슬라이스가 적어도 두 가지 방식 중 두 번째 방식(40)에 따라 코딩되면, 슬라이스 경계들을 가로지르기 위한 콘텍스트들의 도출의 제한, 콘텍스트들의 심볼 확률들의 연속적인 업데이트 및 이전에 인코딩된 슬라이스의 심볼 확률들의 저장된 상태에 따른 심볼 확률들의 초기화를 갖는 콘텍스트 적응적 엔트로피 인코딩(24), 및 슬라이스 경계들을 가로지르지 않도록 예측 인코딩의 제한을 갖는 예측 코딩을 사용하여 현재 슬라이스를 데이터스트림(12) 내로 인코딩할 수 있다. 화상(10) 열들과 행들 내에 배치되고 서로 간에서 정의되는 래스터 스캔 순서(36)를 갖는 코딩 블록들(32)로 분할될 수 있으나, 인코더는 각각의 슬라이스를, 서브셋들이 슬라이스 순서에 따른 래스터 스캔 순서(36)를 따라 서로 따르도록 하기 위하여 래스터 스캔 순서(36) 내의 코딩 블록들(32)의 연속적인 서브셋과 관련시키도록 구성될 수 있다. 인코더는 래스터 스캔 순서(36)에 따라 열 내의 두 번째 코딩 블록(32)까지 이전에 인토딩된 슬라이스의 콘텍스트 적응적 엔트로피 인코딩에서 획득되는 것과 같은 심볼 확률들을 저장하도록 구성될 수 있고, 첫 번째 방식에 따라 현재 슬라이스의 콘텍스트 적응적 엔트로피 인코딩을 위한 심볼 확률들의 초기화에서, 현재 슬라이스와 관련된 코딩 블록들(32)의 연속적인 서브셋의 첫 번째 코딩 블록이 래스터 스캔 순서에 따른 열 내의 첫 번째 코딩 블록인지에 대하여 검사하도록 구성될 수 있으며, 만일 그렇다면, 래스터 스캔 순서(36)에 따라 열 내의 두 번째 코딩 블록까지 이전에 인코딩된 슬라이스의 콘텍스트 적응적 엔트로피 인코딩에서 획득된 것과 같이 저장된 심볼 확률들에 따라 현재 슬라이스의 콘텍스트 적응적 엔트로피 인코딩을 위한 심볼 확률들을 초기화하도록(40) 구성될 수 있고, 만일 그렇지 않으면, 이전에 인코딩된 슬라이스의 끝까지 이전에 디코딩된 슬라이스의 콘텍스트 적응적 엔트로피 인코딩에서 획득된 것과 같이 심볼 확률들에 따라 현재 슬라이스의 콘텍스트 적응적 엔트로피 인코딩을 위하여 심볼 확률들을 초기화하도록(38) 구성될 수 있다. 인코더는 현재 슬라이스가 적어도 3가지 방식 중 하나에 따라, 즉, 첫 번째(20) 및 세 번째 방식(42) 또는 두 번째 방식(20)으로 그것들 내로 코딩되도록 시그널링되기 위하여 슬라이스들(14)의 현재 슬라이스 내로 구문 요소 부(18)를 코딩하도록 구성될 수 있으며, 인코더는 세 번째 방식(42)에 따라, 슬라이스 경계들을 가로지르지 않도록 하기 위한 콘텍스트의 도출의 제한, 콘텍스트들의 심볼 확률들의 연속적인 업데이트 및 어떠한 이전에 인코딩된 슬라이스와 관계없는 심볼 확률들의 초기화를 갖는 콘텍스트 적응적 엔트로피 인코딩, 및 슬라이스 경계들을 가로지르는 예측 코딩을 사용하여 현재 슬라이스를 데이터스트림 내로 인코딩하도록 구성되며, 인코더는 구문 요소, 즉 예를 들면 cabac_independent_flag를 사용하여 첫 번째 및 세 번째 방식 중 어느 하나 사이를 구별한다. 인코더는 dependent_slices_present_flag와 같은 제네릭(generic) 구문 요소를 결정하도록 구성될 수 있고, 제네릭 구문 요소에 따른 적어도 두 가지 제네릭 작동 방식 중 하나에서의 작동으로, 즉, 각각의 슬라이스를 위하여 구문 요소 부의 코딩을 실행하는, 첫 번째 제네릭 작동 방식, 및 첫 번째 방식 이외의 적어도 두 가지 방식 중 다른 하나를 필연적으로 사용하는, 두 번째 제네릭 작동 방식에 따라, 데이터스트림 내로 이를 기록하도록(write) 구성될 수 있다. 인코더는 첫 번째 및 두 번째 방식에 따라 필연적으로 또는 중단됨이 없이, 현재 슬라이스의 시작부터 끝까지 심볼 확률들을 연속적으로 계속해서 업데이트하도록 구성될 수 있다. 인코더는 이전에 인코딩된 슬라이스의 끝까지 이전에 인코딩된 슬라이스를 콘텍스트 적응적 엔트로피 인코딩 내에서 획득되는 것과 같은 심볼 확률들을 저장하고, 첫 번째 방식에 따른 현재 슬라이스의 콘텍스트 적응적 엔트로피 인코딩을 위한 심볼 확률들을 초기화하는데 있어서, 저장된 심볼 확률들에 따라 현재 슬라이스의 콘텍스트 적응적 엔트로피 인코딩을 위한 심볼 확률들을 초기화하도록 구성될 수 있다. 그리고 인코더는 첫 번째 및 두 번째 방식으로, 화상이 세분화되는 타일들 내로의 예측 인코딩을 제한할 수 있다.
인코더의 가능한 구조가 완전성을 위하여 도 26에 도시된다. 예측기(70)는 예측기(28)와 거의 동일하게 작동하는데, 즉 예측을 실행하나, 또한 최적화에 의해, 예를 들면 예측 파라미터들과 방식들을 포함하는 코딩 파라미터들을 결정한다. 모듈들(26 및 27)이 또한 디코더 내에 발생한다. 감산기(72)는 변환 및 양자화 모듈(74) 내에 손실 코딩되는 (양자화의 사용에 의해, 그리고 선택적으로 스펙트럼 분해 변환을 사용하여) 무손실 예측 잔류를 결정한다. 엔트로피 코더(76)는 콘텍스트 적응적 엔트로피 인코딩을 실행한다.
위의 구체적인 구문 예들에 더하여, 서로 다른 실시 예가 이후에 사용되는 용어들과 위에서 사용된 용어들 사이의 유사성의 표현과 함께 아래에 설명된다.
특히, 위에서의 특별한 설명 없이도, 종속 슬라이스들은 외부로부터 알려진 지식의 이용을 허용한다는 점에서 "종속적"이지 않으며 그것의 경계는 위에 설명된 것과 같이, 빠르게 적응되는 엔트로피 콘텍스트들을 갖거나 또는 그것의 경계의 크로싱의 허용에 기인하여 더 나은 공간 예측을 달성한다. 오히려, 화상을 슬라이스들로 분할함으로써 슬라이스 헤더들을 정의하기 위하여 소비되어야만 하는 레이트 비용을 절약하기 위하여, 종속 슬라이스들은 이전의 슬라이스들로부터의 슬라이스 헤더 구분의 일부분을 채택하는데, 즉 이러한 슬라이스 헤더 구문 부는 종속 슬라이스들을 위하여 다시 전송되지 않는다. 이는 예를 들면 이전의 슬라이스로부터 어떠한 슬라이스 형태가 채택되는지에 따라, 예를 들면, 도 16의 100 및 도 21의 102에 도시된다. 이러한 측정에 의해, 종속 슬라이스 및 독립 슬라이스와 같은, 슬라이스들로의 화상의 세분화는 비싼 비트 소모와 관련하여 덜 비싸다.
이는 아래에 설명되는 실시 예에서, 약간 다른 용어 선택에 이르게 하는 방금 언급된 종속성이며, 슬라이스들은 슬라이스 헤더 구문이 개별적으로 설정될 수 있는 화상의 유닛 부들로서 정의된다. 따라서, 슬라이스들은 이제 독립 슬라이스 세그먼트로 불리는, 하나의 독립/규칙/정상 슬라이스(위의 명칭을 사용하여) 및 이제 종속 슬라이스 세그먼트로 불리는, 0, 하나 또는 그 이상의 종속 슬라이스(위의 명칭을 사용하여)로 구성된다.
예를 들면, 도 27은 두 개의 슬라이스로 분할되는 화상을 도시하는데, 하나는 슬라이스 세그먼트들(141 내지 143)에 의해 형성되고 나머지는 단독으로 슬라이스 세그먼트(144)에 의해 형성된다. 지수들(1 내지 4)은 코딩 순서 내의 슬라이스 순서를 나타낸다. 도 28a 및 b는 화상(10)의 두 개의 타일로의 세분화의 경우에서의 서로 다른 예를 도시하는데, 도 28a의 경우에, 타일들(501 및 502)을 모두 포함하는, 모든 5개의 슬라이스 세그먼트(14)에 의해 형성되고(지수는 코딩 순서 내에서 다시 상승), 도 28b의 경우에, 두 개의 슬라이스는 각각 타일(501)을 포함하는, 슬라이스 세그먼트들(141, 142, 143 및 144)에 형성되며, 나머지 슬라이스는 타일(502)을 포함하는, 슬라이스 세그먼트들(145-146)에 의해 형성된다.
정의들은 다음과 같을 수 있다:
종속 슬라이스 세그먼트: 슬라이스 세그먼트 헤더의 일부 구문 요소들의 값들이 이전에, 위의 실시 예들에서 종속 슬라이스로 불리는, 디코딩 순서 내의 선행의 독립 슬라이스 세그먼트를 위한 값들로부터 추론되는 슬라이스 세그먼트.
독립 슬라이스 세그먼트: 슬라이스 세그먼트 헤더의 일부 구문 요소들의 값들이 이전에, 위의 실시 예들에서 정상 슬라이스로 불리는, 디코딩 순서 내의 선행의 슬라이스 세그먼트를 위한 값들로부터 추론되지 않는 슬라이스 세그먼트.
슬라이스: 하나의 독립 슬라이스 세그먼트 및 동일한 액세스 유닛/화상 내의 그 다음의 독립 슬라이스 세그먼트를 선행하는 모든 뒤따르는 종속 세그먼트(만일 있으면) 내에 포함되는 코딩 트리 유닛들의 정수.
슬라이스 헤더: 현재 슬라이스 세그먼트이거나 또는 현재 종속 슬라이스 세그먼트를 선행하는 독립 슬라이스 세그먼트인 독립 슬라이스 세그먼트의 슬라이스 세그먼트 헤더.
슬라이스 세그먼트: 타일 스캔 내에 연속적으로 정렬되고 단일 네트워크 추상 계층 유닛 내에 포함되는 코딩 트리 유닛들의 정수; 각각의 화상의 슬라이스 세그먼트들로의 세분이 분할이다.
슬라이스 세그먼트 헤더: 슬라이스 세그먼트 내에 표현되는 첫 번째 또는 모든 코딩 트리 유닛과 관련된 데이터 요소들을 포함하는 코딩된 슬라이스 세그먼트의 일부분.
"방식들(20 및 22)", 즉 "종속 슬라이스 세그먼트" 및 "독립 슬라이스 세그먼트"의 시그널링은 다음과 같을 수 있다:
화상 파라미터 세트와 같은 일부 추가의 네트워크 추상 계층 유닛들에서, 구문 요소는 특정 화상들을 위한 시퀀스의 특정 화상을 위하여 종속 슬라이스가 사용되는지 그렇지 않은지에 대하여 시그널링하도록 사용될 수 있다:
1과 동일한 dependent_slice_segments_enables_flag는 슬라이스 세그먼트 헤더들 내의 구문 요소(dependent_slice_segement_flag)의 존재를 지정한다. 0과 동일한 dependent_slice_segments_enables_flag는 슬라이스 세그먼트 헤더들 내의 구문 요소(dependent_slice_segement_flag)의 부재를 지정한다.
dependent_slice_segments_enables_flag는 이전에 설명된 dependent_slices_present_flag의 범위와 유사하다.
유사하게, dependent_slice_flag는 슬라이스들과 관련하여 서로 명명법을 설명하기 위하여 dependent_slice_segment_flag로 불린다.
0과 동일한 dependent_slice_segment_flag는 현재 슬라이스 세그먼트의 헤더 내에 존재하지 않는 각각의 슬라이스 세그먼트 헤더 구문 요소의 값이 슬라이스 헤더, 즉 선행 독립 슬라이스 세그먼트의 슬라이스 세그먼트 헤더 내의 상응하는 슬라이스 세그먼트 헤더 구문 요소의 값과 동일한 것으로 추론되는 것을 지정한다.
화상 레벨과 같은, 동일한 레벨에서, 다음의 구문 요소가 포함될 수 있다:
1과 동일한 entropy_coding_sync_enabled_flag는 콘텍스트 변수들을 위한 특정 동기화 과정이 화상 파라미터 세트(PPS)를 언급하는 각각의 화상 내의 각각의 타일 내의 코딩 트리 블록들의 하나의 열의 첫 번째 코딩 트리 블록을 포함하는 코딩 트리 유닛을 디코딩하기 전에 적용되고, 콘텍스트 변수들을 위한 특정 저장 과정이 화상 파라미터 세트를 언급하는 각각의 화상 내의 각각의 타일 내의 코딩 트리 블록들의 하나의 열의 두 번째 코딩 트리 블록을 포함하는 코딩 트리 유닛을 디코딩하기 전에 적용되는 것을 지정한다. 0과 동일한 entropy_coding_sync_enabled_flag는 콘텍스트 변수들을 위한 어떠한 특정 동기화 과정도 화상 파라미터 세트를 언급하는 각각의 화상 내의 각각의 타일 내의 코딩 트리 블록들의 하나의 열의 첫 번째 코딩 트리 블록을 포함하는 코딩 트리 유닛을 디코딩하기 전에 적용되지 않고, 콘텍스트 변수들을 위한 어떠한 특정 저장 과정도 화상 파라미터 세트를 언급하는 각각의 화상 내의 각각의 타일 내의 코딩 트리 블록들의 하나의 열의 두 번째 코딩 트리 블록을 포함하는 코딩 트리 유닛을 디코딩하기 전에 적용되지 않는 것을 지정한다.
entropy_coding_sync_enabled_flag의 값이 코딩된 비디오 시퀀스 내에서 작동되는 모든 화상 파라미터 세트를 위하여 동일해야만 하는 것이 비트스트림 적합성의 요구조건이다.
entropy-config_sync_enabled_flag가 1과 동일하고 슬라이스 내의 첫 번째 코딩 트리 블록이 타일 내의 코딩 트리 블록들의 하나의 열의 첫 번째 코딩 트리 블록이 아닐 때, 슬라이스 내의 마지막 코딩 트리 블록이 슬라이스 내의 첫 번째 코딩 트리 블록과 동일한 코딩 트리 블록들의 열에 속해야만 하는 것이 비트스트림 적합성의 요구조건이다. entropy-config_sync_enabled_flag가 1과 동일하고 슬라이스 세그먼트 내의 첫 번째 코딩 트리 블록이 타일 내의 코딩 트리 블록들의 하나의 열의 첫 번째 코딩 트리 블록이 아닐 때, 슬라이스 세그먼트 내의 마지막 코딩 트리 블록이 슬라이스 세그먼트 내의 첫 번째 코딩 트리 블록과 동일한 코딩 트리 블록들의 열에 속해야만 하는 것이 비트스트림 적합성의 요구조건이다.
이미 설명된 것과 같이, 코딩 트리 블록들(30) 중에서의 코딩/디코딩 순서는 첫 번째 타일의 스캐닝으로 시작하여 래스터 방식으로 상부로부터 하부로의 열 방식에 이르게 하고 그리고 나서 만일 하나 이상의 타일이 화상 내에 존재하면, 그 다음의 타일을 방문한다.
디코더(5, 및 따라서 인코더)는 화상의 엔트로피 디코딩(코딩) 슬라이스 세그먼트들(14) 내에서 다음과 같이 작용한다:
A1) 현재 디코딩되는/코딩되는 구문 요소(synE1)가 타일(50), 슬라이스 세그먼트(14) 또는 코딩 트리 블록의 열의 첫 번째 구문 요소일 때마다, 도 29의 초기화 과정이 시작된다.
A2) 그렇지 않으면, 이러한 구문 요소의 디코딩은 현재 엔트로피 콘텍스트들을 사용하여 일어난다.
A3) 만일 현재 구문 요소가 코딩 트리 블록(CTB, 30) 내의 마지막 구문 요소이었으면, 도 30에 도시된 것과 같이 엔트로피 콘텍스트 저장 과정이 시작된다.
A4) 과정은 그 다음의 구문 요소로 A1)에서 진행된다.
초기화 과정에서, synE1이 슬라이스 세그먼트(14) 또는 타일(50)의 첫 번째 구문 요소인지가 검사된다(200). 만일 그렇다면, 단계 202에서 콘텍스트들은 어떠한 이전의 슬라이스 세그먼트와 관계없이 초기화된다. 만일 그렇지 않으면, synE1이 코딩 트리 블록들(30)의 열의 첫 번째 구문 요소인지, 그리고 entropy-coding_sync_enabled_flag가 1과 동일한지가 검사된다(204). 만일 그렇다면, 동일한 타일의 코딩 트리 블록들(30)의 이전의 라인에서, 두 번째 코딩 트리 블록(30)이 이용가능한지가 검사된다(206, 도 23 참조). 만일 그렇다면, 단계 210에서 형태 40 채택을 위한 현재 저장된 콘텍스트 확률들을 사용하여 40에 따른 콘텍스트 채택이 실행된다. 만일 그렇지 않으면, 콘텍스트들을 단계 202에서의 어떠한 이전의 슬라이스 세그먼트와 관계없이 초기화된다. 만일 검사(204)가 아니 것으로 나타나면, 단계 212에서 synE1이 종속 슬라이스 세그먼트(14)의 첫 번째 코딩 트리 블록 내의 첫 번째 구문 요소인지, 그리고 dependent_slice_flag가 1과 동일한지가 검사되고, 만일 그렇다면, 단계 214에서 형태 38 채택을 위한 현재 저장된 콘텍스트 확률들을 사용하여 38에 따른 콘텍스트 채택이 실행된다.214, 212, 210 및 202 단계 중 어느 하나의 단계 후에, 디코딩/코딩이 실제로 시작된다.
1과 동일한 dependent_slice_segment_flag를 갖는 종속 슬라이스 세그먼트들은 따라서 코딩 효율 불이익이 거의 없이 코딩/디코딩 지연을 더 감소시키는데 도움을 준다.
도 30의 저장 과정에서, 단계 300에서 코딩된/디코딩된 synE1이 코딩 트리 블록들(30)의 열의 두 번째 코딩 트리 블록(30)의 마지막 구문 요소인지, 그리고 entropy_coding_sync_enabled_flag가 1과 동일한지가 검사된다. 만일 그렇다면, 단계 302에서 현재 엔트로피 콘텍스트들, 즉, 40과 같은 채택에 특이적인 저장장치 내의, 콘텍스트들의 엔트로피 코딩 확률들이 저장된다. 유사하게, 단계 304에서, 단계 300 또는 302에 더하여, 코딩된/디코딩된 synE1이 슬라이스 세그먼트(14)의 마지막 구문 요소인지, 그리고 dependent_slice_segment_flag가 1과 동일한지가 검사된다. 만일 그렇다면, 단계 306에서 현재 엔트로피 콘텍스트들, 즉, 40과 같은 채택에 특이적인 저장장치 내의, 콘텍스트들의 엔트로피 코딩 확률들이 저장된다.
구문 요소가 코딩 트리 블록 열의 첫 번째 synE1인지에 대하여 문의하는(queryng) 어떠한 검사는 예를 들면, 슬라이스 세그먼트의 헤더들 내의 구문 요소(slice_adress, 400), 즉, 디코딩 순서를 따라 각각의 슬라이스 세그먼트의 시작의 위치를 나타내는 시작 구문 요소를 이용한다는 것에 유의하여야 한다.
파면 병렬 처리 과정을 사용하여 데이터스트림(12)으로부터 화상(10)을 재구성하는 경우에 있어서, 디코더는 파면 병렬 처리 서브스트림 엔트리 지점들을 검색하기 위하여 후자의 출발 구문 부(400)를 정확히 사용할 수 있다. 각각의 슬라이스 세그먼트가 화상(10) 내의 각각의 슬라이스 세그먼트의 디코딩 시작의 위치를 나타내는 출발 구문 부(400)를 포함하기 때문에, 디코더는 슬라이스 세그먼트의 출발 구문 부들(400)을 사용하여 슬라이스 세그먼트들이 그룹핑되는(grouped) 파면 병렬 처리 서브스트림들의 엔트리 지점들을 식별할 수 있으며, 슬라이스 세그먼트들은 화상의 왼쪽 면에서 시작한다. 그리고 나서, 디코더는 슬라이스 순서에 따라 파면 병렬 처리 서브스트림들의 디코딩을 순차적으로 시작하는 스태그드 방식으로 파면 병렬 처리 서브스트림들을 병렬로 디코딩할 수 있다. 슬라이스 세그먼트들은 심지어 하나의 화상 폭, 즉 코딩 트리 블록들의 하나의 열보다 작을 수 있으며, 따라서 그것들의 전송은 전체 전송 종단간 지연을 더 감소시키기 위하여 파면 병렬 처리 서브스트림 중간에 삽입될(interleaved) 수 있다. 인코더는 각각의 슬라이스(14)에 화상(10) 내의 각각의 슬라이스의 코딩 시작의 위치를 나타내는 출발 구문 부(400)를 제공하고 슬라이스들을 파면 병렬 처리 서브스트림들로 그룹핑할 수 있으며, 따라서 각각의 파면 병렬 처리 서브스트림을 위하여, 슬라이스 순서 내의 첫 번째 슬라이스는 화성의 왼쪽 면에서 시작한다. 인코더는 심지어 자체로, 화상을 인코딩하는데 파면 병렬 처리 과정을 사용할 수 있으며; 인코더는 슬라이스 순서에 따라 파면 병렬 처리 서브스트림들의 인코딩을 순차적으로 시작하는 스태그드 방식으로 파면 병렬 처리 서브스트림들을 병렬 인코딩한다.
그런데, 파면 병렬 처리 서브스트림들의 엔트리 지점들을 위치시키기 위한 수단으로서 슬라이스 세그먼트의 출발 구문 부들을 사용하는 후자의 양상은 종속 슬라이스 개념 없이 사용될 수 있다.
다음과 같이 위의 변수들을 설정함으로써, 병렬 처리 화상(10)을 위하여 모두 실현 가능할 수 있다:
Figure 112020112114613-pat00009
심지어 파면 병렬 처리를 타일 분할과 믹싱하는 것이 실현 가능할 수 있다. 그러한 경우에 있어서, 파면 병렬 처리는 타일들을 개별 화상들로서 취급할 수 있으며, 파면 병렬처리를 사용하는 각각은 하나 또는 그 이상의 종속 슬라이스 세그먼트를 갖는 슬라이스로 구성될 수 있으며, 단계 300 및 208에서의 검사는 단계 204에서와 같이, 동일한 타일 내의 위의 코딩 트리 블록 열의 두 번째 코딩 트리 블록를 언급할 수 있으며, A1은 현재 타일의 코딩 트리 블록(30) 열 내의 첫 번째 코딩 트리 블록(30)을 언급할 수 있다. 그러한 경우에 있어서, 위의 테이블은 확장될 수 있다:
Figure 112020112114613-pat00010
간단히 설명하면, 후자의 확장은 실시 예 2로 가능하였을 수 있다. 실시 예 2는 다음의 처리를 허용한다:
Figure 112020112114613-pat00011
그러나 다음의 확장들과 함께, 아래의 테이블은 다음을 야기할 수 있다:
화상 파라미터 세트의 시멘틱에 추가:
만일 tiles_or_entropy_coding_sync_idc가 4와 동일하면, 각각, 그러나 코딩 트리 블록들의 첫 번째 열은 1로 설정된 종속 슬라이스 세트와 다른 슬라이스 내에 포함되어야만 한다. 서로 다른 열들의 코딩 트리 블록들은 동일한 슬라이스 내에 존재해서는 안 된다. 코딩 트리 블록 열 당 하나 이상의 슬라이스가 존재할 수 있다.
만일 tiles_or_entropy_coding_sync_idc가 5와 동일하면, 각각, 그러나 코딩 트리 블록들의 첫 번째 열은 서로 다른 슬라이스 내에 포함되어야만 한다. 서로 다른 타일들의 코딩 트리 블록들은 동일한 슬라이스 내에 존재해서는 안 된다. 타일 당 하나 이상의 슬라이스가 존재할 수 있다.
또 다른 설명을 위하여 도 31이 참조된다.
즉, 위의 테이블은 확장될 수 있다:
Figure 112020112114613-pat00012
위의 실시 예들과 관련하여, 디코더는 예를 들면, 첫 번째 또는 두 번째 방식으로, tiles_or_entropy_coding_sync_idc=1.2에 응답하여, 현재 슬라이스의 병렬 서브섹션들로의 세분화를 나타내는 현재 슬라이스로부터의 정보를 판독하도록 구성될 수 있다는 것을 이해하여야 하며, 병렬 서브섹션들은 첫 번째 병렬 서브섹션의 끝에서 콘텍스트 적응적 엔트로피 디코딩을 중단하고, 첫 번째 방식에서, 선행 병렬 서브섹션의 심볼 확률들의 저장된 상태에 따른 심볼 확률들의 초기화 및, 두 번째 방식에서, 어떠한 이전에 디코딩된 슬라이스 및 어떠한 이전에 디코딩된 병렬 서브섹션과 관계없는 심볼 확률들의 초기화를 포함하는 어떠한 뒤따르는 병렬 서브섹션의 시작에서 콘텍스트 적응적 엔트로피 디코딩을 새로 재개하는, 파면 병렬 처리 서브스트림들 또는 타일들일 수 있다.
따라서, 위의 설명은 타일들, 파면 병렬 처리 서브스트림들, 슬라이스들 또는 엔트로피 슬라이스들 내에 구조화되는 것과 같이, 새로운 HEVC 코딩 표준에 의해 제공되는 것과 같이 구조화된 비디오 데이터의 저지연 인코딩, 디코딩, 캡슐화 및 전송을 위한 방법들을 나타내었다.
특히, 인코딩, 디코딩 및 전송 과정에서의 최소 레이턴시를 얻기 위하여 종래의 시나리오에서 병렬 인코딩된 데이터의 전송 방법이 정의되었다.따라서, 게이밍, 원격 수술 등과 같은 최소 지연 적용들을 허용하기 위하여 파이프라인식 병렬 코딩, 전송 및 디코딩 접근법이 설명되었다.
게다가, 위의 실시 예들은 저지연 전송 시나리오에서 사용하도록 하기 위하여 파면 병렬 처리의 격차를 해소하였다. 따라서, 파면 병렬 처리 서브스트림들을 위한 새로운 캡슐화 포맷, 종속 슬라이스를 설명하였다. 이러한 종속 슬라이스는 엔트로피 슬라이스 데이터, 파면 병렬 처리 서브스트림, 최대 코딩 유닛들의 전체 열, 슬라이스의 단지 하나의 단편을 포함할 수 있으며, 이전에 전송된 슬라이스 헤더는 또한 포함된 단편 데이터에 적용된다. 포함된 데이터는 서브 슬라이스 헤더 내에 시그널링된다.
새로운 슬라이스들의 명칭은 또한 "서브셋/경량 슬라이스들"일 수 있으나, 명칭 "종속 슬라이스"가 더 나은 것으로 알려졌다.
코딩 및 전송에서의 병렬화의 레벨을 설명하는 시그널링이 설명되었다.
장치의 맥락에서 일부 양상들이 설명되었으나, 이러한 양상들은 또한 블록 또는 장치가 방법 단계 또는 방법 단계의 특징과 상응하는, 상응하는 방법의 설명을 나타낸다는 것은 자명하다. 유사하게, 방법 단계의 맥락에서 설명된 양상들은 또한 상응하는 블록 아이템 혹은 상응하는 장치의 특징을 나타낸다. 일부 또는 모든 방법 단계는 예를 들면, 마이크로프로세서, 프로그램가능 컴퓨터 또는 전자 회로 같은 하드웨어 장치에 의해(또는 사용하여) 실행될 수 있다. 일부 실시 예들에서, 일부 하나 또는 그 이상의 가장 중요한 방법 단계는 그러한 장치에 의해 실행될 수 있다.
특정 구현 요구사항들에 따라, 본 발명의 실시 예는 하드웨어 또는 소프트웨어에서 구현될 수 있다. 구현은 디지털 저장 매체, 예를 들면, 그 안에 저장되는 전자적으로 판독가능한 제어 신호들을 갖는, 플로피 디스크, DVD, 블루-레이, CD, RON, PROM, EPROM, EEPROM 또는 플래시 메모리를 사용하여 실행될 수 있으며, 이는 각각의 방법이 실행되는 것과 같이 프로그램가능 컴퓨터 시스템과 협력한다(또는 협력할 수 있다). 따라서, 디지털 저장 매체는 컴퓨터로 판독가능할 수 있다.
본 발명에 따른 일부 실시 예들은 여기에 설명된 방법들 중 어느 하나가 실행되는 것과 같이, 프로그램가능 컴퓨터 시스템과 협력할 수 있는, 전자적으로 판독가능한 제어 신호들을 갖는 데이터 캐리어를 포함한다.
일반적으로, 본 발명의 실시 예들은 프로그램 코드를 갖는 컴퓨터 프로그램 제품으로서 구현될 수 있으며, 프로그램 코드는 컴퓨터 프로그램 제품이 컴퓨터 상에서 구동할 때 방법들 중 어느 하나를 실행하도록 운영될 수 있다. 프로그램 코드는 예를 들면, 기계 판독가능 캐리어 상에 저장될 수 있다.
다른 실시 예들은 기계 판독가능 캐리어 상에 저장되는, 여기에 설명된 방법들 중 어느 하나를 실행하기 위한 컴퓨터 프로그램을 포함한다.
바꾸어 말하면, 본 발명의 방법의 일 실시 예는 따라서 컴퓨터 프로그램이 컴퓨터 상에 구동할 때, 여기에 설명된 방법들 중 어느 하나를 실행하기 위한 프로그램 코드를 갖는 컴퓨터 프로그램이다.
본 발명의 방법의 또 다른 실시 예는 따라서 여기에 설명된 방법들 중 어느 하나를 실행하기 위한 컴퓨터 프로그램을 포함하는, 그 안에 기록되는 데이터 캐리어(또는 데이터 저장 매체,또는 컴퓨터 판독가능 매체)이다. 데이터 캐리어, 디지털 저장 매체 또는 기록 매체는 일반적으로 유형(tangible) 및/또는 비-전이형이다.
본 발명의 방법의 또 다른 실시 예는 따라서 여기에 설명된 방법들 중 어느 하나를 실행하기 위한 컴퓨터 프로그램을 나타내는 데이터 스트림 또는 신호들의 시퀀스이다. 데이터 스트림 또는 신호들의 시퀀스는 예를 들면 데이터 통신 연결, 예를 들면 인터넷을 거쳐 전송되도록 구성될 수 있다.
또 다른 실시 예는 여기에 설명된 방법들 중 어느 하나를 실행하도록 구성되거나 혹은 적용되는, 처리 수단, 예를 들면 컴퓨터, 또는 프로그램가능 논리 장치를 포함한다.
또 다른 실시 예는 그 안에 여기에 설명된 방법들 중 어느 하나를 실행하기 위한 컴퓨터 프로그램이 설치된 컴퓨터를 포함한다.
본 발명에 따른 또 다른 실시 예는 여기에 설명된 방법들 중 어느 하나를 실행하기 위한 컴퓨터 프로그램을 수신기로 전송하도록(예를 들면, 전자적으로 또는 선택적으로) 구성되는 장치 또는 시스템을 포함한다. 수신기는 예를 들면, 컴퓨터, 이동 장치, 메모리 장치 등일 수 있다. 장치 또는 시스템은 예를 들면, 컴퓨터 프로그램을 수신기로 전송하기 위한 파일 서버를 포함한다.
일부 실시 예들에서, 여기에 설명된 방법들 중 일부 또는 모두를 실행하기 위하여 프로그램가능 논리 장치(예를 들면, 필드 프로그램가능 게이트 어레이)가 사용될 수 있다. 일부 실시 예들에서, 필드 프로그램가능 게이트 어레이는 여기에 설명된 방법들 중 어느 하나를 실행하기 위하여 마이크로프로세서와 협력할 수 있다. 일반적으로, 방법들은 바람직하게는 어떠한 하드웨어 장치에 의해 실행된다.
이에 설명된 실시 예들은 단지 본 발명의 원리들을 위한 설명이다. 여기에 설명된 배치들과 상세내용들의 변형과 변경은 통상의 지식을 가진 자들에 자명할 것이라는 것을 이해할 것이다. 따라서, 본 발명은 여기에 설명된 실시 예들의 설명에 의해 표현된 특정 상세내용이 아닌 특허 청구항의 범위에 의해서만 한정되는 것으로 의도된다.
참고문헌
[1] Thomas Wiegand, Gary J. Sullivan, Gisle Bjontegaard, Ajay Luthra, Overview of the H.264/AVC Video Coding Standard, IEEE Trans. Circuits Syst. Video Technol., vol. 13, N7, July 2003.
[2] JCT-VC, "High-Efficiency Video Coding (HEVC) text specification Working Draft 6", JCTVC-H1003, February 2012.
[3] ISO/IEC 13818-1: MPEG-2 Systems specification.
본 분할출원은 최초 원출원 청구항 내용을 실시예로서 아래에 기재하였다.
[실시예 1]
화상(10)이 분할되는 슬라이스들(14)의 유닛들 내에 상기 화상(10)이 코딩되는 데이터스트림(12)으로부터 상기 화상(10)을 재구성하기 위한 디코더에 있어서,
상기 디코더는 슬라이스 순서(16)에 따라 상기 데이터스트림(12)으로부터 상기 슬라이스들(14)을 디코딩하도록 구성되고,
상기 디코더는:
적어도 두 가지 방식(20, 22) 중 어느 하나에 따라 현재 슬라이스를 디코딩하기 위하여 상기 슬라이스들의 상기 현재 슬라이스 내의 구문 요소 부(18)에 응답하며,
상기 적어도 두 가지 방식 중 첫 번째 방식(20)에 따라, 슬라이스 경계들을 가로지른 콘텍스트들의 도출, 상기 콘텍스트들의 심볼 확률들의 연속적인 업데이트들 및 이전에 디코딩된 슬라이스의 심볼 확률들의 저장된 상태에 따른 상기 심볼 확률들의 초기화(38, 40)를 포함하는 콘텍스트 적응적 엔트로피 디코딩(24), 및 상기 슬라이스 경계들을 가로지른 예측 디코딩을 사용하여 상기 데이터스트림(12)으로부터 상기 현재 슬라이스를 디코딩하며,
상기 적어도 두 가지 방식 중 두 번째 방식(22)에 따라, 상기 슬라이스 경계들을 가로지르지 않도록 하기 위한 콘텍스트들의 도출의 제한, 상기 콘텍스트들의 심볼 확률들의 연속적인 엡데이트 및 어떠한 이전에 디코딩된 슬라이스와 관계없는 심볼 확률들의 초기화를 갖는 콘텍스트 적응적 엔트로피 디코딩, 및 슬라이스 경계들을 가로지르지 않도록 하기 위한 예측 디코딩의 제한을 갖는 예측 디코딩을 사용하여 상기 데이터스트림(12)으로부터 상기 현재 슬라이스를 디코딩하도록 구성되는 것을 특징으로 하는 디코더.
[실시예 2]
제 1실시예에 있어서, 상기 화상(10)은 상기 화상(10)은 열들과 행들로 배치되고 서로 중에서 정의되는 래스터 스캔 순서(36)를 갖는 코딩 블록들로 분할되고, 상기 디코더는 서브셋들이 슬라이스 순서에 따른 래스터 스캔 순서(36)를 따라 서로 뒤따르도록 하기 위하여 각각의 슬라이스(14)를 상기 래스터 스캔 순서(36) 내의 코딩 블록들(32)의 연속적인 서브셋과 연관시키도록 구성되는 것을 특징으로 하는 디코더.
[실시예 3]
제 2실시예에 있어서, 상기 디코더는 상기 래스터 스캔 순서(36)에 따라 열 내의 두 번째 코딩 블록(32)까지 상기 이전에 디코딩된 슬라이스의 콘텍스트 적응적 엔트로피 디코딩에서 획득되는 것과 같은 심볼 확률들을 저장하고, 상기 첫 번째 방식에 따라 상기 현재 슬라이스의 상기 콘텍스트 적응적 엔트로피 디코딩을 위한 상기 심볼 확률들의 초기화에서, 상기 현재 슬라이스와 관련된 코딩 블록들(32)의 상기 연속적인 서브셋들의 첫 번째 코딩 블록이 상기 래스터 스캔 순서에 따른 열의 첫 번째 코딩 블록(32)에 대하여 검사하도록 구성될 수 있으며, 만일 그렇다면, 상기 래스터 스캔 순서(36)에 따라 열의 두 번째 코딩 블록까지 상기 이전에 디코딩된 슬라이스의 상기 콘텍스트 적응적 엔트로피 디코딩에서 획득되는 것과 같은 상기 저장된 심볼 확률들에 따라 상기 현재 슬라이스의 상기 콘텍스트 적응적 엔트로피 디코딩을 위한 상기 심볼 확률들을 초기화하고, 만일 그렇지 않으면, 상기 이전에 디코딩된 슬라이스의 끝까지 상기 이전에 디코딩된 슬라이스의 상기 콘텍스트 적응적 엔트로피 디코딩에서 획득되는 것과 같은 심볼 확률들에 따라 상기 현재 슬라이스의 상기 콘텍스트 적응적 엔트로피 디코딩을 위한 상기 심볼 확률들을 초기화하도록 구성되는 것을 특징으로 하는 디코더.
[실시예 4]
제 1실시예 내지 3실시예 중 어느 한 실시예에 있어서, 상기 디코더는 적어도 세 가지 방식 중 어느 하나에 따라, 즉 첫 번째(20) 및 세 번째 방식(42) 또는 두 번째 방식(22) 중 어느 하나에서 상기 현재 슬라이스를 디코딩하기 위하여 상기 슬라이스들(14)의 상기 현재 슬라이스 내의 상기 구문 요소 부(18)에 응답하도록 구성되고,
상기 디코더는 상기 세 번째 방식(42)에 따라, 상기 슬라이스 경계들을 가로지르지 않도록 하기 위한 상기 콘텍스트들의 도출의 제한, 상기 콘텍스트들의 심볼 확률들의 연속적인 엡데이트 및 어떠한 이전에 디코딩된 슬라이스와 관계없는 상기 심볼 확률들의 초기화를 갖는 콘텍스트 적응적 엔트로피 디코딩, 및 상기 슬라이스 경계들을 가로지른 예측 디코딩을 사용하여 상기 데이터스트림으로부터 상기 현재 슬라이스를 디코딩하도록 구성되며,
상기 첫 번째 및 세 번째 방식 중 어느 하나가 구문 요소에 따라 선택되는 것을 특징으로 하는 디코더.
[실시예 5]
제 1실시예 내지 3실시예 중 어느 한 실시예에 있어서, 상기 디코더는 첫 번째 제네릭 작동 방식에 따른 각각의 슬라이스를 위한 상기 구문 요소에 대한 응답성의 실행, 및 두 번째 제네릭 작동 방식에 따른 상기 첫 번째 방식 이외의 적어도 두 가지 방식 중 다른 하나의 필연적인 사용을 갖는, 적어도 두 가지 제네릭 작동 방식 중 중 어느 하나에서 작동하도록 하기 위하여 제네릭 구문 요소에 응답하도록 구성되는 것을 특징으로 하는 디코더.
[실시예 6]
제 2실시예에 있어서, 상기 디코더는 상기 첫 번째 및 두 번째 방식에 따라 필연적으로 그리고 중단됨이 없이, 현재 슬라이스의 시작부터 끝까지 심볼 확률들을 연속적으로 계속해서 업데이트하도록 구성되는 것을 특징으로 하는 디코더.
[실시예 7]
제 2실시예에 있어서, 상기 디코더는 상기 이전에 인코딩된 슬라이스의 끝까지 상기 이전에 인코딩된 슬라이스의 콘텍스트 적응적 엔트로피 인코딩에서 획득되는 것과 같은 심볼 확률들을 저장하고, 상기 첫 번째 방식에 따른 상기 현재 슬라이스의 상기 콘텍스트 적응적 엔트로피 인코딩을 위한 상기 심볼 확률들의 초기화에 있어서, 저장된 심볼 확률들에 따라 상기 현재 슬라이스의 상기 콘텍스트 적응적 엔트로피 인코딩을 위한 상기 심볼 확률들을 초기화하도록 구성되는 것을 특징으로 하는 디코더.
[실시예 8]
제 1실시예 내지 7실시예 중 어느 한 실시예에 있어서, 상기 디코더는 상기 첫 번째 및 두 번째 방식에서, 상기 화상이 세분화되는 타일들 내로의 예측 인코딩을 제한하도록 구성되는 것을 특징으로 하는 디코더.
[실시예 9]
제 1실시예 내지 8실시예 중 어느 한 실시예에 있어서, 상기 디코더는 상기 첫 번째 및 두 번째 방식에서, 상기 현재 슬라이스의 병렬 서브섹션들로의 세분화를 나타내는 현재 슬라이스로부터의 정보를 판독하고, 상기 첫 번째 병렬 서브섹션의 끝에서 상기 콘텍스트 적응적 엔트로피 디코딩을 중단하며, 상기 첫 번째 방식에서, 상기 선행 병렬 서브섹션의 심볼 확률들의 저장된 상태에 따른 상기 심볼 확률들의 초기화 및, 상기 두 번째 방식에서, 어떠한 이전에 디코딩된 슬라이스 및 어떠한 이전에 디코딩된 병렬 서브섹션과 관계없는 상기 심볼 확률들의 초기화를 포함하는 어떠한 뒤따르는 병렬 서브섹션의 시작에서 상기 콘텍스트 적응적 엔트로피 디코딩을 새로 재개하도록 구성되는 것을 특징으로 하는 디코더.
[실시예 10]
제 1실시예 내지 9실시예 중 어느 한 실시예에 있어서, 상기 디코더는 상기 적어도 두 가지 방식 중 첫 번째 방식(20)에 따라, 상기 현재 슬라이스를 위하여 상기 두 번째 방식에서 디코딩된 선행 슬라이스로부터 슬라이스 헤더 구문의 부를 복사하도록 구성되는 것을 특징으로 하는 디코더.
[실시예 11]
선행 실시예 중 어느 한 실시예에 있어서, 상기 디코더는 파면 병렬 처리 과정을 사용하여 데이터스트림(12)으로부터 상기 화상(10)을 재구성하도록 구성되고, 각각의 슬라이스(14)는 상기 화상(10) 내의 상기 각각의 슬라이스의 디코딩 시작의 위치를 나타내는 출발 구문 부(400)를 포함하며,
상기 디코더는 상기 슬라이스의 출발 구문 부들을 사용하여 상기 화상의 왼쪽 면에서 시작하는 슬라이스들의 식별에 의해, 상기 슬라이스들이 그룹핑되는 파면 병렬 처리 서브스트림들의 엔트리 지점들을 식별하고, 상기 슬라이스 순서에 따라 상기 파면 병렬 처리 서브스트림들의 디코딩을 순차적으로 시작하는 스태그드 방식으로 상기 파면 병렬 처리 서브스트림들을 병렬 디코딩하도록 구성되는 것을 특징으로 하는 디코더.
[실시예 12]
화상(10)이 분할되는 슬라이스들(14)의 유닛들 내에 상기 화상(10)이 코딩되는 데이터스트림(12) 내로 상기 화상(10)을 인코딩하기 위한 인코더에 있어서, 상기 인코더는 슬라이스 순서(16)에 따라 상기 데이터스트림(12)으로부터 상기 슬라이스들(14)을 인코딩하도록 구성되고,
상기 인코더는;
구문 요소 부가 적어도 두 가지 방식(20, 22) 중 어느 하나에 따라 코딩되는 현재 슬라이스를 시그널링하도록 하기 위하여 상기 슬라이스들의 상기 현재 슬라이스를 위한 상기 구문 요소 부(18)를 결정하고, 이를 상기 슬라이스들의 현재 슬라이스 내로 코딩하고,
만일 상기 현재 슬라이스가 상기 적어도 두 가지 방식 중 첫 번째 방식(20)에 따라 코딩되면, 슬라이스 경계들을 가로지르는 콘텍스트들의 도출, 상기 콘텍스트들의 심볼 확률들의 연속적인 업데이트 및 이전에 인코딩된 슬라이스의 심볼 확률들의 저장된 상태에 따라 상기 심볼 확률들의 초기화(38, 40)를 포함하는 콘텍스트 적응적 엔트로피 인코딩(24), 및 슬라이스 경계들을 가로지르는 예측 인코딩을 사용하여 상기 현재 슬라이스를 상기 데이터스트림(12) 내로 인코딩하며,
만일 상기 현재 슬라이스가 상기 적어도 두 가지 방식 중 두 번째 방식(22)에 따라 코딩되면, 상기 슬라이스 경계들을 가로지르기 않도록 하기 위한 콘텍스트들의 도출의 제한, 상기 콘텍스트들의 심볼 확률들의 연속적인 업데이트 및 어떠한 이전에 인코딩된 슬라이스와 관계없는 상기 심볼 확률들의 초기화(38, 40)를 갖는 콘텍스트 적응적 엔트로피 인코딩(24), 및 슬라이스 경계들을 가로지르지 않도록 하기 위한 예측 인코딩의 제한을 갖는 예측 인코딩을 사용하여 상기 현재 슬라이스를 상기 데이터스트림(12) 내로 인코딩하도록 구성되는 것을 특징으로 하는 인코더.
[실시예 13]
제 12실시예에 있어서, 상기 화상(10)은 상기 화상(10)은 열들과 행들로 배치되고 서로 중에서 정의되는 래스터 스캔 순서(36)를 갖는 코딩 블록들로 분할되고, 상기 인코더는 서브셋들이 슬라이스 순서에 따른 래스터 스캔 순서(36)를 따라 서로 뒤따르도록 하기 위하여 각각의 슬라이스(14)를 상기 래스터 스캔 순서(36) 내의 코딩 블록들(32)의 연속적인 서브셋과 연관시키도록 구성되는 것을 특징으로 하는 인코더.
[실시예 14]
제 13실시예에 있어서, 상기 인코더는 상기 래스터 스캔 순서(36)에 따라 열 내의 두 번째 코딩 블록(32)까지 상기 이전에 인코딩된 슬라이스의 콘텍스트 적응적 엔트로피 인코딩에서 획득되는 것과 같은 심볼 확률들을 저장하고, 상기 첫 번째 방식에 따라 상기 현재 슬라이스의 상기 콘텍스트 적응적 엔트로피 인코딩을 위한 상기 심볼 확률들의 초기화에서, 상기 현재 슬라이스와 관련된 코딩 블록들(32)의 상기 연속적인 서브셋들의 첫 번째 코딩 블록이 상기 래스터 스캔 순서에 따른 열의 첫 번째 코딩 블록(32)에 대하여 검사하도록 구성될 수 있으며, 만일 그렇다면, 상기 래스터 스캔 순서(36)에 따라 열의 두 번째 코딩 블록까지 상기 이전에 인코딩된 슬라이스의 상기 콘텍스트 적응적 엔트로피 인코딩에서 획득되는 것과 같은 상기 저장된 심볼 확률들에 따라 상기 현재 슬라이스의 상기 콘텍스트 적응적 엔트로피 인코딩을 위한 상기 심볼 확률들을 초기화하고, 만일 그렇지 않으면, 상기 이전에 인코딩된 슬라이스의 끝까지 상기 이전에 인코딩된 슬라이스의 상기 콘텍스트 적응적 엔트로피 인코딩에서 획득되는 것과 같은 심볼 확률들에 따라 상기 현재 슬라이스의 상기 콘텍스트 적응적 엔트로피 인코딩을 위한 상기 심볼 확률들을 초기화하도록 구성되는 것을 특징으로 하는 인코더.
[실시예 15]
제 12실시예 내지 14실시예 중 어느 한 실시예에 있어서, 상기 인코더는 상기 현재 슬라이스가 적어도 세 가지 방식 중 하나에 따라, 즉, 첫 번째(20) 및 세 번째 방식(42) 또는 두 번째 방식(20)으로 그것들 내로 코딩되도록 시그널링되기 위하여 상기 슬라이스들(14)의 상기 현재 슬라이스 내로 상기 구문 요소 부(18)를 코딩하고,
상기 인코더는 상기 세 번째 방식(42)에 따라, 상기 슬라이스 경계들을 가로지르지 않도록 하기 위한 콘텍스트의 도출의 제한, 상기 콘텍스트들의 심볼 확률들의 연속적인 업데이트 및 어떠한 이전에 인코딩된 슬라이스와 관계없는 상기 심볼 확률들의 초기화를 갖는 콘텍스트 적응적 엔트로피 인코딩, 및 상기 슬라이스 경계들을 가로지르는 예측 코딩을 사용하여 상기 현재 슬라이스를 상기 데이터스트림 내로 인코딩하도록 구성되며,
상기 인코더는 구문 요소를 사용하여 상기 첫 번째 및 세 번째 방식 중 어느 하나 사이를 구별하는 것을 특징으로 하는 인코더.
[실시예 16]
제 12실시예 내지 15실시예 중 어느 한 실시예에 있어서, 성기 인코더는 제네릭 구문 요소를 결정하고, 상기 제네릭 구문 요소에 따른 적어도 두 가지 제네릭 작동 방식, 즉, 각각의 슬라이스를 위하여 상기 구문 요소 부의 코딩을 실행하는, 첫 번째 제네릭 작동 방식, 및 상기 첫 번째 방식 이외의 상기 적어도 두 가지 방식 중 다른 하나를 필연적으로 사용하는, 두 번째 제네릭 작동 방식 중 어느 하나에서의 작동으로, 상기 데이터스트림 내로 이를 기록하도록 구성되는 것을 특징으로 하는 인코더.
[실시예 17]
제 13실시예에 있어서, 상기 인코더는 상기 첫 번째 및 두 번째 방식에 따라 필연적으로 또는 중단됨이 없이, 상기 현재 슬라이스의 시작부터 끝까지 상기 심볼 확률들을 연속적으로 계속해서 업데이트하도록 구성되는 것을 특징으로 하는 인코더.
[실시예 18]
제 13실시예에 있어서, 상기 인코더는 상기 이전에 인코딩된 슬라이스의 끝까지 상기 이전에 인코딩된 슬라이스의 콘텍스트 적응적 엔트로피 인코딩에서 획득되는 것과 같은 심볼 확률들을 저장하고, 상기 첫 번째 방식에 따른 상기 현재 슬라이스의 상기 콘텍스트 적응적 엔트로피 인코딩을 위한 상기 심볼 확률들을 초기화하는데 있어서, 저장된 심볼 확률들에 따라 상기 현재 슬라이스의 사익 콘텍스트 적응적 엔트로피 인코딩을 위한 상기 심볼 확률들을 초기화하도록 구성되는 것을 특징으로 하는 인코더.
[실시예 19]
제 12실시예 내지 18실시예 중 어느 한 실시예에 있어서, 상기 인코더는 상기 첫 번째 및 두 번째 방식에서, 상기 화상이 세분화되는 타일들 내로의 예측 인코딩을 제한하도록 구성되는 것을 특징으로 하는 인코더.
[실시예 20]
파면 병렬 처리를 사용하여, 화상(10)이 분할되는 슬라이스들(14)의 유닛들 내에 상기 화상(10)이 코딩되는 데이터스트림(12)으로부터 상기 화상(10)을 재구성하기 위한 디코더에 있어서, 상기 디코더는 슬라이스 순서(16)에 따라 상기 데이터스트림(12)으로부터 상기 슬라이스들(14)을 디코딩하도록 구성되고, 각각의 상기 슬라이스(14)는 상기 화상(10) 내의 상기 각각의 슬라이스의 디코딩 시작의 위치를 나타내는 출발 구문 부(400)를 포함하며,
상기 디코더는 상기 슬라이스의 출발 구문 부들(400)을 사용하여 상기 화상의 왼쪽 면에서 시작하는 슬라이스들을 식별함으로써, 상기 슬라이스들이 그룹핑되는 파면 병렬 처리 서브스트림들의 엔트리 지점들을 식별하고, 상기 슬라이스 순서에 따라 상기 파면 병렬 처리 서브스트림들의 디코딩을 순차적으로 시작하는 스태그드 방식으로 상기 파면 병렬 처리 서브스트림들을 병렬 디코딩하도록 구성되는 것을 특징으로 하는 디코더.
[실시예 21]
파면 병렬 처리를 사용하여, 화상(10)이 분할되는 슬라이스들(14)의 유닛들 내에 상기 화상(10)이 코딩되는 데이터스트림(12) 내로 상기 화상(10)을 코딩하기 위한 인코더에 있어서,
상기 인코더는 슬라이스 순서(16)에 따라 상기 슬라이스들(14)을 상기 데이터스트림(12) 내로 인코딩하도록 구성되고, 상기 인코더는 각각의 상기 슬라이스(14)에 상기 화상(10) 내의 상기 각각의 슬라이스의 코딩 시작의 위치를 나타내는 출발 구문 부(400)를 제공하도록 구성되며,
상기 인코더는 각각의 파면 병렬 처리 서브스트림을 위하여, 슬라이스 순서 내의 상기 첫 번째 슬라이스가 상기 화상의 왼쪽 면에서 시작하도록 상기 슬라이스들을 상기 파면 병렬 처리 서브스트림들 내로 그룹핑하고, 상기 슬라이스 순서에 따라 상기 파면 병렬 처리 서브스트림들의 인코딩을 순차적으로 시작하는 스태그드 방식으로 상기 파면 병렬 처리 서브스트림들을 병렬 인코딩하도록 구성되는 것을 특징으로 하는 인코더.
[실시예 22]
화상(10)이 분할되는 슬라이스들(14)의 유닛들 내에 상기 화상(10)이 코딩되는 데이터스트림(12)으로부터 상기 화상(10)을 재구성하기 위한 방법에 있어서,
슬라이스 순서(16)에 따라 상기 데이터스트림(12)으로부터 상기 슬라이스들(14)을 디코딩하는 단계를 포함하고, 상기 방법은 적어도 두 가지 방식(20, 22) 중 어느 하나에 따라 현재 슬라이스를 디코딩하기 위하여 상기 슬라이스들의 상기 현재 슬라이스 내의 구문 요소 부(18)에 응답하며,
상기 적어도 두 가지 방식 중 첫 번째 방식(20)에 따라, 상기 현재 슬라이스는 슬라이스 경계들을 가로지른 콘텍스트들의 도출, 상기 콘텍스트들의 심볼 확률들의 연속적인 업데이트들 및 이전에 디코딩된 슬라이스의 심볼 확률들의 저장된 상태에 따른 상기 심볼 확률들의 초기화(38, 40)를 포함하는 콘텍스트 적응적 엔트로피 디코딩(24), 및 상기 슬라이스 경계들을 가로지른 예측 디코딩을 사용하여 상기 데이터스트림(12)으로부터 디코딩되며,
상기 적어도 두 가지 방식 중 두 번째 방식(22)에 따라, 상기 현재 슬라이스는 상기 슬라이스 경계들을 가로지르지 않도록 하기 위한 콘텍스트들의 도출의 제한, 상기 콘텍스트들의 심볼 확률들의 연속적인 엡데이트 및 어떠한 이전에 디코딩된 슬라이스와 관계없는 심볼 확률들의 초기화를 갖는 콘텍스트 적응적 엔트로피 디코딩, 및 슬라이스 경계들을 가로지르지 않도록 하기 위한 예측 디코딩의 제한을 갖는 예측 디코딩을 사용하여 상기 데이터스트림(12)으로부터 디코딩되는 것을 특징으로 하는 데이터스트림으로부터 화상을 재구성하기 위한 방법.
[실시예 23]
화상(10)이 분할되는 슬라이스들(14)의 유닛들 내에 상기 화상(10)이 코딩되는 데이터스트림(12) 내로 상기 화상(10)을 인코딩하기 위한 방법에 있어서,
상기 방법은 슬라이스 순서(16)에 따라 상기 데이터스트림(12)으로부터 상기 슬라이스들(14)을 인코딩하는 단계를 포함하며, 상기 방법은:
구문 요소 부가 적어도 두 가지 방식(20, 22) 중 어느 하나에 따라 코딩되는 현재 슬라이스를 시그널링하도록 하기 위하여 상기 슬라이스들의 상기 현재 슬라이스를 위한 상기 구문 요소 부(18)를 결정하고, 이를 상기 슬라이스들의 현재 슬라이스 내로 코딩하는 단계; 및
만일 상기 현재 슬라이스가 상기 적어도 두 가지 방식 중 첫 번째 방식(20)에 따라 코딩되면, 슬라이스 경계들을 가로지르는 콘텍스트들의 도출, 상기 콘텍스트들의 심볼 확률들의 연속적인 업데이트 및 이전에 인코딩된 슬라이스의 심볼 확률들의 저장된 상태에 따라 상기 심볼 확률들의 초기화(38, 40)를 포함하는 콘텍스트 적응적 엔트로피 인코딩(24), 및 슬라이스 경계들을 가로지르는 예측 인코딩을 사용하여 상기 현재 슬라이스를 상기 데이터스트림(12) 내로 인코딩하는 단계; 및
만일 상기 현재 슬라이스가 상기 적어도 두 가지 방식 중 두 번째 방식(22)에 따라 코딩되면, 상기 슬라이스 경계들을 가로지르기 않도록 하기 위한 콘텍스트들의 도출의 제한, 상기 콘텍스트들의 심볼 확률들의 연속적인 업데이트 및 어떠한 이전에 인코딩된 슬라이스와 관계없는 상기 심볼 확률들의 초기화(38, 40)를 갖는 콘텍스트 적응적 엔트로피 인코딩(24), 및 슬라이스 경계들을 가로지르지 않도록 하기 위한 예측 인코딩의 제한을 갖는 예측 인코딩을 사용하여 상기 현재 슬라이스를 상기 데이터스트림(12) 내로 인코딩하는 단계;를 더 포함하는 것을 특징으로 하는 데이터스트림 내로 화상을 인코딩하기 위한 방법.
[실시예 24]
파면 병렬 처리를 사용하여, 화상(10)이 분할되는 슬라이스들(14)의 유닛들 내에 상기 화상(10)이 코딩되는 데이터스트림(12)으로부터 상기 화상(10)을 재구성하기 위한 방법에 있어서,
슬라이스 순서(16)에 따라 상기 데이터스트림(12)으로부터 상기 슬라이스들(14)을 디코딩하는 단계를 포함하되, 각각의 상기 슬라이스(14)는 상기 화상(10) 내의 상기 각각의 슬라이스의 디코딩 시작의 위치를 나타내는 출발 구문 부(400)를 포함하며, 상기 방법은:
상기 슬라이스의 출발 구문 부들(400)을 사용하여 상기 화상의 왼쪽 면에서 시작하는 슬라이스들을 식별함으로써, 상기 슬라이스들이 그룹핑되는 파면 병렬 처리 서브스트림들의 엔트리 지점들을 식별하는 단계; 및
상기 슬라이스 순서에 따라 상기 파면 병렬 처리 서브스트림들의 디코딩을 순차적으로 시작하는 스태그드 방식으로 상기 파면 병렬 처리 서브스트림들을 병렬 디코딩하는 단계;를 더 포함하는 것을 특징으로 하는 데이터스트림으로부터 화상을 재구성하기 위한 방법.
[실시예 25]
파면 병렬 처리를 사용하여, 화상(10)이 분할되는 슬라이스들(14)의 유닛들 내에 상기 화상(10)이 코딩되는 데이터스트림(12) 내로 상기 화상(10)을 코딩하기 위한 방법에 있어서,
슬라이스 순서(16)에 따라 상기 슬라이스들(14)을 상기 데이터스트림(12) 내로 인코딩하는 단계 및 각각의 상기 슬라이스(14)에 상기 화상(10) 내의 상기 각각의 슬라이스의 코딩 시작의 위치를 나타내는 출발 구문 부(400)를 제공하는 단계를 포함하며,
각각의 파면 병렬 처리 서브스트림을 위하여, 슬라이스 순서 내의 상기 첫 번째 슬라이스가 상기 화상의 왼쪽 면에서 시작하도록 상기 슬라이스들을 상기 파면 병렬 처리 서브스트림들 내로 그룹핑하는 단계; 및
상기 슬라이스 순서에 따라 상기 파면 병렬 처리 서브스트림들의 인코딩을 순차적으로 시작하는 스태그드 방식으로 상기 파면 병렬 처리 서브스트림들을 병렬 인코딩하는 단계;를 더 포함하는 것을 특징으로 하는 데이터스트림 내로 화상을 코딩하기 위한 방법.
[실시예 26]
컴퓨터 상에서 실행될 때, 제 22실시예 또는 25실시예에 따른 방법을 실행하기 위한 프로그램 코드를 갖는 컴퓨터 프로그램.
5 : 디코더
10 : 화상
12 : 데이터 스트림
14 : 슬라이스
141, 142, 143 및 144 : 슬라이스 세그먼트
16 : 슬라이스 순서
18 : 구문 요소 부
20 : 첫 번째 방식
22 : 두 번째 방식
23 : 공간적 이웃 블록
24 : 엔트로피 디코더
26 : 탈양자화 및 역 변환 모듈
27 : 결합기
28 : 예측기
30 : 코딩 블록
32 : 코드 트리블록
34 :이웃 템플릿
36 : 래스터 스캔
42 : 세 번째 방식
50 : 타일
72 : 감산기
400 : 출발 구문 부
898 : 화상
900 : 규칙적인 슬라이스
902, 904 : 열
906 : 타일
908 : 수평 경계
910 : 수직 경계
920 : 종속 슬라이스

Claims (30)

  1. 데이터스트림으로부터 정보를 디코딩하여 화상을 재구성하기 위한 디코더에 있어서,
    프로세서를 사용하여, 현재 부분과 연관된 구문 요소 부에 의해 표시된 적어도 두 가지 방식들 중 하나에 따라 부분들 중 상기 현재 부분이 엔트로피 디코딩되는 파면 병렬 처리(wavefront parallel processing, WPP)에 기초하여 상기 화상의 부분들을 엔트로피 디코딩하도록 구성된 엔트로피 디코더 -
    상기 엔트로피 디코더는 상기 적어도 두 가지 방식들 중 첫 번째 방식에 따라, 잔류 신호를 얻기 위해 콘텍스트 적응적 엔트로피 디코딩을 사용하여 상기 데이터스트림으로부터 상기 현재 부분과 관련된 데이터를 디코딩하도록 구성되고 - 상기 콘텍스트 적응적 엔트로피 디코딩은 부분 경계들을 가로질러 콘텍스트들을 도출하고 심볼 확률을 초기화하는 것을 포함함 -
    상기 첫 번째 방식에 따라 상기 심볼 확률을 초기화할 시에, 상기 엔트로피 디코더는
    상기 현재 부분과 연관된 현재 코딩 블록이 상기 현재 부분과 연관된 상기 화상의 현재 열에서 가장 왼쪽 코딩 블록인지 여부를 확인하고,
    만약 그렇다면, 이전에 디코딩된 부분과 연관된 상기 화상의 위의 열에서 이전 코딩 블록까지 상기 이전에 디코딩된 부분을 콘텍스트 적응적 엔트로피 디코딩할 시에 획득된 심볼 확률에 기초하여 상기 심볼 확률을 초기화하고 - 상기 위의 열은 공간적으로 현재 열 위에 인접해 있고, 상기 이전 코딩 블록은 공간적으로 인접하고 상기 위의 열의 가장 왼쪽에 있는 코딩 블록의 오른쪽에 있음 -,
    만약 그렇지 않다면, 상기 이전에 디코딩된 부분과 관련된 상기 화상의 마지막 코딩 블록을 콘텍스트 적응적 엔트로피 디코딩하는 것을 완료할 시에 획득된 심볼 확률에 기초하여 상기 심볼 확률을 초기화하도록 구성되고,
    상기 엔트로피 디코더는 상기 적어도 두 가지 방식들 중 두 번째 방식에 따라, 잔류 신호를 얻기 위해 콘텍스트 적응적 엔트로피 디코딩을 사용하여 상기 데이터스트림으로부터 상기 현재 부분과 관련된 데이터를 디코딩하도록 구성됨 - 상기 콘텍스트 적응적 엔트로피 디코딩은 상기 부분 경계들을 넘지 않도록 상기 콘텍스트들의 도출을 제한하고 이전에 디코딩된 부분과 관계없이 심볼 확률들을 초기화하는 것을 포함함 -;
    상기 프로세서를 사용하여, 상기 데이터스트림으로부터 상기 현재 부분과 관련된 예측 파라미터들에 기초하여 예측 신호를 생성하도록 구성된 예측기; 및
    상기 프로세서를 사용하여, 상기 잔류 신호 및 상기 예측 신호에 기초하여 상기 현재 부분과 관련된 상기 화상을 재구성하도록 구성된 재구성 모듈;을 포함하는 것을 특징으로 하는 데이터스트림으로부터 정보를 디코딩하여 화상을 재구성하기 위한 디코더.
  2. 제1항에 있어서,
    상기 화상은 열들과 행들로 배열된 코딩 블록들로 분할되고, 상기 디코더는 상기 부분들의 각각의 부분을 래스터 스캔 순서로 상기 코딩 블록들의 연속적인 서브셋와 연관시켜 상기 서브셋들이 슬라이스 순서에 따라 상기 래스터 스캔 순서를 따라 서로 따르도록 구성되는 것을 특징으로 하는 데이터스트림으로부터 정보를 디코딩하여 화상을 재구성하기 위한 디코더.
  3. 제1항에 있어서,
    상기 부분들은 상기 화상이 분할되는 슬라이스들인 것을 특징으로 하는 데이터스트림으로부터 정보를 디코딩하여 화상을 재구성하기 위한 디코더.
  4. 제1항에 있어서,
    상기 부분들은 상기 화상이 분할되는 슬라이스 세그먼트들인 것을 특징으로 하는 데이터스트림으로부터 정보를 디코딩하여 화상을 재구성하기 위한 디코더.
  5. 제1항에 있어서,
    상기 엔트로피 디코더는 적어도 세 가지 방식들 중 하나에 따라 상기 현재 부분을 디코딩하기 위해 상기 현재 부분 내의 상기 구문 요소 부에 응답하도록 구성되고,
    상기 디코더는
    상기 첫 번째 방식에 따라, 상기 부분 경계들을 가로질러 예측 디코딩을 사용하여 상기 현재 부분을 디코딩하고,
    상기 두 번째 방식에 따라, 상기 부분 경계들을 넘지 않도록 상기 예측 디코딩을 제한하는 예측 디코딩을 사용하여 상기 현재 부분을 디코딩하고,
    세 번째 방식에 따라, 상기 부분 경계들을 넘지 않도록 콘텍스트들의 도출을 제한, 상기 콘텍스트들의 심볼 확률들에 대한 지속적인 업데이트 및 어떠한 이전에 디코딩된 부분과 관계없는 상기 심볼 확률들의 초기화, 및 상기 부분 경계들을 가로지른 예측 디코딩을 하는 콘텍스트 적응적 엔트로피 디코딩을 사용하여 상기 데이터스트림으로부터 상기 현재 부분 디코딩하도록 구성되고,
    상기 첫 번째 방식 및 상기 세 번째 방식 중 하나는 구문 요소에 따라 선택되는 것을 특징으로 하는 데이터스트림으로부터 정보를 디코딩하여 화상을 재구성하기 위한 디코더.
  6. 제1항에 있어서,
    상기 엔트로피 디코더는 상기 데이터스트림 내의 일반 구문 요소에 응답하여 적어도 두 가지 일반 동작 방식들 중 하나에서 동작하도록 구성되는데, 첫 번째 일반 동작 방식에 따라서는 상기 부분들 각각에 대한 구문 요소 부에 대한 응답을 수행하고, 두 번재 일반 동작 방식에 따라서는 상기 첫 번째 방식 이외의 상기 적어도 두 가지 방식들 중 다른 하나를 사용하는 것을 특징으로 하는 데이터스트림으로부터 정보를 디코딩하여 화상을 재구성하기 위한 디코더.
  7. 제1항에 있어서,
    상기 엔트로피 디코더는 상기 첫 번째 방식 및 상기 두 번째 방식에 따라, 상기 현재 부분을 콘텍스트 적응적 엔트로피 디코딩하는 것의 시작부터 콘텍스트 적응적 엔트로피 디코딩하는 것의 끝까지 상기 심볼 확률을 지속적으로 업데이트하도록 구성되는 것을 특징으로 하는 데이터스트림으로부터 정보를 디코딩하여 화상을 재구성하기 위한 디코더.
  8. 제1항에 있어서,
    상기 엔트로피 디코더는 상기 이전에 디코딩된 부분과 연관된 상기 화상의 마지막 코딩 블록을 콘텍스트 적응적 엔트로피 디코딩하는 것을 완료할 시에 획득된 심볼 확률을 저장하도록 구성되는 것을 특징으로 하는 데이터스트림으로부터 정보를 디코딩하여 화상을 재구성하기 위한 디코더.
  9. 제1항에 있어서,
    상기 엔트로피 디코더는 상기 이전에 디코딩된 부분과 연관된 상기 화상의 이전 코딩 블록까지 상기 이전에 디코딩된 부분을 콘텍스트 적응적 엔트로피 디코딩할 시에 획득된 심볼 확률을 저장하도록 구성되는 것을 특징으로 하는 데이터스트림으로부터 정보를 디코딩하여 화상을 재구성하기 위한 디코더.
  10. 제5항에 있어서,
    상기 엔트로피 디코더는 상기 화상이 세분화되는 타일들 내에서 상기 예측 디코딩을 제한하도록 구성되는 것을 특징으로 하는 데이터스트림으로부터 정보를 디코딩하여 화상을 재구성하기 위한 디코더.
  11. 제1항에 있어서,
    상기 부분들의 각각의 부분은 상기 각각의 부분의 엔트로피 디코딩이 시작되는 상기 화상 내의 위치를 나타내는 시작 구문 부를 포함하고, 상기 엔트로피 디코더는 상기 시작 구문 부에 기초하여 상기 부분들과 연관된 WPP 서브스트림들의 엔트리 지점들을 식별하도록 구성되는 것을 특징으로 하는 데이터스트림으로부터 정보를 디코딩하여 화상을 재구성하기 위한 디코더.
  12. 제11항에 있어서,
    상기 엔트로피 디코더는 슬라이스 순서에 따라 상기 WPP 서브스트림들의 디코딩을 순차적으로 시작하는 스태그드(staggered) 방식으로 상기 WPP 서브스트림들을 병렬 디코딩하도록 구성되는 것을 특징으로 하는 데이터스트림으로부터 정보를 디코딩하여 화상을 재구성하기 위한 디코더.
  13. 데이터스트림으로부터 정보를 디코딩하여 화상을 재구성하는 방법에 있어서,
    현재 부분과 연관된 구문 요소 부에 의해 표시된 적어도 두 가지 방식들 중 하나에 따라 부분들 중 상기 현재 부분이 엔트로피 디코딩되는 파면 병렬 처리(wavefront parallel processing, WPP)에 기초하여 상기 화상의 부분들을 엔트로피 디코딩하는 단계 -
    상기 엔트로피 디코딩하는 단계는 상기 적어도 두 가지 방식들 중 첫 번째 방식에 따라, 잔류 신호를 얻기 위해 콘텍스트 적응적 엔트로피 디코딩을 사용하여 상기 데이터스트림으로부터 상기 현재 부분과 관련된 데이터를 디코딩하는 단계 - 상기 콘텍스트 적응적 엔트로피 디코딩은 부분 경계들을 가로질러 콘텍스트들을 도출하고 심볼 확률을 초기화하는 것을 포함함 - 를 포함하고,
    상기 첫 번째 방식에 따라 상기 심볼 확률을 초기화할 시에, 상기 디코딩하는 단계는
    상기 현재 부분과 연관된 현재 코딩 블록이 상기 현재 부분과 연관된 상기 화상의 현재 열에서 가장 왼쪽 코딩 블록인지 여부를 확인하는 단계,
    만약 그렇다면, 이전에 디코딩된 부분과 연관된 상기 화상의 위의 열에서 이전 코딩 블록까지 상기 이전에 디코딩된 부분을 콘텍스트 적응적 엔트로피 디코딩할 시에 획득된 심볼 확률에 기초하여 상기 심볼 확률을 초기화하는 단계 - 상기 위의 열은 공간적으로 현재 열 위에 인접해 있고, 상기 이전 코딩 블록은 공간적으로 인접하고 상기 위의 열의 가장 왼쪽에 있는 코딩 블록의 오른쪽에 있음 -,
    만약 그렇지 않다면, 상기 이전에 디코딩된 부분과 관련된 상기 화상의 마지막 코딩 블록을 콘텍스트 적응적 엔트로피 디코딩하는 것을 완료할 시에 획득된 심볼 확률에 기초하여 상기 심볼 확률을 초기화하고, 적어도 두 가지 방식들 중 두 번째 방식에 따라, 잔류 신호를 얻기 위해 콘텍스트 적응적 엔트로피 디코딩을 사용하여 상기 데이터스트림으로부터 상기 현재 부분과 관련된 데이터를 디코딩하는 단계 - 상기 콘텍스트 적응적 엔트로피 디코딩은 상기 부분 경계들을 넘지 않도록 상기 콘텍스트들의 도출을 제한하고 이전에 디코딩된 부분과 관계없이 심볼 확률들을 초기화하는 것을 포함함 - 를 포함함;
    상기 데이터스트림으로부터 상기 현재 부분과 관련된 예측 파라미터들에 기초하여 예측 신호를 생성하는 단게; 및
    상기 잔류 신호 및 상기 예측 신호에 기초하여 상기 현재 부분과 관련된 상기 화상을 재구성하는 단계;를 포함하는 것을 특징으로 하는 데이터스트림으로부터 정보를 디코딩하여 화상을 재구성하는 방법.
  14. 제13항에 있어서,
    상기 화상은 열들과 행들로 배열된 코딩 블록들로 분할되고, 상기 방법은 상기 부분들의 각각의 부분을 래스터 스캔 순서로 상기 코딩 블록들의 연속적인 서브셋와 연관시켜 상기 서브셋들이 슬라이스 순서에 따라 상기 래스터 스캔 순서를 따라 서로 따르도록 하는 단계를 추가로 포함하는 특징으로 하는 데이터스트림으로부터 정보를 디코딩하여 화상을 재구성하는 방법.
  15. 제13항에 있어서,
    상기 부분들은 상기 화상이 분할되는 슬라이스들인 것을 특징으로 하는 데이터스트림으로부터 정보를 디코딩하여 화상을 재구성하는 방법.
  16. 제13항에 있어서,
    상기 부분들은 상기 화상이 분할되는 슬라이스 세그먼트들인 것을 특징으로 하는 데이터스트림으로부터 정보를 디코딩하여 화상을 재구성하는 방법.
  17. 제13항에 있어서,
    적어도 세 가지 방식들 중 하나에 따라 상기 현재 부분을 디코딩하기 위해 상기 현재 부분 내의 상기 구문 요소 부에 응답하는 단계를 추가로 포함하며,
    상기 첫 번째 방식에 따라, 상기 부분 경계들을 가로질러 예측 디코딩을 사용하여 상기 현재 부분을 디코딩하고,
    상기 두 번째 방식에 따라, 상기 부분 경계들을 넘지 않도록 상기 예측 디코딩을 제한하는 예측 디코딩을 사용하여 상기 현재 부분을 디코딩하고,
    세 번째 방식에 따라, 상기 부분 경계들을 넘지 않도록 콘텍스트들의 도출을 제한, 상기 콘텍스트들의 심볼 확률들에 대한 지속적인 업데이트 및 어떠한 이전에 디코딩된 부분과 관계없는 상기 심볼 확률들의 초기화, 및 상기 부분 경계들을 가로지른 예측 디코딩을 하는 콘텍스트 적응적 엔트로피 디코딩을 사용하여 상기 데이터스트림으로부터 상기 현재 부분 디코딩하도록 구성되고,
    상기 첫 번째 방식 및 상기 세 번째 방식 중 하나는 구문 요소에 따라 선택되는 것을 특징으로 하는 데이터스트림으로부터 정보를 디코딩하여 화상을 재구성하는 방법.
  18. 제13항에 있어서,
    상기 데이터스트림 내의 일반 구문 요소에 응답하여 적어도 두 가지 일반 동작 방식들 중 하나에서 동작하는 단계를 추가로 포함하는데, 첫 번째 일반 동작 방식에 따라서는 상기 부분들 각각에 대한 구문 요소 부에 대한 응답을 수행하고, 두 번재 일반 동작 방식에 따라서는 상기 첫 번째 방식 이외의 상기 적어도 두 가지 방식들 중 다른 하나를 사용하는 것을 특징으로 하는 데이터스트림으로부터 정보를 디코딩하여 화상을 재구성하는 방법.
  19. 제13항에 있어서,
    상기 첫 번째 방식 및 상기 두 번째 방식에 따라, 상기 현재 부분을 콘텍스트 적응적 엔트로피 디코딩하는 것의 시작부터 콘텍스트 적응적 엔트로피 디코딩하는 것의 끝까지 상기 심볼 확률을 지속적으로 업데이트하는 단계를 추가로 포함하는 것을 특징으로 하는 데이터스트림으로부터 정보를 디코딩하여 화상을 재구성하는 방법.
  20. 제13항에 있어서,
    상기 이전에 디코딩된 부분과 연관된 상기 화상의 마지막 코딩 블록을 콘텍스트 적응적 엔트로피 디코딩하는 것을 완료할 시에 획득된 심볼 확률을 저장하는 단계를 추가로 포함하는 것을 특징으로 하는 데이터스트림으로부터 정보를 디코딩하여 화상을 재구성하는 방법.
  21. 제13항에 있어서,
    상기 이전에 디코딩된 부분과 연관된 상기 화상의 이전 코딩 블록까지 상기 이전에 디코딩된 부분을 콘텍스트 적응적 엔트로피 디코딩할 시에 획득된 심볼 확률을 저장하는 단계를 추가로 포함하는 것을 특징으로 하는 데이터스트림으로부터 정보를 디코딩하여 화상을 재구성하는 방법.
  22. 제17항에 있어서,
    상기 화상이 세분화되는 타일들 내에서 상기 예측 디코딩이 제한되는 것을 특징으로 하는 데이터스트림으로부터 정보를 디코딩하여 화상을 재구성하는 방법.
  23. 제13항에 있어서,
    상기 부분들의 각각의 부분은 상기 각각의 부분의 엔트로피 디코딩이 시작되는 상기 화상 내의 위치를 나타내는 시작 구문 부를 포함하고, 상기 엔트로피 디코딩하는 단계는 상기 시작 구문 부에 기초하여 상기 부분들과 연관된 WPP 서브스트림들의 엔트리 지점들을 식별하는 단계를 포함하는 것을 특징으로 하는 데이터스트림으로부터 정보를 디코딩하여 화상을 재구성하는 방법.
  24. 제23항에 있어서,
    슬라이스 순서에 따라 상기 WPP 서브스트림들의 디코딩을 순차적으로 시작하는 스태그드(staggered) 방식으로 상기 WPP 서브스트림들을 병렬 디코딩하는 단계를 추가로 포함하는 것을 특징으로 하는 데이터스트림으로부터 정보를 디코딩하여 화상을 재구성하는 방법.
  25. 화상을 데이터스트림으로 인코딩하기 위한 인코더에 있어서,
    프로세서를 사용하여, 상기 화상의 부분들 중 현재 부분과 관련된 잔류 신호를 생성하도록 구성된 잔류 모듈;
    상기 프로세서를 사용하여, 예측 신호에 기초하여 예측 파라미터들을 생성하도록 구성된 예측기 - 상기 예측 파라미터들은 상기 데이터스트림으로 인코딩됨 -; 및
    상기 프로세서를 사용하여, 상기 현재 부분에 대한 구문 요소 부를 결정하고 상기 현재 부분과 관련된 상기 잔류 신호가 상기 구문 요소 부에 의해 표시된 적어도 두 가지 방식들 중 하나에 따라 엔트로피 인코딩되는 파면 병렬 처리(wavefront parallel processing, WPP)에 기초하여 상기 부분들을, 상기 데이터스트림으로, 엔트로피 인코딩하도록 구성된 엔트로피 인코더;를 포함하고,
    상기 엔트로피 인코더는 상기 현재 부분이 상기 적어도 두 가지 방식들 중 첫 번째 방식에 따라 코딩된다면, 부분 경계들을 가로질러 콘텍스트들을 도출하고 상기 현재 부분과 연관된 심볼 확률을 초기화하는 것을 포함하는 콘텍스트 적응적 엔트로피 인코딩을 사용하여 상기 잔류 신호를 인코딩하도록 구성되고,
    상기 현재 부분과 관련된 상기 심볼 확률을 초기화할 시에, 상기 엔트로피 인코더는
    상기 현재 부분과 연관된 현재 코딩 블록이 상기 현재 부분과 연관된 상기 화상의 현재 열에서 가장 왼쪽 코딩 블록인지 여부를 확인하고,
    만약 그렇다면, 이전에 인코딩된 부분과 연관된 상기 화상의 위의 열에서 이전 코딩 블록까지 상기 이전에 인코딩된 부분을 콘텍스트 적응적 엔트로피 인코딩할 시에 획득한 저장된 심볼 확률에 기초하여 상기 심볼 확률을 초기화하고 - 상기 위의 열은 공간적으로 현재 열 위에 인접해 있고, 상기 이전 코딩 블록은 공간적으로 인접하고 상기 위의 열의 가장 왼쪽에 있는 코딩 블록의 오른쪽에 있음 -,
    만약 그렇지 않다면, 상기 이전에 인코딩된 부분과 연관된 상기 화상의 마지막 코딩 블록을 콘텍스트 적응적 엔트로피 인코딩하는 것을 완료할 시에 획득된 심볼 확률에 기초하여 상기 심볼 확률을 초기화하도록 구성되고,
    상기 엔트로피 인코더는 상기 현재 부분이 상기 적어도 두 가지 방식들 중 두 번째 방식에 따라 코딩된다면, 상기 부분 경계들을 넘지 않도록 콘텍스트들의 도츨을 제한하고 어떠한 이전에 인코딩된 부분과 관계없이 심볼 확률들을 초기화하는 콘텍스트 적응적 엔트로피 인코딩을 사용하여 상기 잔류 신호를 인코딩하도록 구성되는 것을 특징으로 하는 화상을 데이터스트림으로 인코딩하기 위한 인코더.
  26. 제25항에 있어서,
    상기 화상은 열들과 행들로 배열된 코딩 블록들로 분할되고, 상기 인코더는 상기 부분들의 각각의 부분을 래스터 스캔 순서로 상기 코딩 블록들의 연속적인 서브셋와 연관시켜 상기 서브셋들이 슬라이스 순서에 따라 상기 래스터 스캔 순서를 따라 서로 따르도록 구성되는 것을 특징으로 하는 화상을 데이터스트림으로 인코딩하기 위한 인코더.
  27. 제25항에 있어서,
    상기 부분들은 상기 화상이 분할되는 슬라이스들인 것을 특징으로 하는 화상을 데이터스트림으로 인코딩하기 위한 인코더.
  28. 제25항에 있어서,
    상기 부분들은 상기 화상이 분할되는 슬라이스 세그먼트들인 것을 특징으로 하는 화상을 데이터스트림으로 인코딩하기 위한 인코더.
  29. 비디오와 연관된 데이터를 저장하기 위한 비일시적 컴퓨터 판독 가능 매체에 있어서,
    상기 비일시적 컴퓨터 판독 가능 매체에 저장된 데이터 스트림을 포함하고, 상기 데이터 스트림은 비디오의 화상과 관련된 인코딩된 정보를 포함하며, 상기 화상은 부분들로 분할되고, 상기 인코딩된 정보는 동작들에 의해 상기 비일시적 컴퓨터 판독 가능 매체에 저장하기 위해 상기 데이터 스트림으로 코딩되며,
    상기 동작들은
    상기 화상의 부분들 중 현재 부분과 관련된 잔류 신호를 생성하는 것;
    예측 신호에 기초하여 예측 파라미터들을 생성하는 것 - 상기 예측 파라미터들은 상기 데이터스트림으로 인코딩됨 -; 및
    상기 현재 부분에 대한 구문 요소 부를 결정하고 상기 현재 부분과 관련된 상기 잔류 신호가 상기 구문 요소 부에 의해 표시된 적어도 두 가지 방식들 중 하나에 따라 엔트로피 인코딩되는 파면 병렬 처리(wavefront parallel processing, WPP)에 기초하여 상기 부분들을, 상기 데이터스트림으로, 엔트로피 인코딩하는 것;을 포함하고,
    상기 엔트로피 인코딩하는 것은 상기 현재 부분이 상기 적어도 두 가지 방식들 중 첫 번째 방식에 따라 코딩된다면, 부분 경계들을 가로질러 콘텍스트들을 도출하고 상기 현재 부분과 연관된 심볼 확률을 초기화하는 것을 포함하는 콘텍스트 적응적 엔트로피 인코딩을 사용하여 상기 잔류 신호를 인코딩하는 것을 포함하고,
    상기 현재 부분과 관련된 상기 심볼 확률을 초기화할 시에, 상기 엔트로피 인코딩하는 것은
    상기 현재 부분과 연관된 현재 코딩 블록이 상기 현재 부분과 연관된 상기 화상의 현재 열에서 가장 왼쪽 코딩 블록인지 여부를 확인하는 것,
    만약 그렇다면, 이전에 인코딩된 부분과 연관된 상기 화상의 위의 열에서 이전 코딩 블록까지 상기 이전에 인코딩된 부분을 콘텍스트 적응적 엔트로피 인코딩할 시에 획득한 저장된 심볼 확률에 기초하여 상기 심볼 확률을 초기화하는 것 - 상기 위의 열은 공간적으로 현재 열 위에 인접해 있고, 상기 이전 코딩 블록은 공간적으로 인접하고 상기 위의 열의 가장 왼쪽에 있는 코딩 블록의 오른쪽에 있음 -,
    만약 그렇지 않다면, 상기 이전에 인코딩된 부분과 연관된 상기 화상의 마지막 코딩 블록을 콘텍스트 적응적 엔트로피 인코딩하는 것을 완료할 시에 획득된 심볼 확률에 기초하여 상기 심볼 확률을 초기화하는 것을 포함하고,
    상기 엔트로피 인코딩하는 것은 상기 현재 부분이 상기 적어도 두 가지 방식들 중 두 번째 방식에 따라 코딩된다면, 상기 부분 경계들을 넘지 않도록 콘텍스트들의 도츨을 제한하고 어떠한 이전에 인코딩된 부분과 관계없이 심볼 확률들을 초기화하는 콘텍스트 적응적 엔트로피 인코딩을 사용하여 상기 잔류 신호를 인코딩하는 것을 포함하는 것을 특징으로 하는 비디오와 연관된 데이터를 저장하기 위한 비일시적 컴퓨터 판독 가능 매체.
  30. 제29항에 있어서,
    상기 부분들은 상기 화상이 분할되는 슬라이스들인 것을 특징으로 하는 비디오와 연관된 데이터를 저장하기 위한 비일시적 컴퓨터 판독 가능 매체.
KR1020207030444A 2012-04-13 2013-04-15 저지연 화상 코딩 KR102330153B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020217037683A KR102472481B1 (ko) 2012-04-13 2013-04-15 저지연 화상 코딩

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US201261624098P 2012-04-13 2012-04-13
US61/624,098 2012-04-13
US201261666185P 2012-06-29 2012-06-29
US61/666,185 2012-06-29
KR1020207004531A KR102171208B1 (ko) 2012-04-13 2013-04-15 저지연 화상 코딩
PCT/EP2013/057798 WO2013153226A2 (en) 2012-04-13 2013-04-15 Low delay picture coding

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020207004531A Division KR102171208B1 (ko) 2012-04-13 2013-04-15 저지연 화상 코딩

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020217037683A Division KR102472481B1 (ko) 2012-04-13 2013-04-15 저지연 화상 코딩

Publications (2)

Publication Number Publication Date
KR20200123289A KR20200123289A (ko) 2020-10-28
KR102330153B1 true KR102330153B1 (ko) 2021-11-23

Family

ID=48141968

Family Applications (13)

Application Number Title Priority Date Filing Date
KR1020197014097A KR102080085B1 (ko) 2012-04-13 2013-04-15 저지연 화상 코딩
KR1020227041490A KR20220164077A (ko) 2012-04-13 2013-04-15 저지연 화상 코딩
KR1020207004531A KR102171208B1 (ko) 2012-04-13 2013-04-15 저지연 화상 코딩
KR1020197014098A KR102080835B1 (ko) 2012-04-13 2013-04-15 저지연 화상 코딩
KR1020207030444A KR102330153B1 (ko) 2012-04-13 2013-04-15 저지연 화상 코딩
KR1020167034316A KR101809591B1 (ko) 2012-04-13 2013-04-15 저지연 화상 코딩
KR1020147031753A KR101686088B1 (ko) 2012-04-13 2013-04-15 저지연 화상 코딩
KR1020217037683A KR102472481B1 (ko) 2012-04-13 2013-04-15 저지연 화상 코딩
KR1020177035615A KR101981272B1 (ko) 2012-04-13 2013-04-15 저지연 화상 코딩
KR1020147031633A KR101667341B1 (ko) 2012-04-13 2013-04-15 스케일러블 데이터 스트림 및 네트워크 엔티티
KR1020177035617A KR101981270B1 (ko) 2012-04-13 2013-04-15 저지연 화상 코딩
KR1020197014099A KR102096566B1 (ko) 2012-04-13 2013-04-15 저지연 화상 코딩
KR1020177035616A KR101981267B1 (ko) 2012-04-13 2013-04-15 저지연 화상 코딩

Family Applications Before (4)

Application Number Title Priority Date Filing Date
KR1020197014097A KR102080085B1 (ko) 2012-04-13 2013-04-15 저지연 화상 코딩
KR1020227041490A KR20220164077A (ko) 2012-04-13 2013-04-15 저지연 화상 코딩
KR1020207004531A KR102171208B1 (ko) 2012-04-13 2013-04-15 저지연 화상 코딩
KR1020197014098A KR102080835B1 (ko) 2012-04-13 2013-04-15 저지연 화상 코딩

Family Applications After (8)

Application Number Title Priority Date Filing Date
KR1020167034316A KR101809591B1 (ko) 2012-04-13 2013-04-15 저지연 화상 코딩
KR1020147031753A KR101686088B1 (ko) 2012-04-13 2013-04-15 저지연 화상 코딩
KR1020217037683A KR102472481B1 (ko) 2012-04-13 2013-04-15 저지연 화상 코딩
KR1020177035615A KR101981272B1 (ko) 2012-04-13 2013-04-15 저지연 화상 코딩
KR1020147031633A KR101667341B1 (ko) 2012-04-13 2013-04-15 스케일러블 데이터 스트림 및 네트워크 엔티티
KR1020177035617A KR101981270B1 (ko) 2012-04-13 2013-04-15 저지연 화상 코딩
KR1020197014099A KR102096566B1 (ko) 2012-04-13 2013-04-15 저지연 화상 코딩
KR1020177035616A KR101981267B1 (ko) 2012-04-13 2013-04-15 저지연 화상 코딩

Country Status (29)

Country Link
US (9) US10045017B2 (ko)
EP (6) EP2842318B1 (ko)
JP (7) JP6133400B2 (ko)
KR (13) KR102080085B1 (ko)
CN (10) CN108462880B (ko)
AU (7) AU2013246828B2 (ko)
BR (2) BR122020007621B1 (ko)
CA (2) CA2870039C (ko)
CL (2) CL2014002739A1 (ko)
DK (5) DK3793200T3 (ko)
ES (5) ES2831415T3 (ko)
FI (1) FI3793200T3 (ko)
HK (3) HK1205839A1 (ko)
HU (5) HUE042951T2 (ko)
IL (5) IL268801B (ko)
LT (1) LT3793200T (ko)
MX (3) MX344485B (ko)
MY (1) MY173763A (ko)
PH (7) PH12014502303B1 (ko)
PL (4) PL3793200T3 (ko)
PT (5) PT3481068T (ko)
RS (1) RS64003B1 (ko)
RU (3) RU2603531C2 (ko)
SG (2) SG11201406493RA (ko)
SI (1) SI3793200T1 (ko)
TW (9) TWI527466B (ko)
UA (2) UA125468C2 (ko)
WO (2) WO2013153227A2 (ko)
ZA (1) ZA201407815B (ko)

Families Citing this family (79)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2972588A1 (fr) 2011-03-07 2012-09-14 France Telecom Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants
FR2977111A1 (fr) 2011-06-24 2012-12-28 France Telecom Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants
CA2861951C (en) 2012-01-20 2020-08-11 Thomas Schierl Coding concept allowing parallel processing, transport demultiplexer and video bitstream
KR102080085B1 (ko) 2012-04-13 2020-02-24 지이 비디오 컴프레션, 엘엘씨 저지연 화상 코딩
KR20130116782A (ko) 2012-04-16 2013-10-24 한국전자통신연구원 계층적 비디오 부호화에서의 계층정보 표현방식
EP2868103B1 (en) 2012-06-29 2016-12-07 GE Video Compression, LLC Video data stream concept
US9621905B2 (en) * 2012-06-29 2017-04-11 Qualcomm Incorporated Tiles and wavefront parallel processing
JP6080405B2 (ja) * 2012-06-29 2017-02-15 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
JP6376719B2 (ja) * 2012-06-29 2018-08-22 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
US9716892B2 (en) * 2012-07-02 2017-07-25 Qualcomm Incorporated Video parameter set including session negotiation information
CN104620587B (zh) * 2012-07-06 2018-04-03 三星电子株式会社 用于对多层视频进行编码的方法和设备以及用于对多层视频进行解码的方法和设备
JP6172535B2 (ja) * 2012-09-26 2017-08-02 サン パテント トラスト 画像復号方法および画像復号装置
CA2882792C (en) * 2012-09-26 2021-08-03 Panasonic Intellectual Property Corporation Of America Image decoding method, image coding method, image decoding apparatus, image coding apparatus, and image coding and decoding apparatus
BR112015016040B1 (pt) * 2013-01-04 2020-09-24 Samsung Electronics Co., Ltd. Método de decodificação de vídeo
US10419778B2 (en) * 2013-01-04 2019-09-17 Sony Corporation JCTVC-L0227: VPS_extension with updates of profile-tier-level syntax structure
US20150358633A1 (en) * 2013-01-17 2015-12-10 Samsung Electronics Co., Ltd. Method for encoding video for decoder setting and device therefor, and method for decoding video on basis of decoder setting and device therefor
CN105308962A (zh) * 2013-04-05 2016-02-03 三星电子株式会社 多层视频编码方法和装置以及多层视频解码方法和装置
US9973748B1 (en) * 2013-04-26 2018-05-15 Mediatek Inc. Multi-core video decoder system for decoding multiple coding rows by using multiple video decoder cores and related multi-core video decoding method
JP2015005939A (ja) * 2013-06-24 2015-01-08 ソニー株式会社 画像処理装置および方法、プログラム、並びに撮像装置
CN110225358B (zh) 2013-07-15 2021-10-12 Ge视频压缩有限责任公司 装置、方法、编码器和计算机程序
US10075729B2 (en) 2013-07-15 2018-09-11 Qualcomm Incorporated Signaling of view ID bit depth in parameter sets
US10264261B2 (en) * 2013-08-27 2019-04-16 Integrated Device Technology, Inc. Entropy encoding initialization for a block dependent upon an unencoded block
US10110910B2 (en) * 2013-10-21 2018-10-23 Vid Scale, Inc. Parallel decoding method for layered video coding
WO2015100731A1 (en) * 2014-01-03 2015-07-09 Mediatek Singapore Pte. Ltd. Methods for determining the prediction partitions
US9402083B2 (en) * 2014-04-24 2016-07-26 Vidyo, Inc. Signaling conformance points using profile space
KR101957556B1 (ko) * 2014-05-28 2019-03-12 애리스 엔터프라이지즈 엘엘씨 멀티코어 프로세서 플랫폼에서 동작하는 hevc 디코더에서의 콘텐츠 인식 스케줄링
CN106576176B (zh) 2014-06-20 2020-10-02 索尼公司 图像编码设备和方法以及图像解码设备和方法
US20160014415A1 (en) * 2014-07-08 2016-01-14 Mediatek Inc. Method and apparatus for performing wave-front parallel encoding procedure with constraint on coding mode and/or quantization parameter selection
US10080019B2 (en) 2014-09-19 2018-09-18 Intel Corporation Parallel encoding for wireless displays
US9516147B2 (en) 2014-10-30 2016-12-06 Microsoft Technology Licensing, Llc Single pass/single copy network abstraction layer unit parser
US10148969B2 (en) * 2015-02-11 2018-12-04 Qualcomm Incorporated Of sample entry and operation point signalling in a layered video file format
CN105323586B (zh) * 2015-04-07 2016-11-09 佛山世寰智能科技有限公司 一种用于多核并行视频编码和解码的共享内存接口
US10027989B2 (en) * 2015-05-06 2018-07-17 Integrated Device Technology, Inc. Method and apparatus for parallel decoding
JP2016219913A (ja) * 2015-05-15 2016-12-22 富士通株式会社 画像符号化装置、画像符号化方法および画像符号化プログラム
US11233998B2 (en) * 2015-05-29 2022-01-25 Qualcomm Incorporated Coding data using an enhanced context-adaptive binary arithmetic coding (CABAC) design
WO2017033748A1 (ja) * 2015-08-25 2017-03-02 ソニー株式会社 送信装置、送信方法、受信装置および受信方法
MX2018006141A (es) * 2015-11-24 2018-08-01 Samsung Electronics Co Ltd Metodo y dispositivo de decodificacion de video, y metodo y dispositivo de codificacion del mismo.
US10575007B2 (en) 2016-04-12 2020-02-25 Microsoft Technology Licensing, Llc Efficient decoding and rendering of blocks in a graphics pipeline
US10291923B2 (en) * 2016-05-24 2019-05-14 Qualcomm Incorporated Mapping of tile grouping and samples in HEVC and L-HEVC file formats
US10157480B2 (en) 2016-06-24 2018-12-18 Microsoft Technology Licensing, Llc Efficient decoding and rendering of inter-coded blocks in a graphics pipeline
US20180020228A1 (en) * 2016-07-12 2018-01-18 Mediatek Inc. Video processing system with multiple syntax parsing circuits and/or multiple post decoding circuits
US10523973B2 (en) 2016-09-23 2019-12-31 Apple Inc. Multiple transcode engine systems and methods
US11197010B2 (en) 2016-10-07 2021-12-07 Microsoft Technology Licensing, Llc Browser-based video decoder using multiple CPU threads
WO2018152749A1 (en) * 2017-02-23 2018-08-30 Realnetworks, Inc. Coding block bitstream structure and syntax in video coding systems and methods
WO2018172234A2 (en) * 2017-03-20 2018-09-27 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Advanced video data stream extraction and multi-resolution video transmission
US11212529B2 (en) 2017-08-23 2021-12-28 Sony Semiconductor Solutions Corporation Image processing apparatus and image processing method
CN109587478B (zh) * 2017-09-29 2023-03-31 华为技术有限公司 一种媒体信息的处理方法及装置
GB2569107B (en) * 2017-11-29 2022-04-06 Displaylink Uk Ltd Managing display data
US10659781B2 (en) * 2018-04-02 2020-05-19 Tencent America LLC Concatenated coding units in flexible tree structure
US11290728B2 (en) * 2018-07-02 2022-03-29 Nokia Technologies Oy Method and apparatus for tile-relative addressing in video coding
CN110891180B (zh) 2018-09-10 2023-11-17 华为技术有限公司 视频解码方法及视频解码器
MX2021003682A (es) * 2018-10-04 2021-05-31 Lg Electronics Inc Metodo de codificacion de imagen a base de historial, y aparato del mismo.
CN113196757B (zh) * 2018-12-20 2024-04-26 瑞典爱立信有限公司 用于使用图片中的均匀片段分割进行视频编码的方法和装置
CN115361549B (zh) * 2018-12-21 2024-04-09 华为技术有限公司 一种使用基于历史的运动矢量预测的编码器、解码器及相应方法
RU2751552C1 (ru) * 2019-01-16 2021-07-14 Телефонактиеболагет Лм Эрикссон (Пабл) Кодирование видео, содержащее равномерное мозаичное разделение с остатком
WO2020190715A1 (en) * 2019-03-15 2020-09-24 Beijing Dajia Internet Information Technology Co., Ltd. Signaling of lossless coding in video coding
EP3942819A4 (en) * 2019-04-10 2022-05-25 Huawei Technologies Co., Ltd. SLICE ENTRY POINTS IN VIDEO ENCODING
KR20200122254A (ko) * 2019-04-17 2020-10-27 주식회사 엑스리스 영상 신호 부호화/복호화 방법 및 이를 위한 장치
WO2021006773A1 (en) * 2019-07-11 2021-01-14 Huawei Technologies Co., Ltd. Motion field storage optimization for the line buffer
CN114424573B (zh) 2019-09-19 2024-03-26 北京字节跳动网络技术有限公司 视频编解码中的参考样点位置推导
US11356685B2 (en) 2019-09-23 2022-06-07 Qualcomm Incorproated Signaling number of sub-pictures in high-level syntax for video coding
CN114556937A (zh) 2019-10-05 2022-05-27 北京字节跳动网络技术有限公司 用于色度混合遮罩生成的下采样滤波器类型
KR20220074870A (ko) 2019-10-12 2022-06-03 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 비디오 코딩에서의 예측 유형 시그널링
AU2020380731B2 (en) 2019-11-05 2024-03-07 Lg Electronics Inc. High level syntax signaling method and device for image/video coding
WO2021107622A1 (ko) * 2019-11-28 2021-06-03 엘지전자 주식회사 영상/비디오 코딩 방법 및 장치
CN114868158A (zh) 2019-12-26 2022-08-05 字节跳动有限公司 层级视频中的解码图片缓冲区参数的信令通知
KR20220115958A (ko) 2019-12-26 2022-08-19 바이트댄스 아이엔씨 코딩된 비트스트림들에서의 비디오 계층들의 시그널링에 대한 제약들
JP2023508427A (ja) * 2019-12-27 2023-03-02 北京字節跳動網絡技術有限公司 ビデオピクチャヘッダ内でのスライスタイプのシグナリング
EP4066387A4 (en) 2019-12-27 2023-02-15 ByteDance Inc. SUBPICTURE SIGNALING IN PARAMETER SETS
JP7460774B2 (ja) 2020-01-09 2024-04-02 バイトダンス インコーポレイテッド ビデオストリームにおけるフィラーデータユニットの処理
WO2021164784A1 (en) 2020-02-21 2021-08-26 Beijing Bytedance Network Technology Co., Ltd. Indication of tiles in a video picture
JP7393267B2 (ja) 2020-03-25 2023-12-06 株式会社ソニー・インタラクティブエンタテインメント 画像データ転送装置、画像表示システム、および画像データ転送方法
KR102359367B1 (ko) * 2020-04-07 2022-02-07 주식회사 엔씨소프트 게임 스트리밍을 위한 방법 및 장치
WO2021237178A1 (en) 2020-05-22 2021-11-25 Bytedance Inc. Coding of picture order count in video bitstreams
US11206415B1 (en) 2020-09-14 2021-12-21 Apple Inc. Selectable transcode engine systems and methods
US11375242B1 (en) * 2021-01-27 2022-06-28 Qualcomm Incorporated Compression of bitstream indexes for parallel entropy coding
CN113873253B (zh) * 2021-10-29 2023-03-10 龙思云(北京)科技有限公司 基于rdp的云应用打开优化方法及设备
CN116112683A (zh) * 2021-11-10 2023-05-12 腾讯科技(深圳)有限公司 视频压缩方法、装置、计算机设备和存储介质
EP4220561A1 (en) * 2022-02-01 2023-08-02 Beijing Xiaomi Mobile Software Co., Ltd. Method and apparatus of encoding/decoding a slice of point cloud data

Family Cites Families (145)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5020121A (en) 1990-08-16 1991-05-28 Hewlett-Packard Company Neighborhood block prediction bit compression
US5786858A (en) * 1993-01-19 1998-07-28 Sony Corporation Method of encoding image signal, apparatus for encoding image signal, method of decoding image signal, apparatus for decoding image signal, and image signal recording medium
RU2093968C1 (ru) 1995-08-02 1997-10-20 Закрытое акционерное общество "Техно-ТМ" Способ кодирования-декодирования изображений и устройство для его осуществления
JP3409552B2 (ja) 1995-12-27 2003-05-26 三菱電機株式会社 ディジタル情報符号化装置、ディジタル情報復号化装置、及びディジタル情報符号化・復号化装置
JPH09298668A (ja) 1996-05-07 1997-11-18 Mitsubishi Electric Corp ディジタル情報符号化装置、ディジタル情報復号化装置、ディジタル情報符号化・復号化装置、ディジタル情報符号化方法、及びディジタル情報復号化方法
EP0861001B1 (en) 1997-02-07 2012-05-23 Texas Instruments Incorporated Error resilient video encoding
HUP0001273A3 (en) * 1998-01-20 2000-09-28 Interactic Holdings Llc New Yo A scalable low-latency switch, interconnect apparatus, interconnect structure and method
US6754271B1 (en) * 1999-04-15 2004-06-22 Diva Systems Corporation Temporal slice persistence method and apparatus for delivery of interactive program guide
US7093028B1 (en) * 1999-12-15 2006-08-15 Microsoft Corporation User and content aware object-based data stream transmission methods and arrangements
TW488155B (en) * 2000-01-27 2002-05-21 Hewlett Packard Co Task-partitioned hybrid codec
US6493388B1 (en) 2000-04-19 2002-12-10 General Instrument Corporation Rate control and buffer protection for variable bit rate video programs over a constant rate channel
GB2377573B (en) 2001-07-11 2004-03-31 Motorola Inc Video transmission system, video tranmission unit and methods of encoding/decoding video data
US7206501B2 (en) * 2001-10-12 2007-04-17 The Directv Group, Inc. Method and apparatus for identifying MPEG picture coding types
EP1445957A4 (en) * 2001-11-16 2009-05-06 Ntt Docomo Inc IMAGE ENCODING METHOD, IMAGE DECODING METHOD, ENCODER AND IMAGE DECODER, PROGRAM, COMPUTER DATA SIGNAL, AND IMAGE TRANSMISSION SYSTEM
JP3807342B2 (ja) * 2002-04-25 2006-08-09 三菱電機株式会社 デジタル信号符号化装置、デジタル信号復号装置、デジタル信号算術符号化方法、およびデジタル信号算術復号方法
US7305036B2 (en) 2002-05-14 2007-12-04 Broadcom Corporation System and method for entropy code preprocessing
US6646578B1 (en) * 2002-11-22 2003-11-11 Ub Video Inc. Context adaptive variable length decoding system and method
US8661496B2 (en) * 2002-12-10 2014-02-25 Ol2, Inc. System for combining a plurality of views of real-time streaming interactive video
JP5068947B2 (ja) 2003-02-18 2012-11-07 ノキア コーポレイション ピクチャの符号化方法
EP1604530A4 (en) 2003-03-03 2010-04-14 Agency Science Tech & Res FAST-DECISION ALGORITHM FOR INTRAPRADICTION FOR ADVANCED VIDEO CODING
US7447369B2 (en) 2003-03-07 2008-11-04 Ricoh Co., Ltd. Communication of compressed digital images
US6894628B2 (en) * 2003-07-17 2005-05-17 Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. Apparatus and methods for entropy-encoding or entropy-decoding using an initialization of context variables
US20050185541A1 (en) * 2004-02-23 2005-08-25 Darren Neuman Method and system for memory usage in real-time audio systems
US7586924B2 (en) 2004-02-27 2009-09-08 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Apparatus and method for coding an information signal into a data stream, converting the data stream and decoding the data stream
JP2008500760A (ja) 2004-05-25 2008-01-10 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ディジタルビデオデータをエンコードする方法及び装置
DE602004003933T2 (de) 2004-08-06 2007-04-12 Matsushita Electric Industrial Co., Ltd., Kadoma Rückkopplungssteuerung für Multicast und Broadcast Dienste
US7440626B2 (en) 2004-12-02 2008-10-21 Mitsubishi Electric Research Laboratories, Inc. Image transcoding
KR101138392B1 (ko) 2004-12-30 2012-04-26 삼성전자주식회사 색차 성분의 상관관계를 이용한 컬러 영상의 부호화,복호화 방법 및 그 장치
JP4680608B2 (ja) 2005-01-17 2011-05-11 パナソニック株式会社 画像復号装置及び方法
US7664041B2 (en) * 2005-05-26 2010-02-16 Dale Trenton Smith Distributed stream analysis using general purpose processors
US20070022215A1 (en) 2005-07-19 2007-01-25 Singer David W Method and apparatus for media data transmission
GB2429593A (en) 2005-08-26 2007-02-28 Electrosonic Ltd Data compressing using a wavelet compression scheme
CN102271249B (zh) 2005-09-26 2014-04-09 韩国电子通信研究院 用于可伸缩视频的感兴趣区域信息设置方法和解析方法
KR101255226B1 (ko) 2005-09-26 2013-04-16 한국과학기술원 스케일러블 비디오 코딩에서 다중 roi 설정, 복원을위한 장치 및 방법
TWI341136B (en) 2005-10-11 2011-04-21 Nokia Corp System and method for efficient scalable stream adaptation
JP4973871B2 (ja) 2005-10-14 2012-07-11 日本電気株式会社 画像符号化方法及び、これを用いた装置とコンピュータプログラム
JP4211780B2 (ja) * 2005-12-27 2009-01-21 三菱電機株式会社 デジタル信号符号化装置、デジタル信号復号装置、デジタル信号算術符号化方法、およびデジタル信号算術復号方法
BRPI0620645B8 (pt) * 2006-01-05 2022-06-14 Nippon Telegraph & Telephone Método e aparelho de codificação de vídeo, e método e aparelho de decodificação de vídeo
US8401091B2 (en) 2006-01-09 2013-03-19 Lg Electronics Inc. Inter-layer prediction method for video signal
RU2384970C1 (ru) * 2006-01-09 2010-03-20 ЭлДжи ЭЛЕКТРОНИКС ИНК. Способ межслойного предсказания для видеосигнала
KR20070074451A (ko) 2006-01-09 2007-07-12 엘지전자 주식회사 베이스 레이어의 영상신호를 레이어간 예측에 사용하는방법
US8619865B2 (en) 2006-02-16 2013-12-31 Vidyo, Inc. System and method for thinning of scalable video coding bit-streams
EP1859630B1 (en) * 2006-03-22 2014-10-22 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Coding scheme enabling precision-scalability
US8848789B2 (en) 2006-03-27 2014-09-30 Qualcomm Incorporated Method and system for coding and decoding information associated with video compression
KR100966567B1 (ko) * 2006-03-30 2010-06-29 엘지전자 주식회사 비디오 신호를 디코딩/인코딩하기 위한 방법 및 장치
KR100828404B1 (ko) * 2006-05-08 2008-05-08 한국과학기술원 경계관찰질의를 이용한 데이터 스트림 처리 방법
JP2008017331A (ja) 2006-07-07 2008-01-24 Toshiba Corp パケットストリーム送信装置
US7840078B2 (en) 2006-07-10 2010-11-23 Sharp Laboratories Of America, Inc. Methods and systems for image processing control based on adjacent block characteristics
ES2348686T3 (es) 2006-07-13 2010-12-10 Qualcomm Incorporated Codificaciã“n de video con escalabilidad granular fina mediante fragmentos alineados con ciclos.
US8233544B2 (en) * 2006-07-13 2012-07-31 Qualcomm Incorporated Video coding with fine granularity scalability using cycle-aligned fragments
JP4129694B2 (ja) 2006-07-19 2008-08-06 ソニー株式会社 情報処理装置および方法、プログラム、並びに記録媒体
US7554468B2 (en) * 2006-08-25 2009-06-30 Sony Computer Entertainment Inc, Entropy decoding methods and apparatus using most probable and least probable signal cases
KR101349837B1 (ko) 2006-09-07 2014-01-10 엘지전자 주식회사 비디오 신호의 디코딩/인코딩 방법 및 장치
CN101150719B (zh) * 2006-09-20 2010-08-11 华为技术有限公司 并行视频编码的方法及装置
WO2008047319A1 (en) * 2006-10-20 2008-04-24 Nokia Corporation Generic indication of adaptation paths for scalable multimedia
US8218640B2 (en) 2006-10-31 2012-07-10 Sony Computer Entertainment Inc. Picture decoding using same-picture reference for pixel reconstruction
US8218641B2 (en) 2006-10-31 2012-07-10 Sony Computer Entertainment Inc. Picture encoding using same-picture reference for pixel reconstruction
US7778277B2 (en) 2006-11-03 2010-08-17 Mediatek Inc. Timing recovery method and system thereof
US7675549B1 (en) 2006-12-08 2010-03-09 Itt Manufacturing Enterprises, Inc. Imaging architecture for region and time of interest collection and dissemination
EP2124343A4 (en) * 2006-12-14 2012-01-11 Nec Corp METHOD, DEVICE AND VIDEO PROGRAMMING PROGRAM
TWI328199B (en) * 2006-12-15 2010-08-01 Via Tech Inc Method for image rendering
MY162367A (en) 2007-01-05 2017-06-15 Thomson Licensing Hypothetical reference decoder for scalable video coding
US20080247459A1 (en) 2007-04-04 2008-10-09 General Instrument Corporation Method and System for Providing Content Adaptive Binary Arithmetic Coder Output Bit Counting
US20100142613A1 (en) * 2007-04-18 2010-06-10 Lihua Zhu Method for encoding video data in a scalable manner
WO2008129516A2 (en) 2007-04-24 2008-10-30 Nokia Corporation Signaling of multiple decoding times in media files
TWI330987B (en) * 2007-05-18 2010-09-21 Via Tech Inc Method and apparatus for determining whether adjacent macroblocks are located in the same slice
US8180029B2 (en) 2007-06-28 2012-05-15 Voxer Ip Llc Telecommunication and multimedia management method and apparatus
WO2009003885A2 (en) 2007-06-29 2009-01-08 Thomson Licensing Video indexing method, and video indexing device
KR20090004659A (ko) 2007-07-02 2009-01-12 엘지전자 주식회사 디지털 방송 시스템 및 데이터 처리 방법
KR20090004658A (ko) 2007-07-02 2009-01-12 엘지전자 주식회사 디지털 방송 시스템 및 데이터 처리 방법
CN100534186C (zh) 2007-07-05 2009-08-26 西安电子科技大学 基于码率预分配的jpeg2000自适应率控制系统及方法
US8873625B2 (en) * 2007-07-18 2014-10-28 Nvidia Corporation Enhanced compression in representing non-frame-edge blocks of image frames
US20110116542A1 (en) 2007-08-24 2011-05-19 France Telecom Symbol plane encoding/decoding with dynamic calculation of probability tables
WO2009039638A1 (en) * 2007-09-28 2009-04-02 Pin-Han Ho A robust system and method for wireless data multicasting using superposition modulation
US20090097704A1 (en) 2007-10-10 2009-04-16 Micron Technology, Inc. On-chip camera system for multiple object tracking and identification
US8938009B2 (en) * 2007-10-12 2015-01-20 Qualcomm Incorporated Layered encoded bitstream structure
US20090141809A1 (en) 2007-12-04 2009-06-04 Sony Corporation And Sony Electronics Inc. Extension to the AVC standard to support the encoding and storage of high resolution digital still pictures in parallel with video
KR101291196B1 (ko) 2008-01-25 2013-07-31 삼성전자주식회사 영상의 부호화, 복호화 방법 및 장치
US9357233B2 (en) * 2008-02-26 2016-05-31 Qualcomm Incorporated Video decoder error handling
CN101552924B (zh) * 2008-03-31 2011-08-03 深圳市融创天下科技发展有限公司 一种用于视频编码的空间预测方法
CN101568037B (zh) * 2008-04-21 2010-12-15 展讯通信(上海)有限公司 一种dvb-h手机电视流式修复的方法、终端与系统
JP4962400B2 (ja) 2008-04-30 2012-06-27 ソニー株式会社 算術復号装置
US20090316793A1 (en) * 2008-06-20 2009-12-24 Yang Zhijie Michael Method and system for adaptive deblocking for avs1-p2
US8908763B2 (en) 2008-06-25 2014-12-09 Qualcomm Incorporated Fragmented reference in temporal compression for video coding
CN101320371A (zh) * 2008-07-07 2008-12-10 华南师范大学 一种基于可放缩矢量图形的空间信息分析方法
CN102113324B (zh) 2008-07-31 2013-09-25 三菱电机株式会社 视频编码装置、视频编码方法、视频再现装置、视频再现方法
EP2338278B1 (en) 2008-09-16 2015-02-25 Intel Corporation Method for presenting an interactive video/multimedia application using content-aware metadata
KR101007381B1 (ko) 2008-10-06 2011-01-13 주식회사 아이엠케이네트웍스 관심 영역을 고려한 영상 부호화 장치
US20100254620A1 (en) 2008-10-10 2010-10-07 Daisuke Iwahashi Image decoding apparatus and image decoding method
US7932843B2 (en) * 2008-10-17 2011-04-26 Texas Instruments Incorporated Parallel CABAC decoding for video decompression
EP2351375A1 (en) * 2008-10-30 2011-08-03 GVBB Holdings S.A.R.L Image encoding apparatus, image encoding method, and image encoding program
US9467699B2 (en) * 2008-12-03 2016-10-11 Hfi Innovation Inc. Method for performing parallel coding with ordered entropy slices, and associated apparatus
EP2357825A4 (en) * 2008-12-08 2012-06-20 Panasonic Corp APPARATUS AND METHOD FOR IMAGE DECODING
SG173007A1 (en) * 2009-01-15 2011-08-29 Agency Science Tech & Res Image encoding methods, image decoding methods, image encoding apparatuses, and image decoding apparatuses
RU2011135321A (ru) 2009-01-28 2013-03-10 Нокиа Корпорейшн Способ и устройство для кодирования и декодирования видеосигналов
JP5516843B2 (ja) 2009-01-29 2014-06-11 コマニー株式会社 3ウェイ方式のパネル連結構造及び連結金具
TWI387314B (zh) 2009-03-10 2013-02-21 Univ Nat Central Image processing apparatus and method thereof
US8514931B2 (en) 2009-03-20 2013-08-20 Ecole Polytechnique Federale De Lausanne (Epfl) Method of providing scalable video coding (SVC) video content with added media content
JP5072893B2 (ja) 2009-03-25 2012-11-14 株式会社東芝 画像符号化方法および画像復号化方法
US20100246683A1 (en) * 2009-03-27 2010-09-30 Jennifer Lois Harmon Webb Error Resilience in Video Decoding
US9112618B2 (en) 2009-07-02 2015-08-18 Qualcomm Incorporated Coding latency reductions during transmitter quieting
US8948241B2 (en) * 2009-08-07 2015-02-03 Qualcomm Incorporated Signaling characteristics of an MVC operation point
US20110096828A1 (en) * 2009-09-22 2011-04-28 Qualcomm Incorporated Enhanced block-request streaming using scalable encoding
US8718149B2 (en) 2009-10-29 2014-05-06 Panasonic Corporation Image coding method and image decoding method
JP2011109469A (ja) * 2009-11-18 2011-06-02 Canon Inc コンテンツ受信装置及びコンテンツ受信装置の制御方法
KR101495724B1 (ko) 2010-02-02 2015-02-25 삼성전자주식회사 계층적 데이터 단위의 스캔 순서에 기반한 비디오 부호화 방법과 그 장치, 및 비디오 복호화 방법과 그 장치
US20110196673A1 (en) * 2010-02-11 2011-08-11 Qualcomm Incorporated Concealing lost packets in a sub-band coding decoder
US8487791B2 (en) 2010-02-18 2013-07-16 Research In Motion Limited Parallel entropy coding and decoding methods and devices
US9973768B2 (en) * 2010-03-16 2018-05-15 Texas Instruments Incorporated CABAC decoder with decoupled arithmetic decoding and inverse binarization
JP2011217044A (ja) * 2010-03-31 2011-10-27 Sony Corp 画像処理装置、画像処理方法および画像処理プログラム
JP5914962B2 (ja) * 2010-04-09 2016-05-11 ソニー株式会社 画像処理装置および方法、プログラム、並びに、記録媒体
CN106067985B (zh) 2010-04-13 2019-06-28 Ge视频压缩有限责任公司 跨平面预测
US20110280314A1 (en) * 2010-05-12 2011-11-17 Texas Instruments Incorporated Slice encoding and decoding processors, circuits, devices, systems and processes
US9215470B2 (en) * 2010-07-09 2015-12-15 Qualcomm Incorporated Signaling selected directional transform for video coding
US9591320B2 (en) * 2010-07-15 2017-03-07 Texas Instruments Incorporated Context and bypass encoding video
US20120014433A1 (en) * 2010-07-15 2012-01-19 Qualcomm Incorporated Entropy coding of bins across bin groups using variable length codewords
US20120014429A1 (en) 2010-07-15 2012-01-19 Jie Zhao Methods and Systems for Parallel Video Encoding and Parallel Video Decoding
US9185439B2 (en) * 2010-07-15 2015-11-10 Qualcomm Incorporated Signaling data for multiplexing video components
US8930562B2 (en) * 2010-07-20 2015-01-06 Qualcomm Incorporated Arranging sub-track fragments for streaming video data
US9131033B2 (en) 2010-07-20 2015-09-08 Qualcomm Incoporated Providing sequence data sets for streaming video data
US20120063515A1 (en) * 2010-09-09 2012-03-15 Qualcomm Incorporated Efficient Coding of Video Parameters for Weighted Motion Compensated Prediction in Video Coding
US8344917B2 (en) 2010-09-30 2013-01-01 Sharp Laboratories Of America, Inc. Methods and systems for context initialization in video coding and decoding
US8902988B2 (en) * 2010-10-01 2014-12-02 Qualcomm Incorporated Zero-out of high frequency coefficients and entropy coding retained coefficients using a joint context model
US9313514B2 (en) 2010-10-01 2016-04-12 Sharp Kabushiki Kaisha Methods and systems for entropy coder initialization
US20120082235A1 (en) * 2010-10-05 2012-04-05 General Instrument Corporation Coding and decoding utilizing context model selection with adaptive scan pattern
WO2012048053A2 (en) * 2010-10-05 2012-04-12 Massachusetts Institute Of Technology System and method for optimizing context-adaptive binary arithmetic coding
CN102476550B (zh) 2010-11-24 2015-09-30 上海宝信软件股份有限公司 刻印控制方法
US20120163457A1 (en) 2010-12-28 2012-06-28 Viktor Wahadaniah Moving picture decoding method, moving picture coding method, moving picture decoding apparatus, moving picture coding apparatus, and moving picture coding and decoding apparatus
US9215473B2 (en) 2011-01-26 2015-12-15 Qualcomm Incorporated Sub-slices in video coding
FR2972588A1 (fr) * 2011-03-07 2012-09-14 France Telecom Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants
US9325999B2 (en) 2011-03-10 2016-04-26 Sharp Kabushiki Kaisha Video decoder for slices
MX352139B (es) 2011-03-10 2017-11-10 Velos Media Int Ltd Método de decodificación de video.
GB2491164B (en) 2011-05-25 2013-09-11 Canon Kk Method and device for compression of video data
US8995523B2 (en) 2011-06-03 2015-03-31 Qualcomm Incorporated Memory efficient context modeling
US10728575B2 (en) 2011-06-07 2020-07-28 Interdigital Vc Holdings, Inc. Method for encoding and/or decoding images on macroblock level using intra-prediction
US10298939B2 (en) 2011-06-22 2019-05-21 Qualcomm Incorporated Quantization in video coding
US9398307B2 (en) 2011-07-11 2016-07-19 Sharp Kabushiki Kaisha Video decoder for tiles
US9584819B2 (en) 2011-10-24 2017-02-28 Qualcomm Incorporated Grouping of tiles for video coding
US9247258B2 (en) 2011-10-26 2016-01-26 Qualcomm Incorporated Unified design for picture partitioning schemes
US10349077B2 (en) 2011-11-21 2019-07-09 Canon Kabushiki Kaisha Image coding apparatus, image coding method, image decoding apparatus, image decoding method, and storage medium
US9578326B2 (en) 2012-04-04 2017-02-21 Qualcomm Incorporated Low-delay video buffering in video coding
KR102080085B1 (ko) 2012-04-13 2020-02-24 지이 비디오 컴프레션, 엘엘씨 저지연 화상 코딩
RU2627109C2 (ru) 2012-04-23 2017-08-03 Сан Пэтент Траст Способ кодирования, способ декодирования, устройство кодирования, устройство декодирования и устройство кодирования и декодирования
EP2868103B1 (en) 2012-06-29 2016-12-07 GE Video Compression, LLC Video data stream concept
US9930562B2 (en) 2016-02-05 2018-03-27 Arris Enterprises Llc Utilization based control of wireless network services

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Alvarez-Mesa et al., ‘Parallel video decoding in the emerging HEVC standard’, Acoustics, Speech and Signal Processing (ICASSP), 2012 IEEE International Conference on, 25-30 March 2012, Kyoto, page(s):
Benjamin Bross, et al., ‘High efficiency video coding (HEVC) text specification draft 6’, (JCTVC-H1003_dJ), JCT-VC of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, 7th Meeting: Geneva, CH, 17. Feb. 2012
Kiran Misra et al., ‘Entropy slices for parallel entropy coding’, JCT-VC of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG 112nd Meeting: Geneva, CH, 21-28 July, 2010 Document: JCTVC-B111
T. schierl et al., ‘Dependent Slices’, JCT-VC of ITU-T SG.16 WP and ISO/IEC JTC1/SC29/WG 119th Meeting: Geneva, CH, 27 April 7 May 2012 Document: JCTVC-I0229

Also Published As

Publication number Publication date
TW201705765A (zh) 2017-02-01
PH12014502303A1 (en) 2014-12-22
US20200221105A1 (en) 2020-07-09
AU2019202551A1 (en) 2019-05-09
RU2758037C2 (ru) 2021-10-25
FI3793200T3 (fi) 2023-03-01
CL2014002739A1 (es) 2015-04-10
KR20170140432A (ko) 2017-12-20
KR20170140434A (ko) 2017-12-20
CN104641647A (zh) 2015-05-20
IL301488B1 (en) 2023-11-01
KR101981267B1 (ko) 2019-05-23
PT3793200T (pt) 2023-02-06
WO2013153226A2 (en) 2013-10-17
AU2022201459A1 (en) 2022-03-24
DK3174295T3 (en) 2019-04-01
PH12019501219A1 (en) 2019-11-11
TW202220443A (zh) 2022-05-16
DK2842313T3 (en) 2017-01-23
KR20170140433A (ko) 2017-12-20
PH12017501901A1 (en) 2018-06-25
EP3174295A1 (en) 2017-05-31
UA125468C2 (uk) 2022-03-23
HUE031183T2 (en) 2017-06-28
ES2620707T3 (es) 2017-06-29
IL261381B (en) 2019-09-26
CN104641647B (zh) 2018-05-04
CN108462880A (zh) 2018-08-28
MX344485B (es) 2016-12-16
JP2015516748A (ja) 2015-06-11
EP3481068A1 (en) 2019-05-08
AU2021201682A1 (en) 2021-04-08
RU2603531C2 (ru) 2016-11-27
JP2022184904A (ja) 2022-12-13
AU2022201459B2 (en) 2022-08-18
KR101667341B1 (ko) 2016-10-18
KR101686088B1 (ko) 2016-12-13
KR20160145843A (ko) 2016-12-20
PH12017501899A1 (en) 2018-06-25
JP6560170B2 (ja) 2019-08-14
TW202130175A (zh) 2021-08-01
PH12017501899B1 (en) 2018-06-25
TWI544803B (zh) 2016-08-01
EP3793200B1 (en) 2022-11-09
US10123006B2 (en) 2018-11-06
WO2013153226A3 (en) 2013-12-19
CN108322752A (zh) 2018-07-24
MX2023001435A (es) 2023-03-06
TW202349949A (zh) 2023-12-16
KR101981272B1 (ko) 2019-05-23
DK3481068T3 (da) 2020-11-16
KR20220164077A (ko) 2022-12-12
WO2013153227A3 (en) 2013-12-19
ES2607438T3 (es) 2017-03-31
SG11201406493RA (en) 2014-11-27
CA3056122C (en) 2021-05-04
JP2019208250A (ja) 2019-12-05
TWI575940B (zh) 2017-03-21
AU2021201682B2 (en) 2022-07-07
KR20200123289A (ko) 2020-10-28
PL2842318T3 (pl) 2017-06-30
IL295693A (en) 2022-10-01
CN104620584A (zh) 2015-05-13
PH12017501900A1 (en) 2018-06-25
EP2842318B1 (en) 2016-12-28
KR102472481B1 (ko) 2022-11-30
PT3481068T (pt) 2020-11-19
EP2842313B1 (en) 2016-10-19
US10694198B2 (en) 2020-06-23
TW201349878A (zh) 2013-12-01
HUE051172T2 (hu) 2021-03-01
ES2937793T3 (es) 2023-03-31
DK2842318T3 (en) 2017-04-10
US11122278B2 (en) 2021-09-14
IL307660A (en) 2023-12-01
KR20190057418A (ko) 2019-05-28
KR102171208B1 (ko) 2020-10-28
HUE060889T2 (hu) 2023-04-28
EP3793200A1 (en) 2021-03-17
CN110809160B (zh) 2022-09-16
CA2870039C (en) 2019-10-08
CA3056122A1 (en) 2013-10-17
JP2017022724A (ja) 2017-01-26
TW201921932A (zh) 2019-06-01
TW201408074A (zh) 2014-02-16
US11259034B2 (en) 2022-02-22
US20150023434A1 (en) 2015-01-22
CN115442610A (zh) 2022-12-06
MX2014012255A (es) 2014-12-05
LT3793200T (lt) 2023-02-27
AU2022268403B2 (en) 2023-06-15
JP2015516747A (ja) 2015-06-11
CN108337526A (zh) 2018-07-27
EP2842313A2 (en) 2015-03-04
PH12014502303B1 (en) 2014-12-22
PT2842313T (pt) 2016-12-22
ES2715107T3 (es) 2019-05-31
AU2023229505A1 (en) 2023-09-28
RS64003B1 (sr) 2023-03-31
TW201742452A (zh) 2017-12-01
CN108337526B (zh) 2020-10-30
KR102096566B1 (ko) 2020-04-02
PT2842318T (pt) 2017-03-31
PL3174295T3 (pl) 2019-05-31
RU2710908C2 (ru) 2020-01-14
HUE033604T2 (en) 2017-12-28
JP2024050612A (ja) 2024-04-10
PL3793200T3 (pl) 2023-06-12
JP6864425B2 (ja) 2021-04-28
IL295693B2 (en) 2023-08-01
US20180309997A1 (en) 2018-10-25
BR112014025496A2 (pt) 2017-09-19
RU2019141081A (ru) 2021-06-16
KR20150013521A (ko) 2015-02-05
MX2023001434A (es) 2023-03-06
AU2022268403A1 (en) 2022-12-15
KR101809591B1 (ko) 2017-12-18
TWI634794B (zh) 2018-09-01
JP6133400B2 (ja) 2017-05-24
CN108540814B (zh) 2021-03-05
MY173763A (en) 2020-02-19
PH12017501902B1 (en) 2018-06-25
ZA201407815B (en) 2016-01-27
CN115426496A (zh) 2022-12-02
US20220264127A1 (en) 2022-08-18
PH12017501902A1 (en) 2018-06-25
HK1258728A1 (zh) 2019-11-15
IL268801B (en) 2022-09-01
KR101981270B1 (ko) 2019-05-23
HK1258819A1 (zh) 2019-11-22
AU2013246828A1 (en) 2014-12-11
KR20190057419A (ko) 2019-05-28
TWI752680B (zh) 2022-01-11
US20150023409A1 (en) 2015-01-22
IL268801A (en) 2019-10-31
KR20150020538A (ko) 2015-02-26
TWI711298B (zh) 2020-11-21
US10674164B2 (en) 2020-06-02
IL301488A (en) 2023-05-01
WO2013153227A2 (en) 2013-10-17
BR122020007621B1 (pt) 2023-03-07
SI3793200T1 (sl) 2023-03-31
TW201633777A (zh) 2016-09-16
ES2831415T3 (es) 2021-06-08
UA115240C2 (uk) 2017-10-10
CN104620584B (zh) 2019-10-18
RU2016141337A3 (ko) 2018-12-18
EP3481068B1 (en) 2020-08-12
CL2016001115A1 (es) 2017-04-07
JP2021106415A (ja) 2021-07-26
BR112014025496B1 (pt) 2023-03-07
KR20200020012A (ko) 2020-02-25
PT3174295T (pt) 2019-03-25
US11343517B2 (en) 2022-05-24
AU2016259446A1 (en) 2016-12-08
CN110809160A (zh) 2020-02-18
KR102080835B1 (ko) 2020-02-25
PH12017500992A1 (en) 2018-06-25
DK3793200T3 (da) 2023-02-13
JP5993083B2 (ja) 2016-09-14
CA2870039A1 (en) 2013-10-17
AU2013246828B2 (en) 2016-08-25
EP2842318A2 (en) 2015-03-04
EP4192012A1 (en) 2023-06-07
RU2014145559A (ru) 2016-06-10
SG10201702988RA (en) 2017-05-30
PH12017501900B1 (en) 2018-06-25
CN108540814A (zh) 2018-09-14
HUE042951T2 (hu) 2019-07-29
EP3174295B1 (en) 2018-12-12
HK1205839A1 (en) 2015-12-24
TWI586179B (zh) 2017-06-01
IL261381A (en) 2018-10-31
KR20210144928A (ko) 2021-11-30
US20200275109A1 (en) 2020-08-27
CN108462880B (zh) 2021-04-09
IL295693B1 (en) 2023-04-01
US10045017B2 (en) 2018-08-07
CN108322752B (zh) 2021-04-09
PL2842313T3 (pl) 2017-06-30
AU2016259446B2 (en) 2019-01-17
US20190342560A1 (en) 2019-11-07
TWI816249B (zh) 2023-09-21
JP7140870B2 (ja) 2022-09-21
KR102080085B1 (ko) 2020-02-24
IL301488B2 (en) 2024-03-01
CN115442611A (zh) 2022-12-06
US11876985B2 (en) 2024-01-16
RU2019141081A3 (ko) 2021-06-16
AU2019202551B2 (en) 2020-12-17
US20190045201A1 (en) 2019-02-07
RU2016141337A (ru) 2018-12-18
PH12017501901B1 (en) 2018-06-25
TWI527466B (zh) 2016-03-21
KR20190057417A (ko) 2019-05-28
US20220224920A1 (en) 2022-07-14

Similar Documents

Publication Publication Date Title
JP7140870B2 (ja) 低遅延画像符号化

Legal Events

Date Code Title Description
A107 Divisional application of patent
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
A107 Divisional application of patent
GRNT Written decision to grant