KR102268090B1 - 스크린 콘텐츠 코딩을 위한 팔레트 코딩 - Google Patents

스크린 콘텐츠 코딩을 위한 팔레트 코딩 Download PDF

Info

Publication number
KR102268090B1
KR102268090B1 KR1020187008991A KR20187008991A KR102268090B1 KR 102268090 B1 KR102268090 B1 KR 102268090B1 KR 1020187008991 A KR1020187008991 A KR 1020187008991A KR 20187008991 A KR20187008991 A KR 20187008991A KR 102268090 B1 KR102268090 B1 KR 102268090B1
Authority
KR
South Korea
Prior art keywords
palette
color
index
escape
escape color
Prior art date
Application number
KR1020187008991A
Other languages
English (en)
Other versions
KR20180036795A (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
Application filed by 브이아이디 스케일, 인크. filed Critical 브이아이디 스케일, 인크.
Priority to KR1020217018550A priority Critical patent/KR102324004B1/ko
Publication of KR20180036795A publication Critical patent/KR20180036795A/ko
Application granted granted Critical
Publication of KR102268090B1 publication Critical patent/KR102268090B1/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/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/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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • 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/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/182Methods 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 pixel
    • 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/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • 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/93Run-length 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/94Vector quantisation

Abstract

비디오 데이터가 팔레트 디코딩될 수도 있다. 팔레트 테이블을 정의하는 데이터가 수신될 수도 있다. 팔레트 테이블은 각각의 컬러에 대응하는 인덱스 값을 포함할 수도 있다. 팔레트 인덱스 예측 데이터가 수신될 수도 있고, 비디오 데이터의 픽셀을 팔레트 테이블의 컬러 인덱스에 매핑하는 팔레트 인덱스 맵의 적어도 일부에 대한 인덱스 값을 나타내는 데이터를 포함할 수도 있다. 팔레트 인덱스 예측 데이터는, 런 값을 팔레트 인덱스 맵의 적어도 일부에 대한 인덱스 값과 관련시키는 런 값 데이터를 포함할 수도 있다. 런 값은 이스케이프 컬러 인덱스와 관련될 수도 있다. 팔레트 인덱스 맵은, 적어도 부분적으로, 최종 인덱스 값에 기초하여 팔레트 인덱스 예측 데이터의 인덱스 값을 조정할지의 여부를 결정하는 것에 의해 팔레트 인덱스 예측 데이터로부터 생성될 수도 있다. 비디오 데이터는 팔레트 인덱스 맵에 따라 재구성될 수도 있다.

Description

스크린 콘텐츠 코딩을 위한 팔레트 코딩{PALETTE CODING FOR SCREEN CONTENT CODING}
관련 출원에 대한 교차 참조
본 출원은 2014년 3월 14일자로 출원된 미국 특허 가출원 제61/953,700호 및 2014년 8월 23일자로 출원된 미국 특허 가출원 제62/041,043호의 이점을 주장하는데, 이들 출원의 개시는 그 전체가 참조에 의해 본원에 통합된다.
배경
스크린 콘텐츠 공유 애플리케이션은, 원격 데스크탑, 화상 회의, 및 모바일 미디어 프리젠테이션 애플리케이션(mobile media presentation application)의 인기도의 증가와 함께, 최근 아주 인기를 끌고 있다. 산업계로부터의 애플리케이션 요건이 존재할 수도 있다. 스크린 콘텐츠는 자연적 비디오 장면의 일부가 아닐 수도 있는 비디오를 가리킬 수도 있다. 스크린 콘텐츠는, 예를 들면, (예를 들면, 모니터 상에 동시에 보여지는 두 개의 별개의 픽쳐를 시각적으로 분리하는) 윤곽, 워드, 라인 드로잉 등등을 포함할 수도 있다. 스크린 콘텐츠는, 비디오 콘텐츠에서의 샤프한 곡선, 텍스트, 및 등등의 우세(prevalence)로 인해 소수의 주 컬러(major color) 및 샤프한 에지를 갖는 다수의 블록을 포함할 수도 있다.
비디오 압축 방법은 스크린 콘텐츠를 인코딩하기 위해 사용될 수도 있다. 많은 현존하는 압축 방법은 스크린 콘텐츠의 피쳐(feature)의 특성을 완전히 묘사하지 않을 수도 있는데, 이것은 비효율적인 압축 성능으로 이어질 수도 있다. 게다가, 수신기에서의 재구성된 픽쳐는 품질 문제를 가질 수도 있다. 예를 들면, 곡선 및 텍스트가 블러링되어 인식하기 어려울 수도 있다.
점점 더 많은 사람들이 미디어 프리젠테이션 및 원격 데스크탑 목적을 위해 그들의 디바이스 콘텐츠를 공유하고 있기 때문에, 스크린 콘텐츠 코딩을 위한 효율적인 비디오 압축 방법은 점점 더 중요해지고 있다. 게다가, 모바일 디바이스의 스크린 디스플레이 해상도는 고선명(high definition) 또는 초고선명(ultra-high definition) 해상도로 실질적으로 증가하였다. 블록 코딩 모드 및 변환과 같은 비디오 코딩 툴은 스크린 콘텐츠 인코딩에 대해 최적화되지 않을 수도 있으며 스크린 콘텐츠를 송신하기 위한 대역폭 소비를 증가시킬 수도 있다.
개요
비디오 데이터, 예를 들면, 스크린 콘텐츠 비디오 데이터를 팔레트 디코딩하기 위한 방법, 시스템, 및 수단이 개시된다. 팔레트 테이블을 정의하는 데이터가 수신될 수도 있다. 팔레트 테이블은, 복수의 컬러의 각각의 컬러에 대응하는 복수의 인덱스 값을 포함할 수도 있다. 팔레트 인덱스 예측 데이터가 수신될 수도 있다. 팔레트 인덱스 예측 데이터는, 비디오 데이터의 하나 이상의 픽셀을 팔레트 테이블의 하나 이상의 컬러 인덱스에 매핑할 수도 있는 팔레트 인덱스 맵의 적어도 일부에 대한 인덱스 값을 나타낼 수도 있는 데이터를 포함할 수도 있다. 팔레트 인덱스 맵은, 적어도 부분적으로, 최종 인덱스 값에 기초하여 팔레트 인덱스 예측 데이터의 인덱스 값을 조정할지의 여부를 결정하는 것에 의해 팔레트 인덱스 예측 데이터로부터 생성될 수도 있다. 비디오 데이터는 팔레트 인덱스 맵에 따라 재구성될 수도 있다.
비디오 데이터는, 복수의 컬러의 각각의 컬러에 대응하는 복수의 컬러 인덱스를 포함하는 팔레트 테이블을 생성하는 것에 의해 팔레트 코딩될 수도 있다. 팔레트 인덱스 맵이 생성될 수도 있다. 팔레트 인덱스 맵은 비디오 데이터의 하나 이상의 픽셀을 팔레트 테이블의 하나 이상의 컬러 인덱스로 매핑할 수도 있다. 팔레트 인덱스 예측 데이터는 팔레트 인덱스 맵에 기초하여 생성될 수도 있다. 팔레트 인덱스 예측 데이터는, 팔레트 인덱스 맵의 적어도 일부에 대한 인덱스 값을 나타낼 수도 있는 데이터를 포함할 수도 있다. 팔레트 인덱스 예측 데이터를 생성하는 것은, 최종 인덱스 값에 기초하여 팔레트 인덱스 맵의 인덱스 값을 조정할지의 여부를 결정하는 것을 포함할 수도 있다.
팔레트 테이블을 정의하는 데이터가 수신될 수도 있다. 팔레트 테이블은, 복수의 컬러의 각각의 컬러에 대응하는 복수의 컬러 인덱스 값을 포함할 수도 있다. 팔레트 인덱스 예측 데이터가 수신될 수도 있다. 팔레트 인덱스 예측 데이터는, 런 값(run value)을, 팔레트 인덱스 맵의 적어도 일부에 대한 인덱스 값과 관련시킬 수도 있는 런 값 데이터를 포함할 수도 있다. 적어도 하나의 런 값은 이스케이프 컬러 인덱스(escape color index)와 관련될 수도 있다. 비디오 데이터의 적어도 일부는 팔레트 테이블, 팔레트 인덱스 예측 데이터, 및 팔레트 인덱스 맵에 따라 재구성될 수도 있다.
비디오 데이터는, 복수의 주 컬러의 각각의 컬러에 대응하는 복수의 컬러 인덱스를 포함할 수도 있는 팔레트 테이블을 생성하는 것에 의해 팔레트 코딩될 수도 있다. 팔레트 인덱스 맵이 생성될 수도 있다. 팔레트 인덱스 맵은, 픽셀의 컬러가 주 컬러와 관련되면, 비디오 데이터의 픽셀을, 팔레트 테이블의 컬러 인덱스로 매핑할 수도 있다. 팔레트 인덱스 맵은, 픽셀의 컬러가 주 컬러와 관련되지 않으면, 비디오 데이터의 픽셀을, 이스케이프 컬러 인덱스로 매핑할 수도 있다. 팔레트 인덱스 예측 데이터는 팔레트 인덱스 맵에 기초하여 생성될 수도 있다. 팔레트 인덱스 예측 데이터는, 런 값을, 팔레트 인덱스 맵의 적어도 일부에 대한 인덱스 값에 관련시키는 런 값 데이터를 포함할 수도 있다. 런 값 데이터 중 적어도 하나의 런 값은 이스케이프 컬러 인덱스와 관련될 수도 있다.
비디오 데이터는, 예를 들면, 비디오 비트스트림에서 팔레트 테이블을 수신하는 것에 의해, 팔레트 디코딩될 수도 있다. 팔레트 테이블은, 복수의 컬러의 팔레트 컬러를 나타낼 수도 있는 복수의 인덱스를 포함할 수도 있다. 팔레트 인덱스 맵 파라미터가 비디오 비트스트림에서 수신될 수도 있다. 팔레트 인덱스 맵 파라미터는 일련의 인덱스를 나타낼 수도 있다. 일련의 인덱스의 하나 이상의 인덱스, 예를 들면, 각각의 인덱스는, 비디오 데이터의 코딩 단위(coding unit)의 하나 이상의 픽셀을, 팔레트 테이블의 팔레트 컬러 또는 이스케이프 컬러 모드 중 어느 하나로 매핑할 수도 있다. 팔레트 인덱스 맵에 의해 이스케이프 컬러 모드로 매핑될 수도 있는 코딩 단위의 픽셀은, 팔레트 인덱스 맵 파라미터에 기초하여, 결정될 수도 있다. 코딩 단위에 대한 인덱스 맵 파라미터의 세트를 수신한 이후, 디코더는, 이스케이프 컬러 모드로 매핑되는 코딩 단위의 픽셀의 각각에 대한 이스케이프 컬러 값을 나타낼 수도 있는 이스케이프 컬러 파라미터를 수신할 수도 있다. 코딩 단위의 픽셀에 대한 컬러는, 수신된 팔레트 인덱스 맵 파라미터 및 수신된 이스케이프 컬러 파라미터에 기초하여 재구성될 수도 있다.
비디오 데이터는, 복수의 컬러의 팔레트 컬러를 나타낼 수도 있는 복수의 인덱스를 포함할 수도 있는 팔레트 테이블을 생성하는 것에 의해 팔레트 코딩될 수도 있다. 팔레트 인덱스 맵은 비디오 데이터의 코딩 단위에 대해 생성될 수도 있다. 팔레트 인덱스 맵은 일련의 인덱스를 포함할 수도 있다. 일련의 것 중 하나 이상의 인덱스, 예를 들면, 각각의 인덱스는, 팔레트 테이블의 복수의 인덱스 또는 이스케이프 컬러 모드를 나타내는 인덱스 중 어느 하나로부터 취해질 수도 있다. 일련의 인덱스는, 코딩 단위의 픽셀을, 팔레트 컬러로 또는 이스케이프 컬러 모드로 선택적으로 매핑할 수도 있다. 팔레트 테이블 및 팔레트 인덱스 맵 파라미터는 비디오 비트스트림에서 송신될 수도 있다. 팔레트 인덱스 맵 파라미터는 코딩 단위에 대한 팔레트 인덱스 맵의 일련의 인덱스를 나타낼 수도 있다. 팔레트 인덱스 맵 파라미터가 송신된 이후, 비디오 비트스트림에서 추가적인 파라미터가 송신될 수도 있다. 이들 추가적인 파라미터는, 이스케이프 컬러 모드로 매핑되는 코딩 단위의 픽셀에 대한 이스케이프 컬러 값을 나타낼 수도 있다.
도면의 간단한 설명
첨부의 도면과 연계하여 예로서 주어지는 하기의 설명으로부터, 더 상세한 이해가 얻어질 수도 있는데, 도면에서:
도 1은 스크린 콘텐츠 공유 시스템의 블록도이다;
도 2는 비디오 디코더의 블록도이다;
도 3은 비디오 인코더의 블록도이다;
도 4는 HEVC에서의 여덟 개의 예측 단위 모드를 예시한다;
도 5a는 워드 형태의 스크린 콘텐츠의 예시적인 단편(piece)을 예시한다;
도 5b는 도 5a의 스크린 콘텐츠의 단편의 팔레트 인덱스 맵을 도시한다;
도 6은 다수의 예시적인 스캔 순서를 예시한다.
도 7a는 BWT 인코딩의 예를 예시한다.
도 7b는 BWT 디코딩의 예를 예시한다.
도 8은 카피 레프트 모드(copy-left mode)의 예를 예시한다.
도 9는 전이 모드 예측(transition mode prediction)의 예를 예시한다.
도 10은 런 모드(run mode)에 대한 라이스(Rice) 파라미터의 예를 예시한다.
도 11은, 이스케이프 컬러 인덱스 재순서화(escape color index reordering)의 예를 예시한다.
도 12는 이스케이프 컬러 예측의 예를 예시한다.
도 13은 이스케이프 컬러 인코딩의 예를 예시한다.
도 14a는 하나 이상의 개시된 실시형태가 구현될 수도 있는 예시적인 통신 시스템의 시스템 도면이다.
도 14b는 도 14a에서 예시되는 통신 시스템 내에서 사용될 수도 있는 예시적인 무선 송수신 유닛(wireless transmit/receive unit; WTRU)의 시스템 도면이다.
도 14c는 도 14a에서 예시되는 통신 시스템 내에서 사용될 수도 있는 예시적인 코어 네트워크와 예시적인 무선 액세스 네트워크의 시스템 도면이다.
도 14d는 도 14a에서 예시되는 통신 시스템 내에서 사용될 수도 있는 다른 예시적인 코어 네트워크 및 다른 예시적인 무선 액세스 네트워크의 시스템 도면이다.
도 14e는 도 14a에서 예시되는 통신 시스템 내에서 사용될 수도 있는 다른 예시적인 코어 네트워크 및 다른 예시적인 무선 액세스 네트워크의 시스템 도면이다.
상세한 설명
이제, 예시적인 실시형태의 상세한 설명이 다양한 도면을 참조로 설명될 것이다. 이 설명이 가능한 구현예의 상세한 예를 제공하지만, 상세는 예시적인 것으로 의도된 것이며 본 출원의 범위를 어떤 식으로든 제한하도록 의도된 것이 아니다는 것을 유의해야 한다.
도 1은 예시적인 스크린 콘텐츠 공유 시스템을 예시하는 블록도이다. 스크린 콘텐츠 공유 시스템은 수신기(10), 디코더(12), 및 디스플레이(예를 들면, 렌더러(renderer))(14)를 포함할 수도 있다. 수신기(10)는 비디오 신호를 수신할 수도 있고 디코더(12)로의 포워딩을 위해 비디오 신호를 복조할 수도 있는데, 디코더(12)는 비디오 스트림을 디코딩할 수도 있고 디스플레이(14)로 출력될 수도 있는 다수의 픽쳐 버퍼(16)에 저장되는 복수의 별개의 픽쳐를 생성할 수도 있다. 도 2는 도 1에서 디코더(12)로서 사용될 수도 있는 예시적인 블록 기반의 단일 레이어 디코더를 예시하는 블록도이다. 그 예시적인 블록 기반의 단일 레이어 디코더는 인코더에 의해 생성된 비디오 비트스트림(201)을 수신할 수도 있고 디스플레이될 비디오 신호를 재구성할 수도 있다. 비디오 디코더에서, 비트스트림(201)은 엔트로피 디코더(203)에 의해 파싱될 수도 있다. 잔차 계수는 반양자화기 논리 블록(inverse quantized in de-quantizer logical block; 205)에서 역양자화되고 역변환 논리 블록(207)에서 역변환되어 재구성된 잔차 신호(209)를 생성할 수도 있다. 코딩 모드 및 예측 정보는, 공간 예측(예를 들면, 공간 예측 논리 블록 211) 또는 시간 예측(예를 들면, 시간 예측 논리 블록 213) 중 어느 하나를 사용하여 예측 신호(215)를 획득하기 위해 사용될 수도 있다. 예측 신호(215) 및 재구성된 잔차 신호(209)는 함께 가산되어 재구성된 비디오 신호(217)를 획득할 수도 있다. 재구성된 비디오 신호는, 참조 픽쳐 저장소(221)에 저장되어 모니터(223) 상에 디스플레이되고/디스플레이되거나 미래의 비디오 신호를 디코딩하도록 사용되기 이전에, 추가적으로 루프 필터링(예를 들면, 루프 필터 논리 블록 219)을 통과할 수도 있다.
도 3은 도 1의 스크린 콘텐츠 공유 시스템에서 수신되는 인코딩된 비디오 데이터를 생성하기 위해 사용될 수도 있는 예시적인 블록 기반의 단일 레이어 비디오 인코더를 예시하는 블록도이다. 도 3에서 도시되는 바와 같이, 효율적인 압축을 달성하기 위해, 단일 레이어 인코더는, 예를 들면 블록 301에서 공간 예측(예를 들면, 인트라 예측)을 및/또는 블록 303에서 시간 예측(예를 들면, 인터 예측 및/또는 모션 보상 예측)을 활용하여 입력 비디오 신호(300)를 예측할 수도 있다. 인코더는 또한, 예를 들면, 소정의 기준 예컨대 레이트 및 왜곡 고려사항의 조합에 기초하여, 예측의 적절한 형태(예를 들면, 가장 적절한 형태)를 선택할 수도 있는 모드 결정 로직(305)을 구비할 수도 있다. 그 다음, 인코더는 예측 잔차(310)(예를 들면, 입력 신호(300)와 예측 신호(311) 사이의 차이 신호)를 블록 307에서 변환하고/변환하거나 블록 309에서 양자화할 수도 있다. 양자화된 잔차(313)는, 모드 정보(예를 들면, 인트라 또는 인터 예측) 및 예측 정보(311)(예를 들면, 모션 벡터, 참조 픽쳐 인덱스, 인트라 예측 모드, 등등)와 함께 엔트로피 코더(315)에서 더 압축되어 출력 비디오 비트스트림(317)으로 패킹될 수도 있다. 도 3에서 도시되는 바와 같이, 인코더는, 양자화된 잔차에 대해 블록 319에서 역양자화를 및/또는 블록 321에서 역변환을 적용하여 재구성된 잔차(323)를 획득하는 것에 의해 그리고 획득된 재구성된 잔차(323)를 다시 예측 신호(311)에 가산하는 것에 의해, 재구성된 비디오 신호(325)를 생성할 수도 있다. 재구성된 비디오 신호(325)는 추가적으로 루프 필터(327)(예를 들면, 디블로킹 필터(deblocking filter), 샘플 적응 오프셋(Sample Adaptive Offset), 및/또는 적응 루프 필터(Adaptive Loop Filter))를 통과할 수도 있고, 참조 픽쳐 저장소(329)에 저장되어 미래의 비디오 신호를 예측하도록 사용될 수도 있다.
MPEG은 송신 대역폭 및 스토리지를 절약하는 비디오 코딩 표준 상에서 작동해 왔다. 고효율 비디오 코딩(High Efficiency Video Coding; HEVC)은, ITU-T 비디오 코딩 전문가 그룹(Video Coding Experts Group; VCEG) 및 ISO/IEC 동화상 전문가 그룹(Moving Picture Experts Group; MPEG)에 의해 공동 개발된 최근 만들어진 비디오 압축 표준이다. HEVC는, 자신의 인코더 및 디코더가 도 2 및 도 3에 따라 동작할 수도 있다는 점에서 블록 기반의 하이브리드 비디오 코딩 표준일 수도 있다. HEVC는 다른 표준과 비교하여 더 큰 비디오 블록의 사용을 허용할 수도 있고, 블록 코딩 정보를 시그널링하기 위해 쿼드트리 구획(quadtree partition)을 사용할 수도 있다. 픽쳐 또는 슬라이스는 동일한 사이즈(예를 들면, 64×64)를 갖는 코딩 트리 블록(coding tree block; CTB)으로 구획될 수도 있다. CTB는 쿼드트리를 갖는 코딩 단위(coding unit; CU)로 구획될 수도 있고, CU는 몇몇 패턴을 사용하는 예측 단위(prediction unit; PU), 및 변환 단위(transform unit; TU)로 더 구획될 수도 있는데, 또한 쿼드트리를 사용한다. 각각의 인터 코딩된 CU의 경우, 인터 코딩된 CU의 PU는, 도 4에서 도시되는 바와 같이, 여덟 개의 구획 모드 중 하나를 구비할 수도 있다. 시간 예측, 예를 들면, 모션 보상 예측은 인터 코딩된 PU를 재구성하기 위해 적용될 수도 있다. HEVC에서 1/4 픽셀까지일 수도 있는 모션 벡터의 정밀도에 따라서, 분수적 위치(fractional position)에서의 픽셀 값을 획득하기 위해 선형 필터가 적용될 수도 있다. HEVC에서, 보간 필터는, 예를 들면, 루마에 대해 7 또는 8 탭(tap)을 그리고 크로마에 대해 4 탭을 구비할 수도 있다. HEVC에서의 디블로킹 필터는 콘텐츠 기반일 수도 있다. 코딩 모드 차이, 모션 벡터 차이, 참조 픽쳐 차이, 픽셀 값 차이 등등과 같은 다수의 인자에 따라, TU 및 PU 경계에서 상이한 디블로킹 필터 동작이 적용될 수도 있다. 엔트로피 코딩의 경우, HEVC는 대부분의 블록 레벨 신택스 엘리먼트에 대해 컨텍스트 기반의 적응적 산술 이진 코딩(context-based adaptive arithmetic binary coding; CABAC)을 채택할 수도 있다. CABAC 코딩은 컨텍스트 기반으로 코딩된 일반적인 빈 및/또는 컨텍스트가 없는 바이패스 코딩된 빈을 사용할 수도 있다.
스크린 콘텐츠 내용, 예컨대 텍스트 및 그래픽은 자연적 비디오 콘텐츠(natural video content)와는 상이한 특성을 나타낼 수도 있다. 코딩 툴은, 예를 들면, 팔레트 코딩 및/또는 인트라 블록 카피에 기초하여 스크린 콘텐츠의 코딩 효율성을 향상시킬 수도 있다.
도 5a에서 도시되는 바와 같이, 스크린 콘텐츠 블록은 제한된 수의 컬러를 포함할 수도 있고, 픽셀의 컬러 값은 인접 (예를 들면, 위쪽 또는 왼쪽 또는 오른쪽) 픽셀로부터 반복될 수도 있다. 팔레트 테이블은 유의한 픽셀 값을 기록하는 딕셔너리로서 사용될 수도 있고 대응하는 팔레트 인덱스 맵은, 도 5b에서 도시되는 바와 같이, 대응하는 픽셀의 컬러 값을 나타내기 위해 사용될 수도 있다. 공간적 중복성을 감소시키기 위해, 동일한 팔레트 인덱스 값, 예를 들면, 컬러 인덱스를 갖는 연속하는 픽셀의 길이를 나타내도록 "런" 값이 사용될 수도 있다. 팔레트 기반의 코딩 방법을 사용하는 것은, 스크린 콘텐츠를 코딩하기 위한 압축 성능을 향상시킬 수도 있다.
버로우즈-휠러 변환(Burrows-Wheeler Transform; BWT)이 무손실 데이터 압축에서 사용될 수도 있다. BWT는 입력 문자의 문자열(input character string)을, 동일한 문자를 갖는 엘리먼트의 다수의 런으로 재배열할 수도 있다. 재배열된 문자열을 출력하기 위해, 입력 문자열의 가능한 순환(rotation)을 저장하는 테이블이 생성될 수도 있다. 순환된 문자열은 정렬될(sorted) 수도 있다. 정렬된 데이터의 열(column)(예를 들면, 최종 열)이 출력 문자열로서 추출될 수도 있다. 출력 문자열 외에, 디코더측에서의 재구성을 용이하게 하기 위해, 블록 위치의 끝(end)이 송신될 수도 있다. BWT의 예가 도 7a에서 도시된다. 소스는 "BANANA"이고, BWT의 출력은 "NNBAAA"이다.
디코딩은, 변환된 문자열을 디코딩 테이블에 첨부하는 것을 수반할 수도 있다. 디코딩 테이블은 정렬될 수도 있다. 변환된 문자열을 디코딩 테이블에 첨부하는 것 및 디코딩 테이블을 정렬하는 것은 k 라운드(round) 동안 수행될 수도 있는데, 이 경우 k는 문자열 길이일 수도 있다. 최종 라운드 동안, 끝에, 블록의 끝(end of block) 위치를 갖는 문자열이 원래의 문자열일 수도 있다. 예를 들면, 도 7b에서, 변환된 문자열 "NNBAAA"가 디코딩 테이블에 첨부될 수도 있다. 정렬 이후, 디코딩 테이블의 제1 열은 "AAABNN"이 될 수도 있다. 제2 라운드에서, 문자열 "NNBAAA"가 디코딩 테이블에 다시 첨부될 수도 있고, 테이블은 다시 정렬될 수도 있다. 6 라운드(예를 들면, 문자열의 길이) 이후, 블록의 끝 위치 "A"를 갖는 디코딩 테이블의 제4 행이 원래의 문자열일 수도 있다. 엔트로피 코딩에서, 세 개의 문자, 예를 들면, "N," "B", 및 "A"가, 세 개의 대응하는 런 값, 예를 들면, 각각, 1, 0, 및 2와 함께 시그널링될 수도 있다. 재배열된 문자열은, 원래의 입력 문자열보다 압축에 더 적절할 수도 있다. BWT 코딩 방법은, 팔레트 인덱스 맵 코딩의 효율성을 향상시키는 데 적용되기에 적절할 수도 있다.
BWT 기반의 팔레트 인덱스 맵 재순서화, 이스케이프 컬러 시그널링, 팔레트 인덱스 예측, 및 팔레트 인덱스 맵 코딩을 비롯한, 팔레트 코딩의 컴포넌트의 성능이 제공될 수도 있다. 코딩 기술은 HEVC 코딩 또는 다른 비디오 코덱에 적용될 수도 있다.
몇몇 비디오 코딩 표준은 스크린 콘텐츠 코딩의 압축 성능을 완전히 최적화하지 않을 수도 있다. 예를 들면, 몇몇 범용 인코더는 자연적 비디오 시퀀스에 대해 최적화될 수도 있다. 스크린 콘텐츠는, 이산적인 컬러 분포 및 비연속 톤을 갖는 샤프한 에지를 자연의 비디오 시퀀스보다 더 많이 포함할 수도 있다. 몇몇 모드 결정 및 변환 기반의 코딩 프로세스를 적용한 이후, 몇몇 잔차 값은 고주파 영역에 위치되며 그 결과 잔차 스캔 방법은 후속할 수도 있는 엔트로피 코딩 프로세스에 대해 비효율적일 수도 있다. 컬러 히스토그램으로부터 인코딩되는 공통적으로 나타나는 컬러를 선택함으로써 팔레트를 형성하는 것에 의해 그리고 팔레트 테이블에서 가장 유사한 엘리먼트를 검색함으로써 CU 픽셀을 팔레트 인덱스로 변환하는 것에 의해, 팔레트 기반의 코딩 방법이 스크린 콘텐츠 블록의 코딩 성능을 향상시킬 수도 있다. 런 값은 동일한 팔레트 인덱스를 공유하는 연속하는 픽셀 위치의 수를 나타내도록 사용될 수도 있고 팔레트 인덱스를 나타내는 오버헤드를 감소시킬 수도 있다. 현재 픽셀의 팔레트 인덱스가 수평 래스터 스캔 순서에서 현재 픽셀 위치의 좌측/우측에 있는 픽셀의 팔레트 인덱스로부터 예측되는지 또는 현재 픽셀 위치 위쪽에 위치된 픽셀로부터 예측되는지의 여부를 나타내기 위해, 예측 모드, 예컨대 런 모드 또는 카피 모드(copy mode)가 사용될 수도 있다.
CU 픽셀은 주 컬러 및 이스케이프 컬러로 클러스터링되어(clustered) 팔레트 테이블을 형성할 수도 있다. 팔레트 인덱스를 인코딩하기 위해 라인 모드가 사용될 수도 있다. 팔레트 기반의 코딩 방법은 상당한 코딩 이득을 나타낼 수도 있다. 팔레트 인덱스 맵은 수평 래스터 스캔 순서로 스캔될 수도 있다. 다음 라인으로 스캔할 때 불연속성 이슈(discontinuousness issue)가 발생할 수도 있는데; 이것은 팔레트 코딩 모드를 시그널링함에 있어서 더 많은 코딩 비트가 사용되게 할 수도 있다. 또한, 팔레트 인덱스 맵에서의 인접한 위치 사이의 기하학적 상관(geometric correlation)이 런 및 카피 모드 예측을 사용하여 활용될 수도 있다.
팔레트 인덱스 맵 재순서화는 BWT 코딩을 사용할 수도 있다. 재순서화된 인덱스 맵은 압축에 적절할 수도 있고 팔레트 인덱스 맵 코딩의 효율성을 향상시킬 수도 있다.
이스케이프 컬러는 고정된 팔레트 맵 인덱스에 할당될 수도 있고, 그 결과, 이스케이프 컬러의 식별은 팔레트 인덱스 시그널링을 통해 실현될 수도 있다.
이스케이프 컬러의 인덱스 값은 팔레트 테이블 사이즈로 설정될 수도 있다. 이것은 이스케이프 컬러 위치를 나타내기 위해 추가적인 플래그를 시그널링하는 것을 방지할 수도 있다.
카피 레프트 모드 및/또는 전이 팔레트 모드(transition palette mode)는 기하학적 인덱스 값 관계를 활용하도록 사용될 수도 있고 팔레트 인덱스 값을 시그널링함에 있어서 오버헤드를 감소시킬 수도 있다.
팔레트 인덱스 맵 코딩은 팔레트 인덱스 맵의 주 성분, 예를 들면, 모드, 런 값, 인덱스 값, 및 이스케이프 컬러 값을 효과적으로 인코딩할 수도 있다.
스크린 콘텐츠 코딩을 위한 팔레트 코딩은, BWT 기반의 팔레트 인덱스 맵 재순서화, 이스케이프 컬러 시그널링, 팔레트 인덱스 예측, 및/또는 팔레트 인덱스 맵 코딩을 수반할 수도 있다.
BWT는 동일한 엘리먼트를 함께 그룹화할 수도 있다. BWT는, 팔레트 인덱스 맵에서의 인접한 위치 사이의 상관을 증가시키도록 사용될 수도 있다. BWT는, 팔레트 인덱스 맵을 인코딩하기 이전에 적용될 수도 있다. 도 6의 예 (a) 및 (b)에서 각각 도시되는 바와 같이, BWT를 적용하기 이전에, 팔레트 인덱스 스캔 순서에 대해, 수직 또는 수평 래스터 스캔 순서에서 한 위치가 예측될 수도 있다. 수직 또는 수평 래스터 스캔 순서는 불연속성 이슈를 나타낼 수도 있다; 예를 들면, 한 행의 제1 위치의 인덱스 값은 이전 행의 마지막 위치와는 상이하게 될 확률이 높을 수도 있다. 이것은 BWT가 비효율적으로 되게 할 수도 있고 인코딩에 대해 사용되는 심볼의 수를 증가시킬 수도 있다. 불연속성 이슈를 완화하기 위해, (예를 들면, 도 6의 예 (c) 및 (d)에서 나타내어지는 바와 같은) 횡단 스캔 순서(transverse scan order) 또는 (예를 들면, 도 6의 예 (e) 및 (f)에서 나타내어지는 바와 같은) 지그재그 스캔 순서가 사용될 수도 있다. 이 스캐닝 방법은, 스캔 순서 경로를 따른 인접한 위치의 유사성을 유지할 수도 있다.
일차원 인덱스 시퀀스로서 위치가 스캔된 이후, 시퀀스는 BWT 프로세스로 공급될 수도 있고 BWT 부가 정보(예를 들면, 오버헤드)로서의 끝 위치는 디코더측 재구성을 위해 코딩될 수도 있다. BWT의 부가 정보는 BWT 기반의 코딩에 대해 오버헤드일 수도 있는데, BWT 기반의 코딩은 몇몇 블록에 대해 어떠한 코딩 이득도 야기하지 않을 수도 있거나 또는 손실을 야기하지 않을 수도 있다. BWT가 수행되는지 또는 그렇지 않은지의 여부를 나타내기 위해 1비트의 플래그가 사용될 수도 있다. 플래그는, 예를 들면, 애플리케이션에 따라, 시퀀스 레벨에서, 픽쳐 또는 슬라이스 레벨에서, 또는 CU 레벨에서 시그널링될 수도 있다. BWT의 복잡성은 정렬에 관련될 수도 있고, 인코딩/디코딩 테이블을 정렬하는 것은, 상당한 메모리 공간을 사용할 수도 있다. BWT 입력을 위한 데이터 구조는 링 버퍼일 수도 있다. m×m 블록의 경우, 블록 위치를 가리키기 위해 링 버퍼는 m×m 개의 포인터를 생성할 수도 있고, 정렬은 이들 포인터 사이에서 수행될 수도 있다. 이것은 인코딩/디코딩 테이블에 의해 사용되는 메모리 공간을 감소시킬 수도 있다.
팔레트 테이블에서 대응하는 엔트리를 구비하지 않을 수도 있는 픽셀을 식별하기 위해, 픽셀은 이스케이프 컬러 픽셀로서 분류될 수도 있다. 컬러 분류는 식 (1) 및 (2)에서와 같이 나타내어질 수도 있는데, 식 (1) 및 (2)에서, error(C, PLT)는, 컬러 C와 팔레트 테이블에서의 가장 유사한 컬러 PLT 사이의 최소 오차일 수도 있다. error(C, PLT)가 임계치 ERROR_LIMIT 미만이면, 컬러 C는 주 컬러일 수도 있다. error(C, PLT)가 임계치 ERROR_LIMIT 미만이 아니면, 컬러 C는 이스케이프 컬러일 수도 있다. 오차 함수는, 컬러 C와 i 번째 팔레트 엔트리(Pi) 사이의 제곱 평균 오차에 의해 측정될 수도 있다.
Figure 112018031277227-pat00001
이스케이프 컬러는, 넌이스케이프 컬러(non-escape color), 예를 들면, 주 컬러를 시그널링하기 위해 사용되지 않는 팔레트 인덱스를 사용하여 시그널링될 수도 있다. 이스케이프 컬러를 이 방식으로 시그널링하는 것은, 이스케이프 컬러를 시그널링하기 위해 전용 플래그 비트 또는 플래그 비트들을 사용하는 것과 관련되는 시그널링 오버헤드를 방지할 수도 있다. 예를 들면, 이스케이프 컬러를 시그널링하기 위해 추가적인 플래그 비트를 사용하지 않고도, 이들 이스케이프 컬러 픽셀의 위치를 식별하기 위해, 이스케이프 컬러의 팔레트 인덱스는 (최대 팔레트 인덱스 값 + 1)로 설정될 수도 있다. 예를 들면, 최대 팔레트 인덱스 값이 30이면, 이스케이프 컬러의 팔레트 인덱스는 31로 설정될 수도 있다.
팔레트 인덱스 예측은 픽셀 사이의 기하학적 관계를 활용할 수도 있다. 팔레트 인덱스 예측은 카피 레프트 모드 및/또는 전이 모드를 활용할 수도 있다. 픽셀은 자신의 위에 위치된 이전에 재구성된 픽셀로부터 카피될 수도 있다. 런 모드에서, 픽셀은 자신의 바로 좌측 이웃으로부터 카피될 수도 있다.
런 및 카피 모드 코딩에서, 두 개의 연속하는 카피 모드는 단일의 카피 모드로서 병합될 수도 있다. 제2 카피 모드는, 이전 모드가 카피 모드이면, 카피 레프트 모드를 시그널링하도록 사용될 수도 있다. 카피 레프트 모드의 경우, 시작 위치는 자신의 이전 위치에 비교될 수도 있고, 이전 코딩 모드가 카피 모드인 경우 사용될 수도 있다. 카피 레프트 모드는, 팔레트 인덱스 값을 시그널링하지 않고 런 값을 시그널링할 수도 있다. 도 8은 카피 레프트 모드의 예를 예시한다. 런 및 카피 모드가 사용되고 픽셀(802)의 이전 모드가 카피 모드(도 8의 어두운 픽셀(804)에 의해 나타내어짐)이면, 픽셀(802)은 런 모드로서 코딩될 수도 있다. 팔레트 인덱스 값은 1로서 시그널링될 수도 있고, 런 값이 시그널링될 수도 있다. 팔레트 인덱스 값을 1로서 시그널링하는 것은 생략될 수도 있는데, 시그널링된 인덱스 값이 이전 모드와 동일할 수도 있기 때문이다. 카피 레프트 모드는 오버헤드를 감소시키기 위해 사용될 수도 있다; 카피 레프트 모드가 가능하게 되는 경우, 픽셀(802)은 자신의 이전 위치에 비교될 수도 있고, 런 값이(예를 들면, 런 값만이) 시그널링될 수도 있다.
카피 레프트 모드를 시그널링하는 경우, 카피 레프트 모드의 모드 값은 카피 모드로서 마찬가지로 코딩될 수도 있다. 디코더측에서, 현재 모드 및 이전 모드는 둘 다가 카피 모드로서 시그널링되는 경우, 현재 모드는 카피 레프트 모드로서 해석될 수도 있다. 따라서, 카피 레프트 모드는 추가적인 모드 값을 사용하지 않고 시그널링될 수도 있다. 이전 모드가 카피 레프트 모드이고 현재 모드가 카피 모드이면, 현재 모드는 여전히 카피 모드일 수도 있다.
전이 모드는, 현재 픽셀에 대한 팔레트 인덱스가, 팔레트 인덱스의 이전 발생 패턴(previously occurring pattern)으로부터 카피되는 것을 허용할 수도 있다. 이전 발생 패턴의 위치는, 시작 위치에 대한 이웃의 인덱스 값의 최근의(예를 들면, 가장 최근의) 이전 출현(appearance)을 기준으로 나타내어질 수도 있다.
전이 모드는, 시작 위치의 이웃을 선택하는 것 및 그 이웃의 인덱스 값을 결정하는 것을 수반할 수도 있다. 인덱스 값의 가장 최근의 이전 출현이 위치 결정될 수도 있고 앵커 위치로서 선택될 수도 있다. 앵커 위치의 이웃 위치는 인덱스 값을 카피하기 위한 시작 위치로서 선택될 수도 있다. 예를 들면, 도 9의 예 (a)에서, 시작 위치(점선으로 나타내어짐)의 좌측 위치가 선택될 수도 있고, 그 마지막 출현 위치가 앵커 위치로서 선택될 수도 있다. 앵커 위치의 우측 위치(실선으로 나타내어짐)는 인덱스 값을 카피할 시작 위치로서 선택될 수도 있다. 도 9에서 도시되는 예에서, 카피의 소스일 수도 있는 이전 발생 인덱스 패턴은 도면 부호 902에 의해 나타내어지고, 카피된 인덱스, 예를 들면, 전이 모드를 사용하여 인코딩되는 인덱스는 도면 부호 904에 의해 나타내어진다.
전이 모드의 경우, 앵커 위치를 결정하기 위해 사용될 수도 있는 시작 위치를 기준으로 하는 이웃 위치가 시그널링될 수도 있다. 카피될 패턴의 시작으로서 사용될 수도 있는 앵커 위치를 기준으로 하는 이웃 위치가 시그널링될 수도 있다. 전이 모드는, CU가 전이 모드를 사용하여 오버헤드를 완화하기 위해 큰 팔레트 테이블 사이즈를 가질 때 가능하게 될 수도 있다. 예를 들면, 팔레트 테이블 사이즈가 작은 경우, 런 모드 및 카피 모드는 빈번하게 사용되는 팔레트 모드일 수도 있다. 전이 모드가 또한 가능하게 되면, 전체 팔레트 모드는 세 개로 증가될 수도 있고, 전이 모드가 선택되지 않더라도 팔레트 모드를 시그널링하기 위해 더 많은 비트가 사용될 수도 있다. 팔레트 테이블 사이즈가 큰 경우, 전이 모드는 런 모드 또는 카피 모드의 예측 부족분을 커버할 인덱스 패턴을 검색하도록 그리고 전이 모드를 사용하는 것에 의해 오버헤드를 보상하도록 사용될 수도 있다. 전이 모드는 BWT 코딩 없이 사용될 수도 있다.
코딩 툴은 팔레트 인덱스 맵을 효율적으로 압축하기 위해 사용될 수도 있다. 이들 코딩 툴은 인덱스 값 코딩, 런 값 코딩, 및 팔레트 이스케이프 컬러 예측을 포함할 수도 있다.
팔레트 코딩에서, 인덱스 값은, 런 모드를 시그널링할 때 송신될 수도 있다. 한 실시형태에서, 인덱스 값은 고정된 길이 코드 워드로서 코딩될 수도 있다. 예를 들면, 팔레트 테이블 사이즈가 31이면, 레벨 값을 인코딩하기 위해 다섯 개의 비트가 사용될 수도 있다. 인덱스 값이 1인 경우에도, 그 값을 인코딩하기 위해 다섯 개의 비트가 사용될 수도 있다. 한 실시형태에서, 인덱스 값을 인코딩하기 위해, 가변 길이 코딩(예를 들면, 지수 골룸 코딩(Exponential-Golomb coding))이 사용될 수도 있다. 인덱스 값 감소 및/또는 이스케이프 컬러 인덱스 재순서화와 같은 코딩 툴은, 인덱스 값을 효율적으로 인코딩하기 위해 사용될 수도 있다.
인코더, 예를 들면, 도 3의 인코더는, 복수의 컬러의 각각의 컬러에 대응하는 복수의 컬러 인덱스를 포함하는 팔레트 테이블을 생성하는 것에 의해 비디오 데이터를 팔레트화 할 수도 있다. 인코더는 팔레트 인덱스 맵을 생성할 수도 있다. 팔레트 인덱스 맵은 비디오 데이터의 하나 이상의 픽셀을 팔레트 테이블의 하나 이상의 컬러 인덱스로 매핑할 수도 있다. 인코더는 팔레트 인덱스 맵에 기초하여 팔레트 인덱스 예측 데이터를 생성할 수도 있다. 팔레트 인덱스 예측 데이터는, 팔레트 인덱스 맵의 적어도 일부에 대한 인덱스 값을 나타낼 수도 있는 데이터를 포함할 수도 있다. 팔레트 인덱스 예측 데이터를 생성하는 것은, 최종 인덱스 값에 기초하여 팔레트 인덱스 맵의 인덱스 값을 조정할지의 여부를 결정하는 것을 포함할 수도 있다.
인덱스 값(예를 들면, 컬러 인덱스)의 크기를 감소시키기 위해, 인덱스 값은 이전의 코딩 모드에 따라 수정될 수도 있다. 예를 들면, 인덱스 값은 이전 코딩 모드의 최종 인덱스 값에 따라 1만큼 감소될 수도 있는데, 이전 코딩 모드의 최종 인덱스 값은 pimi로서 표기될 수도 있다. 현재 인덱스 값이 pimi보다더 크면, 코딩된 인덱스 값은 (현재 인덱스 값 - 1)일 수도 있다. 그렇지 않다면, 현재 인덱스 값은 변경되지 않을 수도 있다. 인덱스 값을 코딩하기 위해 사용되는 비트의 수는 유효하게 감소될 수도 있다. 예를 들면, pimi가 6이고 현재 인덱스 값이 7이면, 코딩된 인덱스 값은 7-1=6이다. 순서 0을 가지고 지수 골룸 코딩을 사용하는 경우, 7은 0001000으로 코딩된다. 6을 인코딩하기 위해, 코드 워드는 00111이고; 따라서, 코드 워드 길이는 일곱 개의 비트로부터 다섯 개의 비트로 감소될 수도 있다. 디코더측에서, 디코더는 현재 인덱스 값을 재구성하기 위해 pimi를 비교할 수도 있다. pimi가 현재 인덱스 값 이하이면, 현재 인덱스 값은 1만큼 증가될 수도 있다.
이스케이프 컬러 픽셀의 위치를 시그널링하기 위해, 이스케이프 컬러 픽셀의 인덱스 값은 최대 팔레트 인덱스 값으로 설정될 수도 있다. 제1 인덱스 값은 제로로 설정될 수도 있다. 이스케이프 컬러의 출현 확률은 가장 주된 컬러의 것보다 더 높을 수도 있다. 이스케이프 컬러 픽셀의 인덱스 값을 시그널링하는 오버헤드를 감소시키기 위해, 이스케이프 컬러 픽셀의 인덱스 값은 프론트 인덱스 값(front index value)과 스왑될 수도 있다. 도 11에서 예시되는 바와 같이, 이스케이프 컬러 인덱스는 재순서화 이전에 n일 수도 있다. 재순서화 이후, 이스케이프 컬러 인덱스는 m으로 변경될 수도 있고, m으로부터 (n-1)까지의 원래의 인덱스 값은 m+1 내지 n으로 시프트될 수도 있다. m의 값의 선택은, 예를 들면, 원래의 것에 기초할 수도 있고, 그 결과 0으로부터 (m-1)까지의 인덱스는 이스케이프 컬러 인덱스보다 더 빈번하게 사용될 수도 있고, m으로부터 (n-1)까지의 원래의 인덱스는 이스케이프 컬러 인덱스보다 덜 빈번하게 사용될 수도 있다. m의 이러한 값이 존재하면, 이스케이프 컬러 인덱스는 m으로 변경될 수도 있다. 예를 들면, 팔레트 테이블 사이즈가 31이고, 이스케이프 컬러의 인덱스 값이 31로 설정되면, 인덱스 재순서화 이후, 이스케이프 컬러의 인덱스 값은 2로 변경될 수도 있고, 2로부터 30까지의 인덱스 값은 3 내지 31로 시프트될 수도 있다. 순서 0을 갖는 지수 골룸 코딩을 사용하는 것에 의해, 인덱스 값 31은 000011111로 코딩될 수도 있다. 이스케이프 컬러의 인덱스 값이 2로 스왑되면, 이스케이프 컬러를 제시하기 위해 사용되는 코드 워드는 011일 수도 있고; 따라서, 이스케이프 컬러 인덱스 재순서화는 이스케이프 컬러 픽셀의 시그널링 오버헤드를 감소시킬 수도 있다.
일차원 팔레트 코딩에서, 런 값은, 연속하는 위치 세그먼트의 길이를 나타내기 위해 사용될 수도 있다. 런 값을 효과적으로 인코딩하기 위해, 가변 길이 코딩 방법(예를 들면, 골룸 라이스 코딩(Golomb-Rice coding) 또는 지수 골룸 코딩)이 사용될 수도 있다. 라이스 파라미터의 설정은, 골룸 라이스 코딩에서의 고려사항일 수도 있다. 예를 들면, 라이스 파라미터가 0에서 설정되면, 값 6은 1111110으로 인코딩될 수도 있다. 라이스 파라미터가 1에서 설정되면, 코드 워드는 11100일 수도 있다. 파라미터 설정은 코딩 효율성에 영향을 끼칠 수도 있다. 값은 최상의 라이스 파라미터를 사용하여 인코딩될 수도 있지만, 이들 파라미터 설정을 시그널링하는 것은 오버헤드를 사용할 수도 있고 코딩 성능을 감소시킬 수도 있다. 라이스 파라미터는 런 모드 또는 비런(non-run) 모드에 대해 추정될 수도 있다.
현재 팔레트 코딩 모드가 런 모드이면, 라이스 파라미터 값을 예측하기 위해 라이스 파라미터 룩업 테이블이 사용될 수도 있다. 동일한 인덱스 값에 대한 라이스 파라미터는 고도로 상관될 수도 있다. 현재 런 값에 대해 사용되는 라이스 파라미터는 이전 라이스 파라미터로부터 유도될 수도 있다. 팔레트 인덱스에 대한 이전에 사용된 라이스 파라미터를 기록하기 위해 라이스 파라미터 룩업 테이블이 사용될 수도 있다. 예를 들면, 도 10에서 도시되는 바와 같이, 두 개의 이전의 라이스 파라미터 rp(x,0) 및 rp(x,1)가 인덱스에 대해 기록될 수도 있다. 이들은 인덱스 x에 대한 마지막 라이스 파라미터 및 마지막에서 두 번째 라이스 파라미터를 나타낼 수도 있다. 라이스 파라미터를 유도하기 위해 식 (3)이 사용될 수도 있다:
Figure 112018031277227-pat00002
여기서 crpx는 추정된 라이스 파라미터이고 RP_LIMIT는 라이스 파라미터의 상한일 수도 있다. 추정된 라이스 파라미터를 획득한 이후, 라이스 파라미터 룩업 테이블은 업데이트될 수도 있다. 테이블을 업데이트하기 위해 식 (4) 및 (5)가 사용될 수도 있다:
Figure 112018031277227-pat00003
비런 모드에서, 인덱스 카피가 수행될 수도 있고, 다양한 인덱스 값이 카피될 수도 있다. 비런 모드에 대한 라이스 파라미터를 획득하기 위해, 간과 전략(overlooking strategy)이 사용될 수도 있다. 인덱스 맵을 인코딩하기 이전에, 후보 라이스 파라미터가 테스트될 수도 있다. 최소 오버헤드를 갖는 후보가 비런 모드에 대한 라이스 파라미터로서 선택될 수도 있다. 추정 프로세스는, 예를 들면, 다음과 같이 수행될 수도 있다:
Figure 112018031277227-pat00004
이스케이프 컬러 코딩의 경우, 컬러 성분의 픽셀 값은 자신의 이웃하는 픽셀로부터 코딩될 수도 있거나 또는 예측될 수도 있다. 이스케이프 컬러 값은 최소 오차를 가지고 팔레트 테이블 엔트리로부터 예측될 수도 있다. 예를 들면, 도 12에서 도시되는 바와 같이, 이스케이프 컬러 픽셀에 대해 최소 오차를 갖는 팔레트 테이블 엔트리 i가 선택될 수도 있다. 엔트로피 코딩에서, 예측된 테이블 엔트리(예를 들면, 이스케이프 컬러에 비교하여 최소 오차를 갖도록 인코더에 의해 결정되는 팔레트 테이블 엔트리)의 인덱스 값, 절대 차이 값, 및 부호 비트가 디코더측으로 시그널링될 수도 있다. 디코더에서, 이들 값은 이스케이프 컬러 픽셀을 재구성하기 위해 사용될 수도 있다.
이전에 인코딩된 이스케이프 컬러는 이스케이프 컬러의 예측을 위해 사용될 수도 있다. 이미 코딩된 이스케이프 컬러는 현재 코딩 단위에 대한 리스트에 저장될 수도 있다. 가장 최근의 이스케이프 컬러는, 리스트의 시작에 배치될 수도 있다, 예를 들면, 가장 최근의 이스케이프 컬러는 리스트의 제1 엔트리일 수도 있다. 리스트는 코딩된 이스케이프 컬러 스택일 수도 있다. 코딩될 현재 이스케이프 컬러에 대해, 예측기(predictor)(예를 들면, 최상의 예측기)가, 예를 들면, 레이트 왜곡 최적화 기준을 사용하여, 코딩된 이스케이프 컬러 스택 또는 팔레트 테이블로부터 선택될 수도 있다. 예측 타입 값(예를 들면, 플래그)은, 예측기가 코딩된 이스케이프 컬러 스택으로부터 유래하는지 또는 팔레트 테이블로부터 유래하는지의 여부를 나타낼 수도 있다. 예측기로서 어떤 엔트리가 사용되는지를 나타내기 위해, 예를 들면, 코딩된 이스케이프 컬러 스택으로부터의 엔트리가 사용되는지 또는 팔레트 테이블로부터의 엔트리가 사용되는지를 나타내기 위해, 인덱스가 코딩될 수도 있다. 현재 이스케이프 컬러가 코딩된 이후, 업데이트 프로세스가 수행될 수도 있다. 현재 코딩된 이스케이프 컬러가 예측 코딩되고 잔차가 제로이면, 또는 현재 이스케이프 컬러가 예측 코딩되지 않으면, 현재 코딩된 이스케이프 컬러는 신규의 이스케이프 컬러로서 간주될 수도 있고 스택의 상부에 추가될 수도 있다. 스택이 가득 차면, 스택의 최종 엔트리가 제거될 수도 있다. 스택의 상부에 있는 엔트리는 최소 인덱스 값(예를 들면, 제로)과 관련될 수도 있고, 다른 엔트리에 대한 인덱스 값은 증가하는 순서로 할당될 수도 있다. 코딩된 이스케이프 컬러는, 현재 코딩 단위 코딩 이전에, 상이한 방식으로 초기화될 수도 있다. 예를 들면, 스택은, 현재 코딩 단위의 팔레트 테이블에 있는 임의의 컬러를 예측하기 위해 사용되지 않을 수도 있는 팔레트 테이블 예측기에 있는 컬러로 채워질 수도 있다.
이스케이프 컬러 인덱스 조정, 반복된 이스케이프 컬러 코딩, 및/또는 스킵 이스케이프 컬러 코딩 결정은, 이스케이프 컬러 픽셀을 시그널링하는 오버헤드를 더 감소시키기 위해 사용될 수도 있다. 도 13은 팔레트 이스케이프 컬러 예측의 예를 예시한다.
이스케이프 컬러 값은 양자화 이후 팔레트 테이블 엔트리와 동일할 수도 있다. 이들 이스케이프 컬러의 팔레트 인덱스는 대응하는 팔레트 테이블 엔트리의 인덱스로 조정될 수도 있다. 조정은 이스케이프 컬러 양자화 이후에 수행될 수도 있다. 조정을 위해, 양자화된 이스케이프 컬러 픽셀은 팔레트 테이블 엔트리에 비교될 수도 있고, 양자화된 이스케이프 컬러 픽셀과 팔레트 테이블 엔트리가 동일한 경우, 이스케이프 컬러 인덱스는 대응하는 팔레트 테이블 엔트리의 인덱스로 리셋될 수도 있다.
현재의 이스케이프 컬러 픽셀이 이전의 이스케이프 컬러 픽셀과 동일한지의 여부를 나타내기 위해, 이스케이프 컬러 예측 이전에 1비트의 플래그가 시그널링될 수도 있다. 현재 및 이전의 이스케이프 컬러 픽셀이 동일하면, 이스케이프 컬러 예측은 생략될 수도 있다.
CU의 이스케이프 컬러를 코딩하기 이전에, 차이 값을 시그널링할지의 여부를 결정하기 위해 레이트-왜곡 결정 기능이 사용될 수도 있다. 결정 기능은, 차이 값을 시그널링하는 것과 차이 값을 시그널링하지 않는 것 사이의 레이트-왜곡 비용을 비교하기 위해 사용될 수도 있다. 결정이 이스케이프 컬러를 시그널링하는 것이면, 예측된 테이블 엔트리 인덱스, 차이 값, 및 부호 비트가, 예를 들면, 도 13의 1302, 1304, 및 1306에서 시그널링될 수도 있다. 그렇지 않다면, 이스케이프 컬러 인덱스는, 예를 들면, 최상의 레이트-왜곡 성능을 갖는 팔레트 테이블 엔트리의 인덱스로 조정될 수도 있다.
본원에서 개시되는 원리는, 가변 길이 코딩의 예로서 지수 골룸 코딩 또는 골룸 라이스 코딩의 맥락에서 개시될 수도 있지만, 다른 가변 길이 코딩 알고리즘에 적용될 수도 있다.
신택스 엘리먼트는, 예를 들면, HEVC의 신택스에 기초하여, 팔레트 코딩 모드를 이용하여 코딩되는 CU를 시그널링하기 위해 사용될 수도 있다. 본원에서 개시되는 팔레트 코딩 방법은, 예를 들면, 테이블 1 및 테이블 2에서 예시되는 바와 같이, 신택스 엘리먼트를 사용하여 비트스트림에서 시그널링될 수도 있다. 테이블 2에서 도시되는 바와 같이, 이스케이프 컬러는, 주 컬러, 예를 들면, 팔레트 테이블에서 나타내어지는 컬러로부터, 예를 들면 별개의 루프에서 개별적으로 코딩될 수도 있다.
Figure 112018031277227-pat00005
Figure 112018031277227-pat00006
Figure 112018031277227-pat00007
신택스 엘리먼트 palette_index_scan_order는 미리 정의된 스캔 순서를 나타낼 수도 있다. palette_index_scan_order가 0이면, 래스터 스캔 순서는 팔레트 인덱스 예측에서 사용될 수도 있다. palette_index_scan_order가 1이면, 횡단 스캔 순서가 사용될 수도 있다. palette_index_scan_order가 2이면, 지그재그 스캔 순서가 사용될 수도 있다.
신택스 엘리먼트 palette_bwt_flag는, BWT 코딩 방법이 가능하게 되는지의 여부를 나타낼 수도 있다. palette_bwt_flag가 1이면, BWT 코딩 방법은 가능하게 될 수도 있다. palette_bwt_flag가 0이면, BWT 코딩 방법은 불능으로 될 수도 있다.
신택스 엘리먼트 palette_bwt_eob_position는, BWT 디코딩을 위한 블록의 끝 위치를 나타낼 수도 있다.
신택스 엘리먼트 non_run_mode_rice_parameter는 비런 모드에 대한 런 값을 디코딩하기 위한 라이스 파라미터를 나타낼 수도 있다.
신택스 엘리먼트 palette_mode는 팔레트 코딩 모드(예를 들면, 런 모드, 카피 모드, 또는 전이 모드)를 나타낼 수도 있다.
신택스 엘리먼트 transition_mode_neighbor_position는, 전이 모드에서 앵커 위치를 위치결정하기 위해 사용되는 시작 위치에 대한 이웃 위치를 나타낼 수도 있다. transition_mode_neighbor_position이 1이면, 상측 이웃 위치가 사용될 수도 있다. transition_mode_neighbor_position가 0이면, 좌측 이웃 위치가 사용될 수도 있다.
신택스 엘리먼트 transition_mode_copy_direction는, 전이 모드에서 인덱스 값 카피를 시작할 앵커 위치에 대한 이웃 위치를 나타낼 수도 있다. transition_mode_copy_direction이 1이면, 하측 이웃 위치가 가리켜질 수도 있다. transition_mode_copy_direction이 0이면, 우측 이웃 위치가 가리켜질 수도 있다.
신택스 엘리먼트 run은, 동일한 팔레트 인덱스(예를 들면, "run_mode_flag = 1")를 갖는 연속하는 위치의 수 또는 (예를 들면, 카피 모드에서 사용되는 것과 같이) 위쪽 행에서의 위치와 동일한 팔레트 인덱스를 갖는 연속하는 위치의 수를 나타낼 수도 있다. 런 값은 런 모드에서 라이스 파라미터 룩업 테이블을 사용하여 디코딩될 수도 있다. 비런 모드에서, 런 값은 non_run_mode_rice_parameter에 의해 디코딩될 수도 있다.
신택스 엘리먼트 repeated_escape_color_flag는, 이스케이프 컬러 값이 반복되는지의 여부를 나타낼 수도 있다. repeated_escape_color_flag가 1이면, 현재 이스케이프 컬러 값은 이전 이스케이프 컬러 값으로 설정될 수도 있다. repeated_escape_color_flag가 0이면, 현재 이스케이프 컬러 값은 이전 이스케이프 컬러 값과는 상이할 수도 있다.
신택스 엘리먼트 predicted_palette_table_index는, 현재 이스케이프 컬러에 대한 예측된 팔레트 테이블 엔트리의 인덱스 값을 나타낼 수도 있다.
신택스 엘리먼트 escape_color_residue_absolute_value는, 현재 이스케이프 컬러와 예측된 팔레트 테이블 엔트리 사이의 절대 차이를 나타낼 수도 있다.
신택스 엘리먼트 escape_color_residue_sign은, 현재 이스케이프 컬러와 예측된 팔레트 테이블 엔트리 사이의 차이의 부호 값을 나타낼 수도 있다.
본원에서 개시되는 팔레트 코딩 방법은, 예를 들면, 테이블 3에서 예시되는 바와 같이, 신택스 엘리먼트를 사용하여 비트스트림에서 시그널링될 수도 있다. 이스케이프 컬러 값은 팔레트 인덱스의 코딩 루프와는 별개로 코딩될 수도 있다.
예를 들면, 비디오 데이터는, 팔레트 컬러를 나타낼 수도 있는 인덱스를 포함하는 팔레트 테이블을 생성하는 것에 의해 인코딩될 수도 있다. 팔레트 인덱스 맵은 비디오 데이터의 코딩 단위에 대해 생성될 수도 있다. 팔레트 인덱스 맵은 인덱스, 예를 들면, 일련의 인덱스를 포함할 수도 있다. 인덱스는, 예를 들면, 팔레트 테이블의 인덱스로부터 또는 이스케이프 컬러 모드를 나타낼 수도 있는 인덱스로부터 취해질 수도 있다. 인덱스는, 코딩 단위의 픽셀을, 팔레트 컬러로 또는 이스케이프 컬러 모드로 선택적으로 매핑할 수도 있다. 코딩 단위에 대한 팔레트 인덱스 맵의 일련의 인덱스를 나타낼 수도 있는 팔레트 인덱스 맵 파라미터 및 팔레트 테이블은 비디오 비트스트림에서 송신될 수도 있다. 팔레트 인덱스 맵 파라미터가 송신된 이후, 비디오 비트스트림에서 추가적인 파라미터가 송신될 수도 있다. 이들 추가적인 파라미터는, 이스케이프 컬러 모드로 매핑되는 코딩 단위의 픽셀에 대한 이스케이프 컬러 값을 나타낼 수도 있다.
예를 들면, 비디오 데이터는, 팔레트 컬러를 나타낼 수도 있는 복수의 인덱스를 포함하는 팔레트 테이블을 비트스트림에서 수신하는 것에 의해 디코딩될 수도 있다. 팔레트 인덱스 맵 파라미터가 비디오 비트스트림에서 또한 수신될 수도 있다. 팔레트 인덱스 맵 파라미터는 인덱스, 예를 들면, 일련의 인덱스를 나타낼 수도 있다. 인덱스는 비디오 데이터의 코딩 단위의 하나 이상의 픽셀을, 팔레트 테이블의 팔레트 컬러로 또는 이스케이프 컬러 모드로 매핑할 수도 있다. 팔레트 인덱스 맵 파라미터는, 팔레트 인덱스 맵에 의해 이스케이프 컬러 모드로 매핑될 수도 있는 코딩 단위의 픽셀을 결정하기 위해 사용될 수도 있다. 이스케이프 컬러 파라미터가 수신될 수도 있다. 이스케이프 컬러 파라미터는, 이스케이프 컬러 모드로 매핑되는 코딩 단위의 픽셀에 대한 이스케이프 컬러 값을 나타낼 수도 있다. 코딩 단위의 픽셀에 대한 컬러는, 수신된 팔레트 인덱스 맵 파라미터 및 수신된 이스케이프 컬러 파라미터에 기초하여 재구성될 수도 있다.
Figure 112018031277227-pat00008
Figure 112018031277227-pat00009
신택스 엘리먼트 palette_index_scan_order는 미리 정의된 스캔 순서를 나타낼 수도 있다. palette_index_scan_order가 0과 동일하면, 래스터 스캔 순서가 팔레트 인덱스 예측 프로세스에서 사용될 수도 있다. palette_index_scan_order가 1과 동일하면, 횡단 스캔이 사용될 수도 있다. palette_index_scan_order가 2와 동일하면, 지그재그 스캔 순서가 사용될 수도 있다.
신택스 엘리먼트 palette_bwt_flag는, BWT 코딩 방법이 가능하게 되는지의 여부를 나타낼 수도 있다. palette_bwt_flag가 1과 동일하면, BWT 코딩 방법은 가능하게 될 수도 있다. palette_bwt_flag가 0과 동일하면, BWT 코딩 방법은 불능으로 될 수도 있다.
신택스 엘리먼트 palette_bwt_eob_position은 BWT 디코딩을 위한 블록의 끝 위치를 나타낼 수도 있다.
신택스 엘리먼트 non_run_mode_rice_parameter는, 비런 모드에 대한 런 값을 디코딩하기 위한 라이스 파라미터를 나타낼 수도 있다.
신택스 엘리먼트 palette_mode는 팔레트 코딩 모드(예를 들면, 런 모드, 카피 모드 또는 전이 모드)를 나타낼 수도 있다.
신택스 엘리먼트 transition_mode_neighbor_position은, 전이 모드에서 앵커 위치를 위치결정하기 위해 사용될 수도 있는 시작 위치에 대한 이웃 위치를 나타낼 수도 있다. transition_mode_neighbor_position이 1과 동일하면, 상측 이웃 위치가 사용될 수도 있다. transition_mode_neighbor_position이 0과 동일하면, 좌측 이웃 위치가 사용될 수도 있다.
신택스 엘리먼트 transition_mode_copy_direction는, 전이 모드에서 인덱스 값의 카피를 시작할 앵커 위치에 대한 이웃 위치를 나타낼 수도 있다. transition_mode_copy_direction이 1과 동일하면, 카피는 하측 이웃 위치로부터 시작할 수도 있다. transition_mode_copy_direction이 0과 동일하면, 카피는 우측 이웃 위치로부터 시작할 수도 있다.
신택스 엘리먼트 run은, 동일한 팔레트 인덱스("run_mode_flag = 1")를 갖는 연속하는 위치의 수 또는 (카피 모드에서 사용되는 것과 같이) 위쪽 행에서의 위치와 동일한 팔레트 인덱스를 갖는 연속하는 위치의 수를 나타낼 수도 있다. 런 값은 런 모드에서 라이스 파라미터 룩업 테이블을 사용하여 디코딩될 수도 있다. 비런 모드에서, 런 값은 non_run_mode_rice_parameter에 의해 디코딩될 수도 있다.
신택스 엘리먼트 repeated_escape_color_flag가 1과 동일하면, 현재 이스케이프 컬러 값은 이전 이스케이프 컬러 값으로 설정될 수도 있다. repeated_escape_color_flag가 0과 동일하면, 현재 이스케이프 컬러 값은 이전 이스케이프 컬러 값과 동일하지 않을 수도 있다.
신택스 엘리먼트 predicted_palette_table_index는, 현재 이스케이프 컬러에 대한 예측된 팔레트 테이블 엔트리의 인덱스 값을 나타낼 수도 있다.
신택스 엘리먼트 escape_color_residue_absolute_value는, 현재 이스케이프 컬러와 예측된 팔레트 테이블 엔트리 사이의 절대 차이 값을 나타낼 수도 있다.
신택스 엘리먼트 escape_color_residue_sign은, 현재 이스케이프 컬러와 예측된 팔레트 테이블 엔트리 사이의 차이 값의 부호 값을 나타낼 수도 있다.
디코더, 예를 들면, 도 2의 디코더는, 예를 들면, 비디오 비트스트림에서 팔레트 테이블을 수신하는 것에 의해, 비디오 데이터를 팔레트 디코딩할 수도 있다. 팔레트 테이블은, 복수의 컬러의 팔레트 컬러를 나타낼 수도 있는 복수의 인덱스를 포함할 수도 있다. 디코더는 비디오 비트스트림에서 팔레트 인덱스 맵 파라미터를 수신할 수도 있다. 팔레트 인덱스 맵 파라미터는 일련의 인덱스를 나타낼 수도 있다. 일련의 인덱스의 하나 이상의 인덱스, 예를 들면, 각각의 인덱스는, 비디오 데이터의 코딩 단위(coding unit)의 하나 이상의 픽셀을, 팔레트 테이블의 팔레트 컬러 또는 이스케이프 컬러 모드 중 어느 하나로 매핑할 수도 있다. 팔레트 인덱스 맵 파라미터에 기초하여, 디코더는 팔레트 인덱스 맵에 의해 이스케이프 컬러 모드로 매핑될 수도 있는 코딩 단위의 픽셀을 결정할 수도 있다. 별개의 루프에서, 예를 들면, 코딩 단위에 대한 인덱스 맵 파라미터의 세트를 수신한 이후, 디코더는, 예를 들면, 테이블 1, 테이블 2, 및 테이블 3 중 하나 이상에서 나타내어지는 바와 같이, 이스케이프 컬러 모드로 매핑되는 코딩 단위의 픽셀의 각각에 대한 이스케이프 컬러 값을 나타낼 수도 있는 이스케이프 컬러 파라미터를 수신할 수도 있다. 디코더는, 코딩 단위의 픽셀에 대한 컬러를, 수신된 팔레트 인덱스 맵 파라미터 및 수신된 이스케이프 컬러 파라미터에 기초하여 재구성할 수도 있다.
인코더, 예를 들면, 도 3의 인코더는, 복수의 컬러의 팔레트 컬러를 나타낼 수도 있는 복수의 인덱스를 포함할 수도 있는 팔레트 테이블을 생성하는 것에 의해 비디오 데이터를 팔레트 코딩할 수도 있다. 인코더는 비디오 데이터의 코딩 단위에 대한 팔레트 인덱스 맵을 생성할 수도 있다. 팔레트 인덱스 맵은 일련의 인덱스를 포함할 수도 있다. 일련의 것 중 하나 이상의 인덱스, 예를 들면, 각각의 인덱스는, 팔레트 테이블의 복수의 인덱스 또는 이스케이프 컬러 모드를 나타내는 인덱스 중 어느 하나로부터 취해질 수도 있다. 인덱스는, 코딩 단위의 픽셀을, 팔레트 컬러로 또는 이스케이프 컬러 모드로 선택적으로 매핑할 수도 있다. 인코더는 팔레트 테이블 및 팔레트 인덱스 맵 파라미터를 비디오 비트스트림에서 송신할 수도 있다. 팔레트 인덱스 맵 파라미터는 코딩 단위에 대한 팔레트 인덱스 맵의 일련의 인덱스를 나타낼 수도 있다. 팔레트 인덱스 맵 파라미터가 송신된 이후, 인코더는, 예를 들면, 테이블 1, 테이블 2, 및 테이블 3 중 하나 이상에서 나타내어지는 바와 같이, 하나 이상의 추가적인 파라미터를 비디오 비트스트림에서 송신할 수도 있다. 이들 추가적인 파라미터는, 이스케이프 컬러 모드로 매핑되는 코딩 단위의 픽셀에 대한 이스케이프 컬러 값을 나타낼 수도 있다.
도 14a는 하나 이상의 개시된 실시형태가 구현될 수도 있는 예시적인 통신 시스템(1400)의 도면이다. 통신 시스템(1400)은 보이스, 데이터, 비디오, 메시징, 브로드캐스트 등등과 같은 콘텐츠를 다수의 무선 유저에게 제공하는 다중 액세스 시스템일 수도 있다. 통신 시스템(1400)은, 무선 대역폭을 포함하는 시스템 리소스의 공유를 통해 다수의 무선 유저가 이러한 콘텐츠에 액세스하는 것을 가능하게 할 수도 있다. 예를 들면, 통신 시스템(1400)은, 코드 분할 다중 액세스(code division multiple access; CDMA), 시분할 다중 액세스(time division multiple access; TDMA), 주파수 분할 다중 액세스(frequency division multiple access; FDMA), 직교 FDMA(orthogonal FDMA; OFDMA), 싱글 캐리어 FDMA(single-carrier FDMA; SC-FDMA), 및 등등과 같은 하나 이상의 채널 액세스 방법을 활용할 수도 있다.
도 14a에서 도시되는 바와 같이, 통신 시스템(1400)은 무선 송수신 유닛(WTRU)(1402a, 1402b, 1402c, 및/또는 1402d)(일반적으로 또는 일괄적으로 WTRU(1402)로 칭해질 수도 있음), 무선 액세스 네트워크(radio access network; RAN)(1403/1404/1405), 코어 네트워크(1406/1407/1409), 공중 교환 전화망(public switched telephone network; PSTN)(1408), 인터넷(1410), 및 다른 네트워크(1412)를 포함할 수도 있지만, 개시된 실시형태는 임의의 수의 WTRU, 기지국(base station), 네트워크, 및/또는 네트워크 엘리먼트를 고려한다는 것을 알 수 있을 것이다. WTRU(1402a, 1402b, 1402c, 1402d)의 각각은 무선 환경에서 동작하도록 및/또는 통신하도록 구성되는 임의의 타입의 디바이스일 수도 있다. 예로서, WTRU(1402a, 1402b, 1402c, 1402d)는 무선 신호를 송신하도록 및/또는 수신하도록 구성될 수도 있고 유저 기기(user equipment; UE), 이동국(mobile station), 고정식 또는 모바일 가입자 유닛, 페이저, 셀룰러 전화, 개인 휴대형 정보 단말기(personal digital assistant; PDA), 스마트폰, 랩탑, 넷북, 퍼스널 컴퓨터, 무선 센서, 가전기기(consumer electronics), 및 등등을 포함할 수도 있다.
통신 시스템(1400)은 기지국(1414a) 및 기지국(1414b)을 또한 포함할 수도 있다. 기지국(1414a, 1414b)의 각각은, 코어 네트워크(1406/1407/1409), 인터넷(1410), 및/또는 다른 네트워크(1412)와 같은 하나 이상의 통신 네트워크에 대한 액세스를 용이하게 하기 위해 WTRU(1402a, 1402b, 1402c, 1402d) 중 적어도 하나와 무선으로 인터페이싱하도록 구성되는 임의의 타입의 디바이스일 수도 있다. 예로서, 기지국(1414a, 1414b)은 기지국 트랜스시버(base transceiver station; BTS), 노드 B, eNode B, 홈 노드 B, 홈 eNode B, 사이트 컨트롤러, 액세스 포인트(AP), 무선 라우터, 및 등등일 수도 있다. 기지국(1414a, 1414b) 각각이 단일의 엘리먼트로서 묘사되지만, 기지국(1414a, 1414b)은 임의의 수의 인터커넥트된(interconnected) 기지국 및/또는 네트워크 엘리먼트를 포함할 수도 있다는 것을 알 수 있을 것이다.
기지국(1414a)은, 기지국 컨트롤러(base station controller; BSC), 무선 네트워크 컨트롤러(radio network controller; RNC), 중계 노드 등등과 같은 다른 기지국 및/또는 네트워크 엘리먼트(도시되지 않음)를 또한 포함할 수도 있는 RAN(1403/1404/1405)의 일부일 수도 있다. 기지국(1414a) 및/또는 기지국(1414b)은 특정 지리적 영역 내에서 무선 신호를 송신하도록 및/또는 수신하도록 구성될 수도 있는데, 특정 지리적 영역은 셀(도시되지 않음)로서 칭해질 수도 있다. 셀은 셀 섹터로 더 분할될 수도 있다. 예를 들면, 기지국(1414a)과 관련되는 셀은 3개의 섹터로 분할될 수도 있다. 따라서, 하나의 실시형태에서, 기지국(1414a)은 3개의 트랜스시버, 즉, 셀의 각각의 섹터에 대해 하나의 트랜스시버를 포함할 수도 있다. 다른 실시형태에서, 기지국(1414a)은 다중입력 다중출력(multiple-input multiple-output; MIMO) 기술을 활용할 수도 있고, 따라서, 셀의 각각의 섹터에 대해 다수의 트랜스시버를 활용할 수도 있다.
기지국(1414a, 1414b)은, 임의의 적절한 무선 통신 링크(예를 들면, 무선 주파수(radio frequency; RF), 마이크로파, 적외선(infrared; IR), 자외선(ultraviolet; UV), 가시광 등등)일 수도 있는 무선 인터페이스(air interface; 1415/1416/1417)를 통해 WTRU(1402a, 1402b, 1402c, 1402d) 중 하나 이상과 통신할 수도 있다. 무선 인터페이스(1415/1416/1417)는 임의의 적절한 무선 액세스 기술(radio access technology; RAT)을 사용하여 확립될 수도 있다.
더 구체적으로는, 위에서 언급된 바와 같이, 통신 시스템(1400)은 다중 액세스 시스템일 수도 있고 CDMA, TDMA, FDMA, OFDMA, SC-FDMA, 및 등등과 같은 하나 이상의 채널 액세스 방식을 활용할 수도 있다. 예를 들면, RAN(1403/1404/1405) 내의 기지국(1414a) 및 WTRU(1402a, 1402b, 1402c)는, 광대역 CDMA(wideband CDMA; WCDMA)를 사용하여 무선 인터페이스(1415/1416/1417)를 확립할 수도 있는, 범용 이동 통신 시스템(Universal Mobile Telecommunications System; UMTS) 지상 무선 액세스(Terrestrial Radio Access)(UTRA)와 같은 무선 기술을 구현할 수도 있다. WCDMA는 고속 패킷 액세스(High-Speed Packet Access; HSPA) 및/또는 진화된 HSPA(Evolved HSPA; HSPA + )와 같은 통신 프로토콜을 포함할 수도 있다. HSPA는 고속 다운링크 패킷 액세스(High-Speed Downlink Packet Access; HSDPA) 및/또는 고속 업링크 패킷 액세스(High-Speed Uplink Packet Access; HSUPA)를 포함할 수도 있다.
다른 실시형태에서, 기지국(1414a) 및 WTRU(1402a, 1402b, 1402c)는, 롱 텀 에볼루션(LTE) 및/또는 LTE-어드밴스드(LTE-Advanced; LTE-A)를 사용하여 무선 인터페이스(1415/1416/1417)를 확립할 수도 있는 무선 기술 예컨대 진화된 UMTS 지상 무선 액세스(Evolved UMTS Terrestrial Radio Access; E-UTRA)를 구현할 수도 있다.
다른 실시형태에서, 기지국(1414a) 및 WTRU(1402a, 1402b, 1402c)는, IEEE 802.16(예를 들면, 와이맥스(Worldwide Interoperability for Microwave Access; WiMAX)), CDMA2000, CDMA2000 1X, CDMA2000 EV-DO, IS-2000(Interim Standard 2000), IS-95(Interim Standard 95), IS-856(Interim Standard 856), 이동 통신용 글로벌 시스템(Global System for Mobile communications; GSM), EDGE(Enhanced Data rates for GSM Evolution), GSM EDGE(GERAN), 및 등등과 같은 무선 기술을 구현할 수도 있다.
도 14a의 기지국(1414b)은, 예를 들면, 무선 라우터, 홈 노드 B, 홈 eNode B, 또는 액세스 포인트일 수도 있고, 사업장, 가정, 차량, 캠퍼스, 및 등등과 같은 국소화된 영역에서 무선 연결성을 용이하게 하기 위한 임의의 적절한 RAT를 활용할 수도 있다. 하나의 실시형태에서, 기지국(1414b) 및 WTRU(1402c, 1402d)는 무선 근거리 통신망(wireless local area network; WLAN)을 확립하기 위해 IEEE 802.11과 같은 무선 기술을 구현할 수도 있다. 다른 실시형태에서, 기지국(1414b) 및 WTRU(1402c, 1402d)는 무선 사설 영역 네트워크(wireless personal area network; WPAN)를 확립하기 위해 IEEE 802.15와 같은 무선 기술을 구현할 수도 있다. 또 다른 실시형태에서, 기지국(1414b) 및 WTRU(1402c, 1402d)는 피코셀 또는 펨토셀을 확립하기 위해 셀룰러 기반 RAT(예를 들면, WCDMA, CDMA2000, GSM, LTE, LTE-A 등등)를 활용할 수도 있다. 도 14a에서 도시되는 바와 같이, 기지국(1414b)은 인터넷(1410)에 대한 직접 연결을 구비할 수도 있다. 따라서, 기지국(1414b)은 코어 네트워크(1406/1407/1409)를 통해 인터넷(1410)에 액세스하도록 요구받지 않을 수도 있다.
RAN(1403/1404/1405)은, WTRU(1402a, 1402b, 1402c, 1402d) 중 하나 이상으로 보이스, 데이터, 애플리케이션, 및/또는 인터넷 전화 프로토콜(voice over internet protocol; VoIP) 서비스를 제공하도록 구성되는 임의의 타입의 네트워크일 수도 있는 코어 네트워크(1406/1407/1409)와 통신할 수도 있다. 예를 들면, 코어 네트워크(1406/1407/1409)는 호 제어(call control), 과금 서비스, 모바일 위치 기반 서비스, 선불 통화, 인터넷 연결성, 비디오 분배 등등을 제공할 수도 있고 및/또는 유저 인증과 같은 하이 레벨의 보안 기능을 수행할 수도 있다. 도 14a에서 도시되지는 않지만, RAN(1403/1404/1405) 및/또는 코어 네트워크(1406/1407/1409)는, RAN(1403/1404/1405)과 동일한 RAT 또는 상이한 RAT를 활용하는 다른 RAN과 직접 또는 간접 통신할 수도 있다는 것을 알 수 있을 것이다. 예를 들면, E-UTRA 무선 기술을 활용할 수도 있는 RAN(1403/1404/1405)에 연결되는 것 외에, 코어 네트워크(1406/1407/1409)는 GSM 무선 기술을 활용하는 다른 RAN(도시되지 않음)과 또한 통신할 수도 있다.
코어 네트워크(1406/1407/1409)는 WTRU(1402a, 1402b, 1402c, 1402d)가 PSTN(1408), 인터넷(1410), 및/또는 다른 네트워크(1412)에 액세스하는 데 게이트웨이로서 또한 기능할 수도 있다. PSTN(1408)은, 기존 전화 서비스(plain old telephone service; POTS)를 제공하는 회선 교환 전화 네트워크를 포함할 수도 있다. 인터넷(1410)은, TCP/IP(transmission control protocol/internet protocol; 전송 제어 프로토콜/인터넷 프로토콜) 일군(suite)에서의 TCP, 유저 데이터그램 프로토콜(user datagram protocol; UDP) 및 IP와 같은 일반적인 통신 프로토콜을 사용하는 인터커넥트된 컴퓨터 네트워크 및 디바이스의 글로벌 시스템을 포함할 수도 있다. 네트워크(1412)는 다른 서비스 공급자에 의해 소유되고/소유되거나 운영되는 유선 또는 무선 통신 네트워크를 포함할 수도 있다. 예를 들면, 네트워크(1412)는, RAN(1403/1404/1405)과 동일한 RAT 또는 상이한 RAT를 활용할 수도 있는 하나 이상의 RAN에 연결되는 다른 코어 네트워크를 포함할 수도 있다.
통신 시스템(1400)에서의 WTRU(1402a, 1402b, 1402c, 1402d) 중 몇몇 또는 전체는 다중 모드 성능을 포함할 수도 있다, 예를 들면, WTRU(1402a, 1402b, 1402c, 1402d)는 상이한 무선 링크를 통해 상이한 무선 네트워크와 통신하기 위한 다수의 트랜스시버를 포함할 수도 있다. 예를 들면, 도 14a에서 도시되는 WTRU(1402c)는, 셀룰러 기반 무선 기술을 활용할 수도 있는 기지국(1414a)과, 그리고 IEEE 802 무선 기술을 활용할 수도 있는 기지국(1414b)과 통신하도록 구성될 수도 있다.
도 14b는 예시적인 WTRU(1402)의 시스템 도면이다. 도 14b에서 도시되는 바와 같이, WTRU(1402)는 프로세서(1418), 트랜스시버(1420), 송신/수신 엘리먼트(1422), 스피커/마이크(1424), 키패드(1426), 디스플레이/터치패드(1428), 비착탈식 메모리(1430), 착탈식 메모리(1432), 전원(1434), 글로벌 포지셔닝 시스템(global positioning system; GPS) 칩셋(1436), 및 다른 주변장치(1438)를 포함할 수도 있다. WTRU(1402)는 한 실시형태와 여전히 일치하면서 상기 엘리먼트의 임의의 부조합을 포함할 수도 있다는 것을 알 수 있을 것이다. 또한, 실시형태는, 기지국(1414a 및 1414b), 및/또는, 다른 것들 중에서도, 기지국 트랜스시버(BTS), 노드 B, 사이트 컨트롤러, 액세스 포인트(AP), 홈 노드 B, 진화형 홈 노드 B(eNodeB), 홈 진화형 노드 B(home evolved node-B; HeNB 또는 HeNodeB), 홈 진화형 노드 B 게이트웨이, 및 프록시 노드와 같은 그러나 이들로 한정되지는 않는, 기지국(1414a 및 1414b)이 나타낼 수도 있는 노드가, 도 14b에서 묘사되고 본원에서 설명되는 엘리먼트 중 일부 또는 전체를 포함할 수도 있다는 것을 고려한다.
프로세서(1418)는 범용 프로세서, 특수 목적의 프로세서, 종래의 프로세서, 디지털 신호 프로세서(digital signal processor; DSP), 복수의 마이크로프로세서, DSP 코어와 관련하는 하나 이상의 마이크로프로세서, 컨트롤러, 마이크로컨트롤러, 주문형 반도체(Application Specific Integrated Circuit; ASIC), 필드 프로그래머블 게이트 어레이(Field Programmable Gate Array; FPGA) 회로, 임의의 다른 타입의 집적 회로(integrated circuit; IC), 상태 머신, 및 등등일 수도 있다. 프로세서(1418)는 신호 코딩, 데이터 프로세싱, 전력 제어, 입/출력 프로세싱, 및/또는 WTRU(1402)가 무선 환경에서 동작하는 것을 가능하게 하는 임의의 다른 기능성(functionality)을 수행할 수도 있다. 프로세서(1418)는, 송신/수신 엘리먼트(1422)에 커플링될 수도 있는 트랜스시버(1420)에 커플링될 수도 있다. 도 14b가 프로세서(1418)와 트랜스시버(1420)를 별개의 컴포넌트로서 묘사하지만, 프로세서(1418)와 트랜스시버(1420)는 전자적 패키지 또는 칩에 함께 통합될 수도 있다는 것을 알 수 있을 것이다.
송신/수신 엘리먼트(1422)는 무선 인터페이스(1415/1416/1417)를 통해 기지국(예를 들면, 기지국(1414a))으로 신호를 송신하거나, 또는 그 기지국으로부터 신호를 수신하도록 구성될 수도 있다. 예를 들면, 하나의 실시형태에서, 송신/수신 엘리먼트(1422)는 RF 신호를 송신하도록 및/또는 수신하도록 구성되는 안테나일 수도 있다. 다른 실시형태에서, 송신/수신 엘리먼트(1422)는, 예를 들면, IR, UV, 또는 가시광 신호를 송신하도록 및/또는 수신하도록 구성되는 방출기(emitter)/검출기일 수도 있다. 또 다른 실시형태에서, 송신/수신 엘리먼트(1422)는 RF 및 광 신호 둘 다를 송신하도록 그리고 수신하도록 구성될 수도 있다. 송신/수신 엘리먼트(1422)는 무선 신호의 임의의 조합을 송신하도록 및/또는 수신하도록 구성될 수도 있다는 것을 알 수 있을 것이다.
또한, 송신/수신 엘리먼트(1422)가 도 14b에서 단일의 엘리먼트로서 묘사되지만, WTRU(1402)는 임의의 수의 송신/수신 엘리먼트(1422)를 포함할 수도 있다. 더 구체적으로는, WTRU(1402)는 MIMO 기술을 활용할 수도 있다. 따라서, 하나의 실시형태에서, WTRU(1402)는, 무선 인터페이스(1415/1416/1417)를 통해 무선 신호를 송신하기 위한 그리고 수신하기 위한 두 개 이상의 송신/수신 엘리먼트(1422)(예를 들면, 다수의 안테나)를 포함할 수도 있다.
트랜스시버(1420)는, 송신/수신 엘리먼트(1422)에 의해 송신될 신호를 변조하도록 그리고 송신/수신 엘리먼트(1422)에 의해 수신되는 신호를 복조하도록 구성될 수도 있다. 위에서 언급된 바와 같이, WTRU(1402)는 다중 모드 성능을 가질 수도 있다. 따라서, 트랜스시버(1420)는, WTRU(1402)가, 예를 들면, UTRA 및 IEEE 802.11과 같은 다수의 RAT를 통해 통신하는 것을 가능하게 하기 위한 다수의 트랜스시버를 포함할 수도 있다.
WTRU(1402)의 프로세서(1418)는, 스피커/마이크(1424), 키패드(1426), 및/또는 디스플레이/터치패드(1428)(예를 들면, 액정 디스플레이(liquid crystal display; LCD) 디스플레이 유닛 또는 유기 발광 다이오드(organic light- emitting diode; OLED) 디스플레이 유닛)에 커플링될 수도 있고, 그리고 이들로부터 유저 입력 데이터를 수신할 수도 있다. 프로세서(1418)는 유저 데이터를 스피커/마이크(1424), 키패드(1426), 및/또는 디스플레이/터치패드(1428)로 또한 출력할 수도 있다. 또한, 프로세서(1418)는, 비착탈식 메모리(1430) 및/또는 착탈식 메모리(1432)와 같은 임의의 타입의 적절한 메모리로부터의 정보에 액세스할 수도 있고, 그리고 그 임의의 타입의 적절한 메모리에 데이터를 저장할 수도 있다. 비착탈식 메모리(1430)는 랜덤 액세스 메모리(random-access memory; RAM), 리드 온리 메모리(read-only memory; ROM), 하드디스크, 또는 임의의 다른 타입의 메모리 스토리지 디바이스를 포함할 수도 있다. 착탈식 메모리(1432)는 가입자 식별 모듈(subscriber identity module; SIM) 카드, 메모리 스틱, 시큐어 디지털(secure digital; SD) 메모리 카드, 및 등등을 포함할 수도 있다. 다른 실시형태에서, 프로세서(1418)는, 서버 또는 가정용 컴퓨터(도시되지 않음)와 같은 WTRU(1402)에 물리적으로 위치되지 않는 메모리로부터의 정보에 액세스할 수도 있고, 그리고 그 메모리에 데이터를 저장할 수도 있다.
프로세서(1418)는 전원(1434)으로부터 전력을 수신할 수도 있고, WTRU(1402)의 다른 컴포넌트로 전력을 분배하도록 및/또는 그 전력을 제어하도록 구성될 수도 있다. 전원(1434)은 WTRU(1402)에 전력을 공급하기 위한 임의의 적절한 디바이스일 수도 있다. 예를 들면, 전원(1434)은 하나 이상의 드라이 셀 배터리(예를 들면, 니켈 카드뮴(NiCd), 니켈 아연(NiZn), 니켈 금속 수소(NiMH), 리튬 이온(Li ion) 등등), 솔라 셀, 연료 전지, 및 등등을 포함할 수도 있다.
프로세서(1418)는, WTRU(1402)의 현재 위치에 관한 위치 정보(예를 들면, 경도 및 위도)를 제공하도록 구성될 수도 있는 GPS 칩셋(1436)에 또한 커플링될 수도 있다. 또한, GPS 칩셋(1436)으로부터의 정보 외에, 또는 그 정보 대신, WTRU(1402)는 무선 인터페이스(1415/1416/1417)를 통해 기지국(예를 들면, 기지국(1414a, 1414b))으로부터 위치 정보를 수신할 수도 있고/있거나 두 개 이상의 가까운 기지국으로부터 수신되고 있는 신호의 타이밍에 기초하여 자신의 위치를 결정할 수도 있다. WTRU(1402)는 한 실시형태와 여전히 일치하면서 임의의 적절한 위치 결정 방법 구현예를 통해 위치 정보를 획득할 수도 있다는 것을 알 수 있을 것이다.
프로세서(1418)는, 추가적인 피쳐, 기능성, 및/또는 유선 또는 무선 연결성을 제공하는 하나 이상의 소프트웨어 및/또는 하드웨어 모듈을 포함할 수도 있는 다른 주변장치(1438)에 추가로 커플링될 수도 있다. 예를 들면, 주변장치(1438)는 가속도계, 전자 콤파스, 위성 트랜스시버, (사진 및 비디오용의) 디지털 카메라, 범용 직렬 버스(universal serial bus; USB) 포트, 진동 디바이스, 텔레비전 트랜스시버, 핸즈프리 헤드셋, Bluetooth® 모듈, 주파수 변조(frequency modulated; FM) 라디오 유닛, 디지털 뮤직 플레이어, 미디어 플레이어, 비디오 게임 플레이어 모듈, 인터넷 브라우저, 및 등등을 포함할 수도 있다.
도 14c는 한 실시형태에 따른 RAN(1403)과 코어 네트워크(1406)의 시스템 도면이다. 위에서 언급된 바와 같이, RAN(1403)은 무선 인터페이스(1415)를 통해 WTRU(1402a, 1402b, 1402c)와 통신하기 위해 UTRA 무선 기술을 활용할 수도 있다. RAN(1403)은 코어 네트워크(1406)와 또한 통신할 수도 있다. 도 14c에서 도시되는 바와 같이, RAN(1403)은, 무선 인터페이스(1415)를 통해 WTRU(1402a, 1402b, 1402c)와 통신하기 위한 하나 이상의 트랜스시버를 각각 포함할 수도 있는 노드 B(1440a, 1440b, 1440c)를 포함할 수도 있다. 노드 B(1440a, 1440b, 1440c) 각각은 RAN(1403) 내의 특정 셀(도시되지 않음)과 관련될 수도 있다. RAN(1403)은 RNC(1442a, 1442b)를 또한 포함할 수도 있다. RAN(1403)은, 한 실시형태와 여전히 일치하면서, 임의의 수의 노드 B 및 RNC를 포함할 수도 있다는 것을 알 수 있을 것이다.
도 14c에서 도시되는 바와 같이, 노드 B(1440a, 1440b)는 RNC(1442a)와 통신할 수도 있다. 추가적으로, 노드 B(1440c)는 RNC(1442b)와 통신할 수도 있다. 노드 B(1440a, 1440b, 1440c)는 Iub 인터페이스를 통해 각각의 RNC(1442a, 1442b)와 통신할 수도 있다. RNC(1442a, 1442b)는 다른 Iur 인터페이스를 통해 서로 통신할 수도 있다. RNC(1442a, 1442b)의 각각은, 자신이 연결되는 각각의 노드 B(1440a, 1440b, 1440c)를 제어하도록 구성될 수도 있다. 또한, RNC(1442a, 1442b)의 각각은 다른 기능성, 예컨대 외부 루프 전력 제어, 부하 제어, 수락 제어(admission control), 패킷 스케줄링, 핸드오버 제어, 매크로다이버시티, 보안 기능, 데이터 암호화, 및 등등을 수행하도록 또는 지원하도록 구성될 수도 있다.
도 14c에서 도시되는 코어 네트워크(1406)는 미디어 게이트웨이(media gateway; MGW)(1444), 모바일 스위칭 센터(mobile switching center; MSC)(1446), 서빙 GPRS 지원 노드(serving GPRS support node; SGSN)(1448), 및/또는 게이트웨이 GPRS 지원 노드(gateway GPRS support node; GGSN)(1450)를 포함할 수도 있다. 상기 엘리먼트의 각각이 코어 네트워크(1406)의 일부로서 묘사되지만, 이들 엘리먼트 중 임의의 하나는 코어 네트워크 운영자 이외의 엔티티에 의해 소유되고/소유되거나 운영될 수도 있다는 것을 알 수 있을 것이다.
RAN(1403)에서의 RNC(1442a)는 IuCS 인터페이스를 통해 코어 네트워크(1406)의 MSC(1446)에 연결될 수도 있다. MSC(1446)는 MGW(1444)에 연결될 수도 있다. MSC(1446) 및 MGW(1444)는, WTRU(1402a, 1402b, 1402c)와 전통적인 지상 회선(land-line) 통신 디바이스 사이의 통신을 용이하게 하기 위해, PSTN(1408)과 같은 회선 교환 네트워크에 대한 액세스를 WTRU(1402a, 1402b, 1402c)에게 제공할 수도 있다.
RAN(1403)에서의 RNC(1442a)는 IuPS 인터페이스를 통해 코어 네트워크(1406)의 SGSN(1448)에 또한 연결될 수도 있다. SGSN(1448)은 GGSN(1450)에 연결될 수도 있다. SGSN(1448) 및 GGSN(1450)은, WTRU(1402a, 1402b, 1402c)와 IP 대응 디바이스(IP-enabled device) 사이의 통신을 용이하게 하기 위해, 패킷 교환 네트워크, 예컨대 인터넷(1410)에 대한 액세스를 WTRU(1402a, 1402b, 1402c)에게 제공할 수도 있다.
위에서 언급된 바와 같이, 코어 네트워크(1406)는 네트워크(1412)에 또한 연결될 수도 있는데, 네트워크(1412)는 다른 서비스 공급자에 의해 소유되고/소유되거나 운영되는 다른 유선 또는 무선 네트워크를 포함할 수도 있다.
도 14d는 한 실시형태에 따른 RAN(1404)과 코어 네트워크(1407)의 시스템 도면이다. 위에서 언급된 바와 같이, RAN(1404)은 무선 인터페이스(1416)를 통해 WTRU(1402a, 1402b, 1402c)와 통신하기 위해 E-UTRA 무선 기술을 활용할 수도 있다. RAN(1404)은 코어 네트워크(1407)와 또한 통신할 수도 있다.
RAN(1404)은 eNode B(1460a, 1460b, 1460c)를 포함할 수도 있지만, RAN(1404)은 한 실시형태와 여전히 일치하면서 임의의 수의 eNode B를 포함할 수도 있다. eNode B(1460a, 1460b, 1460c) 각각은 무선 인터페이스(1416)를 통해 WTRU(1402a, 1402b, 1402c)와 통신하기 위한 하나 이상의 트랜스시버를 포함할 수도 있다. 하나의 실시형태에서, eNode B(1460a, 1460b, 1460c)는 MIMO 기술을 구현할 수도 있다. 따라서, eNode B(1460a)는, 예를 들면, WTRU(1402a)로 무선 신호를 송신하고 그 WTRU(1402a)로부터 무선 신호를 수신하기 위해 다수의 안테나를 사용할 수도 있다.
eNode B(1460a, 1460b, 1460c)의 각각은 특정 셀(도시되지 않음)과 관련될 수도 있고 무선 리소스 관리 결정, 핸드오버 결정, 업링크 및/또는 다운링크에서의 유저의 스케줄링, 및 등등을 핸들링하도록 구성될 수도 있다. 도 14d에서 도시되는 바와 같이, eNode B(1460a, 1460b, 1460c)는 X2 인터페이스를 통해 서로 통신할 수도 있다.
도 14d에서 도시되는 코어 네트워크(1407)는 이동성 관리 엔티티 게이트웨이(mobility management entity gateway; MME)(1462), 서빙 게이트웨이(1464), 및 패킷 데이터 네트워크(packet data network; PDN) 게이트웨이(1466)를 포함할 수도 있다. 상기 엘리먼트의 각각이 코어 네트워크(1407)의 일부로서 묘사되지만, 이들 엘리먼트 중 임의의 하나는 코어 네트워크 운영자 이외의 엔티티에 의해 소유되고/소유되거나 운영될 수도 있다는 것을 알 수 있을 것이다.
MME(1462)는 S1 인터페이스를 통해 RAN(1404) 내의 eNode B(1460a, 1460b, 1460c)의 각각에 연결될 수도 있고 제어 노드로서 기능할 수도 있다. 예를 들면, MME(1462)는 WTRU(1402a, 1402b, 1402c)의 유저를 인증하는 것, 베어러 활성화/비활성화, WTRU(1402a, 1402b, 1402c)의 초기 연결 동안 특정 서빙 게이트웨이를 선택하는 것, 및 등등을 담당할 수도 있다. MME(1462)는, GSM 또는 WCDMA와 같은 다른 무선 기술을 활용하는 다른 RAN(도시되지 않음)과 RAN(1404) 사이를 스위칭하기 위한 제어 플레인 기능을 또한 제공할 수도 있다.
서빙 게이트웨이(1464)는 S1 인터페이스를 통해 RAN(1404) 내의 eNode B(1460a, 1460b, 1460c)의 각각에 연결될 수도 있다. 서빙 게이트웨이(1464)는 일반적으로 유저 데이터 패킷을 WTRU(1402a, 1402b, 1402c)로 라우팅하고 WTRU(1402a, 1402b, 1402c)로부터 포워딩할 수도 있다. 서빙 게이트웨이(1464)는 다른 기능, 예컨대 eNode B간 핸드오버 동안 유저 플레인을 앵커링하는 것, 다운링크 데이터가 WTRU(1402a, 1402b, 1402c)에 대해 이용가능할 때 페이징을 트리거하는 것, WTRU(1402a, 1402b, 1402c)의 상황(context)를 관리하고 저장하는 것, 및 등등을 또한 수행할 수도 있다.
서빙 게이트웨이(1464)는, WTRU(1402a, 1402b, 1402c)와 IP 대응 디바이스 사이의 통신을 용이하게 하기 위해, 인터넷(1410)과 같은 패킷 교환 네트워크에 대한 액세스를 WTRU(1402a, 1402b, 1402c)에 제공할 수도 있는 PDN 게이트웨이(1466)에 또한 연결될 수도 있다.
코어 네트워크(1407)는 다른 네트워크와의 통신을 용이하게 할 수도 있다. 예를 들면, 코어 네트워크(1407)는, WTRU(1402a, 1402b, 1402c)와 전통적인 지상 회선 통신 디바이스 사이의 통신을 용이하게 하기 위해, PSTN(1408)과 같은 회선 교환 네트워크에 대한 액세스를 WTRU(1402a, 1402b, 1402c)에게 제공할 수도 있다. 예를 들면, 코어 네트워크(1407)는, 코어 네트워크(1407)와 PSTN(1408) 사이의 인터페이스로서 기능하는 IP 게이트웨이(예를 들면, IP 멀티미디어 서브시스템(IP multimedia subsystem; IMS) 서버)를 포함할 수도 있거나, 또는 그 IP 게이트웨이와 통신할 수도 있다. 또한, 코어 네트워크(1407)는, 다른 서비스 공급자에 의해 소유되고/소유되거나 운영되는 다른 유선 또는 무선 네트워크를 포함할 수도 있는 네트워크(1412)에 대한 액세스를 WTRU(1402a, 1402b, 1402c)에게 제공할 수도 있다.
도 14e는 한 실시형태에 따른 RAN(1405)과 코어 네트워크(1409)의 시스템 도면이다. RAN(1405)은, 무선 인터페이스(1417)를 통해 WTRU(1402a, 1402b, 1402c)와 통신하기 위해 IEEE 802.16 무선 기술을 활용하는 액세스 서비스 네트워크(access service network; ASN)일 수도 있다. 하기에 더 논의되는 바와 같이, WTRU(1402a, 1402b, 1402c), RAN(1405), 및 코어 네트워크(1409)의 상이한 기능적 엔티티 사이의 통신 링크는 참조 포인트(reference point)로서 정의될 수도 있다.
도 14e에서 도시되는 바와 같이, RAN(1405)은 기지국(1480a, 1480b, 1480c) 및 ASN 게이트웨이(1482)를 포함할 수도 있지만, RAN(1405)은, 실시형태와 여전히 일치하면서, 임의의 수의 기지국 및 ASN 게이트웨이를 포함할 수도 있다는 것을 알 수 있을 것이다. 기지국(1480a, 1480b, 1480c) 각각은, RAN(1405) 내의 특정 셀(도시되지 않음)과 관련될 수도 있고 무선 인터페이스(1417)를 통해 WTRU(1402a, 1402b, 1402c)와 통신하기 위한 하나 이상의 트랜스시버를 포함할 수도 있다. 하나의 실시형태에서, 기지국(1480a, 1480b, 1480c)은 MIMO 기술을 구현할 수도 있다. 따라서, 기지국(1480a)은, 예를 들면, WTRU(1402a)로 무선 신호를 송신하고 그 WTRU(1402a)로부터 무선 신호를 수신하기 위해 다수의 안테나를 사용할 수도 있다. 또한, 기지국(1480a, 1480b, 1480c)은, 핸드오프 트리거링(handoff triggering), 터널 확립, 무선 리소스 관리, 트래픽 분류, 서비스 품질(quality of service; QoS) 정책 강화(enforcement), 및 등등과 같은 이동성 관리 기능을 제공할 수도 있다. ASN 게이트웨이(1482)는 트래픽 집성 포인트(traffic aggregation point)로서 기능할 수도 있으며 페이징, 가입자 프로파일의 캐싱, 코어 네트워크(1409)로의 라우팅, 및 등등을 담당할 수도 있다.
WTRU(1402a, 1402b, 1402c)와 RAN(1405) 사이의 무선 인터페이스(1417)는, IEEE 802.16 명세(specification)를 구현하는 R1 참조 포인트로서 정의될 수도 있다. 또한, WTRU(1402a, 1402b, 1402c)의 각각은 코어 네트워크(1409)와의 논리 인터페이스(logical interface)(도시되지 않음)를 확립할 수도 있다. WTRU(1402a, 1402b, 1402c)와 코어 네트워크(1409) 사이의 논리 인터페이스는 R2 참조 포인트로서 정의될 수도 있는데, R2 참조 포인트는 인증(authentication), 인가(authorization), IP 호스트 구성 관리, 및/또는 이동성 관리를 위해 사용될 수도 있다.
기지국(1480a, 1480b, 1480c) 각각의 사이의 통신 링크는, 기지국 사이의 데이터의 전송 및 WTRU 핸드오버를 용이하게 하기 위한 프로토콜을 포함하는 R8 참조 포인트로서 정의될 수도 있다. 기지국(1480a, 1480b, 1480c)과 ASN 게이트웨이(1482) 사이의 통신 링크는 R6 참조 포인트로서 정의될 수도 있다. R6 참조 포인트는 WTRU(1402a, 1402b, 1402c)의 각각과 관련되는 이동성 이벤트에 기초하여 이동성 관리를 용이하게 하기 위한 프로토콜을 포함할 수도 있다.
도 14e에서 도시되는 바와 같이, RAN(1405)은 코어 네트워크(1409)에 연결될 수도 있다. RAN(1405)과 코어 네트워크(1409) 사이의 통신 링크는, 예를 들면, 데이터 전송 및 이동성 관리 성능을 용이하게 하기 위한 프로토콜을 포함하는 R3 참조 포인트로서 정의될 수도 있다. 코어 네트워크(1409)는 모바일 IP 홈 에이전트(mobile IP home agent; MIP-HA)(1484), 인증, 인가, 어카운팅(authentication, authorization, accounting; AAA) 서버(1486), 및 게이트웨이(1488)를 포함할 수도 있다. 상기 엘리먼트의 각각이 코어 네트워크(1409)의 일부로서 묘사되지만, 이들 엘리먼트 중 임의의 하나는 코어 네트워크 운영자 이외의 엔티티에 의해 소유되고/소유되거나 운영될 수도 있다는 것을 알 수 있을 것이다.
MIP-HA는 IP 어드레스 관리를 담당할 수도 있고, WTRU(1402a, 1402b, 1402c)가 상이한 ASN 및/또는 상이한 코어 네트워크 사이에서 로밍하는 것을 가능하게 할 수도 있다. MIP-HA(1484)는, WTRU(1402a, 1402b, 1402c)와 IP 대응 디바이스 사이의 통신을 용이하게 하기 위해, 패킷 교환 네트워크, 예컨대 인터넷(1410)에 대한 액세스를 WTRU(1402a, 1402b, 1402c)에게 제공할 수도 있다. AAA 서버(1486)는 유저 인증 및 유저 서비스 지원을 담당할 수도 있다. 게이트웨이(1488)는 다른 네트워크와의 상호연동(interworking)을 용이하게 할 수도 있다. 예를 들면, 게이트웨이(1488)는, WTRU(1402a, 1402b, 1402c)와 전통적인 지상 회선 통신 디바이스 사이의 통신을 용이하게 하기 위해, PSTN(1408)과 같은 회선 교환 네트워크에 대한 액세스를 WTRU(1402a, 1402b, 1402c)에게 제공할 수도 있다. 또한, 게이트웨이(1488)는, 다른 서비스 공급자에 의해 소유되고/소유되거나 운영되는 다른 유선 또는 무선 네트워크를 포함할 수도 있는 네트워크(1412)에 대한 액세스를 WTRU(1402a, 1402b, 1402c)에게 제공할 수도 있다.
도 14e에서 도시되지는 않지만, RAN(1405)은 다른 ASN에 연결될 수도 있고 코어 네트워크(1409)는 다른 코어 네트워크에 연결될 수도 있다는 것을 알 수 있을 것이다. RAN(1405)과 다른 ASN 사이의 통신 링크는 R4 참조 포인트로서 정의될 수도 있는데, R4 참조 포인트는 RAN(1405)과 다른 ASN 사이에서 WTRU(1402a, 1402b, 1402c)의 이동성을 조정하기(coordinating) 위한 프로토콜을 포함할 수도 있다. 코어 네트워크(1409)와 다른 코어 네트워크 사이의 통신 링크는 R5 참조로서 정의될 수도 있는데, R5 참조는 홈 코어 네트워크와 방문 코어 네트워크(visited core network) 사이에서의 상호연동을 용이하게 하기 위한 프로토콜을 포함할 수도 있다.
본원에서 설명되는 프로세스 및 수단(instrumentality)은 임의의 조합으로 적용될 수도 있고, 다른 무선 기술에, 그리고 다른 서비스를 위해 적용될 수도 있다.
WTRU는 물리적 디바이스의 아이덴티티를 가리킬 수도 있거나, 또는 가입 관련 아이덴티티, 예를 들면, MSISDN, SIP URI 등등과 같은 유저의 아이덴티티를 가리킬 수도 있다. WTRU는 애플리케이션 기반 아이덴티티, 예를 들면, 애플리케이션마다 사용될 수도 있는 유저명을 참조할 수도 있다.
상기에서 설명되는 프로세스는, 컴퓨터 및/또는 프로세서에 의한 실행을 위해 컴퓨터 판독가능 매체에 통합되는 컴퓨터 프로그램, 소프트웨어, 및/또는 펌웨어로 구현될 수도 있다. 컴퓨터 판독가능 매체의 예는 전자 신호(유선 및/또는 무선 연결을 통해 송신됨) 및/또는 컴퓨터 판독가능 저장 매체를 포함하지만, 이들로 제한되지는 않는다. 컴퓨터 판독가능 저장 매체의 예는, 리드 온리 메모리(ROM), 랜덤 액세스 메모리(RAM), 레지스터, 캐시 메모리, 반도체 메모리 디바이스, 내장 하드 디스크 및 착탈식 디스크와 같은 그러나 이들로 제한되지 않는 자기 매체, 광자기 매체, 및/또는 CD-ROM 디스크 및/또는 디지털 다기능 디스크(digital versatile disk; DVD)와 같은 광학 매체를 포함하지만, 이들로 제한되지는 않는다. WTRU, UE, 단말, 기지국, RNC, 및/또는 임의의 호스트 컴퓨터에서 사용하기 위한 무선 주파수 트랜스시버를 구현하기 위해, 소프트웨어와 관련한 프로세서가 사용될 수도 있다.

Claims (20)

  1. 비디오 데이터를 팔레트 코딩하는 방법으로서,
    복수의 주 컬러(major color)들 중 각각의 컬러들에 대응하는 복수의 컬러 인덱스들을 포함하는 팔레트 테이블을 생성하는 단계;
    픽셀의 컬러가 주 컬러와 관련되는 경우에 상기 팔레트 테이블 내의 컬러 인덱스에 비디오 데이터의 픽셀을 매핑하고, 상기 픽셀의 컬러가 주 컬러와 관련되지 않는 경우에 이스케이프 컬러 인덱스(escape color index)에 상기 비디오 데이터의 픽셀을 매핑하는, 팔레트 인덱스 맵을 생성하는 단계; 및
    상기 팔레트 인덱스 맵에 기초하여 팔레트 인덱스 예측 데이터를 생성하는 단계 - 상기 팔레트 인덱스 예측 데이터는 런 값(run value)들을 상기 팔레트 인덱스 맵의 적어도 일부에 대한 인덱스 값들과 관련시키는 런 값 데이터를 포함하고, 상기 런 값 데이터의 적어도 하나의 런 값은 상기 이스케이프 컬러 인덱스와 관련됨 -
    를 포함하는, 비디오 데이터를 팔레트 코딩하는 방법.
  2. 제1항에 있어서,
    상기 이스케이프 컬러 인덱스는 상기 팔레트 테이블의 복수의 컬러 인덱스들 중 최대 컬러 인덱스보다 큰 것인, 비디오 데이터를 팔레트 코딩하는 방법.
  3. 제1항에 있어서,
    상기 이스케이프 컬러 인덱스는 상기 팔레트 테이블의 사이즈에 대응하는 것인, 비디오 데이터를 팔레트 코딩하는 방법.
  4. 제1항에 있어서,
    상기 적어도 하나의 런 값은 런 모드(run mode)로 인코딩될 연속하는 픽셀들의 수를 나타내고, 상기 연속하는 픽셀들 중 적어도 하나의 픽셀은 상기 이스케이프 컬러 인덱스를 사용하여 코딩되는 것인, 비디오 데이터를 팔레트 코딩하는 방법.
  5. 제1항에 있어서,
    상기 적어도 하나의 런 값은 카피 모드(copy mode)로 인코딩될 연속하는 픽셀들의 수를 나타내고, 상기 연속하는 픽셀들 중 적어도 하나의 픽셀은 상기 이스케이프 컬러 인덱스를 사용하여 코딩되는 것인, 비디오 데이터를 팔레트 코딩하는 방법.
  6. 제1항에 있어서,
    상기 적어도 하나의 런 값은 연속하는 픽셀들의 수를 나타내고, 상기 연속하는 픽셀들 중 적어도 하나의 픽셀은 상기 이스케이프 컬러 인덱스를 사용하여 코딩되고, 상기 연속하는 픽셀들 중 적어도 하나의 픽셀 각각에 대하여 이스케이프 컬러 값들이 코딩되는 것인, 비디오 데이터를 팔레트 코딩하는 방법.
  7. 제1항에 있어서,
    상기 팔레트 테이블 및 상기 팔레트 인덱스 예측 데이터를 디코더를 향해 전송하는 단계를 더 포함하는, 비디오 데이터를 팔레트 코딩하는 방법.
  8. 비디오 데이터를 팔레트 코딩하는 장치로서, 상기 장치는 하나 이상의 프로세서를 포함하고,
    상기 하나 이상의 프로세서는,
    복수의 주 컬러들 중 각각의 컬러들에 대응하는 복수의 컬러 인덱스들을 포함하는 팔레트 테이블을 생성하고;
    픽셀의 컬러가 주 컬러와 관련되는 경우에 상기 팔레트 테이블 내의 컬러 인덱스에 비디오 데이터의 픽셀을 매핑하고, 상기 픽셀의 컬러가 주 컬러와 관련되지 않는 경우에 이스케이프 컬러 인덱스에 상기 비디오 데이터의 픽셀을 매핑하는, 팔레트 인덱스 맵을 생성하고;
    상기 팔레트 인덱스 맵에 기초하여 팔레트 인덱스 예측 데이터 - 상기 팔레트 인덱스 예측 데이터는 런 값들을 상기 팔레트 인덱스 맵의 적어도 일부에 대한 인덱스 값들과 관련시키는 런 값 데이터를 포함하고, 상기 런 값 데이터의 적어도 하나의 런 값은 상기 이스케이프 컬러 인덱스와 관련됨 - 를 생성하도록
    구성되는 것인, 비디오 데이터를 팔레트 코딩하는 장치.
  9. 제8항에 있어서,
    상기 이스케이프 컬러 인덱스는 상기 팔레트 테이블의 복수의 컬러 인덱스들 중 최대 컬러 인덱스보다 큰 것인, 비디오 데이터를 팔레트 코딩하는 장치.
  10. 제8항에 있어서,
    상기 이스케이프 컬러 인덱스는 상기 팔레트 테이블의 사이즈에 대응하는 것인, 비디오 데이터를 팔레트 코딩하는 장치.
  11. 제8항에 있어서,
    상기 적어도 하나의 런 값은 런 모드로 인코딩될 연속하는 픽셀들의 수를 나타내고, 상기 연속하는 픽셀들 중 적어도 하나의 픽셀은 상기 이스케이프 컬러 인덱스를 사용하여 코딩되는 것인, 비디오 데이터를 팔레트 코딩하는 장치.
  12. 제8항에 있어서,
    상기 적어도 하나의 런 값은 카피 모드로 인코딩될 연속하는 픽셀들의 수를 나타내고, 상기 연속하는 픽셀들 중 적어도 하나의 픽셀은 상기 이스케이프 컬러 인덱스를 사용하여 코딩되는 것인, 비디오 데이터를 팔레트 코딩하는 장치.
  13. 제8항에 있어서,
    상기 적어도 하나의 런 값은 연속하는 픽셀들의 수를 나타내고, 상기 연속하는 픽셀들 중 적어도 하나의 픽셀은 상기 이스케이프 컬러 인덱스를 사용하여 코딩되고, 상기 연속하는 픽셀들 중 적어도 하나의 픽셀 각각에 대하여 이스케이프 컬러 값들이 코딩되는 것인, 비디오 데이터를 팔레트 코딩하는 장치.
  14. 제8항에 있어서,
    상기 하나 이상의 프로세서는 상기 팔레트 테이블 및 상기 팔레트 인덱스 예측 데이터를 디코더를 향해 전송하도록 구성되는 것인, 비디오 데이터를 팔레트 코딩하는 장치.
  15. 비디오 데이터를 팔레트 코딩하는 방법으로서,
    복수의 컬러들 중 각각의 컬러들에 대응하는 복수의 컬러 인덱스들을 포함하는 팔레트 테이블을 획득하는 단계;
    팔레트 인덱스 맵 파라미터들을 획득하는 단계 - 상기 팔레트 인덱스 맵 파라미터들은 이스케이프 컬러 모드에 코딩 유닛의 하나 이상의 픽셀을 매핑하는 이스케이프 컬러 인덱스를 포함하는 일련의 컬러 인덱스들을 나타냄 - ;
    상기 팔레트 인덱스 맵 파라미터들에 기초하여, 팔레트 인덱스 맵에 의해 상기 이스케이프 컬러 모드에 매핑된 상기 코딩 유닛의 상기 하나 이상의 픽셀을 결정하는 단계;
    상기 코딩 유닛에 대한 상기 팔레트 인덱스 맵 파라미터들을 획득한 후에, 상기 이스케이프 컬러 모드에 매핑된 상기 코딩 유닛의 상기 하나 이상의 픽셀에 대한 적어도 하나의 이스케이프 컬러 값을 나타내는 이스케이프 컬러 파라미터들을 획득하는 단계; 및
    상기 획득된 팔레트 인덱스 맵 파라미터들 및 상기 획득된 이스케이프 컬러 파라미터들에 기초하여 상기 코딩 유닛을 재구성하는 단계
    를 포함하는, 비디오 데이터를 팔레트 코딩하는 방법.
  16. 제15항에 있어서,
    상기 일련의 컬러 인덱스들은 상기 팔레트 테이블의 주 컬러에 상기 코딩 유닛의 하나 이상의 픽셀을 매핑하는 컬러 인덱스를 포함하는 것인, 비디오 데이터를 팔레트 코딩하는 방법.
  17. 제15항에 있어서,
    상기 팔레트 인덱스 맵에 의해 상기 이스케이프 컬러 모드에 매핑된 상기 코딩 유닛의 상기 하나 이상의 픽셀에 대한 컬러들은 상기 획득된 이스케이프 컬러 파라미터들에 기초하여 재구성되는 것인, 비디오 데이터를 팔레트 코딩하는 방법.
  18. 비디오 데이터를 팔레트 코딩하는 장치로서, 상기 장치는 하나 이상의 프로세서를 포함하고,
    상기 하나 이상의 프로세서는,
    복수의 컬러들 중 각각의 컬러들에 대응하는 복수의 컬러 인덱스들을 포함하는 팔레트 테이블을 획득하고;
    이스케이프 컬러 모드에 코딩 유닛의 하나 이상의 픽셀을 매핑하는 이스케이프 컬러 인덱스를 포함하는 일련의 컬러 인덱스들을 나타내는 팔레트 인덱스 맵 파라미터들을 획득하고;
    상기 팔레트 인덱스 맵 파라미터들에 기초하여, 팔레트 인덱스 맵에 의해 상기 이스케이프 컬러 모드에 매핑된 상기 코딩 유닛의 상기 하나 이상의 픽셀을 결정하고;
    상기 코딩 유닛에 대한 상기 팔레트 인덱스 맵 파라미터들을 획득한 후에 상기 이스케이프 컬러 모드에 매핑된 상기 코딩 유닛의 상기 하나 이상의 픽셀에 대한 적어도 하나의 이스케이프 컬러 값을 나타내는 이스케이프 컬러 파라미터들을 획득하고;
    상기 획득된 팔레트 인덱스 맵 파라미터들 및 상기 획득된 이스케이프 컬러 파라미터들에 기초하여 상기 코딩 유닛을 재구성하도록
    구성되는 것인, 비디오 데이터를 팔레트 코딩하는 장치.
  19. 제18항에 있어서,
    상기 팔레트 인덱스 맵에 의해 상기 이스케이프 컬러 모드에 매핑된 상기 코딩 유닛의 상기 하나 이상의 픽셀에 대한 컬러들은 상기 획득된 이스케이프 컬러 파라미터들에 기초하여 재구성되는 것인, 비디오 데이터를 팔레트 코딩하는 장치.
  20. ◈청구항 20은(는) 설정등록료 납부시 포기되었습니다.◈
    비디오 데이터를 팔레트 코딩하는 방법으로서,
    복수의 컬러들 중 각각의 컬러들에 대응하는 복수의 컬러 인덱스들을 포함하는 팔레트 테이블을 생성하는 단계;
    코딩 유닛에 대한 팔레트 인덱스 맵을 생성하는 단계 - 상기 팔레트 인덱스 맵은 일련의 컬러 인덱스들을 포함하고, 상기 일련의 컬러 인덱스들 각각은 상기 팔레트 테이블 내의 복수의 인덱스들 중 적어도 하나 또는 이스케이프 컬러 모드를 나타내는 이스케이프 컬러 인덱스로부터 취해지고, 상기 일련의 컬러 인덱스들은 주 컬러들 또는 상기 이스케이프 컬러 모드에 상기 코딩 유닛의 픽셀들을 선택적으로 매핑함 - ;
    비디오 비트스트림에 상기 팔레트 테이블을 포함시키는 단계;
    상기 코딩 유닛에 대한 상기 팔레트 인덱스 맵의 일련의 컬러 인덱스들을 나타내는 팔레트 인덱스 맵 파라미터들을 상기 비디오 비트스트림에 포함시키는 단계; 및
    상기 팔레트 인덱스 맵 파라미터들 다음에, 상기 이스케이프 컬러 모드에 매핑되는 상기 코딩 유닛의 픽셀들에 대한 이스케이프 컬러 값들을 나타내는 이스케이프 컬러 파라미터들을 상기 비디오 비트스트림에 포함시키는 단계
    를 포함하는, 비디오 데이터를 팔레트 코딩하는 방법.
KR1020187008991A 2014-03-14 2015-03-16 스크린 콘텐츠 코딩을 위한 팔레트 코딩 KR102268090B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020217018550A KR102324004B1 (ko) 2014-03-14 2015-03-16 스크린 콘텐츠 코딩을 위한 팔레트 코딩

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US201461953700P 2014-03-14 2014-03-14
US61/953,700 2014-03-14
US201462041043P 2014-08-23 2014-08-23
US62/041,043 2014-08-23
KR1020167028393A KR101845462B1 (ko) 2014-03-14 2015-03-16 스크린 콘텐츠 코딩을 위한 팔레트 코딩
PCT/US2015/020765 WO2015139040A2 (en) 2014-03-14 2015-03-16 Palette coding for screen content coding

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020167028393A Division KR101845462B1 (ko) 2014-03-14 2015-03-16 스크린 콘텐츠 코딩을 위한 팔레트 코딩

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020217018550A Division KR102324004B1 (ko) 2014-03-14 2015-03-16 스크린 콘텐츠 코딩을 위한 팔레트 코딩

Publications (2)

Publication Number Publication Date
KR20180036795A KR20180036795A (ko) 2018-04-09
KR102268090B1 true KR102268090B1 (ko) 2021-06-23

Family

ID=52811218

Family Applications (4)

Application Number Title Priority Date Filing Date
KR1020167028393A KR101845462B1 (ko) 2014-03-14 2015-03-16 스크린 콘텐츠 코딩을 위한 팔레트 코딩
KR1020217035848A KR102494913B1 (ko) 2014-03-14 2015-03-16 스크린 콘텐츠 코딩을 위한 팔레트 코딩
KR1020217018550A KR102324004B1 (ko) 2014-03-14 2015-03-16 스크린 콘텐츠 코딩을 위한 팔레트 코딩
KR1020187008991A KR102268090B1 (ko) 2014-03-14 2015-03-16 스크린 콘텐츠 코딩을 위한 팔레트 코딩

Family Applications Before (3)

Application Number Title Priority Date Filing Date
KR1020167028393A KR101845462B1 (ko) 2014-03-14 2015-03-16 스크린 콘텐츠 코딩을 위한 팔레트 코딩
KR1020217035848A KR102494913B1 (ko) 2014-03-14 2015-03-16 스크린 콘텐츠 코딩을 위한 팔레트 코딩
KR1020217018550A KR102324004B1 (ko) 2014-03-14 2015-03-16 스크린 콘텐츠 코딩을 위한 팔레트 코딩

Country Status (10)

Country Link
US (3) US10237575B2 (ko)
EP (2) EP4044602A1 (ko)
JP (3) JP6367963B2 (ko)
KR (4) KR101845462B1 (ko)
CN (2) CN110572678B (ko)
IL (1) IL247766B (ko)
MY (1) MY175688A (ko)
PL (1) PL3117617T3 (ko)
TW (1) TWI684353B (ko)
WO (1) WO2015139040A2 (ko)

Families Citing this family (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6336058B2 (ja) 2013-10-14 2018-06-06 マイクロソフト テクノロジー ライセンシング,エルエルシー ビデオ及び画像符号化及び復号のためのベースカラーインデックスマップモードの機能
US10291827B2 (en) 2013-11-22 2019-05-14 Futurewei Technologies, Inc. Advanced screen content coding solution
US10542274B2 (en) 2014-02-21 2020-01-21 Microsoft Technology Licensing, Llc Dictionary encoding and decoding of screen content
CN106030651B (zh) * 2014-03-21 2019-06-07 华为技术有限公司 利用改进的颜色表和索引图编码方法的高级屏幕内容编码
KR20170002611A (ko) * 2014-05-09 2017-01-06 노키아 테크놀로지스 오와이 팔레트 코딩을 사용하는 비디오 인코딩 및 디코딩을 위한 방법 및 기술 장비
US10264285B2 (en) 2014-05-22 2019-04-16 Qualcomm Incorporated Coding runs in palette-based video coding
US10038915B2 (en) * 2014-05-22 2018-07-31 Qualcomm Incorporated Escape sample coding in palette-based video coding
US10750198B2 (en) 2014-05-22 2020-08-18 Qualcomm Incorporated Maximum palette parameters in palette-based video coding
US10091512B2 (en) 2014-05-23 2018-10-02 Futurewei Technologies, Inc. Advanced screen content coding with improved palette table and index map coding methods
US10136141B2 (en) * 2014-06-11 2018-11-20 Qualcomm Incorporated Determining quantization parameter (QP) values and delta QP values for palette coded blocks in video coding
US9924175B2 (en) 2014-06-11 2018-03-20 Qualcomm Incorporated Determining application of deblocking filtering to palette coded blocks in video coding
US9860560B2 (en) * 2014-07-02 2018-01-02 Qualcomm Incorporated Method for palette mode coding
KR101962458B1 (ko) * 2014-07-07 2019-03-26 에이치에프아이 이노베이션 인크. 인덱스 맵 부호화의 예측자로서 이스케이프 픽셀을 취급하는 방법
US11223832B2 (en) 2014-07-24 2022-01-11 Qualcomm Incorporated Methods and apparatus for encoding video data using block palettes and sub-block and pixel scanning orders
WO2016048092A1 (ko) 2014-09-26 2016-03-31 주식회사 케이티 비디오 신호 처리 방법 및 장치
RU2679201C2 (ru) 2014-09-30 2019-02-06 МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи Правила для режимов внутрикадрового прогнозирования, когда активируется волновая параллельная обработка данных
GB2531005A (en) * 2014-10-06 2016-04-13 Canon Kk Improved encoding process using a palette mode
US9848198B2 (en) * 2014-10-06 2017-12-19 Qualcomm Incorporated Diagonal copy for palette mode coding
CN106797468B (zh) * 2014-10-06 2018-10-30 华为技术有限公司 高效视频编码(hevc)屏幕内容编码(scc)中改进的调色板模式
US20160112724A1 (en) * 2014-10-15 2016-04-21 Qualcomm Incorporated Hrd descriptor and buffer model of data streams for carriage of hevc extensions
WO2016064123A1 (ko) 2014-10-20 2016-04-28 주식회사 케이티 비디오 신호 처리 방법 및 장치
CN107211143B (zh) 2015-01-15 2020-08-18 株式会社Kt 用于处理视频信号的方法和设备
CN105828080B (zh) * 2015-01-26 2020-02-14 同济大学 图像编解码方法及装置
CN111970515B (zh) 2015-01-29 2024-03-29 株式会社Kt 对视频信号进行编解码的方法
US10477244B2 (en) 2015-01-29 2019-11-12 Kt Corporation Method and apparatus for predicting and restoring a video signal using palette entry and palette mode
US9942551B2 (en) * 2015-01-30 2018-04-10 Qualcomm Incorporated Palette index grouping for video coding
US10212434B2 (en) 2015-01-30 2019-02-19 Qualcomm Incorporated Palette entries coding in video coding
US10425659B2 (en) * 2015-01-30 2019-09-24 Qualcomm Incorporated Coding escape pixels for palette coding
US10057587B2 (en) * 2015-01-31 2018-08-21 Qualcomm Incorporated Coding escape pixels for palette mode coding
EP3282706A4 (en) * 2015-04-02 2019-01-30 KT Corporation METHOD AND APPARATUS FOR PROCESSING VIDEO SIGNAL
US10448058B2 (en) * 2015-05-21 2019-10-15 Qualcomm Incorporated Grouping palette index at the end and index coding using palette size and run value
WO2016192662A1 (en) * 2015-06-03 2016-12-08 Mediatek Inc. Method and apparatus for resource sharing between intra block copy mode and inter prediction mode in video coding systems
US20160360205A1 (en) 2015-06-08 2016-12-08 Industrial Technology Research Institute Video encoding methods and systems using adaptive color transform
EP3308540B1 (en) * 2015-06-09 2020-04-15 Microsoft Technology Licensing, LLC Robust encoding/decoding of escape-coded pixels in palette mode
GB2539486B (en) * 2015-06-18 2019-07-31 Gurulogic Microsystems Oy Encoder, decoder and method employing palette compression
US10097842B2 (en) * 2015-09-18 2018-10-09 Qualcomm Incorporated Restriction of escape pixel signaled values in palette mode video coding
US10951895B2 (en) 2018-12-31 2021-03-16 Alibaba Group Holding Limited Context model selection based on coding unit characteristics
CN113994668A (zh) * 2019-02-01 2022-01-28 北京字节跳动网络技术有限公司 基于环路整形的滤波过程
BR112021014202A2 (pt) 2019-02-01 2021-09-21 Beijing Bytedance Network Technology Co., Ltd. Sinalização de informações de reformulação em malha usando conjuntos de parâmetros
JP7197720B2 (ja) 2019-02-24 2022-12-27 北京字節跳動網絡技術有限公司 パレットモードの使用の指示の独立した符号化
US10924750B2 (en) * 2019-03-01 2021-02-16 Alibaba Group Holding Limited Palette size constraint in palette mode for video compression system
US11503311B2 (en) 2019-03-08 2022-11-15 Sony Group Corporation Hybrid palette-DPCM coding for image compression
BR112021017428A2 (pt) * 2019-03-08 2021-11-16 Beijing Bytedance Network Tech Co Ltd Método de processamento de dados de vídeo, aparelho para processamento de dados de vídeo e meios de armazenamento e de gravação não transitórios legíveis por computador
CN113574889B (zh) 2019-03-14 2024-01-12 北京字节跳动网络技术有限公司 环路整形信息的信令和语法
WO2020192613A1 (en) 2019-03-23 2020-10-01 Beijing Bytedance Network Technology Co., Ltd. Restrictions on in-loop reshaping parameter sets
JP7436519B2 (ja) 2019-05-31 2024-02-21 バイトダンス インコーポレイテッド イントラブロックコピー予測を備えたパレットモード
JP7359936B2 (ja) 2019-07-20 2023-10-11 北京字節跳動網絡技術有限公司 パレットモードの使用の指示の条件依存符号化
CN114145013B (zh) 2019-07-23 2023-11-14 北京字节跳动网络技术有限公司 调色板模式编解码的模式确定
CN114762329A (zh) * 2019-08-15 2022-07-15 北京达佳互联信息技术有限公司 使用调色板模式的视频编解码的方法和装置
KR20220044278A (ko) 2019-08-15 2022-04-07 바이트댄스 아이엔씨 상이한 분할 구조들을 갖는 팔레트 모드
CN114930822A (zh) 2019-08-15 2022-08-19 字节跳动有限公司 用于调色板逸出符号的熵编解码
BR112022004606A2 (pt) * 2019-09-12 2022-05-31 Bytedance Inc Método de processamento de vídeo, aparelho para processar dados de vídeo e meios de armazenamento e de gravação não transitórios legíveis por computador
WO2021055782A1 (en) 2019-09-19 2021-03-25 Bytedance Inc. Quantization parameter derivation for palette mode
WO2021133529A1 (en) * 2019-12-26 2021-07-01 Alibaba Group Holding Limited Methods for coding video data in palette mode
EP4280606A1 (en) * 2021-01-12 2023-11-22 Sony Semiconductor Solutions Corporation Information processing device and method
US11595665B2 (en) * 2021-02-11 2023-02-28 Qualcomm Incorporated Upsampling reference pixels for intra-prediction in video coding
CN113032699B (zh) * 2021-03-04 2023-04-25 广东博智林机器人有限公司 机器人的模型构建方法、模型构建装置和处理器
CN114173081A (zh) * 2021-12-13 2022-03-11 济南大学 一种远程音视频方法及系统

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9806767D0 (en) * 1998-03-31 1998-05-27 Philips Electronics Nv Pixel colour valve encoding and decoding
EP1445734B1 (en) * 2003-02-06 2007-08-08 STMicroelectronics S.r.l. Method and apparatus for texture compression
US7724827B2 (en) * 2003-09-07 2010-05-25 Microsoft Corporation Multi-layer run level encoding and decoding
US7132963B2 (en) * 2004-09-13 2006-11-07 Ati Technologies Inc. Methods and apparatus for processing variable length coded data
US20060204086A1 (en) * 2005-03-10 2006-09-14 Ullas Gargi Compression of palettized images
CN100471283C (zh) 2006-08-16 2009-03-18 威盛电子股份有限公司 影像色彩显示方法、影像色彩变换方法及影像色彩变换器
JP4978348B2 (ja) 2006-09-08 2012-07-18 コニカミノルタビジネステクノロジーズ株式会社 画像処理システムおよび画像処理方法
EP1988703A1 (en) * 2007-05-02 2008-11-05 TTPCOM Limited Image transformation
US8180165B2 (en) * 2008-12-19 2012-05-15 Microsoft Corp. Accelerated screen codec
US9363517B2 (en) * 2013-02-28 2016-06-07 Broadcom Corporation Indexed color history in image coding
US11259020B2 (en) * 2013-04-05 2022-02-22 Qualcomm Incorporated Determining palettes in palette-based video coding
US9558567B2 (en) * 2013-07-12 2017-01-31 Qualcomm Incorporated Palette prediction in palette-based video coding
US9756347B2 (en) * 2013-07-23 2017-09-05 Futurewei Technologies, Inc. Screen content coding systems and methods
ES2893815T3 (es) 2013-12-10 2022-02-10 Canon Kk Procedimiento y aparato para codificar o descodificar una paleta en el modo de codificación de paleta
GB201321851D0 (en) * 2013-12-10 2014-01-22 Canon Kk Run length parameters coding for palette mode
RU2679566C1 (ru) * 2013-12-10 2019-02-11 Кэнон Кабусики Кайся Улучшенный палитровый режим в hevc
EP3085090B8 (en) * 2013-12-18 2020-09-30 HFI Innovation Inc. Method for palette table prediction
US10362333B2 (en) 2014-01-02 2019-07-23 Qualcomm Incorporated Color index coding for palette-based video coding
US9699468B2 (en) * 2014-02-10 2017-07-04 Microsoft Technology Licensing, Llc Adaptive screen and video coding scheme
US10038915B2 (en) 2014-05-22 2018-07-31 Qualcomm Incorporated Escape sample coding in palette-based video coding
KR101962458B1 (ko) * 2014-07-07 2019-03-26 에이치에프아이 이노베이션 인크. 인덱스 맵 부호화의 예측자로서 이스케이프 픽셀을 취급하는 방법
RU2679201C2 (ru) * 2014-09-30 2019-02-06 МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи Правила для режимов внутрикадрового прогнозирования, когда активируется волновая параллельная обработка данных
TWI577177B (zh) * 2014-10-06 2017-04-01 財團法人工業技術研究院 調色板編碼方法與解碼方法以及電子裝置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Liwei Guo et al, Modified palette Mode for Screen Content Coding, Joint Collaborative Team on Video Coding(JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, JCTVC-N0249 (2013.08.02.)*
Xun Guo et al, Major-color-based screen content coding, Joint Collaborative Team on Video Coding(JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, JCTVC-O0182 (2013.11.01.)*

Also Published As

Publication number Publication date
US20150264365A1 (en) 2015-09-17
CN106165424B (zh) 2019-08-16
TWI684353B (zh) 2020-02-01
JP2017513334A (ja) 2017-05-25
JP6367963B2 (ja) 2018-08-01
EP3117617B1 (en) 2022-05-04
JP6725596B2 (ja) 2020-07-22
KR102324004B1 (ko) 2021-11-09
US20200322630A1 (en) 2020-10-08
WO2015139040A3 (en) 2015-12-17
US10237575B2 (en) 2019-03-19
CN110572678A (zh) 2019-12-13
KR101845462B1 (ko) 2018-04-04
KR20210134842A (ko) 2021-11-10
MY175688A (en) 2020-07-06
KR20180036795A (ko) 2018-04-09
JP2018160932A (ja) 2018-10-11
US11895331B2 (en) 2024-02-06
KR102494913B1 (ko) 2023-02-06
WO2015139040A2 (en) 2015-09-17
US10735764B2 (en) 2020-08-04
TW201543870A (zh) 2015-11-16
EP3117617A2 (en) 2017-01-18
US20190149843A1 (en) 2019-05-16
KR20210076194A (ko) 2021-06-23
PL3117617T3 (pl) 2022-08-22
KR20160134743A (ko) 2016-11-23
JP2020156113A (ja) 2020-09-24
JP7063939B2 (ja) 2022-05-09
CN106165424A (zh) 2016-11-23
IL247766B (en) 2020-04-30
EP4044602A1 (en) 2022-08-17
CN110572678B (zh) 2024-03-12
IL247766A0 (en) 2016-11-30

Similar Documents

Publication Publication Date Title
KR102268090B1 (ko) 스크린 콘텐츠 코딩을 위한 팔레트 코딩
US11036459B2 (en) Two-dimensional palette coding for screen content coding
US20230132221A1 (en) Palette coding for screen content coding

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
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