KR20120006570A - 시간적으로 제약된 공간 종속을 갖는 비디오 디코딩 - Google Patents
시간적으로 제약된 공간 종속을 갖는 비디오 디코딩 Download PDFInfo
- Publication number
- KR20120006570A KR20120006570A KR1020117029198A KR20117029198A KR20120006570A KR 20120006570 A KR20120006570 A KR 20120006570A KR 1020117029198 A KR1020117029198 A KR 1020117029198A KR 20117029198 A KR20117029198 A KR 20117029198A KR 20120006570 A KR20120006570 A KR 20120006570A
- Authority
- KR
- South Korea
- Prior art keywords
- roi
- video
- region
- interest
- frame
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/167—Position within a video image, e.g. region of interest [ROI]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/55—Motion estimation with spatial constraints, e.g. at image or region borders
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/132—Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/162—User input
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
본 발명의 개시는 관심 영역(ROI) 인코딩을 위한 기법들을 기술한다. 본 명세서에 기술된 기법들에 따라서, 인코딩 디바이스는 비디오 프레임내 현재 블록을 인터-코딩하기 위해 후보 기준 비디오 블록에 대한 시간 공간 종속 값을 결정할 수 있다. 인코딩 디바이스는 임계치에 시간 공간 종속 값을 비교하고 비교에 기초하여 현재 블록에 대한 코딩 모드를 선택할 수 있다. 디코딩 디바이스는 시간 공간 종속 값뿐만이 아니라 관심 영역(ROI)을 정의하는 데이터를 수신하고 시간 공간 종속 값에 적어도 부분적으로 기초하여 관심 영역(ROI)내 비디오 블록을 디코딩할 수 있다. 이러한 방식으로, 본 발명의 개시의 기법들은 비디오 컨텐츠 시청자로 하여금 시청하기 위한 관심 영역(ROI)을 선택할 수 있도록 할 수 있다.
Description
본 출원은 본 출원의 양도인에게 양도되고 실제 전체적으로 참조로서 명시적으로 인용되는 임시적으로 Attorney Docket No. IDF 081990U1이 부여된 "VIDEO ENCODING WITH TEMPORALLY CONSTRAINED SPATIAL DEPENDENCY FOR LOCALIZED DECODING"란 명칭의 본 출원과 동일자로 출원된 미합중국 특허출원에 관련된다.
본 발명의 개시는 비디오 코딩(video coding)에 관한 것으로, 특히 코딩된 비디오(coded video)의 관심 영역(region-of-interest : ROI)을 위한 기법들에 관한 것이다.
디지털 비디오 성능들은 디지털 텔레비전들, 디지털 다이렉트 방송 시스템들(digital direct broadcast systems), 무선 방송 시스템들(wireless broadcast systems), PDA(personal digital assistants), 랩탑 또는 데스크탑 컴퓨터들, 디지털 카메라들, 디지털 레코딩 디바이스들(digital recording devices), 비디오 게임 디바이스들, 비디오 게임 콘솔들(video game consoles), 셀룰러 또는 위성 무선 전화들(cellular or satellite radio telephones) 등을 포함하는 광범위한 디바이스들에 제공된다. 디지털 비디오 디바이스들은 MPEG-2, MPEG-4, 또는 ITU-T H.264/MPEG-4, Part 10, Advanced Video Coding(AVC)을 포함하는 다양한 표준들에 기술된 것들과 같은 비디오 압축 기법들(video compression techniques)을 구현한다. 비디오 압축 기법들은 리던던시(redundancy)를 감소시키고, 보다 효율적으로 디지털 비디오를 통신하기 위해 공간 예측(spatial prediction) 및 시간 예측(temporal prediction)을 수행할 수 있다.
관심 영역(Region-of-interest : ROI) 프로세싱은 다른 영역들과 상이하게 비디오 프레임(video frame)의 하나 이상의 선택된 영역들을 레코딩 또는 코딩하는 단계를 포함할 수 있다. 예로서, 관심영역(ROI)은 다른, 비-관심영역들(non-ROI regions)보다 높은 품질로 우선적으로 인코딩될 수 있다. 관심영역(ROI)의 우선적인 인코딩과 더불어, 사용자는 비-관심영역들보다 선명하게 관심영역(ROI)을 시청할 수 있다. 다른 예로서, 레코딩된 비디오 장면내 관심영역(ROI)의 선명도(visibility) 또는 품질을 향상시키기 위해 비디오 레코딩시 주밍 패닝(zooming panning)이 수행될 수 있다. 각각의 경우에 있어서, 관심영역(ROI)은 비디오 레코딩 또는 인코딩 스테이지(encoding stage)에서 설정되며, 그 다음에 주어진 비디오 프레임을 디코딩하고 디스플레이할 때 보여진다.
일반적으로, 본 발명의 개시는 비디오 프레임내 국부적인 디코딩을 지원하기 위해 인코딩된 비디오 블록들의 공간 종속성들의 시간 전파(temporal propagation of spatial dependencies)를 제약할 수 있다. 일련의 기준 프레임들을 통해 공간 종속의 시간 전파는 프레임내 국부적인 디코딩을 수행하기 위한 디코더(decoder)의 능력에 영향을 줄 수 있다. 예를 들어, 비디오 프레임의 관심영역(ROI)의 국부적인 디코딩은 관심영역(ROI)의 밖에 존재하는 디코딩된 기준 블록들의 이용가능성(availability)을 요구할 수 있다. 공간 종속들의 시간 전파를 제약함으로써, 비디오 인코더는 관심영역(ROI)의 밖의 디코딩된 기준 블록들을 액세스하기 위한 디코더에 대한 필요성을 감소시키거나 고려하지 않을 수 있다.
기법들은 인코딩된 개별적인 비디오 블록들을 위한 시간 공간 종속 값들(temporal spatial dependency values)을 추적할 수 있다. 인코딩된 비디오 블록들은 인코딩될 프레임내 다른 비디오 블록들의 예측 코딩(predictive coding)을 위한 후보 기준 블록들(candidate reference blocks)로서 제공될 수 있다. 현재 비디오 블록(current video block)을 인코딩할 때, 인코더는 후보 기준 블록들의 세트를 식별하며, 후보 기준 블록들의 시간 공간 종속 값들이 시간 공간 종속 한계(temporal spatial dependency limit)를 초과하는지를 판단한다. 초과한다면, 인코더는 현재 비디오 블록이 인터-코딩 대신에 인트라-코딩되도록 강제할 수 있으며, 이에 의해 공간 종속의 시간 범위를 제한하고, 국부적인, 관심영역 전용(ROI-only) 디코딩을 지원한다.
본 발명의 개시는 또한 비디오 블록들을 디코딩하기 위한 기법들을 제공한다. 사용자 또는 어플리케이션(application)에 의한 관심영역(ROI) 선택에 기초하여, 비디오 디코더는 이전 프레임들로부터 관심영역(ROI)내 디코딩된 블록들을 액세스할 수 있다. 일례로서, 전체 비디오 코더-디코더들("코덱들(codecs")에 의해 지원되는 사용자데이터 필드(UserData field)내 블록 포지션 룩업 테이블들(block position lookup tables)을 임베딩(embedding)함으로써, 디코더는 디코딩을 위한 블록들을 랜덤하게 액세스할 수 있다.
일례로서, 본 발명의 개시는 비디오 프레임 내 현재 블록을 인터-코딩하기 위해 후보 기준 비디오 블록(cnadidate reference video block)에 대한 시간 공간 종속 값을 결정하는 단계를 포함하는 비디오 인코더에서 코딩 모드를 결정하기 위한 방법을 제공한다. 방법은 시간 공간 종속 값을 임계치와 비교하는 단계를 더 포함한다. 방법은 비교에 기초하여 현재 블록에 대한 코딩 모드를 선택하는 단계를 더 포함한다.
다른 예로서, 본 발명의 개시는 비디오 프레임내 현재 블록을 코딩하기 위해 후보 기준 블록에 대한 시간 공간 종속 값을 저장하는 스토리지 디바이스(storage device), 그리고 후보 기준 비디오 블록에 대한 시간 공간 종속 값을 결정하고, 임계치에 시간 공간 종속 값을 비교하며, 비교에 기초하여 현재 블록에 대한 코딩 모드를 선택하는 비디오 인코더를 포함하는 비디오 인코딩 디바이스(video encoding device)를 제공한다.
또 다른 예로서, 본 발명의 개시는, 실행시, 비디오 인코더내 프로세서로 하여금 비디오 프레임내 현재 블록을 인터-코딩하기 위해 후보 기준 비디오 블록에 대한 시간 공간 종속 값을 결정하도록 하는 컴퓨터-판독가능 매체에 인코딩된 명령들(instructions)을 포함하는 컴퓨터-판독가능 매체를 제공한다. 컴퓨터 판독 가능 매체는 프로세서로 하여금 시간 공간 종속 값을 임계치와 비교하도록 하는 명령들을 더 포함한다. 컴퓨터 판독 매체는 프로세서로 하여금 비교에 기초하여 현재 블록에 대한 코딩 모드를 선택하도록 하는 명령들을 더 포함한다.
또 다른 예로서, 본 발명의 개시는 비디오 프레임 내 현재 블록을 인터-코딩하기 위해 후보 기준 비디오 블록에 대한 시간 공간 종속 값을 결정하기 위한 수단을 포함하는 비디오 인코딩 디바이스를 제공한다. 인코더는 시간 공간 종속 값을 임계치와 비교하기 위한 수단을 더 포함한다. 인코더는 비교에 기초하여 현재 블록에 대한 코딩 모드를 선택하기 위한 수단을 더 포함한다.
추가적인 예로서, 본 발명의 개시는 비디오 디코더에서 수행된 방법을 제공한다. 방법은 비디오 프레임의 관심영역(ROI)을 정의하는 데이터를 수신하고, 관심영역(ROI)내 적어도 하나의 비디오 블록에 대한 시간 공간 종속 값(TSD)을 수신하며, 시간 공간 종속 값(TSD)에 적어도 부분적으로 기초하여 관심영역(ROI) 내 비디오 블록을 디코딩하는 단계를 포함한다.
또 다른 예로서, 본 발명의 개시는 비디오 프레임의 관심영역(ROI)을 선택하는 관심영역(ROI) 선택 유닛을 포함하는 비디오 디코더(video decoder), 관심영역(ROI)내 적어도 하나의 비디오 블록에 대한 시간 공간 종속 값을 수신하는 유닛, 그리고 시간 공간 종속(TSD) 값에 적어도 부분적으로 기초하여 관심영역(ROI)내 비디오 블록을 디코딩하는 유닛을 제공한다.
추가적인 예로서, 본 발명의 개시는, 실행시, 비디오 디코더내 프로세서로 하여금 비디오 프레임의 관심영역(ROI)을 한정하는 데이터를 수신하고, 관심영역(ROI)내 적어도 하나의 비디오 블록에 대한 시간 공간 종속(TSD) 값을 수신하며, 그리고 시간 공간 종속(TSD) 값에 적어도 부분적으로 기초하여 관심영역(ROI) 내 비디오 블록을 디코딩하는 컴퓨터-판독가능 매체에 인코딩된 명령들을 포함하는 컴퓨터-판독가능 매체를 제공한다.
또 다른 예로서, 본 발명의 개시는 비디오 프레임의 관심영역(ROI)을 한정하는 데이터를 수신하기 위한 수단, 관심영역(ROI) 내 적어도 하나의 비디오 블록에 대한 시간 공간 종속(TSD) 값을 수신하기 위한 수단, 그리고 시간 공간 종속(TSD) 값에 적어도 부분적으로 기초하여 관심영역(ROI) 내 비디오 블록을 디코딩하기 위한 수단을 포함하는 비디오 디코더를 제공한다.
하나 이상의 예들의 상세한 설명은 첨부된 도면들과 이하 설명(description)에 설명된다. 다른 특징들, 목적들, 그리고 장점들이 설명 및 도면들로부터, 그리고 청구항들로부터 분명해질 것이다.
도 1은 비디오 인코딩과 디코딩 시스템을 예시하는 블록도.
도 2는 본 발명의 개시에 따라서 예시적인 비디오 인코더를 예시하는 블록도.
도 3은 본 발명의 개시에 따라서 예시적인 비디오 디코더를 예시하는 블록도.
도 4는 본 발명의 개시에 따라서 예시적인 예측 유닛을 예시하는 블록도.
도 5는 비디오 인코딩시 공간 종속의 시간 전파(propagation)를 예시하는 다이어그램.
도 6은 비디오 디코딩시 공간 종속의 시간 요구를 예시하는 다이어그램.
도 7은 비디오 디코딩시 인트라-프레임 공간 종속과 결합되는 공간 종속의 시간 요구를 예시하는 다이어그램.
도 8A는 비제약된 종속 범위를 갖는 비디오 프레임들의 비교적인 그래프들과 제약된 종속성 범위를 갖는 비디오 프레임들의 그래프들을 예시하는 다이어그램.
도 8B는 주기적인 인트라-프레임 인코딩을 포함하기 위해 변경된 도 8A의 다이어그램.
도 9는 본 발명의 개시에 따라서 공간 종속을 시간적으로 제약하기 위한 예시적인 비디오 인코더 구조와 동작을 예시하는 다이어그램.
도 10은 본 발명의 개시에 따라서 코딩 모드 결정 방법을 예시하는 흐름도.
도 11은 본 발명의 개시에 따라서 다른 코딩 모드 결정 방법을 예시하는 흐름도.
도 12는 관심영역(ROI), 디코딩될 필요가 있을 수 있는 관심영역(ROI) 밖의 제 1 영역, 그리고 디코딩될 필요가 있을 수도 있는 제 1 영역 밖의 제 2 영역을 예시하는 개념적인 도면.
도 13은 본 발명의 개시에 따라서 디코딩 방법을 예시하는 흐름도.
도 14는 패닝(panning), 주밍(zooming), 그리고 틸팅(tilting)을 지원할 선택된 관심영역(ROI) 영역을 디코딩하기 위한 추가적인 관심영역(ROI) 마진을 결정하는 방법을 예시하는 흐름도.
도 2는 본 발명의 개시에 따라서 예시적인 비디오 인코더를 예시하는 블록도.
도 3은 본 발명의 개시에 따라서 예시적인 비디오 디코더를 예시하는 블록도.
도 4는 본 발명의 개시에 따라서 예시적인 예측 유닛을 예시하는 블록도.
도 5는 비디오 인코딩시 공간 종속의 시간 전파(propagation)를 예시하는 다이어그램.
도 6은 비디오 디코딩시 공간 종속의 시간 요구를 예시하는 다이어그램.
도 7은 비디오 디코딩시 인트라-프레임 공간 종속과 결합되는 공간 종속의 시간 요구를 예시하는 다이어그램.
도 8A는 비제약된 종속 범위를 갖는 비디오 프레임들의 비교적인 그래프들과 제약된 종속성 범위를 갖는 비디오 프레임들의 그래프들을 예시하는 다이어그램.
도 8B는 주기적인 인트라-프레임 인코딩을 포함하기 위해 변경된 도 8A의 다이어그램.
도 9는 본 발명의 개시에 따라서 공간 종속을 시간적으로 제약하기 위한 예시적인 비디오 인코더 구조와 동작을 예시하는 다이어그램.
도 10은 본 발명의 개시에 따라서 코딩 모드 결정 방법을 예시하는 흐름도.
도 11은 본 발명의 개시에 따라서 다른 코딩 모드 결정 방법을 예시하는 흐름도.
도 12는 관심영역(ROI), 디코딩될 필요가 있을 수 있는 관심영역(ROI) 밖의 제 1 영역, 그리고 디코딩될 필요가 있을 수도 있는 제 1 영역 밖의 제 2 영역을 예시하는 개념적인 도면.
도 13은 본 발명의 개시에 따라서 디코딩 방법을 예시하는 흐름도.
도 14는 패닝(panning), 주밍(zooming), 그리고 틸팅(tilting)을 지원할 선택된 관심영역(ROI) 영역을 디코딩하기 위한 추가적인 관심영역(ROI) 마진을 결정하는 방법을 예시하는 흐름도.
비디오 코딩을 위한 관심영역 정의(ROI definition)는 통상적으로 비디오 캠코더들(video camcorders)에서와 같은 비디오 레코딩시 일어난다. 예를 들어, 사용자는 장면(scene)내 관심영역(ROI)의 비디오를 레코딩하기 위해 비디오 장면내에서 줌(zoom) 또는 팬(pan)할 수 있다. 그 다음 레코딩된 비디오는 디코딩과 재생(playback)을 위한 저장 및/또는 통신을 위해 인코딩된다. 비디오 재생은 전형적으로 레코딩된 비디오를 충실히 재현하며, 동일한 비디오의 서로 다른 시청들 및 서로 다른 시청자들 간에 비디오데 대한 균일한 시청 경험을 제공한다. 즉, 시청 경험은 모든 시청자에 대해 실질적으로 동일한 것으로 가정된다.
균일한 시청은 디바이스의 디스플레이 성능이 비디오 전송 또는 저장의 대역폭, 그리고 비디오 프레임의 해상도(resolution) 또는 크기와 밀접하게 부합하는 때와 같은 많은 어플리케이션들을 위해 수용가능할 수 있다. 그러나, 몇몇 경우들에 있어서, 시청자로 하여금 비디오 재생을 위해 디코더 측에서 관심영역(ROI)을 정의하도록 하는 것이 바람직할 수도 있다. 예를 들어, 시청자는 인코딩된 비디오, 예를 들어, 비디오 장면 내에서 주밍(zooming) 또는 패닝(panning)에 의해 캡쳐된 장면의 고유하거나 특이한 시청을 획득하기 위해 디코더 측에서 관심영역(ROI)을 국부적으로 한정하기를 원할 수 있다.
디코더-측 관심영역(ROI) 선명도를 지원하기 위해 국부적인 디코딩은 일반적으로 임의의 디바이스를 위해 바람직할 수 있지만, 특히 크기 및 해상도와 같은 제한된 대역폭, 프로세싱 또는 디스플레이 성능들을 갖는 디바이스들을 위해 바람직할 것이다. 예들(examples)은 소형 디스플레이 스크린들을 구비한 모바일, 휴대용 디바이스들(hand-held devices), 및/또는 무선 접속들과 같은 제한된 대역폭 접속들을 포함한다. 디스플레이 성능들에 기인하여, 모바일 디바이스의 사용자들은 전체 캡쳐된 장면을 시청하는 것에 관심이 덜할 수 있으며, 대신에 캡쳐된 장면의 확대된 부분을 시청하는데 보다 관심이 있을 수 있다.
관심영역(ROI) 주밍 및 패닝은 문자(text) 또는 정지 영상들(still images)의 시청과 같은 정적 컨텐츠(static content)를 위해 용이하게 수행될 수 있다. 예를 들어, 터치 스크린 디바이스들(touch screen devices)은 사용자가 손가락 움직임(finger movement)을 이용하여 관심영역(ROI)에 대해 줌인(zoom in)하도록 할 수 있다. 기타 포인팅 디바이스들(other pointing devices)이 유사한 결과들을 달성하기 위해 사용될 수 있다. 정적 컨텐츠를 이용하여, 관심영역(ROI) 주밍 및 패닝은 디스플레이상에 표시될 정지 영상의 일부를 단순히 선택하고 조작(manipulate)함으로써 달성될 수 있다. 이 경우, 디바이스 메모리는 전형적으로 전체 영상 프레임을 저장하고, 관심영역(ROI) 주밍 및 패닝을 간단하게 한다.
비디오와 같은 동적 컨텐츠에 대해, 예측적으로 인코딩된 프레임들의 비디오 블록들을 디코딩하는 것은 앞서 디코딩된 프레임들 내 기준 블록들에 대한 액세스를 요구한다. 전형적인 비디오 인코더들은 각각의 프레임의 디코딩이 전체 프레임에 대해 수행될 것이라고 가정하며, 따라서 모든 가능한 기준 블록들(예를 들어, 매크로블록들)이 이후의 프레임들의 디코딩을 위해 이용가능하게 될 수 있을 것이다. 결과로서, 인코더들과 디코더들은 프레임의 일부만이 디코딩되는 관심영역-전용(ROI-only) 디코딩 기법을 지원하도록 구성되는 것은 아니다.
프레임의 관심영역(ROI) 일부만이 디코딩되면, 미래의 프레임들을 디코딩하기 위해 필요한 기준 블록들은 이들이 디코딩되지 않았기 때문에 이용가능하지 않을 수 있다. 이전 프레임들 내 관심영역(ROI) 밖에 존재하였고, 따라서 디코딩되지 않은 기준 블록들에 대한 시간 공간 종속들로 인해 미래의 프레임들 내 몇몇 블록들이 디코딩되는 것이 불가능할 수 있다. 대안으로, 비록 이러한 비-관심영역(ROI) 블록들이 디스플레이되지 않는다고 하더라도, 이후의 프레임들 내 관심영역(ROI) 블록들의 디코딩을 지원하기 위하여, 이전 프레임들 내 비-관심영역(ROI) 블록들을 디코딩하는 것이 필요할 수도 있으며, 이는 비효율적이고 바람직하지 않을 수 있다.
일반적으로, 본 발명의 개시는 비디오 프레임내 국부적인 디코딩을 지원하기 위해 인코딩된 비디오 블록들의 공간 종속들의 시간 전파를 제약하는 비디오 인코딩 기법들을 기술한다. 기법들은 디코딩된 개별적인 비디오 블록들의 시간 공간 종속 값들을 추적할 수 있다. 예측 인코딩을 위해 사용된 일련의 기준 프레임들에 걸쳐 공간 종속의 시간 전파는 프레임내 국부적인 디코딩, 예를 들어, 관심영역-전용(ROI-only) 디코딩을 수행하기 위해 디코더의 능력을 약화시킬 수 있다. 본 발명의 개시 전반에 걸쳐 사용된 바와 같이, 후보 블록의 시간 공간 종속성은 후보 비디오 블록이 의존하는 이전 비디오 프레임들 내 비디오 블록들의 수를 지칭한다.
현재 비디오 블록을 인코딩할 때, 비디오 인코더는 후보 기준 블록들의 세트를 식별하고 후보 기준 블록들의 시간 공간 값들이 시간 공간 종속 한계를 초과하는지를 판단할 수 있다. 초과한다면, 비디오 인코더는, 인터-코딩 대신에, 인트라-코딩되도록 강제할 수 있으며, 이에 의해 공간 종속의 시간 범위를 제한하게 된다. 시간 공간 종속 제한은 비디오 품질과 코딩 효율의 균형을 맞추기 위해 구현 파라미터(implementation parameter)로서 고정되거나 가변적일 수 있다.
비디오 인코더는 블록을 디코딩하는 것이 디코더 측에서 한정된 관심영역(ROI) 밖의 사전결정된 범위를 넘어 상주하는 기준 블록을 요구하지 않을 것이라는 것을 보장한다. 이러한 방식으로, 비디오 인코더는 연속적인 디코딩이 적절히 국부화될 수 있도록 하기 위해 적절히 국부적인 개별적인 블록들의 공간 종속성을 유지할 수 있다.
도 1은 비디오 인코딩 및 디코딩 시스템(10)을 예시하는 블록도이다. 도 1에 도시된 바와 같이, 시스템(10)은 통신 채널(communication channel)(16)을 통해서 목적지 디바이스(destination device)(14)로 인코딩된 비디오를 전송하는 소스 디바이스(source device)(12)를 포함할 수 있다. 소스 디바이스(12)는 비디오 소스(video source)(18), 비디오 인코더(video encoder)(20), 변조기/복조기(modulator/demodulator)(modem)(22), 그리고 전송기(trasmitter)(24)를 포함할 수 있다. 몇몇 예들에서, 소스 디바이스(12)가 비디오 인코딩 디바이스(video encoding device)로 간주될 수 있다. 몇몇 양상들에서, 전송기(24)는 무선 전송기(wireless transmitter)일 수 있다. 목적지 디바이스(14)는 수신기(receiver)(26), 모뎀(28), 비디오 디코더(30), 그리고 비디오 디스플레이 디바이스(32)를 포함할 수 있다. 몇몇 예들에서, 목적지 디바이스는 비디오 디코딩 디바이스로 간주될 수 있다. 몇몇 양상들에서, 수신기(26)는 무선 통신 디바이스 핸드셋(wireless communication device handset)내 무선 수신기(wireless receiver)와 같은 무선 수신기일 수 있다. 본 발명의 개시에 따라서, 소스 디바이스(12)의 비디오 인코더(20)는 인코딩될 비디오 프레임의 각각의 블록의 공간 종속을 일련의 비디오 프레임들로 프레임 단위(frame-by-frame)로 추적하도록 구성될 수 있다. 비디오 인코더(20)는 국부적인 영역으로 제약된 공간 종속의 시간 전파를 유지하기 위해 필요시 블록의 인트라-코딩을 강제할 수 있으며, 비디오 디코더(30)가 국부적인, 관심영역 전용(ROI-only) 디코딩을 지원하도록 구성된다면 이에 의해 블록의 디코딩 능력(decodability)을 지원한다.
예시된 시스템(10)은 단지 예시적이다. 몇몇 양상들에서, 본 발명의 개시의 기법들은 인터-코딩과 인트라-코딩 기법들을 지원하는 임의의 인코딩 디바이스에 의해 수행될 수 있다. 소스 디바이스(12)는 단지 이러한 인코딩 디바이스의 일례이다. 다른 양상들에서, 본 발명의 개시에 기술된 기법들은 디코딩 디바이스에 의해 수행될 수 있다. 예를 들어, 디코딩 디바이스는 비디오 프레임의 국부적인 디코딩, 예를 들어, 관심영역-전용(ROI-only) 디코딩을 지원하도록 구성될 수 있다.
본 발명의 개시에 따라서, 그리고 이하 보다 상세히 기술된 바와 같이, 비디오 인코더(20)는 인코딩되는 비디오 프레임의 각각의 블록에 대한 시간 공간 종속성을 저장할 수 있다. 예로서, 비디오 인코더(20)는 프레임 내 각각의 블록이 인터-코딩을 위해 의존하는 프레임들의 수를 표시하는 정보를 유지할 수 있다. 시간 공간 종속 정보는 데이터베이스(database), 룩업 테이블(lookup table), 연결 리스트(linked list), 해쉬 테이블(hash table), 트리(tree), 2진 트리(binary tree), 또는 메모리와 같은 스토리지 디바이스내 데이터 구조의 어떠한 다른 유형내에 저장될 수 있다. 인코딩될 현재 블록은 이전 프레임내 블록이 현재 블록의 인터-코딩을 위한 기준 또는 "예측" 블록으로서 제공될 수 있다는 점에서 이전 프레임내 블록에 종속적일 수 있다. 이러한 종속은 현재 블록의 공간 범위내 다수의 블록들이 예측 블록들로서 사용하기 위한 후보들일 수 있다는 점에서 공간적일 수 있다. 몇몇 경우들에 있어서, 현재 블록은 다중 기준 프레임들이 사용될 때, 예를 들어, H.264 코딩의 경우에 있어서 복수의 가능한 기준 프레임들 중 하나의 프레임 내의 블록에 종속적일 수 있다.
프레임들은 시간 순서로 표시된다. 인터-코딩에 대해, 현재 프레임, 예를 들어, 프레임(N)에서 인코딩될 현재 블록은 하나 이상의 이전 프레임들, 예를 들어, 프레임들(N-1, N-2, N-3, N-4 등)내 제 1 기준 블록에 공간적으로 종속적일 수 있다. 차례로, 제 1 기준 블록은 상이한 프레임내 제 2 기준 블록에 공간적으로 종속적일 수 있으며, 또 다른 프레임내 제 2 기준 블록은 또 다른 프레임내 제 3 기준 블록에 공간적으로 종속적일 수 있다. 공간 종속의 시간 전파는 현재 프레임과 현재 블록을 인코딩하기 위해 필요한 기준 블록들 중 임의의 블록을 인터-코딩하기 위해 사용된 가장 이른 프레임간의 시간 범위의 함수이다. 예로서, 프레임(N)내 인코딩된 블록이 프레임(N-1)내 기준 블록에 대해 인터-코딩을 위해 종속적이면, 프레임(N-1)내 기준 블록은 프레임(N-2)내 또 다른 기준 블록에 대해 인터-코딩을 위해 종속적이지만, 프레임(N-2)내 기준 블록은 인트라-코딩되며, 그 다음 프레임(N)내 블록에 대한 시간 공간 종속 값은 2이다.
그러므로, 후보 기준 비디오 블록이 의존하는 이전 비디오 프레임들 내 블록들의 수는 시간 공간 종속 값을 정의한다. 인터-코딩 모드를 이용하여 블록을 인코딩하는 또는 인트라-코딩 모드를 이용하여 블록을 인코딩하는지를 결정하는데 있어서, 비디오 인코더(20)는 데이터베이스에 질의하고 후보 기준 블록들의 세트의 각각의 시간 공간 종속 값들을 임계치와 비교할 수 있다. 후보 기준 블록들은 인코딩될 블록의 모션 추정 탐색 범위(motion estimation search range)내에 공간적으로 상주하는 이전에 인코딩된 프레임들 내 블록들일 수 있다. 모든 후보 기준 블록들의 시간 공간 종속 값들이 임계치를 초과한다면, 비디오 인코더(20)는 현재 블록에 대한 코딩 모드로서 인트라-코딩을 선택하며, 이에 의해 현재 블록에 대한 공간 종속의 시간 전파를 제한한다. 적어도 하나의 블록의 시간 공간 종속 값이 임계치를 초과하지 않는다면, 비디오 인코더(20)는 인트라-코딩을 강제하지 않으며, 인트라-리프레쉬(intra-refresh : IR) 레이트, 모션 보상(motion compensation)으로 표시된 코딩 왜곡(coding distortion), 및/또는 활용가능한 코딩 비트 레이트와 같은 기타 요인들(factors)에 기초하여 블록에 대한 모드 결정을 한다.
일반적으로, 소스 디바이스(12)는 목적지 디바이스(14)로 전송을 위한 코딩된 비디오 데이터를 생성한다. 그러나, 몇몇 경우들에 있어서, 디바이스들(12,14)은 실질적으로 대칭적인 방법으로 동작할 수 있다. 예를 들어, 디바이스들(12,14)의 각각은 비디오 인코딩 및 디코딩 컴포넌트들을 포함할 수 있다. 그러므로, 시스템(10)은, 예를 들어, 비디오 스트리밍, 비디오 재생, 비디오 방송, 또는 비디오 전화를 위해 비디오 디바이스들(12,14)간에 일방 또는 양방향 비디오 전송을 지원할 수 있다. 다른 경우들에서, 비디오 디바이스(14)는 단순히 비디오 방송 또는 비디오 스트리밍을 수신하거나 또는 그렇지 않으면 비디오 재생을 지원하도록 구성될 수 있다.
소스 디바이스(12)의 비디오 소스(18)는 비디오 카메라, 이전에 캡쳐된 비디오를 포함하는 비디오 아카이브(video archive), 또는 비디오 컨텐츠 공급자로부터의 비디오 피드(video feed)와 같은 비디오 캡쳐 디바이스를 포함할 수 있다. 다른 대안으로서, 비디오 소스(18)는 소스 비디오, 또는 생방송 비디오, 보관된 비디오, 그리고 컴퓨터-생성 비디오의 조합처럼 컴퓨터 그래픽-기반 데이터(computer graphics-based data)를 생성할 수 있다. 몇몇 경우들에서, 비디오 소스(18)가 비디오 카메라를 포함하면, 소스 디바이스(12)와 목적지 디바이스(14)는 소위 카메라 폰들 또는 비디오 폰들을 형성할 수 있다. 각각의 경우에서, 캡쳐, 사전-캡쳐, 또는 컴퓨터-생성된 비디오는 비디오 인코더(20)에 의해 인코딩될 수 있다. 다른 경우들에서, 소스 디바이스(12)는 비디오 스트리밍(video streaming) 또는 비디오 방송 디바이스일 수 있다. 인코딩된 비디오는, 예를 들어, 코드 분할 다중 액세스(code division multiple access : CDMA) 또는 다른 통신 표준 같은 통신 표준 또는 기법에 따라서 모뎀(22)에 의해 변조되고, 전송기(24)를 통해서 목적지 디바이스(14)로 전송될 수 있다.
목적지 디바이스(14)의 수신기(26)는 채널을 통해 정보를 수신하고, 모뎀(28)은 수신된 정보를 복조한다. 인코딩 프로세스처럼, 비디오 디코더(30)에 의해 수행된 디코딩 프로세스는 데이터 압축의 개선된 레벨들을 지원하기 위해 본 발명의 개시의 기법들을 이용한다. 디코더(30)는 소스 디바이스(12)로 부터 수신된 비디오 데이터의 국부적인, 관심영역 전용(ROI-only) 디코딩을 지원할 수 있다. 인코더(20)에 의해 인가된 공간 종속의 시간 전파에 대한 제약에 의하여 국부적인, 관심영역 전용(ROI-only) 디코딩이 지원될 수 있다. 목적지 디바이스(14)는 원하는 관심영역(ROI)을 한정하는 사용자 입력을 수용할 수 있으며, 그 다음 비디오 디코더(30)가 관심영역(ROI)에 대응하는 블록들의 국부적인 디코딩을 수행하도록 명령한다. 디코더(30)는 관심영역(ROI)의 밖에 존재하는 디코딩 블록들을 회피할 수 있으며, 이러한 블록들에 대응하는 데이터를 폐기(discard) 수 있다. 디스플레이 디바이스(32)는 사용자에게 디코딩된 비디오 데이터를 디스플레이할 수 있으며, 음극선관 튜브(cathode ray tube : CRT), 액정 디스플레이(liquid crystal display : LCD), 플라즈마 디스플레이, 유기 발광 다이오드(organic light emitting diode : OLED) 디스플레이, 또는 다른 유형의 디스플레이 디바이스와 같은 다양한 디스플레이 디바이스들 중 임의의 디스플레이 디바이스를 포함할 수 있다.
도 1의 예에서, 통신 채널(16)은 무선 주파수(radio frequency : RF) 스펙트럼 또는 하나 이상의 물리적 전송 라인들과 같은 임의의 무선 또는 유선 통신 매체, 또는 무선과 유선 매체의 임의의 조합을 포함할 수 있다. 통신 채널(16)은 로컬 영역 네트워크(local area network : LAN), 광역 네트워크(wide-area network), 또는 인터넷과 같은 글로벌 네트워크와 같은 패킷-기반 네트워크의 일부를 형성할 수 있다. 통신 채널(16)은 일반적으로 소스 디바이스(12)로부터 목적지 디바이스(14)로 비디오 데이터를 전송하기 위한 임의의 적절한 통신 매체, 또는 상이한 통신 매체의 집합을 나타낸다.
비디오 인코더(20) 및 비디오 디코더(30)는 MPEG-1, MPEG-2 그리고 MPEG-4내 무빙 픽쳐 전문가 그룹(Moving Picture Experts Group : MPEG)에 의해 정의된 표준들과 마찬가지로 MPEG-4, Part 10, Advanced Video Coding(AVC)로서 지칭된 ITU-T H.264 표준, ITU-T H.263 표준, (통상적으로 "VC-1"로서 지칭되는)SMPTE(Society of Motion Picture and Television Engineers) 421M 비디오 코덱 표준, 표준화 단체에 의해 정의되거나 독점적인 표준(proprietary standard)으로서 조직에 의해 개발된 임의의 다른 비디오 코딩 표준과 마찬가지로 (통상적으로 "AVS"로서 지칭되는) 중국의 오디오 비디오 코딩 표준 작업그룹(Audio Video Coding Standard Workgroup of China)에 의해 정의된 표준을 포함하는 다양한 비디오 압축 표준들에 따라서 동작할 수 있다.
비록 도 1에 도시되지 않았지만, 몇몇 양상들에서, 비디오 인코더(20)와 비디오 디코더(30)는 각각 오디오 인코더 및 디코더와 통합될 수 있으며, 공통 데이터 스트림(common data stream)내 오디오와 비디오의 인코딩을 다루거나 데이터 스트림들을 분리하기 위해 적절한 MUX-DEMUX 유닛들, 또는 다른 하드웨어 및 소프트웨어를 포함할 수 있다. 적용가능하다면, MUX-DEMUX 유닛들은 ITU H.223 멀티플렉서 프로토콜, 또는 사용자 데이터그램 프로토콜(User datagram protocol : UDP)와 같은 다른 프로토콜들을 따를 수 있다.
ITU H.264/MPEG-4 Part 10 AVC 표준은 Joint Video Team(JVT)으로서 알려진 집단 파트너십(collective partnership)의 산물로서 ISO/IEC 무빙 픽쳐 전문가 그룹(MPEG)과 함께 ITU-T 비디오 코딩 전문가 그룹(VCEG)에 의해 공식화되었다. 몇몇 양상들에서, 본 발명의 개시에 기술된 기법들은 일반적으로 H.264 표준을 따르는 디바이스들에 적용될 수 있다. H.264 표준은 2005년 3월 ITU-T 스터디 그룹에 의해 ITU-T 권고안 H.264, 일반적인 오디오비주얼 서비스들을 위한 Advanced Video Coding에 기술되며, 이는 본 명세서에서 H.264 표준 또는 H.264 스펙(specification), 또는 H.264/AVC 표준 또는 스펙으로서 지칭될 수 있다. 조인트 비디오 팀(JVT)은 H.264/AVC에 대한 확장들을 위한 작업을 계속한다.
비디오 인코더(20) 및 비디오 디코더(30)는 각각 하나 이상의 마이크로프로세서들, 디지털 신호 프로세서들(Digital signal processors : DSPs), 어플리케이션 주문형 집적 회로(application specific integrated circuits : ASICs), 필드 프로그래머블 게이트 어레이들(field programmable gate arrays : FPGAs), 이산 로직(discrete logic), 소프트웨어, 하드웨어, 펌웨어(firmware) 또는 이들의 임의의 조합으로서 구현될 수 있다. 비디오 인코더(20)와 비디오 디코더(30)의 각각은 하나 이상의 인코더들 또는 디코더들 내에 포함될 수 있으며, 이의 어느 한쪽은 모바일 디바이스, 가입자 디바이스(subscriber device), 방송 디바이스, 서버 등과 같은 각각의 디지털 비디오 디바이스내에 조합된 인코더/디코더(CODEC)의 일부로서 집적될 수 있다.
비디오 시퀀스는 일련의 비디오 프레임들을 포함한다. 몇몇 경우들에서, 비디오 시퀀스는 픽쳐들의 그룹(a group of pictures : GOP)으로서 정렬될 수 있다. 비디오 인코더(20)는 비디오 데이터를 인코딩하기 위해 개별적인 비디오 프레임들 내의 비디오 블록들에 대해 동작한다. 비디오 블록들은 고정되거나 가변적인 크기들을 가질 수 있고, 지정된 코딩 표준에 따라서 크기가 다를 수 있다. 각각의 비디오 프레임은 일련의 슬라이스들(slices)을 포함할 수 있다. 각각의 슬라이스는 일련의 매크로블록들을 포함할 수 있으며, 이는 더욱 작은 블록들 내로 정렬될 수 있다. 매크로블록들은 전형적으로 데이터의 16×16 블록들로 지칭된다. ITU-T H.264표준은 루마 컴포넌트들(luma components)을 위한 16×16, 16×8 , 8×16 , 8×8, 8×4, 4×8 및 4×4 및 크로마 컴포넌트들(chroma components)을 위한 대응하는 스케일된 크기들과 같은 다양한 블록 크기들로 인터 예측(inter prediction)뿐만 아니라 루마 컴포넌트들(luma components)을 위한 16×16, 8×8 , 또는 4×4, 그리고 크로마 컴포넌트들(chroma components)을 위한 8×8과 같은 다양한 블록들에서 인트라 예측(intra prediction)을 지원한다. 본 발명의 개시에서, 용어 비디오 블록은 비디오 프레임내 픽셀들의 블록을 지칭할 수 있으며, 매크로블록 또는 보다 작거나 큰 블록일 수 있다.
도 2는 현재 비디오 블록을 인코딩하기 위해 사용될 후보 기준 블록들의 시간 공간 종속(TSD) 값에 기초하여 코딩 모드(즉, 인트라 또는 인터)를 선택하기 위해 본 발명의 개시의 기법들을 수행하는 예측 유닛(prediction unit)(42)을 포함하는 비디오 인코더(20)의 예를 예시하는 블록 다이어그램이다. 인코딩될 각각의 비디오 블록에 대하여, 비디오 인코더(20)는 후보 비디오 블록의 시간 공간 종속(TSD)을 결정한다. 즉, 비디오 프레임의 각각의 블록을 위해, 인코더는 후보 기준 비디오 블록이 의존하는 하나 이상의 이전 비디오 프레임들 내 하나 이상의 비디오 블록들의 시간 공간 종속 값을 유지한다. 예를 들어, 인코더는 시간 공간 종속(TSD) 스토리지 디바이스내에 이러한 종속성을 유지할 수 있다.
도 2에 도시된 바와 같이, 비디오 인코더(20)는 인코딩될 비디오 프레임 내의 현재 비디오 블록(current video block)(40)을 수신한다. 도 2의 예에서, 비디오 인코더(20)는 예측 유닛(42), 기준 프레임 스토어(reference frame store)(44), 시간 공간 종속(TSD) 스토리지 디바이스(45), 블록 변환 유닛(46), 양자화 유닛(48), 인버스 양자화 유닛(50), 인버스 변환 유닛(52), 그리고 엔트로피 인코딩 유닛(entropy encoding unit)(54)을 포함한다. (도시되지 않은)디블로킹 필터(deblocking unit)는 또한 블록왜곡도 아티팩트(blockiness artifacts)을 제거하기 위해 블록 경계들을 필터링하기 위해 포함될 수 있다. 비디오 인코더(20)는 또한 합산기(summer)(56) 및 합산기(summer)(58)를 포함한다.
인터-코딩을 위해, 예측 유닛(42)은 하나 이상의 기준 프레임들 내 다양한 후보 기준 블록들에 인코딩될 현재 비디오 블록(40)을 비교한다. 인트라-코딩을 위해, 예측 유닛(42)은 동일한 코딩된 프레임의 이미 코딩된 이웃하는 비디오 블록들로부터 인코딩될 비디오 블록을 예측한다. 예측된 데이터는 기준 프레임 스토어(44)로 부터 검색될 수 있으며, 이 스토어는 앞서 인코딩된 블록들로부터 재구성된 비디오 블록들을 저장하기 위해 임의의 유형의 메모리 또는 데이터 스토리지 디바이스를 포함할 수 있다. 예측 유닛(42)은 예측 모드들과 모션 벡터들(motion vectors)을 생성할 수 있으며, 이는 현재 비디오 블록을 코딩하기 위해 사용된 예측 블록들을 식별하기 위해 사용될 신택스 엘리먼트들(syntax elements)을 포함한다. 인트라-코딩을 위해, 예측 유닛(42)은 공간 예측 유닛(spatial prediction unit)을 포함할 수 있다. 인터-코딩을 위해, 도 4에 대해 이하 보다 상세히 도시되고 설명된 바와 같이, 예측 유닛(42)은 모션 추정(motion estimation)과 모션 보상 유닛들(motion compensation units)을 포함할 수 있다.
예측 유닛(42)은 (도 2에 도시되지 않은) 모드 선택 유닛(mode select unit)을 더 포함한다. 예측 유닛(42)의 모드 선택 유닛은 프레임 레벨이나 블록 레벨상의 인터-코딩이나 인트라-코딩을 선택한다. 도 4에 관하여 이하 보다 상세히 기술되고 본 발명의 개시의 기법과 일치하는, 모드 선택 유닛은 현재 블록을 코딩하기 위한 모든 후보 기준 블록들의 시간 공간 종속 값들이 임계치를 초과하면 인트라-코딩을 선택할 수 있으며, 블록의 시간 공간 종속 값이 임계치를 초과하지 않으면 블록을 인코딩하기 위해 이하 기술된 바와 같이 다른 요인들에 따라서 인터-코딩을 선택할 수 있다. 대안으로, 임계치에 대해 모든 후보 기준 블록들의 시간 공간 종속(TSD) 값을 비교하는 대신에, 각각의 후보 기준 블록에 대한 시간 공간 종속(TSD) 값이 현재 블록에 의해 인터-코딩으로부터 초래될 하나의 추가적인 종속에 추가될 수 있으며, 그 다음 합이 임계치와 비교될 수 있다. 그러나, 몇몇 경우들에서, 인터-코딩이 시간 공간 종속에 기초하여 선택될 것이라 하더라도, 모드 선택 유닛은 IR 레이트, 왜곡 또는 활용가능한 비트 레이트(available bit rate)와 같은 다른 고려사항들에 기초하여 인트라-코딩을 선택할 것이다.
비디오 인코더(20)는 인코딩되고 있는 오리지널(현재) 비디오 블록으로부터 예측 유닛(42)에 의해 생성되는 예측 블록을 차감함으로써 잔여 비디오 블록(residual video block)을 형성한다. 예측 블록은 현재 블록의 인터-코딩을 위해 실제로 선택되는 후보 기준 블록이다. 이것이 시간 공간 종속 제한을 충족한다고 가정하며, 예측 블록은 인코딩될 블록에 가장 근접하게 부합하는 후보 기준 블록으로서 선택될 수 있다. 합산기(58)는 이러한 뺄셈 연산을 수행하는 유닛 또는 모듈을 나타낸다. 블록 변환 유닛(46)은 이산 코사인 변환(discrete cosine transform:DCT) 또는 개념적으로 유사한 변환과 같은 변환을 잔여 변환 블록 계수들을 포함하는 비디오 블록을 발생하는 잔여 블록에 적용한다. 예를 들어, 블록 변환 유닛(46)은 H.264 표준에 의해 정의된 다른 변환들을 수행할 수 있으며, 이는 개념적으로 이산 코사인 변환(DCT)과 유사하다.
양자화 유닛(48)은 비트 레이트(bit rate)를 더 감소시키기 위해 잔여 변환 계수들을 양자화한다. 예를 들어, 양자화 유닛(48)은 계수들의 각각을 코딩하기 위해 사용된 비트들의 수를 제한할 수 있다. 양자화 후, (도시되지 않은) 스캔 유닛(scan unit)은 2차원 표현으로부터 1차원 벡터로 양자화된 계수 블록을 스캔한다. 그 다음, 이러한 스캐닝 프로세스에 이어, 엔트로피 인코딩 유닛(54)은 데이터를 더 압축하기 위해 CAVLC 또는 CABAC와 같은 엔트로피 코딩 방법론에 따라서 양자화된 변환 계수들을 인코딩한다.
엔트로피 인코딩 유닛(54)에 의한 엔트로피 코딩에 이어서, 인코딩된 비디오는 다른 디바이스로 전송되거나 나중의 전송 또는 검색(retrieval)을 위해 보관(archieve)될 수 있다. 인버스 양자화 유닛(50)과 인버스 변환 유닛(52)은 픽셀 도메인(pixel domain)내 잔여 블록을 재구성하기 위해 각자 인버스 양자화 및 인버스 변환을 적용한다. 합산기(56)는 재구성된 잔여 블록을 기준 프레임 스토어(44)에 저장하기 위한 재구성된 비디오 블록을 생성하기 위해 예측 유닛(42)에 의해 생성된 예측 블록에 더한다. 원한다면, 재구성된 비디오 블록은 또한 기준 프레임 스토어(44)에 저장되기 전에 (도시되지 않은) 디블로킹 필터 유닛(deblocking filter unit)을 통과할 수 있다. 재구성된 비디오 블록은 후속 비디오 프레임내 블록을 인터-코딩하거나 동일한 코딩된 유닛내 향후의 이웃하는 블록을 인트라-코딩하기 위해 기준 블록으로서 예측 유닛(42)에 의해 사용될 수 있다.
도 3은 본 명세서에 기술된 방법으로 인코딩되는 비디오 시퀀스를 디코딩하는 비디오 디코더(30)의 예를 예시하는 블록 다이어그램이다. 비디오 디코더(30)는 도 2의 엔트로피 디코딩 유닛(54)에 의해 수행되는 인코딩과 상보적인(reciprocal) 디코딩 기능을 수행하는 엔트로피 디코딩 유닛(60)을 포함한다. 비디오 디코더(30)는 관심영역(ROI) 선택 유닛(63)을 더 포함한다. 관심영역(ROI) 선택 유닛(63)은 사용자 입력 또는 어플리케이션 커맨드들(application commands)에 기초하여 관심영역(ROI)을 한정하고 특정 영역(particular region)에 대한 디코딩에 집중한다. 관심영역(ROI) 내에 한정되지 않은 프레임의 부분들은 디코딩되지 않는다. 줌 기능이 수행된다면, 디바이스의 디스플레이를 채우기 위해, 보간법(interpoation)에 의한 해상도의 업스케일링이 사용될 수 있다. 이러한 업스케일링은 디코딩 후 픽셀 도메인에서 성취될 수 있다.
비디오 디코더(30)는 비디오 프레임들 내 블록들의 인트라- 및 인터- 디코딩을 수행할 수 있다. 도 3의 예에서, 비디오 디코더(30)는 또한 예측 유닛(62), 인버스 양자화 유닛(64), 인버스 변환 유닛(66), 그리고 기준 프레임 스토어(68)를 포함한다. 비디오 디코더(30)는 또한 합산기(70)를 포함한다. 선택적으로, 비디오 디코더(30)는 또한 합산기(70)의 출력을 필터링하는 디블로킹 필터(deblocking filter)(72)를 포함할 수 있다.
인트라-코딩을 위해, 예측 유닛(62)은 공간 예측 유닛(spatial prediction unit)을 포함할 수 있는데 반해, 인터-코딩을 위해, 예측 유닛(62)은 모션 보상 유닛(motion compensation unit)을 포함할 수 있다. 인버스 양자화 유닛(64)은 인버스 양자화를 수행하고, 인버스 변환 유닛(66)은 비디오 블록들의 계수들을 픽셀 도메인으로 다시 변화시키기 위한 인버스 변환들을 수행한다. 합산기(70)는 유닛(62)으로부터의 예측 블록과 인버스 변환 유닛(66)으로부터의 재구성된 잔여 블록을 조합하여 재구성된 블록을 생성하고, 이 블록은 기준 프레임 스토어(68) 내에 저장된다. 원한다면, 재구성된 비디오 블록은 또한 기준 프레임 스토어(68) 내에 저장되기 전에 디블로킹 필터 유닛(72)을 통과할 수 있다. 디코딩된 비디오는 기준 프레임 스토어(68)로부터 출력되고, 또한 후속적인 예측들에서 사용하기 위해 예측 유닛(62)으로 피드백될 수 있다.
본 발명의 개시에서 기술된 기법들을 이용함으로써, 비디오 디코더(30)로 진입하는 인코딩된 비디오는 공간 종속들의 시간 전파가 제약될 수 있도록 구성된다. 결과적으로, 비디오 디코더(30)는 큰 시간 공간 종속을 구비한 블록들을 디코딩하기 위해 사용되는 비관심영역(non-ROI) 블록들을 디코딩하고 그리고 코딩 루프를 탈출할 필요 없이 디코딩된 관심영역(ROI) 블록들을 이용한 연속적인 디코딩 모드에서 동작할 수 있다. 비디오 디코더가 코딩 루프를 탈출하고 기준 프레임 스토어내에 저장된 소정의 비관심영역 블록들을 디코딩할 수 있다고 하더라도, 연속적인 디코딩 모드 만큼 효율적이지 않다.
도 4는 예측 유닛(42)의 예를 예시하는 블록 다이어그램이다. 도 4에 도시된 바와 같이, 예측 유닛(42)은 인터-코더(INTER)(80), 인트라-코더(INTRA)(82), 그리고 모드 선택 유닛(84)을 포함한다. 인터-예측성 프레임 또는 인트라-예측성 프레임("예측성 프레임")은 인터-코더(80)나 인트라-코더(82)로부터 획득된다. 예를 들어, 인터-코더(80)는 MPEG-4 또는 H.264 압축 방법에 따라서 인입 프레임(incoming frame : Fn)의 인터-코딩을 수행한다. 도 4에 도시된 바와 같이, 인터-코더(80)는 앞서 인코딩된 프레임(F'n-1), 또는 앞서 인코딩된 프레임들(F'n-2, F'n-3....F'n-x)에 관하여 인입 프레임(Fn)의 표준 인터-코딩을 지원하기 위한 모션 추정(motion estimation : ME) 유닛(86)과 모션 보상(motion compensation : MC) 유닛(88)을 포함한다. 특히, 인터 예측은 하나 이상의 이전 프레임들(F'n-x)로부터 모션-보상 예측에 의해 형성된다. 이전 프레임들(F'n-2, F'n-3....F'n-x)은 F'n-1을 생성하기 위해 앞서 인코딩되고 재구성될 수 있다.
인트라-코더(82)는 인트라 예측을 발생하기 위해 인입 비디오 프레임(Fn)의 인트라-코딩을 수행한다. 인트라 예측은 재구성된 프레임(F'n)을 형성하기 위해 앞서 인코딩되고, 디코딩되며 재구성된 현재 프레임(Fn)내 샘플들로부터 형성된다. 결과적인 인트라 예측은 비디오 인코더(20)가 인트라-모드에서 동작중일 때 도 2에 도시된 합산기(58)로 인가된다. 인트라-코더(82)는 인트라-리프레싱(IR)을 지원하기 위해 P 프레임내의 인트라-코드 선택 비디오 블록들 또는 I 프레임들을 생성하기 위해 인트라-코딩을 수행할 수 있다.
예를 들어, 모드 선택 유닛(84)은 프레임 단위 또는 블록 단위에 기반하여 인터-코딩과 인트라-코딩간을 선택적으로 전환한다. 특히, 모드 선택 유닛(84)은 프레임 레벨이나 블록 레벨에 대해 인터-코더(80)의 출력이나 인트라-코더(82)의 출력을 선택한다. 이러한 방식으로, 모드 선택 유닛(84)은 도 2의 합산기(58)에 인가된 예측 블록이 인터-코딩될 것이지 인트라-코딩될 것인지를 결정한다.
모드 선택 유닛(84)은 블록에 대해 인트라-코딩을 사용할지 인터-코딩을 사용할지를 결정하는데 있어서 하나 이상의 요인들을 이용할 수 있다. 예를 들어, 모드 선택 유닛(84)은 코딩에 대한 활용가능한 비트 레이트, 채널 손실 확률, 왜곡(D) 그리고 인트라-리프레쉬(IR) 레이트에 기초하여 모드 결정을 할 수 있다. 게다가, 본 발명의 개시에 따라서, 모드 선택 유닛(84)은 시간 공간 종속(TSD) 값을 사용할 수 있다.
인트라-코딩 모드는 인터-코딩 모드에 비해 인코딩될 상당히 더 많은 정보, 결론적으로 비트들을 요구한다. 따라서 인트라-코딩된 프레임의 전송은 비트 레이트에서 큰 스파이크(spike)를 야기한다. 전체 프레임을 인트라-코딩하기 보다는, 대신에 여러 프레임들을 통해서 전체 프레임의 인트라-코딩을 분배하는 것이 바람직할 수 있다. 즉, 현재 프레임의 몇몇 블록들만을 인트라-코딩하고, 후속적인 프레임들 내 나머지 블록들을 인트라-코딩함으로써, 피크-대-평균 비트 레이트(peak-to-average bit rate)가 감소될 수 있다. 그 자체로, 모드 선택 유닛(84)은 코딩 결정을 하는데 있어서 요구되는(desired) 비트 레이트 및 이용가능한 대역폭을 고려할 수 있다.
코딩 비트 레이트에 부가하여, 몇몇 예들에서, 모드 선택 유닛(84)은 또한 코딩 결정을 하기 위해 채널 손실의 확률을 이용할 수 있다. 추정된 채널 손실 확률은 채널(16)을 통해 전송될 때 현재 프레임이 드롭될 가능성을 정량화한다. 채널 손실의 가능성이 증가함에 따라서, 프레임 또는 블록을 인트라-코딩하는 것이 보다 바람직할 수 있다.
또한, 모드 선택 유닛(84)은 또한 코딩 결정을 하기 위해 인트라-리프레쉬(IR) 레이트를 이용할 수 있다. 한 프레임에서 다른 프레임으로 채널-유도 에러들의 전파를 제한하기 위해, 비디오 인코더는 전형적으로 IR 기법을 적용한다. IR 기법들에 따라서, 예측성 프레임내 블록들은 인터-코딩보다는 오히려 선택적으로 인트라-코딩된다. 인트라-코딩된 블록들은 에러 복원력(error resilience)을 개선할 수 있지만, 전송되어야 할 비트들의 수의 증가를 요구한다. 따라서, IR 레이트는 에러 복원력과 대역폭 효율성 양측의 관점에서 인코딩 성능에 영향을 준다.
일반적으로 IR 레이트는 인트라-리프레쉬될 블록들의 수를 결정하고, 프레임 레벨 또는 블록 레벨에서 적용될 수 있다. IR 레이트는 비디오 컨텐츠, 또는 비디오 컨텐츠와 채널 조건의 조합에 기초하여 결정될 수 있다. 예를 들어, IR 레이트는, 현재 프레임과 다른 프레임간의 프레임 대 프레임 변화, 그리고 현재 프레임의 텍스쳐 정보, 그리고 추정된 채널 손실 확률을 측정하는 조합된 매트릭(combined metric)에 기초하여 결정될 수 있다. 일반적으로, IR 레이트가 블록이 인트라-코딩되어야 한다는 것을 나타내면, 모드 선택 유닛(84)은 다른 요인들을 평가할 필요없이 인트라-코딩 모드를 선택할 수 있다.
전술한 바와 같이, 모드 선택 유닛(84)은 왜곡(distortion) 계산에 기초하여 코딩 모드 결정을 할 수 있다. 왜곡은 오리지널 블록과 예측성 블록간의 에러이다. 블록을 인터-코딩하는 것이 왜곡 임계치를 초과하는 왜곡의 레벨을 가져오면, 모드 선택 유닛(84)은 블록을 코딩하기 위해 인트라-코딩을 사용하기로 결정할 수 있다. 왜곡 임계치는 원하는 영상 품질의 함수이다.
본 발명의 개시에 따라서, 코드 결정을 하기 위해 모드 선택 유닛(84)에 의해 사용될 다른 요인은 현재 비디오 블록을 인터-코딩하기 위해 활용할 수 있는 후보 기준 블록들의 시간 공간 종속(TSD) 값이다. 후보 비디오 블록의 시간 공간 종속 값은 인터-코딩 기법들 또는 인트라-코딩 기법들을 이용하여 블록을 코딩할 것인지를 결정하는데 있어 모드 선택 유닛(84)에 의해 사용될 수 있다. 도 5-7을 참조하여 이하 보다 상세히 설명된 비디오 블록의 공간 종속의 시간 전파는, 예를 들어, 모드 선택 유닛(84)에 의해 액세스가능한 데이터베이스에서 추적될 수 있다. 모드 선택 유닛은 각각의 후보 비디오 블록의 시간 공간 종속 값과 종속 임계치(85)를 비교하고, 비교의 결과에 따라서, 현재 블록에 대해 인트라-코딩을 사용할지를 결정할 수 있다. 종속 임계치(85)는 모드 선택 유닛(84)과 통신하는 시간 공간 종속 임계 메모리내에 저장될 수 있다. 주목해야 할 것은 모드 선택 유닛(84)이 종속 임계치에 기초하여 현재 블록에 대해 인트라-코딩을 이용하지 않는다고 하더라도, 모드 선택 유닛(84)은 IR 레이트, 코딩 비트 레이트, 왜곡, 그리고 채널 손실 확률과 같은 다른 요인들에 기초하여 현재 블록에 대해 인트라-코딩을 사용하도록 선택할 수 있다.
도 5는 비디오 코딩에서 공간 종속의 시간 전파를 예시하는 다이어그램이다. 도 5는 9×11 블록들의 크기를 가지며 싱글 슬라이스(single slice)로서 인코딩된 예시적인 비디오 프레임을 예시한다. 현재 비디오 프레임의 임의의 블록은 동일한 로케이션(즉, 동일장소 배치된) 또는 다음 프레임의 바로 인접한 로케이션들의 예측 인코딩을 위한 기준 블록으로서 사용될 수 있다. 예를 들어, 프레임(N)은 싱글 인코딩된 블록, 또는 중심 블록(center block)(100)을 도시한다. 프레임(N)내 인코딩된 중심 블록(100)은 102로 도시된 프레임(N+1)내 3×3=9 개의 바로 인접하고 동일장소에 배치된 블록들 중 임의의 블록을 예측하기 위해 사용될 수 있다. 후속적으로, 프레임(N+1)내 이들 9개 블록들은, 104로 도시되고, 프레임(N)내 블록(100)에 기초하여 인코딩된 블록들의 5×5=25 그룹을 가져오는 프레임(N+2)내 바로 인접하고 동일장소에 배치된 블록들의 다른 그룹을 예측하기 위해 사용될 수 있다. 유사하게, 104로 도시된 프레임(N+2)내 25 블록들은, 106으로 도시되고, 블록들의 7×7=49 그룹을 가져오는 프레임(N+3)내 바로 인접하고 동일장소에 배치된 블록들의 다른 그룹을 예측하기 위해 사용될 수 있다. 그 다음, 106으로 도시된 프레임(N+3)내 49 블록들은, 108로 도시되고, 프레임(N)내 블록(100)에 기초하여 인코딩된 블록들의 9×9=81 그룹을 가져오는 프레임(N+4)내 바로 인접한 블록들의 다른 그룹을 예측하기 위해 사용될 수 있다. 따라서, 도 5는 비디오 인코딩에서 공간(즉, 동일한 프레임내 인접한 블록들) 종속의 시간(즉, 다중 프레임들을 통해서) 전파를 도시한다.
비디오 인코딩 프로세스에서 도 5에 예시된 비디오 블록들의 공간 종속의 일시적, 또는 인터-프레임, 전파는 비디오 디코더에 요건들(requirements)을 부과한다. 특히, 비디오 디코더는 현재 프레임을 디코딩하기 위해 이전 프레임들에 활용할 수 있도록 요구된다. 이것이 도 6에 예시된다. 도 6은 비디오 디코딩에서 공간 종속의 시간 요건을 예시하는 다이어그램이다. 도 6은 본질적으로 도 5의 반대이다. 도 6에 도시된 바와 같이, 프레임(N)의 중심 블록(100)을 디코딩하는 것은 이전 프레임(N-1)에 도시된 3×3=9 블록들 중 임의의 블록이 디코더에 이용가능하여야 한다는 것을 요구할 수 있다. 디코더에 이용가능하기 위해, 이전 프레임(N-1)의 9 블록들은 또한 프레임(N-2)내의 5×5=25 블록들 중 임의의 블록이 디코더에 이용가능하여야 한다는 것을 요구할 수 있다. 그리고, 프레임(N-3)의 25 블록들은 프레임(N-3)내 7×7=49 블록들 중 임의의 블록이 디코더에 또한 이용가능하여야 한다는 것을 요구할 수 있다. 최종적으로, 프레임(N-3)의 49 블록들은 프레임(N-4)내 9×9=81 블록들 중 임의의 블록이 디코더에 또한 활용가능하여야 한다는 것을 요구할 수 있다. 따라서, 인접한 블록들을 고려하는 모션 추정 탐색 범위에 따라서, 프레임(N-3)내 블록들은 프레임(N-2)내 블록들을 위한 가능한 후보 기준 블록들을 형성하며, 프레임(N-2) 내 블록들은 프레임(N-1) 내 블록들에 대한 가능한 후보 기준 블록들을 형성하고, 그리고 프레임(N-1) 내 블록들은 프레임(N) 내 블록들을 위한 가능한 후보 기준 블록들을 형성한다.
도 7에 도시된 바와 같이, 비디오 블록들의 공간 종속의 인터-프레임 전파의 이슈(issue)는 블록들의 임의의 인트라-프레임 공간 종속에 의해 더 복잡해질 수 있다. 도 7은 비디오 디코딩에서 인트라-프레임 공간 종속과 결합된 도 6에 도시된 공간 종속의 시간 요건을 예시하는 다이어그램이다. 도 7은 프레임(N)내 중심 블록(100)에 바로 인접한 8개의 블록 중 임의의 블록이 예측 디코딩을 위해 또한 사용될 수 있다는 것을 도시한다. 따라서, 중심 블록(100)은 동일한 프레임(인트라-프레임 공간 종속)내 바로 인접한 블록들을 이용하거나 또는 이전 프레임들(인터-프레임 공간 종속)내 바로 인접하거나 동일하게 배치된 블록들을 이용하여 디코딩될 수 있다. 그러나, 실제로, 블록 인코딩의 순서로 인해 8개의 블록들 모두가 디코딩을 위해 사용될 가능성은 없다.
도 5-7은 인코딩된 비디오로부터 연속적인 프레임들을 통해 일부(a few)의 블록들의 디코딩은 프레임 단위에 기초하여 이들 블록들만을 단순히 디코딩함으로써 발생할 수 없다는 것을 예시한다. 즉, 기존의 인코딩 방법들만을 이용하여 현재 프레임의 일부만을 연속적으로 디코딩하는 것은 가능하지 않다. 오히려, 현재 프레임의 일부만을 디코딩하기 위해, 디코더는 통상적으로 적시에(in time) 다시 일부의 프레임들을 전체 프레임에 대해 이용가능하여야 할 필요가 있을 것이다.
본 발명의 개시의 하나의 예시적인 기법은 각각의 인코딩된 비디오 블록의 종속을 추적하고 그러한 종속을 제약하기 위한 능력을 비디오 인코더들에 제공함으로써 공간 종속의 시간 전파의 영향들을 감소시킬 수 있다. 전통적인 인코딩 기법들에서와 같이, 도 8A는 제약되지 않은 종속 범위를 갖는 비디오 프레임들의 비교 그래프들, 그리고 본 발명의 개시의 한 예에서와 같이, 제약된 종속 범위를 갖는 비디오 프레임들의 그래프들을 예시하는 다이어그램이다.
도 8A는 연속적인 프레임들에 걸쳐 공간 종속 범위의 (각각, 선형(linear), 공격적(aggressive), 그리고 완만(modest)한) 3개의 레이트들을 갖는 3개의 다른 케이스들(좌측, 중간, 그리고 우측)을 이용한 시간적으로 제약된 공간 종속의 개념을 예시한다. 그래프들의 하부 및 상부 세트들 둘 다 매크로블록들(MBs)의 수내 종속 범위가 프레임 번호에 대해 어떻게 변하는지를 도시한다. 각각의 그래프에서, 프레임 번호 1은 인트라-코딩된 매크로블록부터 시작한다. 이와 같이, 모든 종속들은 프레임 1내 블록들이 임의의 이전 프레임들로부터 종속되지 않도록 리셋된다. 그래프들의 상부 세트는 제약되지 않은 종속 범위에 따라서, 시간 공간 종속의 확장이 종국적으로 프레임 에지×프레임 번호(6,4, 및 12)에 각각 도달한다는 것을 도시한다. 그래프들의 하부 세트는 사전-결정된 범위 내에 제약된 공간 종속을 유지하는데 필요한 때에는 언제나 인트라-프레임 인코딩을 이용하는 것을 묘사한다. 그래프들의 하부 세트내 좌측 케이스에서, 프레임 번호 4까지 제약된 종속 범위가 도달하였다. 따라서, 인트라-코딩이 수행되고 이에 의해 프레임 5에 도시된 바와 같이 종속 범위를 재설정한다. 그래프들의 하부 세트 내 중간 케이스에서, 인트라-코딩이 프레임들(1,3,5,7,8, 및 11)에서 수행된다. 인트라-코딩이 본 예에서 그와 같이 자주 수행되도록 강제되기 때문에, 결과적으로 제약된 종속 범위에 결코 도달하지 않는 매크로블록들의 번호에서 종속 범위에 의해 도시된 바와 같이, 종속은 제약된 종속 범위에 대해조차 전파되도록 허용되지 않는다. 분명한 것은 보다 타이트한 종속 제약이 보다 많은 인트라-프레임 인코딩의 결과를 가져오고, 이에 의해 비디오 인코딩의 효율성을 감소시킨다는 것이다. 주목해야 할 것은 관심영역(ROI)의 크기를 알 수 없기 때문에, 예를 들어, 목적지 디바이스에 대한 디스플레이 디바이스의 크기, 인코더의 요구되는 효율, 그리고 허용가능한 영상 품질 저하의 양과 같은 요인들에 기초하여 고정되거나 가변적인 사전결정된 범위, 또는 시간 공간 종속(TSD) 값을 선택할 필요가 있다는 것이다.
도 8B는 연속적인 프레임들에 걸쳐 공간적인 종속 범위 전파의 (각각, 선형, 공격적, 그리고 완만한) 3개의 레이트들을 갖는 3개의 다른 케이스들(좌측, 중간, 그리고 우측)을 묘사하는 도 8A의 다이어그램과 유사하다. 그래프들의 상부 및 하부 세트들 둘 다 매크로블록들(MBs)의 수내 종속 범위가 프레임 번호에 대해 어떻게 변하는지를 도시한다. 각각의 그래프에서, 프레임 번호 1은 인트라-코딩된 매크로블록으로 부터 시작한다. 그 자체로, 도 8A에서와 같이 모든 종속들이 재설정된다. 그러나, 도 8B에서, 상부 그래프들은 전형적으로 전통적인 비디오 인코더들에 의해 요구되는 주기적인 인트라-프레임 인코딩을 포함하도록 변경되었다. 예를 들어, 도 8B에서 그래프들의 상부 세트내 좌측 위 그래프는 인트라-코딩이 프레임 6과 11에서 수행되고, 이에 의해 프레임 에지로의 시간 공간 종속의 확장을 방지하지만, 여전히 그래프들의 하부 세트내 좌측 위 그래프에 도시된 바와 같이 본 발명의 개시에 기술된 기법들을 이용한 것들 보다 높은 매크로블록들의 번호에서 종속 범위를 갖는 프레임들의 결과를 가져오는 것을 도시한다. 그래프들의 상부 세트에서 중간 그래프는 공격적 레이트(aggressive rate)에 대하여, 시간 공간 종속의 확장은 궁극적으로 인트라-코딩이 수행되기에 앞서 프레임들(4 및 5)내 프레임 에지에 도달하고, 그 다음 인트라-코딩이 다시 수행되기 전에 프레임들(9 및 10)에서 다시 프레임 엣지에 도달한다. 비디오 컨텐츠에 따라서, 블록들의 주기적인 인트라-프레임 인코딩을 갖는 비디오 인코딩에 비해, 공간 종속을 제약하기 위한 목적의 추가적인 인트라-프레임 인코딩의 비용은 과도하지 않을 것이다. 도 9는 본 발명의 개시에 따라서 공간 종속을 시간적으로 제약하기 위한 예시적인 비디오 인코더 아키텍처와 동작을 개념적으로 예시하는 다이어그램이다. 도 9는 공간 종속을 시간적으로 제약하는데 있어서 비디오 인코더(20)의 예시적인 기능을 예시한다. 인코딩될 모든 매크로블록들에 대해, 비디오 인코더(20)의 매크로블록 인코딩 루프는 예측을 위해 후보 매크로블록들에 대한 종속 체크를 수행한다. 즉, 인코딩될 각각의 비디오 블록에 대해, 비디오 인코더(20)는 후보 비디오 블록의 시간 공간 종속을 결정한다. 인코더는 후보 비디오 블록이 의존하는 하나 이상의 이전 비디오 프레임들 내 하나 비디오 블록들의 시간 공간 종속 값을 유지한다. 매크로블록 인코딩 루프는 매크로블록 시간 공간 종속(TSD) 데이터베이스를 액세스함으로써 종속 체크를 수행한다. 전술한 바와 같이, 시간 공간 종속은 데이터베이스, 룩업 테이블(lookup table), 연결 리스트(linked list), 해쉬 테이블(hash table), 트리, 2진 트리, 또는 이러한 메모리와 같은 스토리지 디바이스내 임의의 다른 유형의 데이터 구조 내에 정렬될 수 있다. 데이터베이스는 후보 매크로블록들을 검색하고 이들 각각의 종속들을 체크한다. 프레임 N내 후보 비디오 블록이 의존하는 이전 비디오 프레임들 내 비디오 블록들의 수는 시간 공간 종속 값을 정의한다. 비록 현재 비디오 블록만이 하나의 후보 블록에 의존한다고 하더라도, 후보 블록은 다른 블록에 의존하며, 이는 또 다른 블록 등에 의존할 수 있다. 후보는 종속 범위 제약을 초과하지 않는 검증된 매크로블록들을 반환한다. 그 다음, 매크로블록 인코딩 루프는 인터-코딩 또는 인트라-코딩, 종속 탐색 등을 수행하는지를 결정한다. 최종적으로, 매크로블록 인코딩 루프는 매크로블록 시간 공간 종속(TSD) 데이터베이스를 갱신한다. 즉, 시간 공간 종속(TSD) 데이터베이스는 인코딩되는 모든 매크로블록들에 대해 새로운 시간 공간 종속(TSD) 값에 의해 갱신되어, 그러한 매크로블록이 또 다른 매크로블록에 대해 후보 기준 매크로블록으로서 나중에 고려된다면 인코더가 그러한 매크로블록에 대한 시간 공간 종속(TSD) 값을 검색하도록 한다. 주목해야 할 것은 도 9가 매크로블록들(MBs)을 참조하였지만, 본 명세서에 도 9를 참조하여 기술된 기법들은 일반적으로 비디오 블록들에 적용될 수 있으며, 매크로블록들과 함께 사용하도록 제한되지 않는다.
설명만을 위한 목적으로, 그리고 제한없이, 도 9는 프레임 N내 블록에 대한 후보 기준 블록으로서 고려되는 프레임 N-1내 블록(200)이 도(210)에 도시된 2개의 블록들에 따라서 데이터베이스(45) 내에 기록되는 것으로 도식적으로 도시된다. 예를 들어, 2개의 블록들(210) 중 첫 번째는 N-2 프레임으로부터 존재할 수 있으며, 2개의 블록들(210) 중 두 번째는 N-3 프레임으로부터 존재할 수 있다. 유사하게, (212)에 도시된 바와 같이, N-1 프레임의 블록(202)은 하나의 블록에만 의존할 수 있으며, 이는 N-2 프레임으로부터 존재할 수 있다. 그리고, 블록(204)은 (214)에서 블록(204)과 연관된 블록들의 부족으로 도 9에 표시된 바와 같이 임의의 종속들을 갖지 못할 수 있다. 또 다른 예로서, 블록(206)은 (216)에 도시된 바와 같이 3개의 블록들에 의존할 수 있다. 예를 들어, 이들 3개의 블록들은 앞서 디코딩된 프레임들 N-2, N-3, 그리고 N-4로부터 존재할 수 있다. 이러한 방식으로, 현재 프레임을 인터-코딩하기 위해 사용될 수 있는 각각의 후보 기준 블록의 종속들은 데이터베이스(45)내 인코더(20) 또는 몇몇 데이터 구조, 어레이, 레코드들의 콜렉션(collection) 등에 의해 유지된다. 그리고, 후보 비디오 블록이 의존하는 이전 비디오 프레임들 내 비디오 블록들의 수에 기초하여, 시간 공간 종속 값이 계산될 수 있다.
또한 도 9를 참조하여, 비디오 인코더(20)는 후보 블록의 시간 공간 종속 값을 시간 공간 종속 임계치에 비교한다. 특히, 현재 블록에 대해, 비디오 인코더(30)는 데이터베이스(45)를 액세스하고, 후보 블록 또는 블록들의 종속을 검색하며, 그리고 후보 블록의 종속을 시간 공간 종속 임계치에 대해 비교한다. 예를 들어, 시간 공간 종속 임계치는 2로 사전결정될 수 있다. 따라서, 후보 블록이 2 이상의 이전 프레임들 내 블록들에 종속한다면, 후보 블록의 시간 공간 종속은 2의 임계치가 초과되었기 때문에 매우 높다. 이러한 비교에 기초하여, 인코더(20)는 현재 비디오 블록을 인트라-코딩하도록 선택한다. 그러나, 인트라-코딩이 선택되지 않으면, 인코더(20)는 "정규(normal)" 코딩 모드 결정을 이용한다. 즉, 인코더는 IR 레이트, 왜곡, 코딩 비트 레이트, 그리고 채널 손실 확률에 기초하여 현재 블록을 인트라-코딩할지를 결정한다. 검증된 매크로블록들이 종속 범위, 또는 임계치를 초과하면, 인코더는 인트라-코딩을 선택한다. 검증된 매크로블록들이 종속 범위, 또는 임계치를 초과하지 않으면, 시간 공간 종속은 다른 요인들에 따라서 블록에 대해 인터-코딩 기법들을 이용하기에 충분히 낮다. 비교 및 선택의 예들이 바로 아래 기술된다.
도 9의 시간 공간 종속 데이터베이스는 블록(200)이 2개의 이전 프레임들 내 블록들에 의존하고, 블록(202)이 1개의 이전 프레임내 블록에 의존하며, 그리고 블록(206)이 3개의 이전 프레임들 내 블록들에 의존한다는 것을 나타낸다. 시간 공간 종속 임계치가 2이면, 후보 블록들(200, 202, 및 204)은 임계치 미만인 종속들을 가지며 따라서 현재 블록을 인코딩하기 위해 사용될 수 있다. 그러나, 블록(206)은 임계치를 초과하는 종속을 가지며 따라서 현재 블록을 인코딩하기 위해 사용되지 않을 것이다. 몇몇 후보 블록들, 즉 블록들(200, 202, 및 204)이 임계치를 초과하지 않기 때문에, 인코더는 현재 블록에 대해 인트라-코딩을 강제하지 않을 것이다. 대신에, 현재 블록은 다른 요인들에 따라서 인터-코딩될 수 있다.
일단 프레임 N내 현재 블록에 대한 코딩이 수행되면, 데이터베이스(45)내 시간 공간 종속 값은 프레임 N+1이 전술한 기법들을 이용하여 인코딩될 수 있도록 갱신된다. 예를 들어, 인터-코딩이 사용되었다면, 방금 인코딩된 블록의 시간 공간 종속(TSD) 값은 시간 공간 종속(TSD) 데이터베이스(45)내에서 갱신된다. 몇몇 경우들에서, 엔트리(entry)는 이러한 레코드가 앞서 존재하지 않으면 방금 인코딩된 블록을 위해 시간 공간 종속 데이터베이스(45) 내에 생성될 필요가 있을 수 있다. 그 대신에 인트라-코딩이 블록에 대해 강제되었다면, 방금 인코딩된 블록의 종속은 0의 값으로 재설정되거나, 또는 블록의 종속이 더 이상 이전 프레임들 내 블록들에 의존하지 않는다는 것을 반영하기 위해 뜻대로 몇몇 다른 값으로 재설정될 수 있다.
주목해야 할 것은 블록의 데이터베이스내 디폴트 시간 공간 종속 값은 0이라는 것이다. 따라서, 인코더가 초기에 시간 공간 종속 히스토리(temporal spatial dependency history)를 전개하기 시작할 때, 모든 블록들은 0의 값부터 시작한다. 그러한 초기화된 상태로부터, 데이터베이스는 데이터를 축적하고 프레임내 각각의 블록에 대한 히스토리(history)를 전개한다.
예를 들어, 시간 공간 종속 임계치는 목적지 디바이스에 대한 디스플레이 디바이스의 크기, 인코더의 원하는 효율, 그리고 허용가능한 영상 품질 저하의 양을 포함하는 여러 요인들에 기초할 수 있다.
추가적으로, 몇몇 예들에서, 임계치는 사전결정된 고정값일 수 있다. 예를 들어, 비디오 블록이 3보다 큰 시간 공간 종속을 갖지 않도록 사전결정될 수 있다. 또는, 적어도 한 예에서, 임계치는 고정값 보다는 가변적이거나, 조절가능할 수 있다. 예를 들어, 조절가능한 임계치를 선택함으로써, 인코더는 얼굴(face)과 같은 관심영역(ROI)의 높은 텍스처 영역들에 대해 보다 낮게 임계치를 조정할 수 있고, 배경내 벽(wall)처럼 관심영역(ROI)의 낮은 텍스처 영역들을 위해 보다 높게 임계치를 조정할 수 있다. 이러한 방법으로, 일반적으로 시청자에게 보다 관심이 많은, 높은 텍스처 영역들은 낮은 텍스처 영역들에 비해 보다 높은 비디오 품질을 가질 수 있다. 일반적으로, 공간 종속의 범위가 클 수록, 비디오 인코딩이 더욱 효율적일 것이다. 그러나, 보다 큰 공간 종속으로 인한 보다 넓은 공간 영역의 디코딩은 보다 느린 패닝 지원(slower panning support)을 가져올 수 있다. 따라서, 상이한 비디오 어플리케이션들의 요건들에 따라서, 임계치가 고정되기 보다는 가변적이도록 허용함으로써, 비디오 품질과 코딩 효율간의 최적화를 참작할 수 있다. 상기 예에서, 비디오 품질과 코딩 효율간의 균형은 보다 높은 비디오 품질을 갖는 보다 높은 텍스처 영역들과 보다 낮은 비디오 품질을 갖는 보다 낮은 텍스처 영역들을 인코딩함으로써 맞추어진다.
전술한 바와 같이, 도 4의 모드 선택 유닛(84)은 인터-코딩 또는 인트라-코딩을 이용하여 블록을 인코딩을 할지를 결정하기 위해 IR 레이트를 이용한다. IR 레이트는 일반적으로 인트라-리프레쉬될 블록들의 수를 결정하고, 프레임 레벨 또는 블록 레벨에서 적용될 수 있다. IR 레이트는 비디오 컨텐츠, 또는 비디오 컨텐츠와 채널 조건의 조합에 기초하여 결정될 수 있다. 본 발명의 개시의 적어도 하나의 예시적인 기법은 효율을 증대하기 위해 전술한 기법들과 IR 레이트를 조합한다. 예를 들어, 프레임 N내 현재 블록 "A"를 인코딩하기 위한 시도에 있어서, 비디오 인코더는 블록 "A"가 이전 프레임 N-1내 후보 블록 "B"의 과도한 시간 공간 종속들에 기초하여 인트라-코딩되어야한다는 것을 결정할 수 있다. 이제, 다음 프레임 N+1에서, IR 레이트는 블록 "A"가 다시 인트라-코딩되도록 설정될 수 있다. 블록 "A"가 이전 프레임내에서 인트라-코딩된다는 점에서, 프레임 N+1내 인트라-리프레쉬 블록 "A"는 몇몇 경우들에 있어서 비효율적일 수 있다는 것은 분명할 것이다. 따라서, IR 레이트가 시간 공간 종속 제약로 인해 블록이 앞서 인트라-코딩되었는지 여부에 기초하여 조정되는 것이 바람직할 수 있다. 몇몇 예들에서, IR 레이트 제어 유닛(IR rate control unit)은 또한 IR 레이트 제어가 종속들에 기초하여 조정될 수 있도록 시간 공간 종속 데이터베이스와 통신할 수 있다. 적어도 한 예에서, 모드 선택 유닛(84)은 블록이 종속 제약들의 이유로 인트라-코딩되면, IR 레이트가 따라서 조정될 수 있도록 IR 레이트 제어 메카니즘에 피드백을 제공할 수 있다.
도 10은 본 발명의 개시에 따라서 코딩 모드 결정 방법을 예시하는 흐름도이다. 도 10의 예에서, 비디오 인코더는 비디오 프레임(240)내 하나 이상의 후보 비디오 블록들의 시간 공간 종속을 결정한다. 시간 공간 종속은 후보 비디오 블록이 의존하는 이전 비디오 프레임들 내 비디오 블록들의 수를 정의한다. 그리고, 후보 비디오 블록이 의존하는 이전 비디오 프레임들 내 비디오 블록들의 수는 시간 공간 종속 값을 정의한다. 예를 들어, 프레임 N-1의 후보 블록은 프레임 N-2내 비디오 블록에 의존할 수 있으며, 그리고 그 비디오 블록은 프레임 N-3내 비디오 블록에 의존할 수 있으며, 이러한 블록은 프레임 N-4내 비디오 블록에 의존할 수 있다. 따라서, 후보 블록은 3개의 시간 공간 종속 값을 갖는다. 그 다음, 비디오 인코더(20)는 시간 공간 종속 임계치(242)에 시간 공간 종속 값을 비교한다. 예를 들어, 시간 공간 종속 임계치가 2개의 고정값 이면, 상기 예에서 후보 블록의 시간 공간 종속은 임계치를 초과할 것이다. 그 다음, 비디오 인코더는 비교(244)에 기초하여 현재 비디오 블록에 대한 코딩 모드를 선택한다. 시간 공간 종속 값이 임계치를 초과하면, 비디오 인코더는 현재 블록을 강제로 인트라-코딩되도록 한다. 시간 공간 종속이 임계치를 초과하지 않으면, 비디오 인코더는 인트라-코딩을 강제하지 않으며, 인트라-리프레쉬(IR) 레이트, 모션 보상에 의해 표시된 코딩 왜곡, 및/또는 활용가능한 코딩 비트 레이트와 같은 다른 요인들에 기초하여 블록에 대한 모드 결정을 한다.
도 11은 본 발명의 개시에 따라서 다른 코딩 모드 결정 방법을 예시하는 흐름도이다. 도 11의 예에서, 블록에 대한 시간 공간 종속 임계치가 설정된다(250). 그 다음 인코딩을 위한 현재 비디오 프레임에서 블록을 선택한다(252). 비디오 인코더는 시간 공간 종속 스토리지 디바이스(45)를 액세스하고(254) 하나 이상의 후보 블록들의 종속들에 대해 스토리지 디바이스(45)에 질의한다(256). 시간 공간 종속 값은 비디오 인코더로 반환된다(258). 비디오 인코더는 시간 공간 종속 임계치에 반환된 시간 공간 종속을 비교한다(260). 시간 공간 종속이 임계치를 초과하면, 인코더는 현재 블록에 대해 인트라-코딩 모드를 강제한다(262). 그 다음, 몇몇 예들에서, 스토리지 디바이스(45)내 블록 종속들이 재설정되고, IR 레이트가 변경되며(264), 비디오 인코더는 인코딩을 위해 새로운 블록을 선택하도록 준비된다(252). 시간 공간 종속이 임계치를 초과하지 않으면, 비디오 인코더는 인트라-코딩을 강제하지 않으며, 그 대신에 인트라-리프레쉬(IR) 레이트, 모션 보상에 의해 표시된 코딩 왜곡, 및/또는 활용가능한 코딩 비트 레이트와 같은 다른 요인들에 기초하여 블록에 대한 모드 결정을 한다(266). 그 다음, 데이터베이스내 종속들은 블록이 이전 프레임들 내 블록들에 기초하여 인코딩되었다는 것을 반영하도록 갱신되며(268) 그리고 비디오 인코더는 인코딩을 위해 새로운 블록을 선택하도록 준비된다(252).
전술한 기법들을 이용하여, 관심영역(ROI)내 블록들이 이전 프레임들로부터 관심영역(ROI)의 범위를 넘어서 사전결정된 범위내 디코딩된 블록들의 이용가능성만을 요구하기 때문에 연속적으로 국부적인 관심영역(ROI) 비디오 디코딩을 수행하는 것이 가능하다. 그리고, 디코딩을 위해 블록들의 랜덤 액세스 및 디스플레이는 모든 비디오 코덱들에 의해 지원되는 사용자데이터 필드(UserData field)내 블록 포지션 룩업 테이블들(block position lookup tables)을 임베딩함으로써 이루어질 수 있다.
다시 도 3을 참조하고, 전술한 바와 같이, 관심영역(OI) 선택 유닛(63)은 사용자 입력 또는 어플리케이션 커맨드들(application commands)에 기초하여 관심영역(ROI)을 한정하며 특정 영역에 대해 디코딩을 집중한다. 몇몇 예들에서, 관심영역(ROI)내에 한정되지 않은 프레임의 부분들은 디코딩되지 않는다. 비-관심영역(non-ROI)을 디코딩하지 않음으로써, 디코더(30)는 디코딩을 위해 필요한 프로세싱의 양을 실질적으로 감소시키고 디코딩된 비디오를 제공할 수 있다. 관심영역(ROI) 선택 유닛(63)은 예측 유닛(62)에 대해 관심영역(ROI) 선택 영역을 한정하는 데이터를 출력한다. 선택 영역은 사용자 입력에 의해 한정될 수 있다. 사용자는 스타일러스(stylus), 터치스크린, 리사이저블 직사각형(resizable rectangle), 수치 표시 등을 이용하여 선택 영역을 한정할 수 있다. 예측 유닛(62)은 관심영역(ROI)내 블록들을 디코딩 시작하기 위해 관심영역(ROI) 선택 영역을 요구한다. 개념적인 목적만을 위해, 목적지 디바이스(14)의 디스플레이 디바이스(32)는 m×m 프레임들의 크기를 가질 수 있으며, 사용자는 터치스크린과 같은 관심영역(ROI) 선택 유닛(63)을 이용하여 관심영역(ROI)을 선택할 수 있다. 예로서, 선택된 관심영역(ROI)은 n×n의 크기를 가질 수 있으며, 여기서 n은 m보다 작다. 비록 정사각형 관심영역(ROI)이 예시를 위해 기술된다고 하더라도, 관심영역(ROI)은 직사각형일 수 있거나, 예를 들어, 스타일러스에 의해 한정되는 바와 같이 불규칙적인 형상을 가질 수 있다. n×n 영역을 한정하는 데이터는 관심영역(ROI) 선택 유닛(63)으로부터 예측 유닛(62)으로 출력된다. 그 다음 예측 유닛(62)은 관심영역(ROI)을 만들기 위해 디코딩해야만 하는 정확한 블록들을 알게 된다.
그러나, 전술하고, 도 6에 도시된 공간 종속들의 시간 전파 때문에, 디코더(30)가 관심영역(ROI)내 블록들을 간단히 디코딩할 가능성은 거의 없다. 그 보다, 디코더(30)는 관심영역(ROI)의 밖의 추가적인 블록들을 디코딩하여야 한다. 다시 도 6을 참조하면, 예시적인 목적을 위해 관심영역(ROI)이 3×3=9 블록들의 영역이라고 가정하면, 프레임 N의 중심 블록(100)을 디코딩하는 것은 이전 프레임 N-1내에 도시된 3×3=9 블록들 중 임의의 블록이 디코더에 활용가능할 것을 요구할 수 있다. 디코더에 활용가능하기 위해, 이전 프레임 N-1의 9개 블록들은 프레임 N-2내 5×5=25 블록들 중 임의의 블록이 또한 디코더에 활용가능할 것을 요구할 수 있는데, 이는 이들 블록들이 모션 탐색(motion search)의 결과들에 따라서, 3×3=9 블록들 중 임의의 블록에 대해 기준 블록들로서 알맞을 수 있기 때문이다. 그리고, 프레임 N-2의 25개 블록들은 프레임 N-3내 7×7=49 블록들 중 임의의 블록이 디코더에 또한 활용가능할 것을 요구할 수 있다. 최종적으로, 프레임 N-3의 49개 블록들은 프레임 N-4내 9×9=81 블록들 중 임의의 블록이 또한 디코더에 이용가능할 것을 요구할 수 있다.
상기 예를 계속하여, 관심영역(ROI)이 도 6내 프레임 N-1에 도시된 3×3 영역이었다면, 디코더는 또한 프레임 N-2내 5×5=25 블록들 중 임의의 블록이 디코더에 활용가능할 것을 필요로 할 수 있다. 그리고, 프레임 N-3의 25개 블록들은 프레임 N-3내 7×7=49 블록들 중 임의의 블록이 또한 디코더 등에 활용가능할 것을 요구할 수 있다. 디코더를 얼마나 크게 할지 결정하기 위해, 디코딩될 비디오 영역은 관심영역(ROI)에 비교될 필요가 있으며, 디코더, 그리고 특히 예측 유닛(62)은 인코딩 프로세스 동안 강제된 시간 공간 종속(TSD) 값을 알아야만 한다.
인코딩 동안 강제된 시간 공간 종속(TSD) 값은 전체 프레임(entire frame), 개별적인 슬라이들(individual slices), 또는 개별적인 매크로블록들(individual macroblocks)에 대해 수행될 수 있다. 그러므로, 프레임은 프레임의 부분들(예를 들어, 슬라이스들 또는 매크로블록들(MBs))에 할당된 다중 시간 공간 종속(TSD) 값들을 가질 수 있다. 일례에서, 인코딩 동안 강제된 시간 공간 종속(TSD) 값은 인코딩된 비디오 비트스트림 내의 헤더(header)내 데이터로서 전송되고 예측 유닛(62)에 의해 수신될 수 있다. 시간 공간 종속(TSD) 값은 하나 이상의 헤더 신택스 엘리먼트들(header syntax elements)의 형태로 전송될 수 있다. 몇몇 예들에서, 시간 공간 종속(TSD) 값은 프레임 헤더(frame header)의 일부를 형성할 수 있다. 다른 예들에서, 시간 공간 종속(TSD) 값은 슬라이스 헤더(slice header)의 일부를 형성할 수 있다. 몇몇 예들에서, 시간 공간 종속(TSD) 값은 블록 헤더(block header)(예를 들어, 매크로블록 헤더)의 일부를 형성할 수 있다. 또 다른 예들에서, 개별적인 매크로블록들의 시간 공간 종속(TSD) 값은 슬라이스 또는 프레임 헤더의 일부를 형성할 수 있다.
몇몇 예들에서, 비디오 비트스트림내 전송된 시간 공간 종속(TSD) 값은 프레임 또는 슬라이스의 최대 시간 공간 종속 범위(maximum temporal spatial dependency range)일 수 있다. 예를 들어, 종속 범위가 비디오 프레임내 각각의 블록에 대해 변하면, 전송된 시간 공간 종속(TSD) 값은 최대 종속 범위일 수 있다. 특정한 예로서, 비디오 프레임내 블록들의 모두가 2,3, 또는 4의 종속들을 가지면, 비트스트림내 헤더에 전송된 시간 공간 종속(TSD) 값은 4일 것이다. 최대 시간 공간 종속(TSD) 값을 전송하는 것은 충분한 수의 기준 블록들이 후속적인 비디오 프레임들 내 블록들을 디코딩하기 위해 디코더에 활용가능하도록 이전 프레임내 충분한 수의 블록들을 디코딩할 것이라는 것을 보장한다.
또 다른 예들에서, 비디오 비트스트림 내 전송된 시간 공간 종속(TSD) 값은 실제 종속 값일 수 있다. 상기 예에서, 예측 유닛(62)은 제 1 블록이 2의 종속을 갖고, 제 2 블록은 3의 종속을 가지며, 제 3 블록은 4의 종속을 갖고, 제 4 블록은 3의 종속을 갖는 등을 표시하는 블록 헤더들내 정보를 수신할 것이다.
또 다른 예에서, 인코더가 슬라이스 레벨에서 제약된 시간 공간 종속 범위들을 갖는다면, 각각의 슬라이스에 대한 실제 종속 범위가 전송될 수 있다. 예를 들어, 프레임이 2의 시간 공간 종속(TSD) 값을 갖는 슬라이스 1, 3의 시간 공간 종속(TSD) 값을 갖는 슬라이스 2, 그리고 4의 시간 공간 종속(TSD) 값을 갖는 슬라이스 3을 갖는 3개의 슬라이스로 분할되면, 예측 유닛(62)은 분리된 슬라이스 헤더내 모든 3개의 슬라이스들에 대한 시간 공간 종속(TSD) 값 정보를 수신할 것이다. 일단 예측 유닛(62)이 관심영역(ROI) 선택 영역과 시간 공간 종속(TSD) 값을 한정하는 데이터를 수신하면, 예측 유닛(62)은 예측 블록들을 생성하기 시작할 수 있다. 특정한 예로서, 관심영역(ROI) 선택 영역이 3×3 영역이며 전송된 시간 공간 종속(TSD) 값은 3의 값을 갖는 최대 시간 공간 종속 값이면, 예측 유닛(62)은 7×7 디코딩 영역이 사용자에게 3×3 관심영역을 제공하기 위해 필요한 최소 영역이라고 결정할 것이다. 다시, 관심영역(ROI)보다 큰 비디오 프레임의 일부인 7×7 영역은 시간 공간 종속 값에 의해 한정된다. 그 다음 예측 유닛(62)은 기준 프레임 스토어(reference frame store)(68)를 액세스하고 어느 프레임들이 예측을 위해 사용되어야 하는지를 결정할 수 있다.
상기 예에서, 사용자가 패닝(panning) 또는 주밍(zooming)하지 않으면, 즉, 관심영역(ROI)이 프레임에서 프레임으로 상대적으로 정적(static)이면 최소 7×7 디코딩된 영역은 충분하다. 그러나, 최소 영역만이 디코딩되고 있으며 사용자가 패닝 또는 주밍하고 있다면, 기준 블록들의 충분한 영역이 디코딩되고 활용가능해질 때까지 사용자에게 영상을 제공하는데 있어서 지연(delay)이 있을 수 있다. 따라서, 디코더가 시간 공간 종속(TSD) 값에 의해 한정된 최소 영역 보다 큰 영역을 디코딩하도록 하는 것이 바람직할 수 있지만, 여전히 전체 비디오 프레임보다는 작다. 예를 들어, 사용자가 패닝 중이면, 디코더는 활용가능한 충분한 디코딩된 블록들이 존재하도록 하기 위해 7×8 영역을 디코딩할 수 있다. 즉, 사용자에게 관심영역(ROI) 뿐만 아니라 원하는 관심영역(ROI)을 제공하기에 필요한 두 최소 영역의 범위를 넘어 확장되는 추가적인 관심영역(ROI) 마진이 디코딩될 것이다.
일반적으로, 주밍은 프레임내에서 관심영역(ROI)을 확대 또는 축소하기 위해 주밍 인(zooming in) 또는 주밍 아웃(zooming out)으로 지칭될 수 있다. 패닝은 프레임내에서 수평적으로 좌측에서 우측으로 이동하거나, 수직적으로 업 또는 다운 이동하는 것을 지칭할 수 있다. 관심영역(ROI)을 선택하는 것에 더하여, 디코더(30)는 디코딩된 비디오내 픽셀 데이터를 스케일하기 위해, 예를 들어, 픽셀 보간법(pixel interpolation) 또는 데시메이션(decimation)에 의해 주밍을 지원하기 위해 하나 이상의 포스트-프로세싱 유닛들(post-processing units)을 포함할 수 있다. 추가적인 관심영역(ROI) 마진은 프레임당 허용가능한 최대 변화(즉, 줌 또는 팬 변화)의 함수로서 선택될 수 있다. 프레임당 허용가능한 최대 변화는 팬 또는 줌에 대해 사용자의 능력에 대한 제약으로서 설정될 수 있다. 예를 들어, 사용자는 사용자들이 연속적인 프레임들간의 x 매크로블록들 또는 프레임당 x 매크로블록들의 최대 레이트로 좌측 또는 우측으로 팬만을 할 수 있도록 제약될 수 있다. 이러한 제약에 기초하여, 디코더는 사용자의 패닝과 보조를 맞추기 위해 프레임 N-2내, 즉, 디코딩된 블록들의 추가적인 마진을 갖는 7×8 매크로블록 영역을 디코딩할 필요가 있을 수 있다. 다른 예들에서, 디코더는 사용자가 어느 방향으로 팬할지 인식하지 못할 수 있기 때문에, 디코더는 프레임 N-2내 7×9 매크로블록 영역을 디코딩할 필요가 있을 수 있다. 유사하게, 업 또는 다운 패닝(up or down panning), 틸팅(tilting)에 대하여, 사용자의 틸팅과 보조를 맞추기 위해, 디코더는 프레임 N-2, 즉, 디코딩된 블록들의 추가적인 마진을 갖는 8×7 매크로블록 영역을 디코딩할 필요가 있을 수 있다. 또 다른 예들에서, 디코더는 사용자가 어느 방향으로 틸팅(tilting) 될 것인지를 인식하지 못할 수 있기 때문에, 디코더는 프레임 N-2내 9×7 매크로블록 영역을 디코딩할 필요가 있을 수 있다. 몇몇 예들에서, 추가적인 관심영역(ROI) 마진은 프레임당 허용가능한 최대 변화에 선형적으로 관련될 수 있다. 예를 들어, 프레임당 하나의 매크로블록의 최대 패닝 변화가 허용된다면, 좌측, 우측, 업 또는 다운 패닝을 지원하기 위해 되어야 하는 매크로블록들의 마진은 매크로블록들의 전체 디코딩된 영역 주위에 하나의 디코딩된 매크로블록의 경계(border)를 추가해야 한다. 프레임 N내 3×3 매크로블록 관심영역(ROI)에 대해, 주어진 시간 공간 종속(TSD) 값은 프레임 N-2내 매크로블록들의 7×7 디코딩된 영역을 요구하며, 프레임당 하나 이상이 아닌 매크로블록에서 패닝 또는 주밍을 지원하기 위해 하나의 매크로블록의 추가적인 마진은 프레임 N-2내 9×9의 디코딩된 영역을 요구할 수 있다. 또 다른 예들에서, 추가적인 관심영역(ROI) 마진은 비선형 관계로 프레임당 허용가능한 최대 변화와 관련될 수 있다.
도 12는 관심영역(ROI), 디코딩될 필요가 있을 수 있는 관심영역(ROI) 밖의 제 1 영역, 그리고 또한 디코딩될 필요가 있을 수 있는 제 1 영역 밖의 제 2 영역을 예시하는 개념도 이다. 도 12는 3×3 관심영역(300), 시간 공간 종속(TSD) 값에 기초하여 3×3 영역(300)을 디코딩하기 위해 필요한 3×3 관심영역(ROI)(300)을 포함하는 7×7 영역(310), 그리고 최소 7×7 영역(310)의 범위를 넘어서 연장되고 3×3 영역(300)뿐만 아니라 7×7 영역(310)을 포함하는 추가적인 관심영역(ROI) 마진(320)을 예시한다. 관심영역(ROI) 마진은 9×9 블록으로서 도시되지만, 정사각형일 필요는 없다. 그리고, 관심영역(ROI) 마진은 프레임당 허용가능한 최대 변화에 따라서 보다 클 수 있다. 전술한 바와 같이, 사용자가 3×3 관심영역(300)을 한정한다면, 공간 종속들의 시간 전파로 인해, 보다 큰 영역(310)이 디코딩될 필요가 있다. 인코딩된 비트스트림이 프레임의 최대 시간 공간 종속(TSD) 값이 2인 것을 나타내는 헤더를 포함한다면, 3×3 관심영역(300)을 디코딩하기 위해 필요한 최소 영역은 7×7 영역(310)이다. 그러나, 사용자가 팬 또는 줌할 수 있기 때문에, 디코더가 사용자가 팬 또는 줌할 때에 앞서서 블록들을 디코딩할 수 있도록 추가적인 ROI 마진(320)이 존재하도록 하는 것이 바람직할 수 있다.
다시 주목해야 할 것은 3×3 관심영역(ROI)은 단지 개념적인 목적을 위한 것이며 통상적으로 관심영역(ROI)내 매크로블록들(Mbs)의 수가 보다 클 것이라는 것이다. 또한, 작은 관심영역(ROI)은 전체 스크린을 채우거나 스크린의 실질적인 부분을 채울 때까지 스케일 업될 수 있으며, 포스트-프로세싱에서 보간법에 의해 줌인 및 픽셀 스케일링과 일치할 수 있다.
또한 주목해야 할 것은 인코더가 슬라이스 레벨(slice level)에서 제약된 시간 공간 종속 범위들을 갖는다면, 관심영역(ROI)(300), 3×3 관심영역(ROI)(300)을 포함하는 영역(310), 그리고 추가적인 관심영역(ROI) 마진(320)은 슬라이스 경계들(slice boundaries)에 걸쳐서 변할 수 있다. 예를 들어, 3개의 수평적인 슬라이스들로 분할되는 프레임과, 슬라이스 1과 2간에 연장되는 관심영역(ROI)을 고려한다. 슬라이스 1이 2의 시간 공간 종속(TSD) 값이고 슬라이스 2가 3의 시간 공간 종속 값을 가지면, 3×3 영역을 디코딩하기 위해 필요한 결과적인 영역은 도 12에서 처럼 정사각형이 아니다. 슬라이스 1의 시간 공간 종속(TSD) 값이 슬라이스 2의 시간 공간 종속(TSD) 값보다 작기 때문에 슬라이스 1에 위치된 관심영역(ROI)의 부분을 디코딩하기 위해 필요한 영역은 슬라이스 2에 위치된 관심영역(ROI)의 부분을 디코딩하기 위해 필요한 영역 보다 작을 수 있다. 전술한 바와 같이, 슬라이스 경계들을 오버랩하는 관심영역(ROI)의 디코딩은 슬라이스 헤더내 시간 공간 종속(TSD) 값을 전송함으로써 달성된다.
시간 공간 종속(TSD) 값이 매크로블록 레벨에서 강제될 때 슬라이스들에 대해 전술한 것과 유사한 문제에 직면한다. 그러나, 유사한 방식에서, 전술한 바와 같이, 관심영역(ROI)을 디코딩하는 것은 매크로블록 헤더내 시간 공간 종속(TSD) 값을 전송함으로써 달성된다.
몇몇 예들에서, 프레임당 허용가능한 최대 변화는 시간 공간 종속(TSD) 값에 기초하여 디코딩될 필요가 있는 영역에 대해 고정 마진(fixed margin)을 추가함으로써 결정될 수 있다. 이러한 방식에서, 시간 공간 종속(TSD) 값과 추가적인 관심영역(ROI) 마진에 기초하여 디코딩될 필요가 있는 영역은 독립적으로 결정될 수 있다. 사용자가 프레임당 허용가능한 최대 변화보다 빠른 레이트(rate)로 팬 또는 줌을 시도할 때, 목적지 디바이스(14)의 디스플레이 디바이스(32)는 사용자가 허용가능한 최대 변화를 초과하였다는 것을 표시하는 메시지를 사용자에게 디스플레이 할 수 있다. 또는, 몇몇 예들에서, 청취가능한 신호(audible signal)는 최대 변화 허용가능한 값이 초과되었다는 것을 나타내는 목적지 디바이스(14)에 의해 생성될 수 있다. 또는, 몇몇 예들에서, 사용자 인터페이스는 요청에 응답하지 않을 수 있다. 따라서, 사용자가 최대 보다 빠른 레이트로 패닝 또는 주밍하는 것을 방지할 수 있다. 사용자는 허용가능한 최대 변화와 일치하는 주어진 레이트로 팬 또는 줌하는 것만이 허용될 수 있다. 예를 들어, 사용자가 스타일러스로 화살표를 클릭하면, 화살표는 프레임당 하나의 매크로블록의 최대 레이트로만 응답한다. 주목해야 할 것은 팬 또는 줌의 해상도는 하나의 매크로블록보다 못할 수 있다는 것이다. 예를 들어, 각각의 화살표 클릭은 클릭 당 한번에 ¼ 또는 ½ 매크로블록의 이동을 가져올 수 있다.
다른 예들에서, 사용자가 패닝 또는 주밍 동안 프레임당 한계 허용가능한 최대 변화를 초과하면, 디스플레이 디바이스(32)는 블록들이 아직 디코딩되지 않은 영역내 빈 픽셀들(blank pixels)의 영역을 디스플레이한다. 예를 들어, 사용자가 최대 한계보다 큰 레이트로 좌측으로 빠르게 패닝 중이면, 디스플레이 디바이스(32)는 디스플레이 디바이스(32)의 좌측면을 따라서 빈 픽셀들의 영역을 디스플레이할 수 있다. 일단 사용자가 패닝을 중단하거나, 최대 한계보다 느린 레이트로 패닝을 시작하면, 디코더는 빈 픽셀들에 의해 한정된 블록들을 디코딩한 다음에 디스플레이할 수 있다.
몇몇 예들에서, 사용자가 프레임 한계당 허용가능한 최대 변화를 초과하면, 디코더는 디스플레이 디바이스(32) 갱신시 지연을 부과한다. 예를 들어, 사용자가 프레임 당 한계 허용가능한 최대 변화를 초과하는 레이트로 줌인(zoom in)을 시도하면, 디코더는 줌 바로 전에 사용자가 시청중이었던 관심영역(ROI) 선택 영역내 블록들을 계속적으로 디코딩하고 디스플레이할 수 있다. 그 다음, 일단 디코더가 줌에 의해 정의된 바와 같이 새로운 관심영역(ROI) 선택 영역내 블록들을 디코딩하였다면, 디코더는 새로운 디코딩 영상을 디스플레이할 수 있다. 이러한 방식으로, 사용자는 제 1 관심영역(ROI) 내 비디오를 계속적으로 시청할 수 있지만, 줌된 관심영역(ROI)이 디스플레이되기 전에 제 2, 줌된 관심영역(ROI) 내 블록들을 디코딩할 때까지 몇몇 프레임들을 대기하여야 할 것이다.
도 13은 본 발명의 개시에 따라서 디코딩 방법을 예시하는 흐름도이다. 디코더(30)는 관심영역(ROI) 선택 유닛(63)을 통해서 관심영역(ROI)을 한정하는 데이터를 수신한다(400). 디코더(30)는 또한 관심영역(ROI)내 적어도 하나의 블록에 대한 시간 공간 종속(TSD) 값을 인코딩된 비디오 비트스트림내 헤더(header)를 통해서 수신한다(410). 그 다음 디코더(30)는 관심영역(ROI) 및 시간 공간 종속(TSD) 값을 한정하는 데이터에 기초하여 관심영역(ROI)(420) 내 비디오 블록을 디코딩한다.
주목해야 할 것은 디바이스의 디스플레이를 채우기 위해 줌 또는 팬 기능이 수행될 것이라면, 보간법에 의한 해상도의 업스케일링(upscaling)이 사용될 수 있다. 이러한 업스케일링은 포스트-프로세싱 연산 동안 디코딩 후 픽셀 도메인에서 달성될 수 있다.
프레임 내 모든 블록들 보다는 관심영역(ROI)을 산출하기 위해 필요한 블록들만이 디코딩되기 때문에 전술한 디코딩 기법들을 사용함으로써 전력 소모를 줄이고, 계산을 줄이며, 그리고 레이턴시(latency)을 줄일 수 있다.
도 14는 패닝, 주밍, 및 틸팅을 지원할 선택된 관심영역(ROI)을 디코딩하기 위해 추가적인 관심영역(ROI) 마진을 결정하는 방법을 예시하는 흐름도이다. 관심영역(ROI)의 경계가 결정된다(500). 예를 들어, 사용자는 관심영역(ROI)을 선택하기 위해 스타일러스를 사용했을 수도 있다. 개념적 목적들만을 위해, 관심영역(ROI) 선택 유닛은 사용자가 관심영역(ROI)에 대해 3×3 영역을 선택하였다는 것을 결정할 수도 있으며, 따라서 관심영역(ROI)의 경계는 3×3 이다. 그 다음, 시간 공간 종속(TSD) 값에 기초하여, 디코더는 디코딩될 필요가 있는 관심영역(ROI) 밖의 제 1 마진을 결정하고, 관심영역(ROI) 경계에 제 1 마진을 추가한다(510). 다시, 예를 들어, 시간 공간 종속(TSD) 값이 3이면, 디코더는 3×3 관심영역(ROI)을 포함하는 7×7 영역을 디코딩할 필요가 있을 수 있다. 이와 같이, 디코더는 3×3 관심영역(ROI)에 각각의 방향으로 2 매크로블록들의 제 1 마진을 추가한다. 그 다음, 디코더는 사용자 패닝, 주밍, 및 틸팅을 지원하기 위해 디코딩될 필요가 있는 제 1 마진 밖의 제 2 마진을 결정한다(520). 예를 들어, 디코더가 3×3 관심영역(ROI)을 지원하기 위해 3의 시간 공간 종속(TSD) 값에 기초하여 7× 7 영역을 디코딩할 필요가 있다면, 디코더는 7×7 영역을 넘어서 연장되는 추가적인 관심영역(ROI) 마진을 결정하기 위해 제 1 마진에 제 2 마진을 추가한다. 예를 들어, 제 1 마진에 추가된 제 2 마진은 3×3 관심영역(ROI) 디코딩과 패닝, 주밍, 틸팅 둘 다를 지원하기 위해 디코딩될 필요가 있는 9×9 영역의 결과를 가져온다. 다시, 3×3 영역은 개념적인 목적들만을 위한 것이며; 관심영역은 통상적으로 보다 클 것이다.
본 발명의 개시에 기술된 기법들은 관심영역(ROI)내에 연속적인 국부적인 비디오 디코딩을 허용할 수 있다. 국부적인 비디오 코딩에 따라서, 시청자는 디코더 측으로부터 관심영역(ROI)을 한정하고 조작하도록 허용될 수 있으며, 동일한 비디오 컨텐츠의 각각의 시청에 대해 고유한 비디오 시청 경험을 제공한다. 몇몇 양상들에서, 본 발명의 개시에 기술된 기법들은 또한 풀-프레임 디코딩 대신에 관심영역 전용(ROI-only) 디코딩에 의해 관심영역(ROI) 시청에 대해 허용함으로써, 특히 휴대용 디바이스들에 대한 전력 소모를 줄일 수 있다. 본 발명의 개시에 기술된 기법들은 또한 시청자로 하여금 시청자에게 관심있는 비디오 컨텐츠의 부분만을 디스플레이할 수 있도록 허용함으로써 디스플레이 윈도우의 보다 나은 활용을 제공할 수 있다. 다른 양상들에서, 본 발명의 개시에 기술된 기법들은 또한 디바이스의 프로세싱과 디스플레이 능력을 초과하지 않을 비디오 컨텐츠의 관심영역(ROI) 시청을 허용할 수 있다. 본 발명의 개시에 기술된 기법들은 또한 비디오 캡쳐 윈도우(video capture window)와 시청 윈도우(viewing window)간의 기본적인 디-커플링을 허용할 수 있다. 몇몇 양상들에서, 본 발명의 개시에 기술된 기법들은 또한 디코딩 측으로부터 비디오 재생 동안, 정상적으로 비디오 인코딩에 앞서 비디오 캡쳐동안에만 가능한 관심영역(ROI) 비디오 주밍 및 패닝을 허용할 수 있다.
전술한 기법들은 기본적으로 비디오 캡쳐 윈도우와 시청 윈도우를 분리(decouple)할 수 있다. 즉, 시청자는 비디오가 캡쳐된 동일한 방식으로 디스플레이 디바이스이 시청 윈도우내 비디오 컨텐츠를 시청하도록 강요되지 않을 수 있다. 예를 들어, 두 사람이 대화를 하는 장면에서, 시청자는 한 사람만을 줌인하기 위해 선택할 수 있다. 이러한 방식에서, 디스플레이상의 시청 윈도우는 비디오 캡쳐 윈도우로부터 분리되었다. 더욱이, 시청자는 비디오 재생동안 전통적으로 비디오 캡쳐동안에만 가능한 관심영역(ROI)을 줌 및 팬할 수 있다.
본 명세서에 기술된 기법들은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합으로 구현될 수 있다. 소프트웨어로 구현되면, 기법들은 실행시 프로세서로 하여금 전술한 방법들 중 하나 이상을 수행하도록 하는 컴퓨터-판독가능 매체에 인코딩된 명령들(instructions)을 포함하는 프로그램 코드를 포함하는 컴퓨터-판독가능 매체에 의해 부분적으로 실현될 수 있다. 이러한 경우에 있어서, 컴퓨터 판독가능 매체는 싱크로너스 동적 랜덤 액세스 메모리(synchronous dynamic random access memory : SDRAM)과 같은 랜덤 액세스 메모리(random access memory : RAM), 판독-전용 메모리(read-only memory : ROM), 비휘발성 랜덤 액세스 메모리(non-volatile random access memory : NVRAM), 전기적으로 삭제가능한 프로그래머블 판독-전용 메모리(electrically erasable programmable read-only memory : EEPROM), 플래시 메모리(FLASH memory), 자기 또는 광 데이터 스토리지 매체(magnetic or optical data storage media) 등을 포함할 수 있다.
프로그램 코드는 하나 이상의 디지털 신호 프로세서들(digital signal processors : DSPs), 범용 마이크로프로세서들(general purpose microprocessors), 응용 주문형 집적 회로(application specific integrated circuits : ASIC), 필드 프로그래머블 로직 어레이들(field programmable logic arrays : FPGAs), 또는 기타 등가 집적 또는 이산 논리 회로(equivalent integrated or discrete logic circuitry)와 같은 하나 이상의 프로세서들에 의해 실행될 수 있다. 몇몇 예들에서, 본 발명의 개시에 기술된 기능은 자동 객체 분할(automatic object segmentation)을 위해 구성되거나, 자동 객체 분할 시스템(automatic object segmentation system)내에 통합된 전용 소프트웨어 모듈들(dedicated software modules) 또는 하드웨어 유닛들 내에 제공될 수 있다.
Claims (46)
- 비디오 디코더(video decoder)에서 수행되는 방법으로서,
비디오 프레임(video frame)의 관심 영역(region-of-interest : ROI)을 정의하는 데이터(data)를 수신하는 단계;
상기 관심 영역(ROI)내 적어도 하나의 비디오 블록(at least one video block)을 위해 시간 공간 종속(temporal spatial dependency : TSD) 값을 수신하는 단계; 및
상기 시간 공간 종속(TSD) 값에 적어도 부분적으로 기초하여 상기 관심 영역(ROI)내 비디오 블록(video block)을 디코딩하는 단계를 포함하는, 비디오 디코더 수행 방법. - 제 1 항에 있어서,
상기 시간 공간 종속 값은 상기 현재 인코딩된 비디오 블록이 의존하는 이전에 인코딩된 비디오 프레임들 내 다수의 비디오 블록을 정의하는, 비디오 디코더 수행 방법. - 제 1 항에 있어서,
시간 공간 종속 값을 수신하는 단계는 프레임 헤더(frame header), 슬라이스 헤더(slice header), 또는 매크로블록 헤더(macroblock header) 중 적어도 하나에서 인코딩된 비디오 스트림(encoded video bitstream) 내의 시간 공간 종속 값을 더 포함하는, 비디오 디코더 수행 방법. - 제 1 항에 있어서,
상기 시간 공간 종속 값은 전체 비디오 프레임(entire video frame)에 대한 최대 종속 값(maximum dependency value)인, 비디오 디코더 수행 방법. - 제 1 항에 있어서,
상기 시간 공간 종속 값은 슬라이스(slice) 또는 매크로블록(macroblock)의 실제 종속 값(actual dependency value)인, 비디오 디코더 수행 방법. - 제 1 항에 있어서,
상기 관심 영역(ROI)을 디코딩하는 단계는 상기 관심 영역(ROI) 보다 큰 상기 비디오 프레임의 일부를 디코딩하는 단계를 더 포함하는, 비디오 디코더 수행 방법. - 제 6 항에 있어서,
상기 관심 영역(ROI) 보다 큰 상기 비디오 프레임의 상기 일부는 상기 시간 공간 종속 값에 의해 정의되는, 비디오 디코더 수행 방법. - 제 7 항에 있어서,
관심 영역 마진(ROI margin)을 디코딩하는 단계를 더 포함하며, 여기서 상기 관심 영역 마진은 상기 시간 공간 종속 값에 의해 정의되는 상기 관심 영역(ROI) 보다 큰 상기 비디오 프레임의 상기 일부 및 상기 관심 영역(ROI) 양쪽 모두의 범위를 넘어서 연장되고, 상기 ROI 마진이 상기 전체 비디오 프레임 보다 작은, 비디오 디코더 수행 방법. - 제 8 항에 있어서,
사용자(user)가 상기 관심 영역(ROI)을 변화시킬 수 있는 레이트(rate)를 제한하는 프레임당 허용가능한 최대 변화(maximum change)를 설정하는 단계를 더 포함하는, 비디오 디코더 수행 방법. - 제 9 항에 있어서,
상기 관심 영역(ROI) 마진은 프레임당 허용가능한 상기 최대 변화의 함수로서 선택되는, 비디오 디코더 수행 방법. - 제 1 항에 있어서,
상기 관심 영역(ROI)을 디코딩하는 단계는 상기 비디오 프레임의 일부만을 디코딩하는 단계를 포함하는, 비디오 디코더 수행 방법. - 비디오 프레임의 관심 영역(ROI)을 선택하는 관심 영역(ROI) 선택 유닛(region-of-interest selection unit);
상기 관심 영역(ROI)내 적어도 하나의 비디오 블록에 대한 시간 공간 종속 값을 수신하는 유닛; 및
상기 시간 공간 종속(TSD) 값에 적어도 부분적으로 기초하여 상기 관심 영역내 비디오 블록을 디코딩하는 유닛을 포함하는, 비디오 디코더. - 제 12 항에 있어서,
상기 시간 공간 종속 값은 상기 현재 인코딩된 비디오 블록이 의존하는 이전의 인코딩된 비디오 프레임들 내 상기 비디오 블록들의 수를 정의하는, 비디오 디코더. - 제 12 항에 있어서,
상기 유닛은 프레임 헤더, 슬라이스 헤더, 또는 매크로블록 헤더 중 적어도 하나에 인코딩된 비디오 비트스트림내 상기 시간 공간 종속 값을 수신하는, 비디오 디코더. - 제 12 항에 있어서,
상기 시간 공간 종속 값은 전체 비디오 프레임에 대한 최대 종속 값인, 비디오 디코더. - 제 12 항에 있어서,
상기 시간 공간 종속 값은 슬라이스(slice) 또는 매크로블록(macroblock)의 실제 종속 값(actual dependency value)인, 비디오 디코더. - 제 12 항에 있어서,
상기 디코더는 상기 관심 영역(ROI)을 디코딩하는, 비디오 디코더. - 제 17 항에 있어서,
상기 디코더는 상기 관심 영역(ROI) 보다 큰 상기 비디오 프레임의 일부를 디코딩하는, 비디오 디코더. - 제 18 항에 있어서,
상기 관심 영역(ROI) 보다 큰 상기 비디오 프레임의 상기 일부는 상기 시간 공간 종속 값에 의해 정의되는, 비디오 디코더. - 제 19 항에 있어서,
상기 디코더는 관심 영역 마진(ROI margin)을 디코딩하고, 여기서 상기 관심 영역 마진은 상기 시간 공간 종속 값에 의해 정의되는 상기 관심 영역(ROI) 보다 큰 상기 비디오 프레임의 상기 일부 및 상기 관심 영역(ROI) 양쪽 모두의 범위를 넘어서 연장되고, 상기 ROI 마진이 상기 전체 비디오 프레임 보다 작은, 비디오 디코더. - 제 20 항에 있어서,
상기 관심 영역(ROI) 마진은 프레임당 허용가능한 최대 변화(maximum change)의 함수로서 선택되고, 프레임당 허용가능한 상기 최대 변화는 사용자가 상기 관심 영역(ROI)을 변화시킬 수 있는 레이트(rate)를 제한하는, 비디오 디코더. - 제 12 항에 있어서,
상기 디코더는 상기 비디오 프레임의 일부만을 디코딩하는, 비디오 디코더. - 제 12 항에 있어서,
무선 통신 디바이스(wireless comunications device)를 더 포함하는, 비디오 디코더. - 제 12 항에 있어서,
집적 회로 디바이스(integrated circuit device)를 더 포함하는, 비디오 디코더. - 컴퓨터-판독가능 매체로서, 실행시, 비디오 디코더(video decoder)내 프로세서(processor)로 하여금
비디오 프레임의 관심 영역(ROI)을 정의하는 데이터를 수신하도록 하고;
상기 관심 영역(ROI)내 적어도 하나의 비디오 블록을 위한 시간 공간 종속 값(TSD)을 수신하며; 그리고
상기 시간 공간 종속(TSD) 값에 대해 적어도 부분적으로 기초하여 상기 관심 영역(ROI)내 비디오 블록을 디코딩하도록 하는 상기 컴퓨터-판독가능 매체에 인코딩된 명령들(instructions)을 포함하는, 컴퓨터-판독가능 매체. - 제 25 항에 있어서,
상기 시간 공간 종속 값은 현재 인코딩된 비디오 블록이 의존하는 이전에 인코딩된 비디오 프레임들 내 비디오 블록들을 수를 정의하는, 컴퓨터-판독가능 매체. - 제 25 항에 있어서,
시간 공간 종속 값을 수신하는 단계는 프레임 헤더, 슬라이스 헤더, 또는 매크로블록 헤더 중 적어도 하나에서 인코딩된 비디오 비트스트림내 시간 공간 종속 값을 수신하는 단계를 더 포함하는, 컴퓨터-판독가능 매체. - 제 25 항에 있어서,
상기 시간 공간 종속 값은 전체 비디오 프레임을 위한 최대 종속 값인, 컴퓨터-판독가능 매체. - 제 25 항에 있어서,
상기 시간 공간 종속 값은 슬라이스 또는 매크로블록의 실제 종속 값인, 컴퓨터-판독가능 매체. - 제 25 항에 있어서,
상기 관심 영역(ROI)을 디코딩하는 단계는 상기 관심 영역(ROI) 보다 큰 상기 비디오 프레임의 일부를 디코딩하는 단계를 더 포함하는, 컴퓨터-판독가능 매체. - 제 30 항에 있어서,
상기 관심 영역(ROI) 보다 큰 상기 비디오 프레임의 상기 일부는 상기 시간 공간 종속 값에 의해 정의되는, 컴퓨터-판독가능 매체. - 제 31 항에 있어서,
상기 프로세서로 하여금 관심 영역 마진(ROI margin)을 디코딩하도록 하기 위해 명령들(instructions)을 더 포함하고, 여기서 상기 관심 영역(ROI) 마진은 상기 시간 공간 종속 값에 의해 정의되는 상기 관심 영역(ROI) 보다 큰 상기 비디오 프레임의 상기 일부 및 상기 관심 영역(ROI) 양쪽 모두의 범위를 넘어서 연장되며, 상기 ROI 마진이 상기 전체 비디오 프레임 보다 작은, 컴퓨터-판독가능 매체. - 제 32 항에 있어서,
상기 프로세서로 하여금 사용자가 상기 관심 영역(ROI)을 변화시킬 수 있는 레이트를 제한하는 프레임당 허용가능한 최대 변화를 설정하도록 하기 위한 명령들(instructions)을 더 포함하는, 컴퓨터-판독가능 매체. - 제 33 항에 있어서,
상기 관심 영역(ROI) 마진은 프레임당 허용가능한 상기 최대 변화의 함수로서 선택되는, 컴퓨터-판독가능 매체. - 제 25 항에 있어서,
상기 관심 영역(ROI)을 디코딩하는 단계는 상기 비디오 프레임의 일부만을 디코딩하는 단계를 포함하는, 컴퓨터-판독가능 매체. - 비디오 디코더로서,
비디오 프레임의 관심 영역(ROI)을 정의하는 데이터를 수신하기 위한 수단;
상기 관심 영역(ROI)내 적어도 하나의 비디오 블록을 위한 시간 공간 종속(TSD) 값을 수신하기 위한 수단; 및
상기 시간 공간 종속(TSD) 값에 적어도 부분적으로 기초하여 상기 ROI내 비디오 블록을 디코딩하기 위한 수단을 포함하는, 비디오 디코더. - 제 36 항에 있어서,
상기 시간 공간 종속 값은 현재 인코딩된 비디오 블록이 의존하는 이전에 인코딩된 비디오 프레임들 내 비디오 블록들의 수를 정의하는, 비디오 디코더. - 제 36 항에 있어서,
시간 공간 종속 값을 수신하기 위한 상기 수단은 프레임 헤더, 슬라이스 헤더, 또는 매크로블록 헤더 중 적어도 하나에서 인코딩된 비디오 비트스트림내 시간 공간 종속 값을 수신하는 단계를 더 포함하는, 비디오 디코더. - 제 36 항에 있어서,
상기 시간 공간 종속 값은 전체 비디오 프레임에 대한 최대 종속 값인, 비디오 디코더. - 제 36 항에 있어서,
상기 시간 공간 종속 값은 슬라이스 또는 매크로블록의 실제 종속 값인, 비디오 디코더. - 제 36 항에 있어서,
상기 관심 영역(ROI)을 디코딩하기 위한 상기 수단은 상기 관심 영역(ROI) 보다 큰 상기 비디오 프레임의 일부를 디코딩하기 위한 수단을 더 포함하는, 비디오 디코더. - 제 41 항에 있어서,
상기 관심 영역(ROI) 보다 큰 상기 비디오 프레임의 상기 일부는 상기 시간 공간 종속 값에 의해 정의되는, 비디오 디코더. - 제 42 항에 있어서,
관심 영역(ROI) 마진을 디코딩하기 위한 수단을 더 포함하고, 여기서 상기 관심 영역(ROI) 마진은 상기 시간 공간 종속 값에 의해 정의되는 상기 관심 영역(ROI) 보다 큰 상기 비디오 프레임의 상기 일부 및 상기 관심 영역(ROI) 양쪽 모두의 범위를 넘어서 연장되며, 상기 ROI 마진이 상기 전체 비디오 프레임 보다 작은, 비디오 디코더. - 제 43 항에 있어서,
사용자가 상기 관심 영역(ROI)을 변화시킬 수 있는 레이트를 제한하는 프레임당 허용가능한 최대 변화를 설정하기 위한 수단을 더 포함하는, 비디오 디코더. - 제 44 항에 있어서,
상기 관심 영역(ROI) 마진은 프레임당 허용가능한 상기 최대 변화의 함수로서 선택되는, 비디오 디코더. - 제 43 항에 있어서,
상기 관심 영역(ROI)을 디코딩하기 위한 상기 수단은 상기 비디오 프레임의 일부만을 디코딩하기 위한 수단을 포함하는, 비디오 디코더.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/436,953 US8724707B2 (en) | 2009-05-07 | 2009-05-07 | Video decoding using temporally constrained spatial dependency |
US12/436,953 | 2009-05-07 | ||
PCT/US2010/034052 WO2010129876A1 (en) | 2009-05-07 | 2010-05-07 | Video decoding using temporally constrained spatial dependency |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20120006570A true KR20120006570A (ko) | 2012-01-18 |
KR101346133B1 KR101346133B1 (ko) | 2013-12-31 |
Family
ID=42262384
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020117029198A KR101346133B1 (ko) | 2009-05-07 | 2010-05-07 | 시간적으로 제약된 공간 종속을 갖는 비디오 디코딩 |
Country Status (7)
Country | Link |
---|---|
US (1) | US8724707B2 (ko) |
EP (1) | EP2428043A1 (ko) |
JP (1) | JP2012526489A (ko) |
KR (1) | KR101346133B1 (ko) |
CN (1) | CN102422641A (ko) |
TW (1) | TW201108742A (ko) |
WO (1) | WO2010129876A1 (ko) |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9113169B2 (en) * | 2009-05-07 | 2015-08-18 | Qualcomm Incorporated | Video encoding with temporally constrained spatial dependency for localized decoding |
KR101772046B1 (ko) * | 2010-11-04 | 2017-08-29 | 에스케이텔레콤 주식회사 | 예측모드에 따라 필터링된 화소값으로 인트라예측을 수행하는 영상 부호화/복호화 방법 및 장치 |
JP5781313B2 (ja) * | 2011-01-12 | 2015-09-16 | 株式会社Nttドコモ | 画像予測符号化方法、画像予測符号化装置、画像予測符号化プログラム、画像予測復号方法、画像予測復号装置及び画像予測復号プログラム |
EP2617198A1 (de) * | 2011-01-12 | 2013-07-24 | Siemens Aktiengesellschaft | Kompression und dekompression von referenzbildern in einem videokoder |
US8848804B2 (en) * | 2011-03-04 | 2014-09-30 | Vixs Systems, Inc | Video decoder with slice dependency decoding and methods for use therewith |
TWI454150B (zh) * | 2011-05-06 | 2014-09-21 | Altek Corp | 影像檔案的處理方法 |
JP5786478B2 (ja) * | 2011-06-15 | 2015-09-30 | 富士通株式会社 | 動画像復号装置、動画像復号方法、及び動画像復号プログラム |
KR102050761B1 (ko) | 2011-10-05 | 2019-12-02 | 선 페이턴트 트러스트 | 화상 복호 방법 및 화상 복호 장치 |
JP2014532377A (ja) * | 2011-10-14 | 2014-12-04 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッドAdvanced Micro Devices Incorporated | 領域ベースの画像圧縮 |
TWI488487B (zh) * | 2011-10-18 | 2015-06-11 | Acer Inc | 利用手勢調整視訊影像壓縮的方法 |
US20130188712A1 (en) * | 2012-01-24 | 2013-07-25 | Futurewei Technologies, Inc. | Compressed Domain Watermarking with Reduced Error Propagation |
SG11201500316PA (en) * | 2012-09-28 | 2015-02-27 | Intel Corp | Inter-layer intra mode prediction |
GB201301445D0 (en) * | 2013-01-28 | 2013-03-13 | Microsoft Corp | Adapting robustness in video coding |
CN105144768B (zh) * | 2013-04-26 | 2019-05-21 | 英特尔Ip公司 | 频谱共享情境中的共享频谱重新分配 |
GB2516824A (en) | 2013-07-23 | 2015-02-11 | Nokia Corp | An apparatus, a method and a computer program for video coding and decoding |
US20150063464A1 (en) * | 2013-08-30 | 2015-03-05 | Qualcomm Incorporated | Lookup table coding |
CN105684409B (zh) | 2013-10-25 | 2019-08-13 | 微软技术许可有限责任公司 | 在视频和图像编码和解码中使用散列值来表示各块 |
EP2937789A4 (en) * | 2014-02-07 | 2016-05-25 | Entrix Co Ltd | CLOUD STREAMING SERVICE SYSTEM, METHOD FOR PROVIDING A CLOUD STREAMING SERVICE AND DEVICE THEREFOR |
EP3114841B1 (en) * | 2014-03-04 | 2020-06-10 | Microsoft Technology Licensing, LLC | Encoder-side decisions for block flipping and skip mode in intra block copy prediction |
CN105393537B (zh) | 2014-03-04 | 2019-08-27 | 微软技术许可有限责任公司 | 用于基于散列的块匹配的散列表构建和可用性检查 |
CN106464921B (zh) * | 2014-06-19 | 2019-10-15 | Vid拓展公司 | 用于块内复制搜索增强的方法和系统 |
US10681372B2 (en) | 2014-06-23 | 2020-06-09 | Microsoft Technology Licensing, Llc | Encoder decisions based on results of hash-based block matching |
MX2017004210A (es) | 2014-09-30 | 2017-11-15 | Microsoft Technology Licensing Llc | Decisiones de codificador basadas en hash para codificar video. |
JP2016191845A (ja) * | 2015-03-31 | 2016-11-10 | ソニー株式会社 | 情報処理装置、情報処理方法及びプログラム |
WO2017053115A1 (en) * | 2015-09-23 | 2017-03-30 | Board Of Regents, The University Of Texas System | Predicting a viewer's quality of experience |
US20170026659A1 (en) * | 2015-10-13 | 2017-01-26 | Mediatek Inc. | Partial Decoding For Arbitrary View Angle And Line Buffer Reduction For Virtual Reality Video |
EP3214833B1 (en) * | 2016-03-01 | 2018-02-28 | Axis AB | A method and device for controlling a camera capable of pan and tilt control |
US10390039B2 (en) | 2016-08-31 | 2019-08-20 | Microsoft Technology Licensing, Llc | Motion estimation for screen remoting scenarios |
US11095877B2 (en) | 2016-11-30 | 2021-08-17 | Microsoft Technology Licensing, Llc | Local hash-based motion estimation for screen remoting scenarios |
US20180160119A1 (en) * | 2016-12-01 | 2018-06-07 | Mediatek Inc. | Method and Apparatus for Adaptive Region-Based Decoding to Enhance User Experience for 360-degree VR Video |
US11202085B1 (en) | 2020-06-12 | 2021-12-14 | Microsoft Technology Licensing, Llc | Low-cost hash table construction and hash-based block matching for variable-size blocks |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5793895A (en) | 1996-08-28 | 1998-08-11 | International Business Machines Corporation | Intelligent error resilient video encoder |
JP3363039B2 (ja) | 1996-08-29 | 2003-01-07 | ケイディーディーアイ株式会社 | 動画像内の移動物体検出装置 |
US6959045B2 (en) | 1997-12-30 | 2005-10-25 | Mediatek, Inc. | Reduced cost decoder using bitstream editing for image cropping |
JP3606306B2 (ja) * | 1998-10-08 | 2005-01-05 | 沖電気工業株式会社 | 画像符号化装置、画像復号化装置及び画像伝送システム |
DE10300048B4 (de) * | 2002-01-05 | 2005-05-12 | Samsung Electronics Co., Ltd., Suwon | Verfahren und Vorrichtung zur Bildcodierung und -decodierung |
FI114679B (fi) | 2002-04-29 | 2004-11-30 | Nokia Corp | Satunnaisaloituspisteet videokoodauksessa |
US7787539B2 (en) | 2002-07-17 | 2010-08-31 | Broadcom Corporation | Decoding and presentation time stamps for MPEG-4 advanced video coding |
JP2004056616A (ja) | 2002-07-23 | 2004-02-19 | Media Glue Corp | 符号化信号復号装置、符号化信号復号方法および符号化信号復号プログラム |
JP3915652B2 (ja) | 2002-10-09 | 2007-05-16 | コニカミノルタビジネステクノロジーズ株式会社 | 画像処理装置 |
BRPI0413979A (pt) | 2003-08-26 | 2006-11-07 | Thomson Licensing | método e aparelho para minimizar o número de imagens de referência usadas para inter-codificação |
US20060002472A1 (en) * | 2004-06-30 | 2006-01-05 | Mehta Kalpesh D | Various methods and apparatuses for motion estimation |
KR20060043118A (ko) * | 2004-10-07 | 2006-05-15 | 엘지전자 주식회사 | 영상 신호의 인코딩 및 디코딩 방법 |
US8948266B2 (en) | 2004-10-12 | 2015-02-03 | Qualcomm Incorporated | Adaptive intra-refresh for digital video encoding |
TWI286015B (en) | 2005-01-24 | 2007-08-21 | Realtek Semiconductor Corp | Apparatus and method for tracking sampling clock in multi-carrier communication system |
US8768084B2 (en) * | 2005-03-01 | 2014-07-01 | Qualcomm Incorporated | Region-of-interest coding in video telephony using RHO domain bit allocation |
US8588304B2 (en) * | 2005-03-31 | 2013-11-19 | Panasonic Corporation | Video decoding device, video decoding method, video decoding program, and video decoding integrated circuit |
US8102917B2 (en) | 2005-05-20 | 2012-01-24 | Nxp B.V. | Video encoder using a refresh map |
CN101401440A (zh) * | 2006-01-09 | 2009-04-01 | 诺基亚公司 | 可伸缩视频编码中的差错恢复模式判决 |
KR100739785B1 (ko) | 2006-01-09 | 2007-07-13 | 삼성전자주식회사 | 관심 영역 기반 영상 부호화, 복호화 방법 및 장치 |
KR100728031B1 (ko) | 2006-01-23 | 2007-06-14 | 삼성전자주식회사 | 가변 블록 크기 움직임 예측을 위한 부호화 모드 결정 방법및 장치 |
EP3182708B1 (en) | 2007-01-04 | 2019-03-06 | InterDigital Madison Patent Holdings | Methods and apparatus for multi-view information conveyed in high level syntax |
US8660175B2 (en) | 2007-12-10 | 2014-02-25 | Qualcomm Incorporated | Selective display of interpolated or extrapolated video units |
KR100952340B1 (ko) | 2008-01-24 | 2010-04-09 | 에스케이 텔레콤주식회사 | 시공간적 복잡도를 이용한 부호화 모드 결정 방법 및 장치 |
US20090190845A1 (en) | 2008-01-24 | 2009-07-30 | The Hong Kong University Of Science And Technology | Motion-compensated residue based temporal search range prediction |
US9113169B2 (en) | 2009-05-07 | 2015-08-18 | Qualcomm Incorporated | Video encoding with temporally constrained spatial dependency for localized decoding |
-
2009
- 2009-05-07 US US12/436,953 patent/US8724707B2/en active Active
-
2010
- 2010-05-07 TW TW099114734A patent/TW201108742A/zh unknown
- 2010-05-07 JP JP2012510014A patent/JP2012526489A/ja active Pending
- 2010-05-07 KR KR1020117029198A patent/KR101346133B1/ko active IP Right Grant
- 2010-05-07 WO PCT/US2010/034052 patent/WO2010129876A1/en active Application Filing
- 2010-05-07 EP EP10718396A patent/EP2428043A1/en not_active Withdrawn
- 2010-05-07 CN CN201080020906XA patent/CN102422641A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
EP2428043A1 (en) | 2012-03-14 |
US20100284471A1 (en) | 2010-11-11 |
CN102422641A (zh) | 2012-04-18 |
KR101346133B1 (ko) | 2013-12-31 |
JP2012526489A (ja) | 2012-10-25 |
WO2010129876A1 (en) | 2010-11-11 |
US8724707B2 (en) | 2014-05-13 |
TW201108742A (en) | 2011-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101268982B1 (ko) | 국부적인 디코딩을 위해 시간적으로 제약된 공간 종속을 갖는 비디오 인코딩 | |
KR101346133B1 (ko) | 시간적으로 제약된 공간 종속을 갖는 비디오 디코딩 | |
RU2722536C1 (ru) | Вывод опорных значений режима и кодирование и декодирование информации, представляющей режимы предсказания | |
JP7055745B2 (ja) | ビデオコーディングのためのフィルタのための幾何学的変換 | |
US10218975B2 (en) | Transform precision manipulation in video coding | |
EP2165542B1 (en) | Adaptive coefficient scanning in video coding | |
KR101377883B1 (ko) | 비디오 인코딩에서 넌-제로 라운딩 및 예측 모드 선택 기법들 | |
US10638127B2 (en) | Adaptive anchor frame and quantization parameter decision in video coding | |
JP2016526857A (ja) | ビデオコーディングにおける適応フィルタリング | |
JP5156704B2 (ja) | 画像符号化装置、画像符号化方法、集積回路及びカメラ | |
JP2010063092A (ja) | 画像符号化装置、画像符号化方法、画像符号化集積回路およびカメラ | |
KR20160132865A (ko) | 낮은 복잡성 인코딩 및 백그라운드 검출을 위한 시스템들 및 방법들 | |
TW201921938A (zh) | 具有在用於視訊寫碼之隨機存取組態中之未來參考訊框之可調適圖像群組結構 | |
Fleury et al. | Video intra coding for compression and error resilience: a review | |
CN113225558A (zh) | 平滑定向和dc帧内预测 | |
JP2008141407A (ja) | 符号化方式変換装置及び符号化方式変換方法 | |
US20240357102A1 (en) | Predicting filter coefficients from fixed filters for video coding | |
WO2024039803A1 (en) | Methods and devices for adaptive loop filter | |
Lee et al. | Optimal complexity scalable H. 264/AVC video decoding scheme for portable multimedia devices | |
Lonetti et al. | Temporal video transcoding for multimedia services |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20161125 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20170929 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20180928 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20190924 Year of fee payment: 7 |