KR101202630B1 - 비디오 코딩에 대한 시간 압축에서의 프래그먼트된 기준 - Google Patents

비디오 코딩에 대한 시간 압축에서의 프래그먼트된 기준 Download PDF

Info

Publication number
KR101202630B1
KR101202630B1 KR1020117001800A KR20117001800A KR101202630B1 KR 101202630 B1 KR101202630 B1 KR 101202630B1 KR 1020117001800 A KR1020117001800 A KR 1020117001800A KR 20117001800 A KR20117001800 A KR 20117001800A KR 101202630 B1 KR101202630 B1 KR 101202630B1
Authority
KR
South Korea
Prior art keywords
fragment
video frame
current
tile
video
Prior art date
Application number
KR1020117001800A
Other languages
English (en)
Other versions
KR20110022080A (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 퀄컴 인코포레이티드
Publication of KR20110022080A publication Critical patent/KR20110022080A/ko
Application granted granted Critical
Publication of KR101202630B1 publication Critical patent/KR101202630B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • 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/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • 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/134Methods 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/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • H04N19/426Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements using memory downsizing methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

일반적으로, 이 개시물은 프래그먼트로 이루어진 기준 화상들을 사용하여 비디오 프레임들의 시퀀스들을 인코딩 및 디코딩하기 위한 기술을 기재한다. 본 개시물은 완전한 기준 화상들보다는 프래그먼트된 기준들에 기초하여 변경된 시간 압축을 위한 비디오 인코딩 및 디코딩 기술을 제시한다. 통상의 비디오 프레임들의 시퀀스에 있어서, 각각의 프레임의 부분 (즉, 타일 (tile)) 만이 이동 객체 (moving object) 들을 포함한다. 또한, 각각의 프레임에 있어서, 이동 객체들은 비디오 프레임들의 시퀀스에서 각각의 프레임 간에 공통인 특정 영역들에 한정되는 경향이 있다. 본 명세서에 기재된 바와 같이, 움직임의 이러한 공통 영역들이 식별된다. 그후, 화상들은 비디오 프레임들의 식별된 영역들로부터 추출된다. 이들 화상들이 프레임들의 부분들만을 나타낼 수도 있기 때문에, 이 개시물은 이들 화상들을 "프래그먼트들" 이라 지칭한다. 그후, 이들 프래그먼트들은, 전체 프레임보다는, 움직임 보상 프로세스 동안 예측된 프레임들을 발생시키기 위한 기준 화상들로서 사용된다.

Description

비디오 코딩에 대한 시간 압축에서의 프래그먼트된 기준{FRAGMENTED REFERENCE IN TEMPORAL COMPRESSION FOR VIDEO CODING}
본 개시물은 멀티미디어 신호 프로세싱에 관한 것이며, 보다 구체적으로, 비디오 인코딩 및 디코딩에 관한 것이다.
디지털 멀티미디어 성능은, 디지털 텔레비전들, 디지털 직접 방송 시스템들, 무선 통신 디바이스들, 무선 방송 시스템들, 개인 정보 단말기들 (PDAs; personal digital assistants), 랩톱 또는 데스크탑 컴퓨터들, 디지털 카메라들, 디지털 기록 디바이스들, 비디오 게이밍 디바이스들, 비디오 게임 콘솔들, 셀룰러 또는 위성 무선 전화기들 등을 포함한 광범위한 디바이스들에 통합될 수 있다. 디지털 멀티미디어 디바이스들은, 디지털 비디오 데이터를 더욱 효율적으로 송신 및 수신하기 위해, MPEG-2, MPEG-4, 또는 ITU H.264/MPEG-4, 파트 10, 진보된 비디오 코딩 (AVC; Advanced Video Coding) 표준에 의해 정의된 기술와 같은 비디오 코딩 기술을 구현할 수도 있다. 비디오 코딩 기술은 공간 및 시간 예측을 통해 비디오 압축을 수행하여 비디오 시퀀스들에서 고유한 리던던시 (redundancy) 를 감소 또는 제거할 수도 있다.
시간 예측을 통해 비디오 압축을 수행하기 위해서, 비디오 인코더는 움직임 보상 프로세스를 이용할 수도 있다. 움직임 보상 프로세스에 있어서, 비디오 인코더는 현재 비디오 프레임을 매크로블록들의 세트로 분할한다. 그후, 현재 비디오 프레임의 각각의 매크로블록에 대해, 비디오 인코더는 현재 비디오 프레임에서의 매크로블록과 대략 동일한 데이터를 포함하는 하나 이상의 기준 프레임에서의 하나 이상의 매크로블록을 식별하고자 시도한다. 비디오 인코더가 기준 프레임에서의 이러한 매크로블록을 성공적으로 식별한 경우, 비디오 인코더는 기준 프레임에서의 식별된 매크로블록과 현재 프레임에서의 매크로블록 간의 변위를 나타내는 움직임 벡터를 발생시킬 수도 있다. 비디오 인코더가 기준 프레임에서의 이러한 매크로블록을 성공적으로 식별하지 못한 경우, 비디오 인코더는 어떠한 변위도 나타내지 않는 움직임 벡터를 발생시킬 수도 있다. 그후, 비디오 인코더는 기준 프레임에서의 위치들로부터의 움직임 벡터들에 의해 나타낸 위치들로 식별된 매크로블록들을 "이동"시킴으로써 예측 프레임을 발생시킬 수도 있다. 예측 프레임을 발생시킨 후, 비디오 인코더는 매크로블록-바이-매크로블록 기초로, 현재 프레임으로부터 예측 프레임을 공제함으로써 잔여 프레임 (residual frame) 을 발생시켜 대응 블록들 간의 잔여 차이들을 나타낼 수도 있다. 그후, 비디오 인코더는 잔여 프레임을 그 연관 움직임 벡터들과 함께 인코딩할 수도 있다. 그리고 나서, 비디오 인코더는 디코더에 의한 사용을 위해 인코딩된 잔여 프레임 및 연관된 움직임 벡터들을 출력할 수도 있다.
움직임 보상 프로세스를 이용하여 인코딩된 비디오 프레임을 디코딩하기 위해, 비디오 디코더는 움직임 벡터들에 의해 나타낸 기준 프레임을 검색할 수도 있다. 그후, 비디오 디코더는 움직임 벡터들에 의해 나타낸 기준 프레임의 매크로블록들을 움직임 벡터들에 의해 나타낸 위치들로 "이동"시킬 수도 있다. 기준 프레임의 매크로블록들을 이동시킨 결과, 비디오 디코더는 예측 프레임을 발생시킨다. 그리고 나서, 비디오 디코더는 수신된 잔여 프레임의 디코딩된 버전에 예측 프레임을 부가함으로써 재구성된 비디오 프레임을 발생시킬 수도 있다.
일반적으로, 이 개시물은 프래그먼트로 이루어진 기준 화상들을 사용하여 비디오 프레임들의 시퀀스들을 인코딩 및 디코딩하기 위한 기술을 기재한다. 본 개시물은 완전한 기준 화상들보다는 프래그먼트된 기준들에 기초하여 변경된 시간 압축을 위한 비디오 인코딩 및 디코딩 기술을 제시한다. 통상의 비디오 프레임들의 시퀀스에 있어서, 각각의 프레임의 부분 (즉, 타일 (tile)) 만이 이동 객체 (moving object) 들을 포함한다. 또한, 각각의 프레임에 있어서, 이동 객체들은 비디오 프레임들의 시퀀스에서 각각의 프레임 간에 공통인 특정 영역들에 한정되는 경향이 있다. 본 명세서에 기재된 바와 같이, 움직임의 이러한 공통 영역들이 식별된다. 그후, 화상들은 비디오 프레임들의 식별된 영역들로부터 추출된다. 이들 화상들이 프레임들의 부분들만을 나타낼 수도 있기 때문에, 이 개시물은 이들 화상들을 "프래그먼트들" 이라 지칭한다. 그후, 이들 프래그먼트들은, 전체 프레임보다는, 움직임 보상 프로세스 동안 예측된 프레임들을 발생시키기 위한 기준 화상들로서 사용된다.
일 예에 있어서, 방법은 비디오 프레임들의 시퀀스에서의 비디오 프레임들의 타일들의 세트와 연관된 비디오 데이터를 포함하는 기준 프래그먼트 (reference fragment) 들을 저장하는 단계를 포함한다. 상기 타일들의 세트에서의 각각의 타일은 각각의 비디오 프레임에 대한 파티션 (partition) 들의 서브세트를 나타낸다. 이 방법은 또한 상기 기준 프래그먼트들 중 하나 이상의 기준 프래그먼트에 기초하여 현재 비디오 프레임의 현재 타일에 대한 움직임 보상을 수행하는 단계를 포함한다.
다른 예에 있어서, 디바이스는 비디오 프레임들의 시퀀스에서의 비디오 프레임들의 타일들의 세트와 연관된 비디오 데이터를 포함하는 기준 프래그먼트들을 저장하는 기준 버퍼를 포함한다. 상기 타일들의 세트에서의 각각의 타일은 각각의 비디오 프레임에 대한 파티션들의 서브세트를 나타낸다. 이 디바이스는 또한 상기 기준 프래그먼트들 중 하나 이상의 기준 프래그먼트에 기초하여 현재 비디오 프레임의 현재 타일에 대한 움직임 보상을 수행하는 움직임 보상 유닛을 포함한다.
또 다른 예에 있어서, 디바이스는 비디오 프레임들의 시퀀스에서의 비디오 프레임들의 타일들의 세트와 연관된 비디오 데이터를 포함하는 기준 프래그먼트들을 저장하는 수단을 포함한다. 상기 타일들의 세트에서의 각각의 타일은 각각의 비디오 프레임에 대한 파티션들의 서브세트를 나타낸다. 이 디바이스는 또한 상기 기준 프래그먼트들 중 하나 이상의 기준 프래그먼트에 기초하여 현재 비디오 프레임의 현재 타일에 대한 움직임 보상을 수행하는 수단을 포함한다.
또 다른 예에 있어서, 집적회로는 비디오 프레임들의 시퀀스에서의 비디오 프레임들의 타일들의 세트와 연관된 비디오 데이터를 포함하는 기준 프래그먼트들을 저장하는 회로를 포함한다. 상기 타일들의 세트에서의 각각의 타일은 각각의 비디오 프레임에 대한 파티션들의 서브세트를 나타낸다. 또한, 집적 회로는 상기 기준 프래그먼트들 중 하나 이상의 기준 프래그먼트에 기초하여 현재 비디오 프레임의 현재 타일에 대한 움직임 보상을 수행하는 회로를 포함한다.
이 개시물에 기재된 기술은 하드웨어, 소프트웨어, 펌웨어, 또는 그것의 임의의 조합으로 구현될 수도 있다. 소프트웨어로 구현되는 경우, 소프트웨어는 마이크로프로세서, 특정용도 집적회로 (ASIC; application specific integrated circuit), 필드 프로그래머블 게이트 어레이 (FPGA; field programmable gate array), 또는 디지털 신호 프로세서 (DSP; digital signal processor) 와 같은 하나 이상의 프로세서를 사용하여 실행될 수도 있다. 이러한 기술을 실행하는 소프트웨어는, 초기에 컴퓨터 판독가능 매체에 저장되고 프로세서를 사용하여 로딩 및 실행될 수도 있다.
따라서, 이 개시물은 또한 실행가능한 명령들을 포함하는 컴퓨터 판독가능 매체를 고려한다. 상기 명령들은, 하나 이상의 프로세서에 의해 실행될 때, 상기 하나 이상의 프로세서로 하여금, 비디오 프레임들의 시퀀스에서의 비디오 프레임들의 타일들의 세트와 연관된 비디오 데이터를 포함하는 기준 프래그먼트들을 저장하도록 한다. 상기 타일들의 세트에서의 각각의 타일은 각각의 비디오 프레임에 대한 파티션들의 서브세트를 나타낸다. 상기 명령들은 또한, 상기 하나 이상의 프로세서로 하여금, 상기 기준 프래그먼트들 중 하나 이상의 기준 프래그먼트에 기초하여 현재 비디오 프레임의 현재 타일에 대한 움직임 보상을 수행하도록 한다.
몇몇 경우에 있어서, 컴퓨터 판독가능 매체는, 비디오 코딩 디바이스에 사용되거나 및/또는 판매될 수도 있는, 컴퓨터 프로그램 제품의 적어도 일부를 형성할 수도 있다. 컴퓨터 프로그램 제품은 컴퓨터 판독가능 매체를 포함할 수도 있고, 몇몇 경우에는 패키징 재료들을 또한 포함할 수도 있다.
프래그먼트로 이루어진 기준 화상들을 사용하여 비디오 프레임의 시퀀스들을 인코딩 및 디코딩하기 위한 기술은 움직임 보상 코딩 기술과 관련하여 주로 기재될 것이다. 그러나, 본 명세서에 기재된 바와 같은, 프래그먼트로 이루어진 기준 화상들의 사용은 또한, 스케일링 (scaling), 에지 강화 (edge enhancement) 등과 같은 다른 코딩과 관련하여 이용될 수도 있다.
하나 이상의 예들의 상세는 첨부 도면들 및 하기 기재에서 설명된다. 다른 특징들, 목적들 및 이점들은 기재와 도면, 그리고 청구범위로부터 명백해질 것이다.
도 1 은 예시적인 비디오 인코딩 및 디코딩 시스템을 나타낸 블록도이다.
도 2 는 도 1 에 제시된 인코더의 예시적인 상세를 나타낸 블록도이다.
도 3 은 도 2 에 제시된 타일 식별 모듈의 예시적인 상세를 나타낸 블록도이다.
도 4 는 비디오 프레임들의 예시적인 시퀀스 및 활성 파티션들을 검은 블록들로서 나타낸 파티션 맵들의 대응 세트를 나타낸다.
도 5a, 도 5b 및 도 5c 는 예시적인 복합 파티션 활성 맵들을 나타낸다.
도 5d 는 파티션 활성 맵에 대한 모드 평활화 (mode smoothing) 의 영향을 나타낸다.
도 6a 및 도 6b 는 도 2 에 제시된 인코더의 예시적인 동작을 나타낸다.
도 7 은 도 1 에 제시된 디코더의 예시적인 상세를 나타낸 블록도이다.
도 8a 및 도 8b 는 도 7 에 제시된 디코더 내의 모듈들의 예시적인 동작들을 나타낸 플로차트들이다.
도 9 는 도 1 에 제시된 프리프로세서의 예시적인 상세를 나타낸 블록도이다.
도 10 은 도 9 에 제시된 프리프로세서의 예시적인 동작을 나타낸 플로차트이다.
도 11 은 도 1 에 제시된 디코더의 예시적인 상세의 다른 세트를 나타낸 블록도이다.
도 12 는 도 11 에 제시된 디코더의 다른 구현의 예시적인 동작을 나타낸 플로차트이다.
도 13 은 도 1 에 제시된 디스플레이 버퍼들에 프래그먼트들을 저장하기 위한 버퍼 필 모듈 (buffer fill module) 의 예시적인 동작을 나타낸 플로차트이다.
도 1 은 예시적인 비디오 인코딩 및 디코딩 시스템 (2) 을 나타낸 블록도이다. 도 1 의 예에 나타낸 바와 같이, 시스템 (2) 은 인코딩 디바이스 (4) 및 디코딩 디바이스 (6) 를 포함한다. 일반적으로, 인코딩 디바이스 (4) 는 비디오 데이터를 인코딩할 수 있고, 디코딩 디바이스 (6) 는 인코딩 디바이스 (4) 또는 다른 인코딩 디바이스에 의해 인코딩된 비디오 데이터를 디코딩할 수 있다. 인코딩 디바이스 (4) 및 디코딩 디바이스 (6) 는 다양한 디바이스들 중 임의의 것일 수도 있다. 예를 들면, 인코딩 디바이스 (4) 및 디코딩 디바이스 (6) 는 퍼스널 컴퓨터들, 네트워크 서버들, PDA들, 비디오 게임 디바이스들, 개인 미디어 플레이어들, 이동 전화기들, 디지털 카메라들, 디지털 캠코더들, 또는 다른 종류의 디바이스들일 수도 있다. 또한, 단일 디바이스가 인코딩 디바이스 (4) 의 기능 및/또는 디코딩 디바이스 (6) 의 기능을 통합할 수도 있다.
도 1 의 예에 나타낸 바와 같이, 인코딩 디바이스 (4) 는 미디어 소스 (8) 를 포함한다. 미디어 소스 (8) 는 인코딩되지 않은 비디오 데이터 (즉, 본 명세서에 기재된 인코딩 프로세스를 이용하여 인코딩되지 않은 비디오 데이터) 를 출력한다. 미디어 소스 (8) 는 인코딩되지 않은 비디오 데이터를 출력하는 다양한 소프트웨어 및/또는 하드웨어 유닛들 중 임의의 것일 수도 있다. 예를 들면, 미디어 소스 (8) 는 디지털 비디오 카메라, 디지털 스틸 카메라, 인코딩되지 않은 비디오 데이터를 저장한 메모리 모듈, 케이블, 지상 (terrestrial) 또는 위성 텔레비전 제공자로부터 인코딩되지 않은 비디오 데이터를 수신하는 인터페이스, 또는 인코딩되지 않은 비디오 데이터를 출력하는 다른 종류의 소프트웨어 및/또는 하드웨어 유닛들일 수도 있다. 또한, 미디어 소스 (8) 는 하나 이상의 유선 또는 무선 접속을 통해 인코딩 디바이스 (4) 에 통신가능하게 커플링될 수도 있다. 미디어 소스 (8) 는 인코딩된 비디오 데이터를 프리프로세서 (10) 에 제공할 수도 있다.
또한, 도 1 의 예에서, 인코딩 디바이스 (4) 는 트랜스코더 (12) 를 포함할 수도 있다. 일반적으로, 트랜스코더 (12) 는 비트스트림 소스 (14) 에 의해 출력된 비디오 데이터를 수신한다. 비트스트림 소스 (14) 에 의해 출력된 비디오 데이터는 제 1 포맷으로 인코딩될 수도 있다. 예를 들면, 비트스트림 소스 (14) 는 시리얼 디지털 인터페이스 포맷으로 포맷팅된 비디오 데이터를 출력할 수도 있다. 트랜스코더 (12) 가 비트스트림 소스 (14) 에 의해 출력된 비디오 데이터를 수신할 경우, 트랜스코더 (12) 의 디코더 (13) 는 트랜스코더 (12) 로부터 수신된 비디오 데이터를 디코딩함으로써, 비디오 프레임들의 압축되지 않은 시퀀스를 발생시킬 수도 있다. 디코더 (13) 가 비디오 데이터를 디코딩한 후, 디코더 (13) 는, 디코딩된 비디오 데이터에 대해 하나 이상의 비디오 프리프로세싱 동작을 수행하는 프리프로세서 (10) 에 디코딩된 비디오 데이터를 제공할 수도 있다. 그후, 트랜스코더 (12) 의 인코더 (16) 는 제 1 포맷과는 상이한 제 2 포맷으로 프리프로세싱된 비디오 데이터를 인코딩할 수도 있다. 이 개시물에 사용된 바와 같이, 용어 "포맷" 은 데이터 인코딩 포맷 또는 데이터 제공 포맷을 지칭할 수도 있다. 이런 방식으로, 트랜스코더 (12) 는 비트스트림 소스 (14) 에 의해 발생된 비디오를 제 1 포맷으로부터 제 2 포맷으로 트랜스코딩한다. 예를 들면, 트랜스코더 (12) 는 비트스트림 소스 (14) 에 의해 발생된 비디오를 H.263 표준으로부터 H.264 표준으로 트랜스코딩할 수도 있다. 다른 예에서, 트랜스코더 (12) 는 비트스트림 소스 (14) 에 의해 발생된 비디오를 제 1 해상도 (예컨대, H.264 SD) 로부터 제 2 해상도 (H.264 QVGA) 로 트랜스코딩할 수도 있다.
프리프로세서 (10) 는 인코딩되지 않은 비디오 데이터에 대해 다양한 비디오 프리프로세싱 동작을 수행할 수도 있다. 예를 들면, 프리프로세서 (10) 는 인코딩되지 않은 비디오 데이터에 대해 인터레이싱 동작들, 디인터레이싱 동작들, 콘트라스트 조절 동작들, 잡음 감소 동작들, 및/또는 다른 종류의 비디오 프리프로세싱 동작들을 수행할 수도 있다.
프리프로세서 (10) 가 인코딩되지 않은 비디오 데이터에 대해 하나 이상의 비디오 프리프로세싱 동작을 수행한 후, 프리프로세서 (10) 는 프리프로세싱된 비디오 데이터를 인코더 (16) 에 제공할 수도 있다. 인코더 (16) 는 프리프로세싱된 비디오 데이터를 인코딩함으로써 인코딩된 비디오 데이터를 생성한다. 인코더 (16) 가 프리프로세싱된 비디오 데이터를 인코딩한 후, 인코딩 디바이스 (4) 는 인코딩된 비디오 데이터에 대해 다양한 것들을 행할 수도 있다. 일 예로서, 인코딩 디바이스 (4) 는 인코딩된 비디오 데이터를, 랜덤 액세스 메모리, 광학 디스크, 자기 디스크, 플래시 메모리, 전기적 소거가능 프로그래머블 판독전용 메모리, 또는 다른 종류의 메모리 모듈들과 같은 저장 매체 (도시하지 않음) 에 미디어 파일 또는 다른 종류의 미디어 객체로서 저장할 수도 있다. 다른 예로서, 인코딩 디바이스 (4) 는 인코딩된 비디오 데이터를 수개의 상이한 종류의 미디어 객체들 중 하나로서 출력할 수도 있다. 예를 들면, 인코딩 디바이스 (4) 는 인코딩된 비디오 데이터를 오디오/비디오 데이터의 라이브 스트림 (live stream) 으로서 출력할 수도 있다. 다른 예로서, 인코딩 디바이스 (4) 는 인코딩된 비디오 데이터를, 점진적인 재생 가능할 수도 있고 또는 불가능할 수도 있는 미디어 파일로서 출력할 수도 있다. 인코딩 디바이스 (4) 가 인코딩된 비디오 데이터를 출력하는 경우, 인코딩 디바이스 (4) 가 컴퓨터 네트워크, 무선 방송 송신기, 동축 케이블, 광섬유 케이블, 또는 다른 종류의 통신 메커니즘을 이용하여 인코딩된 비디오 데이터를 송신할 수도 있다.
디코딩 디바이스 (6) 의 디코더 (18) 는 인코딩 디바이스 (4) 에 의해 인코딩된 비디오 데이터를 디코딩할 수도 있다. 일반적으로, 디코더 (18) 는 인코더 (16) 가 비디오 데이터에 적용한 것을 역으로 행한다. 디코더 (18) 가 비디오 데이터를 디코딩한 후, 디코딩 디바이스 (6) 의 포스트프로세서 (20) 는 디코딩된 비디오 데이터에 대해 하나 이상의 포스트프로세싱 동작을 수행한다. 예를 들면, 포스트프로세서 (20) 가 감마 보정 (gamma correction) 동작들, 선명화 (sharpening) 동작들, 및 다른 포스트프로세싱 동작들을 포함한 포스트프로세싱 동작들을 수행할 수도 있다. 포스트프로세서 (20) 가 비디오 데이터에 대해 포스트프로세싱 동작들을 수행한 후, 디코딩 디바이스 (6) 의 버퍼 필 모듈 (22) 은 비디오 데이터를 하나 이상의 디스플레이 버퍼 (24) 에 저장할 수도 있다. 예컨대, 버퍼 필 모듈 (22) 은 포스트프로세싱된 비디오 데이터의 개별 프레임들을 디스플레이 버퍼들 (24) 의 개별 디스플레이 버퍼에 저장할 수도 있다. 디스플레이 버퍼들 (24) 는 하나 이상의 컴퓨터 판독가능 매체 (예컨대, 랜덤 액세스 메모리, 플래시 메모리 유닛들, 또는 다른 종류의 컴퓨터 판독가능 매체) 로서 구현될 수도 있다.
디코딩 디바이스 (6) 의 디스플레이 유닛 (26) 은 디스플레이 버퍼 (24) 내의 비디오 데이터를 디스플레이할 수도 있다. 디스플레이 유닛 (26) 은 다양한 종류의 디스플레이 유닛 중 하나 이상일 수도 있다. 예를 들면, 디스플레이 유닛 (26) 은 음극선관 ("CRT") 모니터 또는 텔레비전 세트, 액정 디스플레이 ("LCD"), 또는 유기 발광 다이오드 ("OLED") 디스플레이, 종래의 발광 다이오드 디스플레이, 플라즈마 디스플레이 또는 다른 종류의 디스플레이일 수도 있다. 디스플레이 유닛 (26) 은, 디코딩 디바이스 (6) 내에 포함되어 있는 것으로서 도 1 의 예에 나타내었지만, 디코딩 디바이스 (6) 외부에 있을 수도 있다. 예를 들면, 디스플레이 유닛 (26) 은 하나 이상의 케이블 및/또는 하나 이상의 무선 링크를 통해 디코딩 디바이스 (6) 에 접속될 수도 있다.
본 명세서에 기재된 바와 같이, 프리프로세서 (10), 인코더 (16), 디코더 (18), 및 포스트프로세서 (20) 는 독립적으로 또는 관련되어, 비디오 프레임들의 세트에서의 비디오 프레임들 중의 시간 리던던시를 감소 또는 복원하기 위해 비디오 타일 식별 기술을 이용할 수도 있다. 일반적으로, 이들 비디오 타일 식별 기술은 비디오 프레임들의 시퀀스에서의 비디오 프레임들의 타일들의 하나 이상의 세트의 식별을 수반한다. 타일은 비디오 프레임의 영역이다. 예를 들면, 타일은 20 개의 픽셀 너비와 30 개의 픽셀 높이인 비디오 프레임의 직사각형 영역일 수도 있고, 비디오 프레임의 좌측 에지로부터 5 개의 열 (column) 및 비디오 프레임의 상부 에지로부터 70 개의 행 (row) 인 상부-좌측 픽셀 (즉, 상부-좌측 픽셀은 좌표 (5,70) 을 가짐) 을 가진다. 타일들의 세트들 중 적어도 하나의 세트에서의 타일들은 전체 비디오 프레임을 포함할 수도 있고 또는 포함하지 않을 수도 있는 비디오 프레임들의 영역들이다.
타일들을 식별한 후, 프래그먼트들이 비디오 프레임들 각각으로부터 추출될 수도 있다. 이 개시물에 사용된 바와 같이, "프래그먼트" 는 비디오 프레임의 타일 내에 포함된 화상이다. 예를 들면, 비디오 프레임의 타일을 20 개의 픽셀 너비 및 30 개의 픽셀 높이인 비디오 프레임의 직사각형 영역이라고 한다. 영역의 상부-좌측 픽셀은 좌표 (5,70) 을 가진다. 이 예에서, 이 타일로부터 추출된 프래그먼트는 20 개의 픽셀 너비 및 30 개의 픽셀 높이인 독립적인 화상이다. 또한, 이 예에서, 프래그먼트의 상부-좌측 픽셀 (즉, 좌표 (0,0) 을 갖는 프래그먼트의 픽셀) 은 좌표 (5,70) 를 갖는 비디오 프레임의 픽셀과 동일한 픽셀 값들을 가진다. 유사하게, 좌표 (1,0) 를 갖는 프래그먼트의 픽셀은 좌표 (6,70) 을 갖는 비디오 프레임의 픽셀 등과 동일한 픽셀 값들을 갖는다.
프래그먼트들이 비디오 프레임들로부터 추출되었는 경우, 비디오 프레임들에 관한 동작들은 프래그먼트들에 대해서만 수행될 수도 있다. 예를 들면, 비디오 프레임에 대해서 프리프로세싱 동작을 수행할 때, 프리프로세서 (10) 는 오직 프래그먼트들에 대해서 프리프로세싱 동작을 수행할 수도 있다. 다른 예에서, 인코더 (16) 및 디코더 (18) 는 움직임 보상 동작들 동안 기준으로서 프래그먼트들을 사용할 수도 있다. 동작들이 수행된 후, 프레임들은 프로세싱된 프래그먼트들을 이전 디코딩된 완전한 비디오 프레임 상으로 복합함으로써 재조립 (즉, 렌더링) 될 수도 있다. 이는, 식별된 타일들 중 하나의 타일 내에 존재하지 않는 프레임의 모든 부분들이 식별된 타일들 중 하나의 타일 내에 존재하지 않는 이전 디코딩된 완전한 비디오 프레임의 부분들과 동일하다고 가정될 수도 있기 때문에 가능하다.
도 2 는 인코더 (16) (도 1) 의 예시적인 상세를 나타낸 블록도이다. 도 2 의 예에서, 프리프로세서 (10) 또는 다른 하드웨어 및/또는 소프트웨어 유닛은 인코더 (16) 의 프레임 버퍼 (30) 에서의 인코딩되지 않은 비디오 프레임들의 시퀀스를 저장할 수도 있다. 프레임 버퍼 (30) 는 인코더 (16) 의 주요 메모리의 일부이거나 또는 인코더 (16) 와는 별도일 수도 있는 메모리의 유닛일 수도 있다. 비디오 프레임들의 이 시퀀스는 가변 수의 비디오 프레임들을 포함할 수도 있다. 예를 들면, 비디오 프레임들의 제 1 시퀀스는 5 개의 비디오 프레임들을 포함할 수도 있고, 비디오 프레임들의 제 2 시퀀스는 16 개의 비디오 프레임들을 포함할 수도 있고, 비디오 프레임들의 제 3 시퀀스는 300 개의 비디오 프레임들을 포함 할 수도 있다. 다른 예에서, 비디오 프레임들의 시퀀스는 하나 이상의 화상 그룹 ("GOP") 을 형성할 수도 있다.
비디오 프레임들의 시퀀스가 프레임 버퍼 (30) 에 저장된 경우, 인코더 (16) 의 움직임 추정 유닛 (32) 은 비디오 프레임들의 시퀀스에서 각각의 비디오 프레임의 각각의 파티션에 대한 움직임 데이터를 발생시킬 수도 있다. 이 개시물에 사용된 바와 같이, "파티션"은 연속 화상 그룹이다. 예를 들면, 파티션은 16×16 의 화상 그룹일 수도 있다. 이 예에서, 용어 "파티션"은 MPEG 및 H.26x 비디오 코딩 표준의 전문 용어로 사용된 용어 "매크로블록" 및 "블록"과 동의어일 수도 있다. 그러나, 더욱 일반적인 예에서, 파티션은 임의의 형상의 픽셀 그룹일 수도 있다 (예컨대, 삼각형, 사다리꼴, 원형, 직사각형 등).
움직임 추정 유닛 (32) 에 의해 발생된 움직임 데이터는 현재 프레임이 어떻게 인코딩되어 있는지에 따라 변화할 수도 있다. 예를 들면, 프레임이 예측 프레임 ("P-프레임") 으로서 인터-코딩되어 있다면, 움직임 추정 유닛 (32) 은 프레임의 각각의 파티션에 대해 움직임 벡터들을 발생시킬 수도 있다. 움직임 추정 유닛 (32) 에 의해 발생된 각각의 움직인 벡터는 하나 이상의 기준 프레임에서의 위치들로부터 P-프레임에서의 위치로 하나 이상의 파티션의 변위 값들을 특정할 수도 있다. 예를 들면, 파티션에 대한 움직임 벡터는 하나 이상의 기준 프레임, 식별된 파티션들의 수평 변위들, 및 식별된 파티션들의 수직 변위들을 특정할 수도 있다. 이 예에서, 현재 프레임의 움직임 벡터에서 특정된 기준 프레임들은 현재 프레임에 바로 선행하거나 또는 후속하는 프레임들일 필요는 없다. 예를 들면, H.264 표준에서, 기준 프레임은 현재 프레임으로부터 제거된 16 개의 프레임들까지일 수도 있다. 프레임이 양측-예측 프레임 ("B-프레임") 으로서 인트라-코딩되어 있다면, 움직임 추정 유닛 (32) 은 프레임의 각각의 파티션에 대해, 기준 프레임 인덱스 값들의 리스트들의 세트를 발생시킬 수도 있다. 디코딩 동안, 프레임 인덱스 값들의 리스트는 B-프레임에서 파티션의 위치를 보간하기 위해 사용될 수도 있다. 프레임이 인트라-코딩된 프레임 ("I-프레임") 으로서 인코딩되어 있다면, 움직임 추정 유닛 (32) 은 I-프레임에 대해서는 어떠한 작용도 수행하지 않을 수도 있고 또는 움직임 데이터를 발생시키지 않을 수도 있다.
움직임 추정 유닛 (32) 이 비디오 프레임들의 시퀀스에서 각각의 비디오 프레임의 각각의 파티션에 대해 움직임 데이터를 발생시킨 후, 모드 결정 모듈 (34) 은 각각의 파티션에 대한 파티션 인코딩 모드를 선택할 수도 있다. 예를 들면, H.264/AVC 표준에서, 모드 결정 모듈 (34) 은 인트라-프레임들의 파티션들이 인트라_4×4 코딩 모드를 이용하여 인코딩되어 있는지 또는 인트라_16×16 코딩 모드를 이용하여 인코딩되어 있는지의 여부를 파티션-바이-파티션 기초로 판정할 수도 있다. 또한, H.264/AVC 표준에서, 모드 결정 모듈 (34) 은 P-프레임들의 파티션들이 "스킵 (Skip)" 모드를 이용하여 인코딩되어 있는지 또는 움직임 보상을 이용하여 인코딩되어 있는지 여부를 파티션-바이-파티션 기초로 판정할 수도 있다. "스킵" 모드에서, 파티션은 기준 프레임에서 동등-위치된 파티션과 동일한 픽셀 데이터를 저장하도록 해석된다.
비디오 프레임들의 시퀀스의 각각의 비디오 프레임에서의 각각의 파티션에 대한 인코딩 모드를 선택하는 것에 더하여, 모드 결정 모듈 (34) 은 파티션들에 대해 "모드 평활화" 동작을 수행할 수도 있다. 일반적으로, 모드 결정 모듈 (34) 이 모드 평활화 동작을 수행할 경우, 모드 결정 모듈 (34) 은 제 1 모드의 고립된 파티션들을 제 2 모드의 파티션들로서 재분류한다. 예를 들면, 비디오 프레임들의 시퀀스에서, 단일 파티션은 다른 정적 배경에 걸쳐 이동할 수도 있다. 이 예에서, 정적 배경의 파티션들은 "스킵" 모드 파티션들일 수도 있고, 이동 파티션은 다른 모드에 따라 인코딩될 수도 있다. 모드 평활화 동작은 이 파티션을 스킵 모드 파티션으로서 재분류할 수도 있다. 이러한 고립된 이동 파티션들은 자주 시각적 잡음이고, 불필요하고 시각적으로 산만할 수도 있다. 파티션들에 대해 모드 평활화 동작을 수행함으로써, 모드 결정 모듈 (34) 은 스킵 모드 파티션들의 수를 효과적으로 증가시킴과 동시에 시각적 잡음을 감소시킬 수도 있다.
모드 결정 모듈 (34) 이 각각의 파티션에 대해 파티션 인코딩 모드를 결정한 후, 인코더 (16) 의 파티션 맵 모듈 (36) 은 비디오 프레임들의 시퀀스의 각각의 비디오 프레임에 대한 파티션 맵을 발생시킬 수도 있다. 비디오 프레임에 대한 파티션 맵을 발생시킨 후, 파티션 맵 모듈 (36) 은 맵 버퍼 (38) 에 파티션 맵을 저장할 수도 있다. 맵 버퍼 (38) 는 별도의 메모리 유닛, 인코딩 디바이스 (4) 의 주요 메모리 내의 영역 또는 인코더 (16) 에 의해 액세스가능한 임의의 적절한 메모리 유닛일 수도 있다.
비디오 프레임에 대한 파티션 맵은 비디오 프레임의 각각의 파티션에 대한 데이터 구조를 포함할 수도 있다. 비디오 프레임의 파티션에 대한 데이터 구조는 타일들을 식별하는데 필요한 파티션에 관한 정보를 특정한다. 예를 들면, 파티션에 대한 데이터 구조가 파티션에 대한 인코딩 모드를 특정할 수도 있고, 파티션이 균일한 움직임의 영역에 있는지 여부, 및/또는 파티션에 관한 다른 정보를 특정할 수도 있다. 다른 예에서, 파티션의 데이터 구조는 파티션의 루마 (luma) 정보, 파티션의 크로마 (chroma) 팔레트 (예컨대, 흑백, 세피아 (sepia) 등), 파티션이 균일한 움직임의 영역에 있는지 여부, 파티션이 가속 움직임의 영역에 있는지 여부, 파티션이 모핑 (morphing) 움직임의 영역에 있는지 여부 (예컨대, 줌인/ 줌아웃), 및/또는 파티션에 관한 다른 정보를 특정할 수도 있다.
인코더 (16) 의 타일 식별 모듈 (40) ("TILE ID. MODULE") 은 맵 버퍼 (38) 의 파티션 맵들을 사용하여 비디오 프레임들의 시퀀스에서의 비디오 프레임들의 타일들의 하나 이상의 세트를 식별할 수도 있다. 타일 식별 모듈 (40) 은 다양한 방식으로 비디오 프레임들의 시퀀스에서의 비디오 프레임들의 하나 이상의 세트를 식별할 수도 있다. 예를 들면, 도 3 은 어떻게 타일 식별 모듈 (40) 이 동일 위치에 있는 타일들의 세트들을 식별할 수도 있는지에 관한 예시적인 상세를 제공한다. 대안으로서, 타일 식별 모듈 (40) 은 중첩하지만 엄격히 동일 위치에 있지는 않은 비디오 프레임들의 타일들의 세트들을 식별할 수도 있다. 타일들의 세트들을 식별하는 것에 더하여, 타일 식별 모듈 (40) 은 식별된 타일들의 세트 각각에 대한 타일 기술 정보 (tile description information) 를 발생시킬 수도 있다. 타일들의 세트에 대한 타일 기술 정보는 타일들의 세트를 지칭하도록 사용될 수도 있는 타일 세트 인덱스 번호, 타일들의 세트의 형상 및 위치를 나타내는 정보, 그리고 가능한 다른 속성들을 나타낼 수도 있다.
다음으로, 인코더 (16) 의 프래그먼트 추출 모듈 (42) 은 비디오 프레임들로부터 프래그먼트들을 추출할 수도 있다. 본 명세서에 사용된 바와 같이, "프래그먼트" 는 비디오 프레임의 타일 내의 화상이다. 예를 들면, 타일 식별 모듈 (40) 이 비디오 프레임의 픽셀 (5,5) 에서 상부-좌측 좌표 및 비디오 프레임의 (10,10) 에서 하부-우측 좌표를 갖는 비디오 프레임의 직사각형 타일을 식별하였는 경우, 프래그먼트 추출 모듈 (42) 은 비디오 프레임으로부터 (5,5) 에서 상부-좌측 좌표 및 (10,10) 에서 하부-우측 좌표를 갖는 프레임의 직사각형 화상 내의 파티션들의 세트를 추출할 수도 있다. 파티션들의 이 세트가 프래그먼트이다. 다른 예에서, 인트라-코딩된 비디오 프레임들 ("I-프레임들") 을 갖는 경우일 수도 있듯이, 타일 식별 모듈 (40) 이 비디오 프레임의 픽셀 (0,0) 에서 상부-좌측 좌표 및 비디오 프레임의 하부-우측 코너에서 하부-우측 좌표를 갖는 비디오 프레임의 직사각형 타일을 식별하는 경우, 프래그먼트 추출 모듈 (42) 은 프레임으로부터 프레임의 모든 파티션들을 포함하는 파티션들의 세트를 추출할 수도 있다.
프래그먼트들 및 연관된 움직임 데이터를 추출한 후, 프래그먼트 추출 모듈 (42) 은 프래그먼트 버퍼 (44) 에 프래그먼트들 및 연관된 움직임 벡터들을 저장할 수도 있다. 프래그먼트 버퍼 (44) 는 별도의 메모리 유닛, 인코딩 디바이스 (4) 의 주요 메모리의 영역, 또는 기타일 수도 있다.
프래그먼트 추출 모듈 (42) 이 프래그먼트 및 연관된 움직임 데이터를 추출한 후, 프래그먼트 추출 모듈 (42) 은 프래그먼트에 대한 화상 식별 정보를 발생시킬 수도 있다. 프래그먼트의 프래그먼트 식별 정보는 프래그먼트 추출 모듈 (42) 이 프래그먼트를 추출한 프레임의 인덱스 번호를 나타낼 수도 있다. 또한, 프래그먼트의 프래그먼트 식별 정보는 프래그먼트와 연관된 타일들의 세트의 인덱스 번호를 나타낼 수도 있다. 상기 기재된 바와 같이, 타일들의 세트의 인덱스 번호는 타일들의 세트의 타일 기술 정보에 의해 나타낼 수도 있다. 이러한 방식으로, 프래그먼트의 프래그먼트 식별 정보는 프래그먼트와 비디오 프레임 간의 관계를 식별한다. 예를 들면, 프래그먼트의 프래그먼트 식별 정보는 프래그먼트가 프레임 "5"로부터 추출되었고 타일들의 세트 "3" 과 연관됨을 나타낼 수도 있다.
후속하여, 프래그먼트 버퍼 (44) 는 프래그먼트들 중 하나의 프래그먼트의 파티션들과 연관된 움직임 데이터의 세트를 인코더 (16) 의 움직임 보상 유닛 (46) ("MOTION COMP. UNIT") 으로 전송할 수도 있다. 설명을 위해, 프래그먼트들 중 이 프래그먼트는 본 명세서에서 "현재 프래그먼트"라고 지칭된다. 움직임 보상 유닛 (46) 이 현재 프래그먼트의 파티션들과 연관된 움직임 데이터의 세트를 수신하는 경우, 움직임 보상 유닛 (46) 은 현재 프래그먼트가 P-프레임으로서 인코딩되어 있는지, B-프레임으로서 인코딩되어 있는지, 또는 I-프레임으로서 인코딩되어 있는지 여부를 판정할 수도 있다.
현재 프래그먼트가 P-프레임으로서 인코딩되어 있는 경우, 현재 프래그먼트와 연관된 움직임 데이터는 현재 프래그먼트의 각각의 파티션에 대한 하나 이상의 프레임 인덱스 값 및 하나 이상의 움직임 벡터를 특정할 수도 있다. 움직임 보상 유닛 (46) 은 특정된 프레임 인덱스 값들과 연관되고 현재 프래그먼트의 프래그먼트 식별 정보에 의해 특정된 타일 세트 인덱스 값과 또한 연관되는 각각의 기준 프래그먼트를 기준 버퍼 (48) 로부터 검색할 수도 있다.
기준 버퍼 (48) 로부터 기준 프래그먼트들을 검색한 후, 움직임 보상 유닛 (46) 은, 현재 프래그먼트의 각각의 파티션에 대해, 파티션의 움직임 벡터를 사용하여 검색된 기준 프래그먼트들 중 하나 이상의 기준 프래그먼트에서의 파티션을 식별한 후 식별된 파티션을 현재 프래그먼트의 파티션에 배치한다. 예를 들면, 현재 프래그먼트의 파티션에 대한 움직임 벡터는, 현재 프래그먼트의 파티션과 검색된 기준 프래그먼트의 파티션 간의 수평 변위 및 수직 변위를 특정함으로써 검색된 기준 프래그먼트들 중 하나의 기준 프래그먼트의 파티션을 나타낼 수도 있다. 이 예에서, 움직임 보상 유닛 (46) 은 검색된 기준 프래그먼트의 나타낸 프래그먼트의 픽셀 데이터를 현재 프래그먼트의 프래그먼트의 픽셀 데이터로서 사용할 수도 있다. 이러한 방식으로, 움직임 보상 유닛 (46) 은 기준 프래그먼트들로부터 현재 프래그먼트와 연관된 예측 프래그먼트에서의 적절한 위치에 파티션들을 "이동"시킨다.
현재 프래그먼트가 그것이 추출된 비디오 프레임보다 더 작은 경우, 현재 프래그먼트는 비디오 프레임보다 더 적은 파티션들을 포함한다. 현재 프래그먼트가 비디오 프레임보다 더 적은 파티션들을 포함하기 때문에, 움직임 보상 유닛 (46) 이 비디오 프레임에 대해 움직임 보상을 수행할 수 있는 것보다, 움직임 보상 유닛 (46) 은 현재 프래그먼트에 대한 움직임 보상 동작을 (계산 및 하드웨어 복잡도의 관점에서) 더욱 신속하고 효율적으로 수행할 수도 있다.
현재 프래그먼트가 B-프레임으로서 인코딩되어 있는 경우, 현재 프래그먼트와 연관된 움직임 데이터는 현재 프래그먼트의 각각의 파티션에 대해 2 개 이상의 리스트들을 특정할 수도 있다. 일 예시적인 구현에서, 파티션에 대한 리스트들 중 제 1 리스트 (즉, 리스트 0) 는 현재 프래그먼트가 추출된 프레임 이전에 발생한 프레임들의 0 이상의 프레임 인덱스 값을 특정할 수도 있다. 파티션에 대한 리스트들 중 제 2 리스트 (즉, 리스트 1) 는 현재 프래그먼트가 추출된 프레임 이후에 발생한 프레임들의 0 이상의 프레임 인덱스 값을 특정할 수도 있다. 움직임 보상 유닛 (46) 은 2 개 이상의 리스트들에서 특정된 프레임 인덱스 값들과 연관되고 현재 프래그먼트의 타일 세트 인덱스 값과 또한 연관되는 각각의 기준 프래그먼트를 기준 버퍼 (48) 로부터 검색할 수도 있다. 기준 버퍼 (48) 로부터 기준 프래그먼트들을 검색한 후, 움직임 보상 유닛 (46) 은, 현재 프래그먼트의 각각의 파티션에 대해, 파티션의 콘텐츠를 보간할 수도 있다.
현재 프래그먼트가 I-프레임으로서 인코딩되어 있는 경우, 움직임 보상 유닛 (46) 은 모두 0 인 예측 프래그먼트를 식별할 수도 있다. 예측 프래그먼트가 모두 0 이기 때문에, 인코더 (16) 의 잔여 발생 모듈 (50) 이 예측 프래그먼트의 마이너스 버전과 현재 프래그먼트를 가산할 경우, 결과적인 잔여 프래그먼트는 현재 프래그먼트와 동일하다. 대안적인 구현에서, 현재 프래그먼트가 I-프레임으로서 인코딩되어 있을 때 움직임 보상 유닛 (46) 및 잔여 발생 모듈 (50) 은 완전히 바이패스될 수도 있다. 즉, 현재 프래그먼트는 인코더 (16) 의 블록 변환 유닛 (52) 에 직접 제공될 수도 있다.
이전 단락에서 언급하였듯이, 움직임 보상 유닛 (46) 이 예측 프래그먼트를 발생시킨 후, 잔여 발생 모듈 (50) 은 예측 프래그먼트의 마이너스 버전과 프래그먼트 버퍼 (44) 에 저장된 대응 오리지널 프래그먼트를 가산함으로써 잔여 프래그먼트를 발생시킬 수도 있다. 보다 일반적으로, 잔여 발생 모듈 (50) 은 예측 프래그먼트와 대응 오리지널 프래그먼트 간의 차이를 나타내는 잔여 프래그먼트를 발생시킬 수도 있다. 그 다음, 블록 변환 유닛 (52) 은 잔여 프래그먼트에 대한 변환 프로세스를 수행함으로써 계수들의 세트를 발생시킬 수도 있다. 예를 들면, 블록 변환 유닛 (52) 은 잔여 프래그먼트 내의 픽셀들의 블록들 각각에 대해 2-차원 이산 코사인 변환을 수행함으로써 잔여 화상에서의 픽셀들의 각각의 블록에 대한 계수들의 행렬을 발생시킬 수도 있다. 블록 변환 유닛 (52) 이 계수들의 세트를 발생시킨 후, 인코더 (16) 의 양자화 모듈 (54) ("QUANTIZ. MODULE") 은 계수들의 세트에서의 계수들을 양자화함으로써 양자화된 계수들의 세트를 발생시킬 수도 있다. 예를 들면, 양자화 모듈 (54) 은 양자화 행렬을 사용하여 계수들의 각각의 행렬에서의 계수들을 양자화할 수도 있다.
그후, 인코더 (16) 의 엔트로피 코딩 유닛 (56) 은 양자화된 계수들의 세트에 대해 엔트로피 인코딩 동작을 수행할 수도 있다. 예를 들면, 엔트로피 코딩 유닛 (56) 은 양자화된 계수들의 세트에 대해 콘텍스트-적응형 (context-adaptive) 가변 길이 코딩 ("CAVLC") 동작을 수행할 수도 있다. 또한, 엔트로피 코딩 유닛 (56) 은 현재 프래그먼트와 연관된 움직임 데이터의 세트에 대해 엔트로피 인코딩 동작을 수행할 수도 있다. 예를 들면, 엔트로피 코딩 유닛 (56) 은 현재 프래그먼트와 연관된 움직임 데이터에 대해 지수-골롬 (exponential-Golomb) 코딩 동작을 수행할 수도 있다. 상기 서술된 바와 같이, 현재 프래그먼트가 p-프레임으로서 코딩되어 있는 경우, 현재 프래그먼트와 연관된 움직임 데이터는 현재 프래그먼트의 파티션들의 움직임 벡터들의 세트들을 포함할 수도 있다. 현재 프래그먼트가 B-프레임으로서 코딩되어 있는 경우, 현재 프래그먼트와 연관된 움직임 데이터는 스킵 모드 파티션들을 나타낸 플래그들, 현재 프래그먼트 내의 파티션들의 콘텐츠가 보간될 수 있는 프래그먼트의 식별자들의 리스트들을 포함할 수도 있다.
엔트로피 코딩 유닛 (56) 이 양자화된 계수들의 세트 및 대응 움직임 데이터에 대해 엔트로피 인코딩 동작을 수행한 후, 인코더 (16) 의 출력 모듈 (58) 은 현재 프래그먼트와 연관된 엔트로피 인코딩된 양자화된 계수들 및 대응 움직임 벡터를 출력할 수도 있다. 비디오 프레임의 프래그먼트들이 비디오 프레임 전부를 포함하지 않을 수도 있기 때문에, 출력 모듈 (58) 은 출력 모듈 (58) 이 완전한 비디오 프레임을 출력하고 있었는 경우보다 더 적은 데이터를 출력할 수도 있다.
출력 모듈 (58) 은 현재 프레임과 연관된 프래그먼트 식별 정보 및 타일 기술 정보를 출력할 수도 있다. 출력 모듈 (58) 은 다양한 방식으로 타일 기술 정보 및 프래그먼트 식별 정보를 출력할 수도 있다. 제 1 예에 있어서, 출력 모듈 (58) 이 H.264 표준에 따라 인코딩된 프래그먼트들을 출력하고 있는 경우, 출력 모듈 (58) 은 각각의 인코딩된 프래그먼트를 H.264 스트림에서의 상이한 프레임에 맵핑할 수도 있다. 또한, 이 제 1 예에 있어서, 출력 모듈 (58) 은 프래그먼트 식별 정보 및 타일 기술 정보를 나타내는 보충 강화 정보 ("SEI") 를 출력할 수도 있다. 제 2 예에 있어서, 출력 모듈 (58) 이 H.264 표준에 따라 인코딩된 프래그먼트들을 출력하고 있는 경우, 출력 모듈 (58) 은 H.264 표준의 플렉시블 매크로블록 오더링 ("FMO") 능력에 따라 상이한 슬라이스 그룹들에 프레임과 연관된 인코딩된 프래그먼트들을 맵핑할 수도 있다. 이 제 2 예에 있어서, 상이한 슬라이스 그룹들의 위치들을 기술하기 위한 메커니즘들은 H.264 표준에 이미 포함되어 있다. 제 3 예에 있어서, 표준에 대한 컴플라이언스가 임계적이지 않은 경우, 디코더/수신기 및 송신기/인코더가 서로의 능력을 알고 있는 클로즈드 애플리케이션에 대해, 포맷의 새로운 구문론/의미론이 이 정보를 통신하기 위해 사용될 수 있고, 포맷은 디코더에서 선험적으로 프로그래밍될 수 있다.
또한, 양자화 모듈 (54) 은 현재 프래그먼트와 연관된 양자화된 계수들의 세트를 발생시키는 경우, 인코더 (16) 의 역양자화 유닛 (60) ("INVERSE QUANTIZ. MODULE") 은 양자화된 계수들의 세트에 대해 역양자화 동작을 수행함으로써 현재 프래그먼트와 연관된 역양자화된 계수들의 세트를 발생시킬 수도 있다. 역양자화 유닛 (60) 은 양자화 모듈 (54) 에 의해 사용된 양자화 행렬에 대응하는 역양자화 행렬을 사용하여 역양자화 동작을 수행할 수도 있다. 역양자화 유닛 (60) 이 역양자화된 계수들의 세트를 발생시킨 후, 인코더 (16) 의 역변환 유닛 (62) 은 블록 변환 유닛 (52) 에 의해 적용된 변환의 역을 역양자화된 계수들의 세트에 적용함으로써 현재 프래그먼트와 연관된 디코딩된 잔여 화상을 발생시킬 수도 있다. 예를 들면, 블록 변환 유닛 (52) 이 2-차원 이산 코사인 변환을 적용한 경우, 역변환 유닛 (62) 은 2-차원 역이산 코사인 변환을 적용할 수도 있다.
프래그먼트 재구성 모듈 (64) ("FRAGMENT RECONST. MODULE (64)") 은 현재 프래그먼트와 연관된 디코딩된 잔여 화상과 현재 프래그먼트와 연관된 예측 화상을 가산함으로써 현재 프래그먼트와 연관된 재구성된 프래그먼트를 발생시킬 수도 있다. 도 2 의 예에서의 인코더 (16) 는 가산기를 사용하여 재구성된 프래그먼트를 발생시키고 있지만, 다른 종류의 하드웨어 또는 소프트웨어 모듈들이 프래그먼트 재구성 모듈 (64) 의 기능을 수행할 수도 있음을 인지해야 한다. 프래그먼트 재구성 모듈 (64) 이 재구성된 프래그먼트를 발생시키는 경우, 프래그먼트 재구성 모듈 (64) 은 재구성된 화상을 기준 프래그먼트로서의 후속 사용을 위해 기준 버퍼 (48) 에 저장할 수도 있다. 기준 프래그먼트들이 완전한 비디오 프레임들보다 더 적은 비트들을 포함할 수도 있기 때문에, 기준 버퍼 (48) 는, 기준 버퍼 (48) 가 완전한 비디오 프레임들을 저장해야만 하는 경우보다 더 작을 수도 있다. 또한, 기준 프래그먼트들이 완전한 비디오 프레임들보다 더 적은 비트들을 포함할 수도 있기 때문에, 메모리 전송 트래픽 요건들이 감소될 수도 있다. 보다 낮은 메모리 전송 트래픽의 결과로서, 기준 버퍼 (48) 에 기준 프래그먼트들을 기입하기 위해 더 적은 시간 및 전력을 요구할 수도 있다. 기준 버퍼 (48) 가 재구성된 화상을 저장한 후, 움직임 보상 유닛 (46) 은 프래그먼트 버퍼 (44) 로부터 움직임 데이터의 다른 세트를 수신할 수도 있고, 이 프로세스는 프래그먼트 버퍼 (44) 에 다른 프래그먼트에 관해 다시 발생할 수도 있다. 또한, 이 프로세스는 프래그먼트 버퍼 (44) 내의 모든 프래그먼트들이 프로세싱될 때까지 계속할 수도 있다.
도 3 은 타일 식별 모듈 (40) 의 예시적인 상세를 나타낸 블록도이다. 도 3 의 예에서, 타일 식별 모듈 (40) 은, 파티션 맵 모듈 (36) 에 의해 발생된 파티션 맵들을 사용하여 비디오 시퀀스에 대한 복합 파티션 활성 맵을 생성하는 파티션 활성 모듈 (70) 을 포함한다. 비디오 프레임에 대한 파티션 활성 맵은, 비디오 프레임의 어떤 파티션들이 "활성"이고 비디오 프레임의 어떤 파티션들이 "비활성"인지를 나타낸다. 예를 들면, 파티션 활성 맵은, 활성 모드 파티션들을 나타내는 "참" 값들 및 비활성 파티션들을 나타내는 "거짓" 값들을 갖는 부울 값들의 어레이일 수도 있다. 파티션의 움직임 벡터가 기준 프레임에서의 파티션에 비해 파티션이 변위를 갖지 않음을 나타낼 경우 및 파티션이 기준 프레임에서의 동일 위치에 있는 파티션에 비해 잔여 값을 갖지 않을 경우, 소정 비디오 프레임의 파티션은 비활성 파티션이다. 반대로, 파티션의 움직임 벡터가 기준 프레임에서의 파티션에 비해 파티션이 적어도 일부 변위를 가짐을 나타내는 경우, 파티션이 기준 프레임에서의 동일 위치에 있는 파티션에 비해 0 이 아닌 잔여 값을 갖는 경우, 또는 파티션이 기준 프레임에서의 동일 위치에 있는 파티션에 비해 0 이 아닌 잔여 값을 갖고 기준 프레임에서의 파티션에 비해 적어도 일부 변위를 갖는 경우, 소정 프레임의 파티션은 "활성" 이다.
복합 파티션 활성 맵을 발생시키기 위해, 파티션 활성 모듈 (70) 의 맵 모듈 (71) 은 실질적으로 균일한 움직임을 갖는 프레임에서의 파티션들의 그룹들을 식별함으로써 비디오 프레임에 대한 하나 이상의 파티션 활성 맵을 발생시킬 수도 있다. 실질적으로 균일한 움직임을 갖는 파티션들의 그룹들을 식별하기 위해, 맵 모듈 (71) 은 파티션들의 움직임 벡터들의 수평 치수에 대응하는 성분들에 의해 나타낸 수평 변위들에 대해 이동 메디안 필터 (moving median filter) 를 적용하고 파티션들의 움직임 벡터들의 수직 치수에 대응하는 성분들에 의해 나타낸 수직 변위들에 대해 이동 메디안 필터를 적용할 수도 있다. 이동 메디안 필터는 변위들 간의 잡음 또는 다른 중요하지 않은 차이를 효과적으로 제거한다. 이동 메디안 필터는 포인트들의 세트 (예컨대, 변위 값들) 를 취하고, 그 필터에 대해 스팬 (span) 이 주어지면, x 에 센터링된 이들 포인트들의 서브세트를 취하고, 서브세트의 메디안을 리턴한다. 예를 들면, 하기 값들이 수평 또는 수직 변위 값들: 1, 1, 1, 1, 5, 4, 4, 1, 9, 4 이고, 필터의 스팬이 5 이라고 가정한다. 이 예에서, 10 개의 서브세트들이 존재할 수 있고, 각각은 메디안 값을 가진다
서브세트 1: 1 -- 메디안 = 1;
서브세트 2: 1, 1 -- 메디안 = 1;
서브세트 3: 1, 1, 1 -- 메디안 = 1;
서브세트 4: 1, 1, 1, 1 -- 메디안 = 1;
서브세트 5: 1, 1, 1, 1, 5 -- 메디안 = 1;
서브세트 6: 1, 1, 1, 5, 4 -- 메디안 = 1;
서브세트 7: 1, 1, 5, 4, 4 -- 메디안 = 4;
서브세트 8: 1, 5, 4, 4, 1 -- 메디안 = 4;
서브세트 9: 5, 4, 4, 1, 9 -- 메디안 = 4;
서브세트 10: 4, 4, 1, 9, 4 -- 메디안 = 4.
이 예에서, 이동 메디안 필터의 출력은 1, 1, 1, 1, 1, 1, 4, 4, 4, 4 이다. 어떻게 이동 메디안 필터가 "5" 및 "9" 값들을 제거하는지에 주목한다. 이동 메디안 필터를 적용한 후, 맵 모듈 (71) 은 동일한 값을 갖는 연속 필터링된 변위 값들의 그룹들을 식별할 수도 있다. 예를 들면, 맵 모듈 (71) 은 연속 필터링된 변위 값들의 제 1 그룹으로서 1, 1, 1, 1, 1, 1 의 그룹을 식별하고 연속 필터링된 변위 값들의 제 2 그룹으로서 4, 4, 4, 4 의 그룹을 식별할 수도 있다. 그런 다음, 맵 모듈 (71) 은 활성 파티션들로서 0 이 아닌 필터링된 변위 값들의 그룹들과 연관된 파티션들을 나타낼 수도 있다. 예를 들면, 필터링된 변위 값들의 하기 표가 이를 설명한다:
Figure 112011005677955-pct00001
표 1 에서, 각각의 셀은 파티션을 나타내고, 셀 안의 첫번째 숫자는 파티션의 필터링된 수평 변위 값을 나타내고, 셀 안의 두번째 숫자는 파티션의 필터링된 수직 변위 값을 나타낸다. 표 1 을 이용하면, 맵 모듈 (71) 은 활성 파티션들로서 상부-좌측 코너에 4 개의 파티션들을 나타내고 활성 파티션들로서 하부-우측 코너에 4 개의 파티션들을 나타낼 수도 있다. 나머지 파티션들은 그들의 필터링된 변위 값들이 0 이기 때문에 비활성 파티션들이다.
어떻게 맵 모듈 (71) 이 파티션 활성 맵을 발생시킬 수도 있는지의 다른 예에서, 맵 모듈 (71) 은 움직임 벡터 변위 값들보다는 파티션 인코딩 모드들을 이용할 수도 있다. 이를 설명하기 위해, 하기 표 2 를 고려한다:
Figure 112011005677955-pct00002
표 2 에서, 각각의 셀은 파티션을 나타내고, 셀 내부의 워드는 셀에 의해 나타낸 파티션을 인코딩하는데 사용된 인코딩 모드를 나타낸다. 표 2 를 이용하면, 맵 모듈 (71) 은 활성 파티션들로서 상부-우측에 4 개의 파티션들을 나타내고 활성 파티션들로서 하부-좌측에 4 개의 파티션들을 나타낼 수도 있다.
도 4 는 비디오 프레임들 (80) 의 예시적인 시퀀스 및 활성 파티션들을 검은 블록들로서 나타낸 파티션 맵들 (82) 의 대응 세트를 나타낸다. 도 4 의 예에 나타낸 바와 같이, 비디오 프레임들 (80) 의 시퀀스는 프레임 (80A), 프레임 (80B), 프레임 (80C), 및 프레임 (80D) 을 포함한다. 도 4 의 예에서, 프레임 (80A) 은 인트라-프레임이다. 타일 식별 모듈 (40) 이 시퀀스 (80) 에 대한 타일들을 식별하고 있을 경우, 맵 모듈 (71) 은 파티션 활성 맵들 (82) 의 세트를 발생시킬 수도 있다. 파티션 활성 맵들 (82) 의 세트는 맵 (82A), 맵 (82B), 맵 (82C), 및 맵 (82D) 을 포함한다. 맵 (82A) 은 프레임 (80A) 에 대응하고, 맵 (82B) 은 프레임 (80B) 에 대응하고, 맵 (82C) 은 프레임 (80C) 에 대응하고, 맵 (82D) 은 프레임 (80D) 에 대응한다.
비디오 프레임들 (80) 각각은 사막 배경 앞에 서 있는 남자의 표현이다. 예를 들면, 남자는 원격 뉴스방송을 전달하고 있을 수도 있다. 비디오 프레임들 (80) 로부터 명백하듯이, 사막 배경은 비디오 프레임들 (80) 동안 현저하게 이동하거나 또는 변화하지 않는다. 오히려, 비디오 프레임들 (80) 에서의 이동 및 변화 모두는 남자의 머리 주위에 집중된다. 비디오 프레임들 (80) 에서의 이동 및 변화가 남자의 머리 주위에 집중되기 때문에, 남자의 머리 주위의 영역에 위치된 비디오 프레임들 (80) 의 파티션들은 활성 파티션들이 되는 경향이 있는 한편, 배경과 연관된 비디오 프레임들 (80) 의 파티션들은 비활성 파티션들이다. 따라서, 맵 (82B), 맵 (82C), 및 맵 (82D) 은 남자의 머리 주위의 영역에서의 활성 파티션들을 나타낸 검은 블록들을 포함한다. 프레임 (80A) 이 I-프레임이고 I-프레임들은 다른 프레임들을 참조하여 구성되지 않기 때문에 맵 (82A) 은 어떠한 활성 모드 파티션들도 포함하지 않는다.
도 3 을 다시 참조하면, 타일 식별 모듈 (40) 은 파티션 활성 맵들을 사용하여 비디오 프레임들의 시퀀스에서의 비디오 프레임들의 타일들의 하나 이상의 세트를 식별할 수도 있다. 타일 식별 모듈 (40) 은 다양한 기술을 이용하여 비디오 프레임들의 시퀀스에서의 비디오 프레임들의 타일들의 세트들을 식별할 수도 있다. 도 3 의 예에서, 파티션 활성 모듈 (70) 은, 맵 모듈 (71) 에 의해 발생된 파티션 활성 맵들을 사용하여 복합 파티션 활성 맵을 발생시키는 복합 맵 모듈 (72) 을 포함할 수도 있다. 이 개시물에 사용된 바와 같이, 소스 파티션 활성 맵들 중 하나의 소스 파티션 활성 맵에서의 모든 활성 파티션에 대해, 파티션 활성 맵에서의 병치된 (collocated) 파티션이 활성 파티션인 경우, 그리고 활성 맵의 모든 비활성 파티션에 대해, 활성 파티션인 소스 파티션 활성 맵들의 병치된 파티션이 없는 경우, 파티션 활성 맵은 2 개 이상의 소스 파티션 활성 맵들의 복합물이다. 소스 파티션 활성 맵들은 I-프레임들, P-프레임들, B-프레임들, 또는 기타와 연관된 파티션 활성 맵들을 포함할 수도 있다. 복합 맵 모듈 (72) 은 파티션 활성 맵들 각각에 대해 논리 "or" 연산을 수행함으로써 복합 파티션 활성 맵을 발생시킬 수도 있다. 이러한 방식으로, 프레임들 중 하나 이상의 프레임에서의 하나 이상의 동일 위치에 있는 파티션이 활성인 경우 복합 파티션 활성 맵에서의 파티션은 활성이다. 도 5a, 도 5b 및 도 5c 는 예시적인 복합 파티션 활성 맵 (90) 을 나타낸다. 복합 파티션 활성 맵 (90) 은 파티션 활성 맵들 (82A 내지 82D) (도 4) 의 복합 파티션 활성 맵이다. 환언하면, 복합 파티션 활성 맵 (90) 은 파티션 활성 맵들 (82A 내지 82D) 에 대해 논리 "or" 연산을 수행한 결과를 나타낼 수도 있다.
복합 파티션 활성 맵 (90) 을 발생시킨 후, 타일 식별 모듈 (40) 에서의 타일 구성 모듈 (73) 은 복합 파티션 활성 맵 (90) 을 사용하여 복합 파티션 활성 맵 (90) 내의 비활성 파티션들의 백분율이 소정 복합 파티션 활성 임계치를 초과하는지 여부를 판정할 수도 있다. 복합 파티션 활성 임계치는 예컨대, 20 % 이상의 다양한 상이한 값들을 가질 수도 있다. 전체 파티션 활성 맵 내의 비활성 파티션들의 백분율이 복합 파티션 활성 임계치를 초과하지 않는 경우, 타일 구성 모듈 (73) 은 타일들의 단일 세트를 식별할 수도 있다. 타일들의 이 세트에서의 각각의 타일은 비디오 프레임들의 시퀀스에서의 비디오 프레임의 전체 영역을 포함한다. 타일 식별 모듈 (40) 은, 전체 비디오 프레임들에 기초하여 또는 타일들에 기초하여 비디오 프레임들을 인코딩하기 위한 계산 부하 및/또는 전력 소비의 관점에서 그것이 더 효율적일지 여부를 산정하기 위해, 복합 파티션 활성 맵 (90) 내의 비활성 파티션들의 백분율이 복합 파티션 활성 임계치를 초과하는지 여부를 평가할 수도 있다. 즉, 복합 파티션 활성 맵 (90) 내의 비활성 파티션들의 백분율이 복합 파티션 활성 임계치 미만인 경우, 비디오 프레임들의 타일들을 인코딩하기보다는 전체 비디오 프레임들을 인코딩하는 것이 더 효율적일 수도 있다.
한편, 복합 파티션 활성 맵 (90) 내의 비활성 파티션들의 백분율이 임계치를 초과하는 경우, 타일 구성 모듈 (73) 은 활성 파티션들을 포함하는 복합 파티션 활성 맵 (90) 의 하나 이상의 타일들을 식별할 수도 있다. 복합 파티션 활성 맵 (90) 의 타일들은 비디오 프레임들의 시퀀스 내에서 균일한 움직임의 독특한 영역들을 나타낼 수도 있다. 도 5a 의 예에 나타낸 바와 같이, 타일 구성 모듈 (73) 은 복합 파티션 활성 맵 (90) 내의 활성 모드 파티션들의 상부 그룹 주위의 직사각형 영역을 포함하는 타일 (92) 을 식별하고, 복합 파티션 활성 맵 (90) 내의 활성 모드 파티션들의 하부 그룹 주위의 직사각형 영역을 포함하는 타일 (94) 을 식별한다. 타일 (92) 은 비디오 프레임들 (80) 에서의 남자의 머리 주위의 활성 파티션들에 대응하고, 타일 (94) 는 비디오 프레임들 (80) 에서의 텍스트에 대응한다. 도 5b 의 예는 타일 구성 모듈 (73) 이 이러한 동일한 복합 파티션 활성 맵 (90) 을 사용하여 식별한 다른 영역들을 나타낸다. 도 5b 의 예에 나타낸 바와 같이, 타일 구성 모듈 (73) 은 복합 파티션 활성 맵 (100) 내의 활성 모드 파티션들의 상부 그룹을 포함하는 제 1 다변형 타일 (102) 을 식별한다. 또한, 타일 구성 모듈 (73) 은 복합 파티션 활성 맵 (100) 내의 활성 모드 파티션들의 하부 그룹을 포함하는 제 2 다변형 타일 (104) 을 식별한다.
도 5c 의 예는 타일 구성 모듈 (73) 이 복합 파티션 활성 맵 (90) 을 사용하여 식별할 수도 있는 부가적인 다른 타일들을 나타낸다. 복합 파티션 활성 맵 (90) 을 사용하면, 타일 구성 모듈 (73) 은 활성 모드 파티션들의 상부 그룹을 포함하는 제 1 예비 타일 (112) 을 식별하고 활성 모드 파티션들의 하부 그룹을 포함하는 제 2 예비 타일 (114) 을 식별한다. 예비 타일 (112) 은 도 5a 의 타일 (92) 과 동일하거나 또는 동일하지 않을 수도 있고, 예비 타일 (114) 은 도 5a 의 타일 (94) 과 동일하거나 또는 동일하지 않을 수도 있다. 그러나, 도 5c 의 예에서, 타일 구성 모듈 (73) 은 또한, 예비 타일 (112) 내에 있는 파티션들 및 예비 타일 (112) 로부터의 각각의 방향에서 소정 수의 픽셀들을 연장하는 파티션들을 포함하는 타일 (116) 을 식별한다. 또한, 도 5c 의 예에서, 타일 구성 모듈 (73) 은, 예비 타일 (114) 내에 있는 파티션들 및 예비 타일 (114) 로부터의 각각의 방향에서 소정 수의 픽셀들을 연장하는 파티션들을 포함하는 타일 (118) 을 식별한다. 이러한 소정 수의 픽셀들은, 예비 타일들 (112 및 114) 에서의 파티션들의 모든 움직임 벡터들이 각각 타일들 (116 및 118) 내에 있는 영역들을 나타내도록 할 수도 있다. 도 5c 에 나타낸 바와 같이, 이러한 여분 영역은 사선들로 나타내져 있다.
복합 파티션 활성 맵의 타일을 식별한 후, 타일 구성 모듈 (73) 은 복합 파티션 활성 맵의 식별된 타일과 동일 위치에 있는 비디오 프레임들의 시퀀스에서 각각의 비디오 프레임의 타일을 식별할 수도 있다. 즉, 타일 구성 모듈 (73) 은, 파티션이 복합 파티션 활성 맵의 식별된 타일에 포함된 파티션의 위치에 대응하는 비디오 프레임의 위치에 있는 경우에 한해 타일이 비디오 프레임의 파티션을 포함하도록 비디오 프레임의 타일을 식별한다. 이러한 방식으로, 타일 구성 모듈 (73) 은 비디오 프레임들의 시퀀스에서의 비디오 프레임들의 동일 위치에 있는 타일들의 세트를 식별한다.
어떤 환경하에서는, 도 5a 또는 도 5b 의 예에 나타낸 타일들 (92, 94, 102, 및 104) 과는 대조적으로 도 5c 의 타일 (116) 및 타일 (118) 을 사용하는 것이 유리할 수도 있다. 예를 들면, 상기 설명된 바와 같이, 인코더 (16) 의 움직임 보상 유닛 (46) 은 기준 버퍼 (48) 로부터 기준 프래그먼트들을 인출한다. 기준 버퍼 (48) 가 인코딩 디바이스 (4) 의 주요 메모리의 영역에 있을 수도 있기 때문에, 기준 버퍼 (48) 로부터 기준 화상을 인출하는 것은 시간 및 전력 소모 프로세스일 수도 있다. 또한, 움직임 보상 유닛 (46) 이 기준 버퍼 (48) 로부터 기준 프래그먼트를 인출하는 경우, 움직임 보상 유닛 (46) 은 움직임 보상 유닛 (46) 에 대해 국지적인 메모리 유닛에 기준 프래그먼트를 저장할 수도 있다. 타일들 (116 및 118) 의 확장된 영역들로 인해, 일부 파티션들은 기준 프래그먼트들 사이에서 공유된다. 일부 파티션들이 기준 프래그먼트들 사이에서 공유되기 때문에, 움직임 보상 유닛 (46) 이 이들 공유된 파티션들을 2 번 인출할 필요가 없을 수도 있다. 공유된 파티션들을 2 번 인출하지 않는 것은 시간 및 전력을 절약할 수도 있다. 유사한 상황이 디코더 (18) 의 움직임 보상 유닛에 관해 적용할 수도 있다.
복합 파티션 활성 맵의 하나 이상의 타일들을 실제로 식별하기 위해, 타일 구성 모듈 (73) 은 다양한 상이한 동작들을 수행할 수도 있다. 예를 들면, 타일 구성 모듈 (73) 은 활성 파티션들만이 남아있을 때까지 복합 파티션 활성 맵의 비활성 파티션들을 "전지 (pruning)" 함으로써 복합 파티션 활성 맵에서의 활성 파티션들의 접속된 세트들을 식별할 수도 있다. 이 예에서, 타일 구성 모듈 (73) 은 그후 타일들을 직사각형으로 제작하기 위해 타일들에 다시 비활성 파티션들을 부가함으로써 직사각형 타일들 (예컨대, 도 5a 의 타일들 (92 및 94) 및 도 5c 의 타일들 (112 및 114)) 을 식별할 수도 있다. 다른 예에서, 타일 구성 모듈 (73) 은, 복합 파티션 활성 맵의 제 1 활성 모드 파티션을 식별한 후 이 제 1 활성 모드 파티션에 이웃하는 복합 파티션 활성 맵의 활성 모드 파티션들을 식별하고 그후 이들 활성 모드 파티션들에 이웃하는 활성 모드 파티션들을 식별하는 등 함으로써 복합 파티션 활성 맵의 활성 파티션들의 연속 세트들을 식별할 수도 있다.
또한, 타일 구성 모듈 (73) 은, 식별된 타일들에 기초하여 타일들과 연관된 프래그먼트들이 시간 및/또는 전력 효율적 방식으로 메모리로부터 인출될 수도 있도록 복합 파티션 활성 맵의 타일들을 식별할 수도 있다. 예를 들면, 타일 구성 모듈 (73) 은 타일들에 기초하여 타일들과 연관된 프래그먼트들이 단일 메모리 페이지 내에 전적으로 저장될 수도 있도록 복합 파티션 활성 맵의 타일을 식별할 수도 있다. 이 예에서, 전체 프래그먼트가 단일 메모리 페이지 내에 저장되어 있는 경우 프래그먼트를 검색하기 위한 시간 및/또는 전력을 덜 취할 수도 있다. 반면에, 완전한 비디오 프레임들이 프래그먼트들보다 더 클 수도 있다. 완전한 비디오 프레임들이 프래그먼트들보다 더 클 수도 있기 때문에, 완전한 비디오 프레임들을 단일 메모리 페이지 내에 저장하는 것은 불가능할 수도 있다.
타일 구성 모듈 (73) 이 복합 파티션 활성 맵의 타일을 식별할 경우, 타일 구성 모듈 (73) 은 비디오 프레임들 각각의 타일을 식별할 수도 있다. 비디오 프레임들의 식별된 타일들은 복합 파티션 활성 맵의 타일과 동일 위치에 있을 수도 있다. 이들 식별된 타일들은 타일들의 세트를 구성한다. 타일 구성 모듈 (73) 은 복합 파티션 활성 맵에서 활성 파티션들의 각각의 접속된 세트에 대한 이러한 타일들의 세트를 식별할 수도 있다.
타일 구성 모듈 (73) 이 타일들의 세트들을 식별한 후, 타일 식별 모듈 (40) 의 타일 기술 모듈 (74) 은 타일들의 식별된 세트들 각각에 대해 타일 기술 정보를 생성할 수도 있다. 타일들의 세트에 대한 타일 기술 정보는 타일들의 식별된 세트들 중에서 고유한 타일 인덱스 값을 나타낼 수도 있다. 타일 인덱스 값이 타일들의 식별된 세트들 중에서 고유하기 때문에, 타일들의 세트의 타일 인덱스 값은 타일들의 세트의 타일 기술 정보에 액세스하기 위해 사용될 수도 있다. 또한, 타일들의 세트의 타일 기술 정보는 비디오 프레임들 내의 타일들의 세트에서의 타일들의 위치 및 타일들의 세트에서의 타일들의 형상을 나타낼 수도 있다. 예컨대, 동일 위치에 있는 타일들의 세트의 타일 기술 정보는, 동일 위치에 있는 타일들에서의 각각의 타일이 직사각형이고 비디오 프레임들의 픽셀 (27,32) 에서 상부-좌측 코너 및 비디오 프레임들의 픽셀 (63,82) 에서 하부-우측 코너를 갖는 것을 나타낼 수도 있다. 다른 예에서, 동일 위치에 있는 타일들의 세트에 대한 타일 기술 정보는 동일한 위치에 있는 타일들의 세트의 타일들에 포함된 비디오 프레임들의 파티션들의 식별자들을 나열할 수도 있다. 또한, 타일들의 세트에서의 타일이 동일 위치에 있지 않은 경우, 타일들의 세트의 타일 기술 정보는 타일들의 세트에서의 타일들 각각의 위치를 나타낼 수도 있다.
도 5d 는 파티션 활성 맵 (120) 에 대한 모드 평활화의 영향을 나타낸다. 도 5d 의 예에 나타낸 바와 같이, 파티션 활성 맵 (120) 은 연속 활성 파티션들 의 제 1 세트 (121) 및 연속 활성 파티션들의 제 2 세트 (122) 를 포함한다. 세트 (121) 및 세트 (122) 에서의 파티션들은 "직접 모드 (direct mode)" 파티션들로서 인코딩될 수도 있고, "DC 모드" 파티션들로서 인코딩될 수도 있고, 또는 다른 종류의 비스킵 파티션들로서 인코딩될 수도 있다. 세트 (121) 및 세트 (122) 에 더하여, 파티션 활성 맵 (120) 은 2 개의 고립된 활성 파티션들 (123) 을 포함한다.
도 5d 의 파티션 활성 맵 (124) 은 파티션 활성 맵 (120) 에 모드 평활화를 적용한 것에 기인하는 파티션 활성 맵이다. 상기 서술된 바와 같이, 모드 평활화는 고립된 활성 파티션들이 스킵-모드 파티션들로서 인코딩되도록 강요할 수도 있다. 고립된 활성 파티션들을 스킵-모드 파티션들이 되도록 강요하는 것은 타일들의 수를 감소시키므로 인코더 (16) 에 의해 달성되는 압축을 증대시킬 수도 있다. 파티션 활성 맵 (124) 이 세트 (121) 및 세트 (122) 를 포함하는 것에 주목한다. 세트 (122) 및 세트 (122) 가 "평활화" 되지 않기에 충분히 크기 때문에 (즉, 스킵-모드로 강요됨) 파티션 활성 맵 (124) 은 세트 (121) 및 세트 (122) 를 포함한다. 그러나, 파티션 활성 맵 (124) 은 고립된 활성 파티션들 (123) 을 포함하지 않는다.
도 6a 및 도 6b 는 도 2 에 나타낸 바와 같이 인코더 (16) 의 예시적인 동작을 나타낸다. 도 6a 에 나타낸 예시적인 동작에 따르면, 인코딩되지 않는 비디오 프레임들의 시퀀스는 프레임 버퍼 (30) 에 저장된다 (130). 그후, 인코더 (16) 의 움직임 추정 유닛 (32) 은 인코딩되지 않는 비디오 프레임들의 시퀀스에서의 비디오 프레임들의 파티션들에 대한 움직임 데이터를 식별할 수도 있다 (132). 움직임 추정 유닛 (32) 이 인코딩되지 않는 비디오 프레임들의 시퀀스에서의 비디오 프레임들의 파티션들에 대한 움직임 데이터를 식별한 후, 인코더 (16) 의 모드 결정 모듈 (34) 은 비디오 프레임들의 시퀀스에서의 비디오 프레임들 각각의 각 파티션에 대한 파티션 모드를 식별할 수도 있다 (134). 또한, 모드 결정 모듈 (34) 은 비디오 프레임들의 시퀀스에서의 비디오 프레임들 각각의 파티션들에 대해 모드 평활화 동작을 수행할 수도 있다 (136). 도 5d 에 대해 상기 기재된 바와 같이, 모드 평활화는 고립된 활성 파티션들이 스킵-모드 파티션들으로서 인코딩되도록 강요함으로써, 타일 식별 모듈 (40) 이 결국 식별하는 타일들의 잠재적인 수를 감소시킬 수도 있다.
그후, 파티션 맵 모듈 (36) 은 비디오 프레임들의 시퀀스에서 각 비디오 프레임을 발생시킬 수도 있다 (138). 상기 기재된 바와 같이, 비디오 프레임들에 대한 파티션 활성 맵들은 비디오 프레임들의 타일들의 세트를 식별하기 위해 사용될 수도 있는 정보를 저장한다. 그후, 타일 식별 모듈 (40) 은 이들 파티션 활성 맵들을 사용하여 복합 파티션 활성 맵을 발생시킬 수도 있다 (140). 예를 들면, 도 4 의 파티션 활성 맵들 (82) 이 주어지면, 타일 식별 모듈 (40) 은 도 5a 내지 도 5c 에 나타낸 바와 같이 복합 파티션 활성 맵들 (90, 100 및 110) 을 발생시킬 수도 있다. 그후, 타일 식별 모듈 (40) 은 복합 파티션 활성 맵에서의 비활성 파티션들의 백분율이 소정 임계치를 초과하는지 여부를 판정할 수도 있다 (142).
복합 파티션 활성 맵에서의 비활성 파티션들의 백분율이 임계치를 초과하지 않는 경우 (142 의 "아니오"), 타일 식별 모듈 (40) 은 비디오 프레임들의 타일들의 세트를 식별할 수도 있고, 타일들 각각은 비디오 프레임들의 시퀀스에서 각각의 비디오 프레임의 모든 파티션들을 포함한다 (144). 대안적인 구현에서, 복합 파티션 활성 맵에서의 비활성 파티션들의 백분율이 임계치를 초과하지 않는 경우 (142 의 "아니오"), 인코더 (16) 는 전통적인 파티션-기반 인코딩을 수행할 수도 있다.
한편, 복합 파티션 활성 맵에서의 비활성 파티션들의 백분율이 임계치를 이상인 경우 (142 의 "예"), 타일 식별 모듈 (40) 은 비디오 프레임들의 시퀀스의 비디오 프레임들의 타일들의 하나 이상의 세트들을 식별할 수도 있다 (146). 예를 들면, 타일 식별 모듈 (40) 은 P-프레임들 및 B-프레임들 내의 타일들의 세트들을 식별할 수도 있다. 또한, 이 예에서, 타일 식별 모듈 (40) 은 모든 I-프레임을 포함하는 각각의 I-프레임에서의 타일을 식별할 수도 있다. 다른 예에서, 타일 식별 모듈 (40) 은 I-프레임의 일 부분이 동일한 I-프레임의 다른 부분 또는 타일/프래그먼트를 "참조"할 수 있도록 I-프레임 내의 타일들을 식별할 수도 있다. 이러한 방식으로, I-프레임에서 식별된 수개의 기준 타일들이 있을 수 있고, I-프레임의 나머지는 이러한 기준에 기초하여 예측될 수 있다.
타일 식별 모듈 (40) 이 타일들의 세트들을 식별한 후 (즉, 144 이후 또는 148 이후), 타일 식별 모듈 (40) 은 타일들의 세트들 각각에 대한 타일 기술 정보를 발생시킬 수도 있다 (150). 그후, 프래그먼트 추출 모듈 (42) 은 비디오 프레임들로부터 식별된 타일들과 연관된 프래그먼트들을 추출할 수도 있다 (152). 또한, 프래그먼트 추출 모듈 (42) 은 추출된 프래그먼트들 각각에 대한 화상 식별 정보를 발생시킬 수도 있다 (154). 그후, 프래그먼트 추출 모듈 (42) 은 프래그먼트 버퍼 (44) 에 프래그먼트들, 프래그먼트들과 연관된 움직임 데이터, 및 프래그먼트 식별 정보를 저장할 수도 있다 (156).
그후, 인코더 (16) 는 도 6b 의 예에 나타낸 동작을 수행할 수도 있다. 도 6a 내에서, 도 6b 의 예에 나타낸 동작을 "B" 라 나타내었다. 도 6b 의 예에 나타낸 동작을 수행한 후, 인코더 (16) 는 다시 돌아가서 프레임 버퍼 (30) 에 비디오 프레임들의 다른 시퀀스를 저장할 수도 있다 (130).
도 6b 의 예에 나타낸 동작에 따르면, 인코더 (16) 의 움직임 보상 유닛 (46) 은 프래그먼트 버퍼 (44) 에 프로세싱되지 않은 화상이 있는지 여부를 판정할 수도 있다 (170). 움직임 보상 유닛 (46) 이 프래그먼트 버퍼 (44) 에 프로세싱되지 않은 프래그먼트가 있다고 판정하면 (170 의 "예"), 움직임 보상 유닛 (46) 은 프래그먼트 버퍼 (44) 에서의 프로세싱되지 않은 프래그먼트 (즉, 현재 프래그먼트) 가 인터-모드 (inter-mode) 또는 인트라-모드 (intra-mode) 로 인코딩되어 있는지 여부를 판정할 수도 있다 (171). 움직임 보상 유닛 (46) 이 현재 프래그먼트가 인터-모드로 인코딩되어 있지 않다고 판정하면 (171 의 "아니오"), 움직임 보상 유닛 (46) 은 프래그먼트 버퍼 (44) 에서의 제 1 프로세싱되지 않은 프래그먼트 (즉, 현재 프래그먼트) 와 연관된 움직임 데이터에 의해 나타낸 기준 버퍼 (48) 에서의 기준 프래그먼트들을 사용하여 현재 프래그먼트와 연관된 예측 프래그먼트를 식별할 수도 있다 (172).
그후, 잔여 발생 모듈 (50) 은 현재 프래그먼트와 연관된 예측 프래그먼트의 마이너스 버전과 오리지널 현재 프래그먼트를 가산함으로써 잔여 프래그먼트를 발생시킬 수도 있다 (174). 이러한 방식으로, 현재 프래그먼트의 픽셀 값들은 잔여 픽셀 값들이 된다. 잔여 발생 모듈 (50) 이 현재 프래그먼트를 변환한 후 또는 움직임 보상 유닛 (46) 이 현재 프래그먼트가 인터-모드로 인코딩되어 있다고 판정한 후 (171 의 "예"), 블록 변환 유닛 (52) 은 현재 프래그먼트와 연관된 잔여 프래그먼트를 변환함으로써 현재 프래그먼트와 연관된 계수들의 세트를 발생시킬 수도 있다 (176). 양자화 모듈 (54) 은 현재 프래그먼트와 연관된 계수들의 세트에 양자화 동작을 적용함으로써 현재 프래그먼트와 연관된 양자화된 계수들의 세트를 발생시킬 수도 있다 (178).
후속하여, 엔트로피 인코딩 유닛 (56) 은 현재 화상과 연관된 양자화된 계수들의 세트, 현재 프래그먼트의 파티션들과 연관된 움직임 데이터, 및 현재 프래그먼트와 연관된 화상 식별 정보를 인코딩하기 위해 엔트로피 인코딩 동작을 적용할 수도 있다 (180). 엔트로피 인코딩 동작을 적용한 후, 출력 모듈 (58) 은 현재 프래그먼트와 연관된 엔트로피 인코딩된 데이터를 출력할 수도 있다 (182). 엔트로피 인코딩 유닛 (56) 이 현재 프래그먼트와 연관된 엔트로피 인코딩된 데이터를 출력할 때, 엔트로피 인코딩 유닛 (56) 은 또한 타일 식별 정보 (40) 에 의해 발생된 타일 기술 정보를 출력할 수도 있다.
그후, 역양자화 유닛 (60) 은 현재 프래그먼트와 연관된 양자화된 계수들의 세트에 대해 역양자화 동작을 수행함으로써 현재 프래그먼트와 연관된 역양자화된 계수들의 세트를 발생시킬 수도 있다 (184). 그리고 나서, 역변환 유닛 (62) 은 현재 화상과 연관된 역양자화된 계수들의 세트에 대해 역변환 동작을 수행함으로써 현재 프래그먼트와 연관된 디코딩된 잔여 프래그먼트를 발생시킬 수도 있다 (186).
역변환 모듈 (110) 이 디코딩된 잔여 화상을 발생시킨 후, 가산기 (112) 는 현재 프래그먼트와 연관된 디코딩된 잔여 화상 및 현재 프래그먼트에 대한 움직임 보상 유닛 (46) 에 의해 발생된 예측 화상을 가산함으로써 현재 프래그먼트와 연관된 재구성 프래그먼트를 발생시킬 수도 있다 (188). 그후, 기준 버퍼 (48) 는 현재 프래그먼트와 연관된 재구성된 프래그먼트들 저장할 수도 있다 (190).
기준 버퍼 (48) 가 재구성된 프래그먼트를 저장한 후, 움직임 보상 유닛 (46) 은 프래그먼트 버퍼 (44) 에 임의의 프로세싱되지 않은 프래그먼트들이 있는지 여부를 다시 판정할 수도 있다 (170). 움직임 보상 유닛 (46) 이 프래그먼트 버퍼 (44) 에 프로세싱되지 않은 프래그먼트가 없다고 판정하면 (170 의 "아니오"), 프레임 버퍼 (30) 는 비디오 프레임들의 시퀀스를 다시 수신할 수도 있다 (130) (도 6a).
도 7 은 디코더 (18) (도 1) 의 예시적인 상세를 나타낸 블록도이다. 도 7 의 예에 나타낸 바와 같이, 디코더 (18) 는 엔트로피 디코딩 유닛 (150) 을 포함한다. 엔트로피 디코딩 유닛 (150) 이 현재 프래그먼트의 파티션들과 연관된 움직임 데이터 및 프래그먼트와 연관된 양자화된 계수들의 인코딩된 세트를 포함하는 미디어 객체를 수신할 경우, 엔트로피 디코딩 유닛 (150) 은 인코딩된 양자화된 계수들 및 움직임 데이터에 대해 엔트로피 디코딩 동작을 수행함으로써 현재 프래그먼트와 연관되고 그리고 움직임 데이터와 연관된 양자화된 계수들의 세트를 디코딩한다. 그후, 엔트로피 디코딩 유닛 (150) 은 현재 프래그먼트와 연관된 디코딩된 양자화된 계수들을 디코더 (18) 의 역양자화 모듈 (152) 에 제공하고, 현재 프래그먼트와 연관된 디코딩된 움직임 데이터를 디코더 (18) 의 움직임 보상 유닛 (154) 에 제공할 수도 있다.
또한, 엔트로피 디코딩 유닛 (150) 은 프래그먼트 식별 정보 및 타일 기술 정보를 디코딩할 수도 있다. 예를 들면, 엔트로피 디코딩 유닛 (150) 은 프래그먼트 식별 정보 및 타일 기술 정보를 나타내는 인코딩된 SEI 메시지들을 수신할 수도 있다. 상기 서술된 바와 같이, 화상에 대한 프래그먼트 식별 정보는 프래그먼트와 연관된 프레임 및 프래그먼트와 연관된 타일들의 세트를 나타낼 수도 있다. 타일에 대한 타일 기술 정보는 타일의 위치를 나타낸다. 엔트로피 디코딩 유닛 (150) 이 프래그먼트 식별 정보 및 타일 기술 정보를 디코딩할 경우, 엔트로피 디코딩 유닛 (150) 은 디코더 (18) 의 기준 버퍼 (158) 에 디코딩된 프래그먼트 식별 정보 및 디코딩된 타일 식별 정보를 저장할 수도 있다.
역양자화 모듈 (152) 이 현재 프래그먼트와 연관된 양자화된 계수들의 세트를 수신할 경우, 역양자화 모듈 (152) 은 양자화된 계수들의 세트에 대해 역양자화 동작을 수행함으로써 현재 프래그먼트와 연관된 역양자화된 계수들의 세트를 발생시킨다. 그후, 디코더 (18) 의 역변환 모듈 (156) 은 현재 프래그먼트와 연관된 역양자화된 계수들에 대해 역변환 동작을 수행함으로써 현재 프래그먼트와 연관된 잔여 프래그먼트를 발생시킨다. 움직임 보상 유닛 (154) 이 현재 프래그먼트와 연관된 움직임 데이터의 세트를 수신할 경우, 움직임 보상 유닛 (154) 은 움직임 데이터의 세트에서의 움직임 데이터에 의해 나타낸 기준 프래그먼트들을 기준 버퍼 (158) 로부터 검색할 수도 있다. 예를 들면, 움직임 보상 유닛 (154) 은 현재 프래그먼트의 타일 세트 인덱스 값과 또한 연관되는 움직임 데이터에 의해 특정된 프레임 인덱스 번호와 연관되는 기준 버퍼 (158) 에서 각각의 프래그먼트를 검색할 수도 있다. 그후, 움직임 보상 유닛 (154) 은 검색된 기준 프래그먼트들을 사용하여 현재 프래그먼트와 연관된 예측 프래그먼트를 발생시킬 수도 있다. 움직임 보상 유닛 (154) 은, 예컨대, 움직임 보상 유닛 (46) 에 관련하여 상기 기재된 기술을 이용하여 예측 프래그먼트를 발생시킬 수도 있다. 움직임 보상 유닛 (154) 이 현재 프레임과 연관된 예측 화상을 발생시키고 역변환 모듈 (156) 이 현재 프레임과 연관된 잔여 화상을 발생시킨 후, 디코더 (18) 의 프래그먼트 재구성 모듈 (160) 은 예측 프래그먼트와 잔여 프래그먼트를 가산함으로써 현재 프레임과 연관된 재구성된 프래그먼트를 발생시킨다. 도 7 의 예에서 디코더 (18) 는 가산기를 사용하여 재구성된 프래그먼트를 발생시키지만, 다른 종류의 하드웨어 또는 소프트웨어 모듈들이 프래그먼트 재구성 모듈 (160) 의 기능을 수행할 수도 있음을 인지해야 한다.
프래그먼트 재구성 모듈 (160) 이 재구성된 프래그먼트를 발생시킨 후, 프래그먼트 재구성 모듈 (160) 은 재구성된 프래그먼트가 기준 프래그먼트로서 사용가능한지 여부를 판정할 수도 있다. 예를 들면, 하나의 스킴에서, 재구성된 프래그먼트가 B-프레임으로서 인코딩되어 있는 경우, 재구성된 프래그먼트는 기준 프래그먼트로서 사용불가할 수도 있다. 프래그먼트 재구성 모듈 (160) 이 재구성된 프래그먼트가 기준 프래그먼트로서 사용가능하다고 판정하면, 프래그먼트 재구성 모듈 (160) 은 기준 프래그먼트로서의 후속 사용을 위해 기준 버퍼 (158) 에 재구성된 프래그먼트를 저장할 수도 있다. 또한, 프래그먼트 재구성 모듈 (160) 이 재구성된 프래그먼트가 기준 프레임으로서 사용가능하다고 판정하면, 프래그먼트 재구성 모듈 (160) 은 디코더 (18) 의 프레임 재조립 모듈 (162) 에 재구성된 프래그먼트를 제공할 수도 있다. 다른 방식으로, 프래그먼트 재구성 모듈 (160) 이 재구성된 프래그먼트가 기준 프레임으로서 사용불가하다고 판정하면, 프래그먼트 재구성 모듈 (160) 은 기준 버퍼 (158) 에 재구성된 프레임을 저장하지 않고 프레임 재조립 모듈 (162) 에 직접 재구성된 프래그먼트를 제공할 수도 있다.
프레임 재조립 모듈 (162) 이 완전한 비디오 프레임들을 재조립한다. 비디오 프레임들을 재조립하기 위해, 프레임 재조립 모듈 (162) 은 프래그먼트 재구성 모듈 (160) 로부터 재구성된 프래그먼트를 수신할 수도 있다. 프레임 재조립 모듈 (162) 관련하여, 디코더 (18) 에 의해 아직 출력되지 않은 가장 이른 프레임은 "현재 프레임"이라 지칭된다. 프레임 재조립 모듈 (162) 이 현재 프레임과 연관된 프래그먼트 (즉, "현재 프래그먼트") 를 수신하는 경우, 프레임 재조립 모듈 (162) 은 현재 프래그먼트와 연관된 프래그먼트 식별 정보를 사용하여 현재 프래그먼트와 연관된 타일을 식별할 수도 있다. 그후, 프레임 재조립 모듈 (162) 은 식별된 타일과 연관된 타일 기술 정보를 이용하여 타일의 위치를 식별할 수도 있다. 다음으로, 프레임 재조립 모듈 (162) 은 식별된 타일과 연관된 타일 기술 정보를 이용하여 타일의 위치를 식별할 수도 있다. 그후, 프레임 재조립 모듈 (162) 은 프레임 재조립 버퍼 (164) 에서의 현재 프레임의 식별된 위치로 현재 프래그먼트를 카피할 수도 있다. 프레임 재조립 버퍼 (164) 는 다양한 상태의 재조립으로 하나 이상의 프레임을 저장할 수도 있다.
상기 서술된 바와 같이, 현재 프레임이 I-프레임인 경우, 현재 프레임과 연관된 하나의 프래그먼트만이 있을 수도 있다. 또한, 현재 프레임이 I-프레임인 경우, 현재 프레임과 연관된 프래그먼트가 전체 프레임을 점유할 수도 있다. 한편, 현재 프레임이 P-프레임 또는 B-프레임인 경우, 현재 프레임과 연관된 2 개 이상의 프래그먼트들이 있을 수도 있다. 현재 프래그먼트를 현재 프레임 내의 식별된 위치로 카피하는 것은 타일들의 식별된 세트와 연관된 위치에서 현재 프레임의 위치를 효과적으로 업데이트한다. 현재 프래그먼트를 현재 프레임 내의 식별된 위치로 카피하는 것은 식별된 타일 범위 밖에 있는 프레임 재조립 버퍼 (164) 의 파티션들을 변화시키지 않는다. 프레임의 적절한 위치에 프레임과 연관된 모든 프래그먼트들을 카피함으로써, 프레임 재조립 모듈 (162) 은 현재 프레임의 모든 정보를 포함하도록 프레임을 효과적으로 업데이트한다.
프레임 재조립 모듈 (162) 이 현재 프래그먼트를 현재 프레임의 식별된 위치로 카피한 후, 프레임 재조립 모듈 (162) 은 현재 프레임과 연관된 모든 프래그먼트들이 현재 프레임으로 카피되었는지 여부를 판정할 수도 있다. 현재 프레임과 연관된 모든 프래그먼트들이 현재 프레임으로 카피된 경우, 프레임 재조립 모듈 (162) 은 2 개 이상의 프래그먼트들이 만나는 현재 프레임에서의 픽셀들에 평활화 필터를 적용할 수도 있다. 이들 픽셀들에 평활화를 적용하는 것은 상이한 프래그먼트들로부터의 픽셀들 간의 시각적 불연속성을 감소시킬 수도 있다. 그리하여, 평활화 필터는 상이한 프래그먼트들의 가능한 외관을 별도의 블록들로서 효과적으로 감소시킬 수도 있다. 평활화 필터를 적용한 후, 프레임 재조립 모듈 (162) 은 현재 프레임을 출력할 수도 있다. 이와 달리, 현재 프레임과 연관된 어떠한 프래그먼트들도 현재 프레임으로 카피되지 않은 경우, 프레임 재조립 모듈 (162) 은 다른 재구성된 프래그먼트를 수신할 수도 있다.
디코더 (18) 의 다른 구현은 프레임 재조립 모듈 (162) 또는 프레임 재조립 버퍼 (164) 를 포함하지 않을 수도 있다. 이들 구현에서, 포스트프로세서 (20) 는 기준 버퍼 (158) 에 저장된 프래그먼트들에 대해 포스트프로세싱 동작을 수행하고 완전한 비디오 프레임들에 대해서는 포스트프로세싱 동작을 수행하지 않을 수도 있다. 예를 들면, 포스트프로세서 (20) 는 프래그먼트들에 대해 디블로킹 (de-blocking) 동작을 수행할 수도 있다. 또한, 이들 구현에서, 포스트프로세서 (20) 는 프래그먼트들을 완전한 비디오 프레임들로 재조립할 수도 있다. 예를 들면, 포스트프로세서 (20) 는 프래그먼트들을 사용하여 프레임 레이트 상향 변환을 수행할 수도 있다. 프레임 레이트 상향 변환에서, 포스트프로세서 (20) 는 프레임들의 시퀀스에서 각각의 기존의 프레임 사이에 하나 이상의 프레임을 부가함으로써, 프레임들의 시퀀스의 프레임 레이트를 증가시킬 수도 있다. 2 개 이상의 기존의 프레임들 사이에 프레임을 부가하기 위해, 포스트프로세서 (20) 는 프래그먼트들에 기초하여 기존의 프레임들 사이의 프레임들에서의 타일들에 대한 움직임 보상을 수행할 수도 있다. 예를 들면, 포스트프로세서 (20) 는, 발생되는 프레임에 추종하는 프레임 (즉, 후속 프레임) 의 프래그먼트에서의 파티션들의 움직임 벡터들을 사용하여 발생하는 프레임 (즉, 현재 프레임) 의 프래그먼트에서 파티션들이 가질 위치들을 식별할 수도 있다. 현재 프레임의 프래그먼트는, 후속 프레임의 프래그먼트의 모든 파티션들에 대해 이러한 움직임 보상을 수행하는 것으로부터 야기될 수도 있다. 그후, 포스트프로세서 (20) 는 현재 프레임에 선행하는 프레임 (즉, 선행 프레임) 에 프래그먼트들을 부가함으로써 현재 프레임을 완성할 수도 있다. 또한, 일부 상황에서, 이러한 프레임 레이트 상향 변환 기술은 전통적인 인코딩 및 디코딩 방법과 관련하여 실시될 수도 있다. 이들 상황에서, 포스트프로세서 (20) 는 디코더로부터 완전한 디코딩된 비디오 프레임들을 수신하고, 비디오 프레임들에서의 타일들을 식별하고, 타일들에 기초하여 프래그먼트들을 추출하고, 그후 프래그먼트들에 대해 프레임 레이트 상향 동작을 수행하여 프레임들의 시퀀스에서 부가적인 프레임들을 발생시킬 수도 있다. 또한, 버퍼 필 모듈 (22) 은 또한 프래그먼트들을 비디오 프레임들로 재조립할 수도 있다. 이후 상세히 기재되는 바와 같이, 도 13 은 버퍼 필 모듈 (22) 을 사용하여 프래그먼트들을 완전한 비디오 프레임들로 재조립할 수도 있는 예시적인 동작을 나타낸다.
도 8a 및 도 8b 는 디코더 (18) (도 7) 내의 모듈들의 예시적인 동작을 나타낸 플로차트들이다. 먼저, 도 8a 의 예시 동작에서, 엔트로피 디코딩 유닛 (150) 은 현재 프래그먼트와 연관된 양자화된 계수들의 인코딩된 세트, 현재 프래그먼트의 파티션들과 연관된 움직임 데이터의 인코딩된 세트, 프래그먼트 식별 정보, 및 타일 기술 정보를 포함하는 미디어 객체를 수신할 수도 있다 (180). 양자화된 계수들의 인코딩된 세트 및 움직임 데이터의 인코딩된 세트를 수신한 후, 엔트로피 디코딩 유닛 (150) 은 양자화된 계수들의 인코딩된 세트, 움직임 데이터의 인코딩된 세트, 프래그먼트 식별 정보 및 타일 기술 정보를 디코딩할 수도 있다 (182).
후속하여, 역양자화 모듈 (152) 은 현재 프래그먼트와 연관된 양자화된 계수들의 디코딩된 세트에 대해 역양자화 동작을 수행할 수도 있다 (184). 양자화된 계수들의 디코딩된 세트에 대해 역양자화 동작을 수행하는 것은, 현재 프래그먼트와 연관된 계수들의 역양자화된 세트를 야기한다. 그후, 역변환 모듈 (156) 은 현재 프래그먼트와 연관된 계수들의 역양자화된 세트에 대해 역변환 동작을 수행할 수도 있다 (186). 계수들의 역양자화된 세트에 대해 역변환 동작을 수행하는 것은 현재 프래그먼트와 연관된 잔여 화상을 야기한다.
역변환 모듈 (156) 이 역변환 동작을 수행한 후 또는 역양자화 모듈 (152) 이 역양자화 동작을 수행하고 있는 동안 또는 역변환 모듈 (156) 이 역변환 동작을 수행하고 있는 동안, 움직임 보상 유닛 (154) 은 움직임 데이터의 디코딩된 세트를 사용하여 현재 프래그먼트와 연관된 예측 프래그먼트를 식별할 수도 있다 (188). 그후, 프래그먼트 재구성 모듈 (160) 은 현재 프래그먼트와 연관된 예측 화상 및 현재 프래그먼트와 연관된 잔여 화상을 가산함으로써 현재 프래그먼트와 연관된 재구성된 프래그먼트를 발생시킨다 (190). 프래그먼트 재구성 모듈 (160) 이 재구성된 프래그먼트를 발생시킨 후, 프래그먼트 재구성 모듈 (160) 은 재구성된 프래그먼트가 기준 프래그먼트로서 사용가능한지 여부를 판정할 수도 있다 (191). 프래그먼트 재구성 모듈 (160) 이 재구성된 프래그먼트가 기준 프래그먼트로서 사용가능하다고 판정하면 (191 의 "예"), 프래그먼트 재구성 모듈 (160) 은 재구성된 프래그먼트를 기준 버퍼 (158) 에 저장할 수도 있다 (192). 프래그먼트 재구성 모듈 (160) 이 재구성된 프래그먼트를 기준 버퍼 (158) 에 저장한 후, 프래그먼트 재구성 모듈 (160) 은 재구성된 프래그먼트를 프레임 재조립 모듈 (162) 에 제공할 수도 있다 (194). 한편, 프래그먼트 재구성 모듈 (160) 이 재구성된 프래그먼트가 기준 프래그먼트로서 사용불가하다고 판정하면 (191 의 "아니오"), 프래그먼트 재구성 모듈 (160) 은 재구성된 프래그먼트를 프레임 재조립 모듈 (162) 에 직접 제공할 수도 있다 (194). 프래그먼트 재구성 모듈 (160) 이 재구성된 프래그먼트를 프레임 재조립 모듈 (162) 에 제공한 후, 엔트로피 디코딩 유닛 (150) 은 양자화된 계수들의 다른 인코딩된 세트 및 움직임 데이터의 다른 인코딩된 세트를 디코딩할 수도 있다 (182).
도 8b 는 프레임 재조립 모듈 (162) 의 예시적인 동작을 나타낸 플로차트이다. 먼저, 프레임 재조립 모듈 (162) 은 현재 프레임과 연관된 프래그먼트를 프래그먼트 재구성 모듈 (160) 로부터 수신한다 (200). 설명을 위해, 이러한 수신된 프래그먼트는 본 명세서에서 "현재 프래그먼트"라 한다. 현재 프래그먼트를 수신한 후, 프레임 재조립 모듈 (162) 이 현재 프래그먼트와 연관된 타일을 식별한다 (202). 현재 프래그먼트와 연관된 타일을 식별한 후, 프레임 재조립 모듈 (162) 은 식별된 타일과 연관된 현재 프레임에서의 위치에 현재 프래그먼트를 저장한다 (204). 현재 프래그먼트를 현재 프레임에서의 위치에 저장하는 것은 현재 프래그먼트를 현재 프레임에 효과적으로 "플러그 (plug)" 할 수도 있다.
프레임 재조립 모듈 (162) 이 타일들의 식별된 세트와 연관된 현재 프레임에서의 위치에 현재 프래그먼트를 저장한 경우, 프레임 재조립 모듈 (162) 은 현재 프레임과 연관된 모든 프래그먼트들이 현재 프레임에 카피되었는지 여부를 판정할 수도 있다 (206). 현재 프레임과 연관된 모든 프래그먼트들이 현재 프레임으로 카피되었는 경우 (206 의 "예"), 프레임 재조립 버퍼 (164) 는 현재 프레임을 출력할 수도 있다 (208). 현재 프레임을 출력한 후, 프레임 재조립 모듈 (162) 은 다시 돌아가서 현재 프레임의 프래그먼트를 다시 수신할 수도 있다 (200). 그렇지 않고, 현재 프레임과 연관된 매 프래그먼트가 현재 프레임으로 카피되지 않았다면 (206 의 "아니오"), 프레임 재조립 모듈 (162) 은 다시 돌아가서 다른 프래그먼트를 수신할 수도 있다 (200).
도 9 는 프리프로세서 (10) (도 1) 의 예시적인 상세를 나타낸 블록도이다. 도 9 의 예에서, 프리프로세서 (10) 는 프레임 입력 버퍼 (220) 를 포함한다. 프레임 입력 버퍼 (220) 는 비디오 프레임들의 하나 이상의 인코딩되지 않은 시퀀스를 수신하고 저장할 수도 있다. 또한, 프리프로세서 (10) 는 디인터레이싱 움직임 추정 모듈 ("DIMEM")(221) 을 포함할 수도 있다. DIMEM (221) 은 인터레이싱된 비디오 프레임들을 디인터레이싱하기 위한 프로세스의 일부로서 사용될 수도 있다. 예를 들면, 짝수 프레임들은 짝수 행들에 대한 비디오 데이터를 포함할 수도 있고, 홀수 프레임들은 홀수 행들에 대한 비디오 데이터를 포함할 수도 있다. 이 예에서, DIMEM (221) 은 현재 짝수 프레임에 추종하는 홀수 인터레이싱된 프레임에서의 각각의 블록에 대해 다음 단계들을 수행함으로써 디인터레이싱된 짝수 프레임에 대해 디인터레이싱 움직임 추정 동작을 수행할 수도 있다:
(1) 현재 블록을 근사하는 블록에 대해 현재 블록이 있는 선행 홀수 인터레이싱된 프레임에서의 블록 주위에 선행 홀수 인터레이싱된 프레임의 영역에 대해 탐색;
(2) 이러한 블록이 발견되는 경우, 식별된 블록과 현재 블록 사이의 변위를 나타내는 움직임 벡터를 발생;
유사하게, 이 예에서, DIMEM (221) 은 현재 홀수 프레임에 추종하는 짝수 프레임에서의 각각의 블록에 대해 다음 단계들을 수행함으로써 디인터레이싱된 홀수 프레임에 대해 디인터레이싱 움직임 추정 동작을 수행할 수도 있다:
(1) 현재 블록을 근사하는 블록에 대해 현재 블록이 있는 선행 짝수 프레임에서의 블록 주위에 선행 짝수 프레임의 영역에 대해 탐색;
(2) 이러한 블록이 발견되는 경우, 식별된 블록과 현재 블록 사이의 변위를 나타내는 움직임 벡터를 발생.
프리프로세서 (10) 의 타일 식별 모듈 (222) 은 DIMEM (221) 에 의해 발생된 움직임 벡터들을 사용하여 프레임 입력 버퍼 (220) 에 저장된 비디오 프레임들의 시퀀스에서의 비디오 프레임들에 대한 타일들의 세트들을 식별할 수도 있다. 타일 식별 모듈 (190) 과 마찬가지로, 타일 식별 모듈 (222) 은 다양한 기술을 이용하여 비디오 프레임들의 시퀀스에서의 비디오 프레임들에 대한 타일들의 세트들을 식별할 수도 있다. 예를 들면, 타일 식별 모듈 (222) 은 비디오 프레임들의 시퀀스에서 각각의 비디오 프레임에 대한 파티션 활성 맵을 발생시킬 수도 있다. 이 예에서, 타일 식별 모듈 (222) 은 그후 파티션 활성 맵들을 사용하여 복합 파티션 활성 맵을 발생시킬 수도 있다. 그후, 타일 식별 모듈 (222) 은 복합 파티션 활성 맵을 사용하여 P-프레임 또는 B-프레임으로서 인코딩되어 있는 비디오 프레임들 각각에 대핸 타일들의 하나 이상의 세트를 식별할 수도 있다. 타일 식별 모듈 (222) 은 복합 파티션 활성 맵을 사용하여 타일 식별 모듈 (190) 과 유사한 방식으로 타일들의 하나 이상의 세트를 식별할 수도 있다. 타일 식별 모듈 (222) 이 타일들의 세트를 식별할 경우, 타일 식별 모듈 (222) 은 타일들의 세트에 대한 타일 기술 정보를 발생시킬 수도 있다. 타일 기술 정보는 타일 세트 인덱스 값, 프레임들 내의 타일들의 세트의 위치, 및 타일들의 형상을 나타낼 수도 있다.
타일 식별 모듈 (222) 이 프레임들에 대한 타일들의 세트들을 식별하고 연관된 타일 기술 정보를 발생시킨 후, 프리프로세서 (10) 의 프래그먼트 추출 모듈 (224) 는, 각각의 프레임으로부터, 식별된 타일들과 연관된 프래그먼트들을 추출할 수도 있다. 프래그먼트 추출 모듈 (224) 이 타일들의 식별된 세트들 중 하나의 세트에서의 타일과 연관된 프래그먼트를 추출할 경우, 프래그먼트 추출 모듈 (224) 은 프래그먼트에 대한 프래그먼트 식별 정보를 발생시킬 수도 있다. 프래그먼트에 대한 프래그먼트 식별 정보는 프래그먼트가 추출된 프레임 번호 및 프래그먼트와 연관된 타일이 구성원인 타일들의 세트와 연관된 타일 세트 인덱스 값을 특정할 수도 있다. 그후, 프래그먼트 추출 모듈 (224) 는 프래그먼트 버퍼 (226) 에 추출된 프래그먼트들 및 타일 식별 정보를 저장할 수도 있다.
프래그먼트 추출 모듈 (224) 이 프래그먼트 버퍼 (226) 에 추출된 프래그먼트들을 저장한 후, 일련의 프리프로세싱 동작 모듈들 (228A 내지 228N) (집합적으로, "프리프로세싱 동작 모듈들 (228)") 은 추출된 프래그먼트들에 대해 비디오 프리프로세싱 동작을 수행할 수도 있다. 예를 들면, 프리프로세싱 동작 모듈 (228A) 은 콘트라스트 조절 동작을 수행할 수도 있고, 프리프로세싱 동작 모듈 (228B) 은 잡음 감소 동작을 수행할 수도 있고, 프리프로세싱 동작 모듈들 (228) 중 다른 것들은 다른 비디오 프리프로세싱 동작들을 수행할 수도 있다. 프리프로세싱 동작 모듈들 (228) 중 마지막 프리프로세싱 동작 모듈이 프래그먼트에 대해 마지막 비디오 프리프로세싱 동작을 수행한 후, 프리프로세싱 동작 모듈들 (228) 중 이 마지막 프리프로세싱 동작 모듈은 결과의 프래그먼트와 연관된 프래그먼트 식별 정보와 함께 프리프로세싱된 프래그먼트 버퍼 (230) 에 결과의 프래그먼트를 저장할 수도 있다.
프리프로세싱 동작 모듈들 (228) 중 마지막 프리프로세싱 동작 모듈이 프리프로세싱된 프래그먼트 버퍼 (230) 에 결과의 프래그먼트를 저장한 후, 디인터레이싱 움직임 보상 모듈 (DIMCM) (229) 은 프래그먼트들을 디인터레이싱하기 위한 동작을 수행할 수도 있다. 예를 들면, 결과의 프래그먼트가 짝수 프레임과 연관되는 경우, DIMCM (229) 은 짝수 프레임과 연관된 디인터레이싱된 프래그먼트를 발생시키기 위해 프래그먼트의 각각의 파티션에 대해 다음 단계들을 수행할 수도 있다:
(1) 현재 파티션의 움직임 벡터를 사용하여 프리프로세싱된 프래그먼트 버퍼 (230) 에 저장된 프래그먼트의 파티션을 식별;
(2) 현재 파티션의 움직임 벡터를 따라 중간 포인트 (half-way point) 를 결정;
(3) 식별된 중간 포인트에 가장 가까운 홀수 라인 상의 위치에서의 현재 짝수 프래그먼트에 현재 파티션의 움직임 벡터에 의해 식별된 파티션을 부가; 및
(4) 현재 파티션이 움직임 벡터를 갖지 않는 경우, 현재 파티션을 현재 파티션의 현재 위치에서의 현재 짝수 프레임의 홀수 라인으로 카피.
유사하게, 결과의 프래그먼트가 홀수 프레임과 연관되는 경우, DIMCM (229) 은 홀수 프레임과 연관된 디인터레이싱된 프래그먼트를 발생시키기 위해 프래그먼트의 각각의 파티션에 대해 다음 단계들을 수행할 수도 있다:
(1) 현재 파티션의 움직임 벡터를 사용하여 프리프로세싱된 프래그먼트 버퍼 (230) 에 저장된 프래그먼트의 파티션을 식별;
(2) 현재 파티션과 연관된 움직임 벡터를 따라 중간 포인트를 결정;
(3) 식별된 중간 포인트에 가장 가까운 짝수 라인 상의 위치의 중간 포인트에서의 현재 홀수 프레임에 현재 파티션과 연관된 움직임 벡터에 의해 식별된 파티션을 부가; 및
(4) 현재 파티션이 움직임 벡터를 갖지 않는 경우, 현재 파티션을 현재 파티션의 현재 위치에서의 현재 프래그먼트의 짝수 라인으로 카피.
이들 단계들에 대한 다양한 변경이 가능함을 인지해야 한다. 이러한 프로세스의 끝에서, DIMCM (229) 은 디인터레이싱된 프래그먼트들의 세트를 발생시켰다.
도 9 의 예에 나타낸 바와 같이, 프리프로세서 (10) 는 또한 프레임 재조립 모듈 (232) 을 포함할 수도 있다. 프레임 재조립 모듈 (232) 은 프리프로세싱된 화상 버퍼 (230) 에서의 디인터레이싱된 프래그먼트들을 완전한 디인터레이싱된 비디오 프레임들로 재조립한다. 프레임 재조립 모듈 (232) 은 도 8b 에 나타낸 프레임 재조립 모듈 (162) 의 예시적인 동작과 동일하거나 또는 유사한 동작을 이용하여 프리프로세싱된 화상 버퍼 (230) 에서의 프래그먼트들을 재조립할 수도 있다. 프레임 재조립 모듈 (232) 이 프리프로세싱된 화상 버퍼 (230) 에서의 디인터레이싱된 프래그먼트들을 완전한 디인터레이싱된 비디오 프레임들/슬라이스들로 재조립한 후, 프레임 재조립 모듈 (232) 은 완전한 디인터레이싱된 비디오 프레임들/슬라이스들을 인코더 (16) 에 출력할 수도 있다.
몇몇 구현에 있어서, 프리프로세서 (10) 는 프레임 재조립 모듈 (232) 을 포함하지 않는다. 오히려, DIMCM (229) 은 디인터레이싱된 프래그먼트를 발생시킬 경우, DIMCM (229) 은 결과의 프래그먼트 및 연관된 프래그먼트 식별 정보 및 타일 식별 정보를 인코더 (16) 에 직접 출력할 수도 있다. 또한, 이들 구현에 있어서, 인코더 (16) 는 파티션 맵 모듈 (36), 맵 버퍼 (38), 타일 식별 모듈 (40) 또는 프래그먼트 추출 모듈 (42) 을 포함하지 않을 수도 있다. 이들 구현에 있어서, 인코더 (16) 는, 별도의 종래의 비디오 프레임으로서 프리프로세서 (10) 에 의해 제공된 각각의 프래그먼트를 인코딩하는, 종래의 인코더로서 동작할 수도 있다. 그러나, 이들 구현에 있어서, 출력 모듈 (58) 이 프래그먼트들 중 하나의 프래그먼트와 연관된 인코딩된 데이터를 출력할 경우, 출력 모듈 (58) 은 프래그먼트들 중 하나의 프래그먼트에 대해 프리프로세서 (10) 에 의해 발생된 프래그먼트 식별 정보를 출력할 수도 있다. 또한, 출력 모듈 (58) 은 프리프로세서 (10) 에 의해 발생된 타일 기술 정보를 출력할 수도 있다.
도 10 은 프리프로세서 (10) (도 9) 의 예시적인 동작을 나타낸 플로차트이다. 먼저, 프리프로세서 (10) 는 비디오 프레임들의 시퀀스를 수신한다 (250). 프리프로세서 (10) 가 인터레이싱된 비디오 프레임들의 시퀀스를 수신할 경우, 프리프로세서 (10) 는 인터레이싱된 비디오 프레임들의 시퀀스를 프레임 입력 버퍼 (220) 에 인터레이싱된 비디오 프레임들의 시퀀스를 저장할 수도 있다 (252). 그후, DIMEM (221) 은 디인터레이싱 움직임 추정 동작을 수행할 수도 있다 (253). DIMEM (221) 이 디인터레이싱 움직임 추정 동작을 수행할 경우, DIMEM (221) 은 움직임 벡터들을 발생시킬 수도 있다. 타일 식별 모듈 (222) 이 움직임 벡터들을 사용하여 비디오 프레임들의 시퀀스에서의 비디오 프레임들에 대한 타일들의 세트들을 식별할 수도 있다 (254). 타일 식별 모듈 (222) 이 비디오 프레임들의 시퀀스에 대한 타일들의 세트들을 식별한 후, 타일 식별 모듈 (222) 은 타일들의 세트들 각각에 대한 타일 기술 정보를 발생시킬 수도 있다 (255).
그후, 프래그먼트 추출 모듈 (224) 은 비디오 프레임들의 시퀀스에서 각각의 비디오 프레임으로부터, 식별된 타일들과 연관된 프래그먼트들을 추출할 수도 있다 (256). 프래그먼트들을 추출한 후, 프래그먼트 추출 모듈 (224) 은 추출된 프래그먼트들 각각에 대해 프래그먼트 식별 정보를 발생시킬 수도 있다 (258). 그후, 프래그먼트 추출 모듈 (224) 은 추출된 프래그먼트들을 프래그먼트 버퍼 (226) 에 저장할 수도 있다 (260).
프래그먼트 추출 모듈 (224) 이 추출된 프래그먼트들을 프래그먼트 버퍼 (226) 에 저장한 후, 프리프로세싱 동작 모듈들 (228) 은 프래그먼트들에 대해 하나 이상의 프리프로세싱 동작을 수행할 수도 있다 (262). 그후, 프리프로세싱 동작 모듈 (228) 중 마지막 프리프로세싱 동작 모듈은 결과의 프리프로세싱된 프래그먼트들을 프리프로세싱된 프래그먼트 버퍼 (230) 에 저장할 수도 있다 (263). 그후, DIMCM (229) 은 프리프로세싱된 프래그먼트 버퍼 (230) 에 저장된 기준 프래그먼트들에 기초하여 현재 비디오 프레임의 타일들에 대한 디인터레이싱 움직임 보상 동작을 수행할 수도 있다 (264). 디인터레이싱 움직임 보상 동작의 결과로서, DIMCM (229) 에 의해 생성된 프래그먼트들이 디인터레이싱된다. 그후, 프레임 재조립 모듈 (232) 은 프리프로세싱된 화상 버퍼 (230) 에서의 디인터레이싱된 프리프로세싱된 프래그먼트들을 완전한 비디오 프레임들/슬라이스들로 재조립할 수도 있다 (266). 몇몇 구현에 있어서 단계 (266) 은 생략될 수도 있음을 이해해야 한다.
도 11 은 디코더 (18) (도 1) 의 예시적인 상세의 다른 세트를 나타낸 블록도이다. 도 11 의 예에 있어서, 디코더 (18) 는 완전한 비디오 프레임들을 포함하는 미디어 객체를 수신한다. 예를 들면, 디코더 (18) 는 전통적으로 인코딩된 H.264/AVC 데이터, MPEG-4, 또는 다른 미디어 코딩 표준을 포함하는 미디어 파일 또는 미디어 스트림을 수신할 수도 있다. 도 2 에 나타낸 인코더 (16) 의 예시적인 상세가 비디오 프레임들의 프래그먼트들을 포함하는 미디어 객체들을 출력하기 때문에, 도 11 에 나타낸 디코더 (18) 의 예시적인 상세는 도 2 에 나타낸 인코더 (16) 의 예시적인 상세와 호환가능하지 않을 수도 있다.
도 11 의 예에서, 디코더 (18) 가 미디어 객체를 수신할 경우, 엔트로피 디코딩 유닛 (150) 은 미디어 객체로 인코딩된 비디오 프레임들의 타일들의 하나 이상의 세트와 연관되는 미디어 객체의 부분들을 식별하기 위한 하나 이상의 동작을 수행할 수도 있다. 미디어 객체의 이들 부분들을 식별한 후, 엔트로피 디코딩 유닛 (150) 은 미디어 객체의 식별된 부분들을 디코딩할 수도 있다. 이러한 방식으로, 비디오 프레임들의 나머지 부분들 및 움직임 데이터가 인코딩된 채로 남기면서, 엔트로피 디코딩 유닛 (150) 은 프래그먼트들의 세트들 및 그 프래그먼트들과 연관된 움직임 데이터를 디코딩할 수도 있다.
수신된 미디어 객체의 인코딩 포맷 및 가능한 다른 팩터들에 따라, 엔트로피 디코딩 유닛 (150) 은 다양한 방식으로 이들 동작들을 수행할 수도 있다. 예를 들면, 미디어 객체는 미디어 객체에 관한 일반적인 정보 (예컨대, 프레임 레이트, 프레임들의 크기들 등) 를 나타내는 인코딩된 시퀀스 헤더들을 포함할 수도 있다. 또한, 이 예에 있어서, 미디어 객체는 비디오 데이터의 특정 슬라이스들에 관한 정보 (예컨대, 슬라이스들의 위치, 슬라이스에서의 파티션들의 수 등) 를 나타내는 인코딩된 슬라이스 헤더들을 포함할 수도 있다. 또한, 미디어 객체는 특정 파티션들에 관한 정보 (예컨대, 움직임 데이터, 파티션과 연관된 양자화된 계수들의 인코딩된 세트에서의 데이터의 비트 수 등) 를 나타내는 인코딩된 파티션 헤더들을 포함할 수도 있다. 도 11 의 예에 나타낸 바와 같이, 엔트로피 디코딩 유닛 (150) 은 시퀀스 헤더 디코딩 모듈 (280) 을 포함할 수도 있다. 시퀀스 헤더 디코딩 모듈 (280) 은 미디어 객체에서의 시퀀스 헤더들에 대한 엔트로피 디코딩 동작을 수행한다. 그후, 슬라이스 헤더 디코딩 모듈 (284) 은 디코딩된 시퀀스 헤더들 중 하나 이상의 디코딩된 시퀀스 헤더를 사용하여 인코딩된 슬라이스 헤더들을 나타내는 미디어 객체의 부분들을 식별할 수도 있다. 인코딩된 슬라이스 헤더들을 나타내는 미디어 객체의 부분들을 식별한 후, 슬라이스 헤더 디코딩 모듈 (284) 은 입력된 미디어 객체의 인코딩된 슬라이스 헤더들에 대해 엔트로피 디코딩 동작을 수행한다. 파티션 헤더 디코딩 모듈 (286) 은 디코딩된 슬라이스 헤더들을 사용하여 인코딩된 파티션 헤더들을 나타내는 미디어 객체의 부분들을 식별한다. 인코딩된 파티션 헤더들을 나타내는 미디어 객체의 부분들을 식별한 후, 파티션 헤더 디코딩 모듈 (286) 은 입력된 미디어 스트림의 인코딩된 파티션 헤더들에 대해 엔트로피 디코딩 동작을 수행한다.
이전 단락의 예에 계속하여, 엔트로피 디코딩 유닛 (150) 의 타일 식별 모듈 (288) 은 그후 디코딩된 파티션 헤더들을 사용하여 타일들과 연관되는 인코딩된 비디오 프레임들의 인코딩된 파티션들을 식별할 수도 있다. 예를 들면, 타일 식별 모듈 (288) 은 파티션 헤더들에 나타낸 움직임 데이터를 사용하여 미디어 객체에서의 비디오 프레임들의 시퀀스에서의 비디오 프레임들에 대한 파티션 활성 맵들을 발생시킬 수도 있다. 그후, 타일 식별 모듈 (288) 은 파티션 활성 맵들을 사용하여 복합 파티션 활성 맵을 발생시킬 수도 있다. 그리고 나서, 타일 식별 모듈 (288) 은, 타일 식별 모듈 (90) 및 타일 식별 모듈 (222) 에 대해서 상기 기재된 방식으로, 복합 파티션 활성 맵을 사용하여 P-프레임들 또는 B-프레임들로서 디코딩되어 있는 비디오 프레임들의 시퀀스에서의 비디오 프레임들의 타일들의 하나 이상의 세트를 식별할 수도 있다. 타일 식별 모듈 (288) 이 타일들의 세트를 식별한 후, 타일 식별 모듈 (288) 은 타일들의 세트에 대한 타일 기술 정보를 발생시킬 수도 있다. 이전에 언급된 타일 기술 정보와 마찬가지로, 타일 식별 모듈 (288) 에 의해 발생된 타일 기술 정보는 타일 세트 인덱스 값, 타일들의 위치들 등을 나타낼 수도 있다.
타일 식별 모듈 (288) 이 타일들의 하나 이상의 세트들을 식별한 경우, 파티션 데이터 디코딩 모듈 (290) 은, 각각의 프레임에 대해, 타일들의 식별된 세트들 중 하나의 세트의 타일 내에 있는 각각의 인코딩된 파티션에 대해 엔트로피 디코딩 동작을 적용할 수도 있다. 이 예에서, 파티션 디코딩 모듈 (290) 은 타일들 내에 있지 않는 인코딩된 파티션들에 대해 엔트로피 디코딩 동작을 적용하지 않는다. 이러한 방식으로, 파티션 데이터 디코딩 모듈 (290) 은 각각의 프레임에서의 각각의 타일에 대한 양자화된 계수들의 세트를 디코딩한다. "프래그먼트"가 타일 내에 포함된 화상이기 때문에, 파티션 데이터 디코딩 모듈 (290) 은, 사실상, 상이한 프래그먼트들과 연관되는 양자화된 계수들의 세트를 디코딩한다. 파티션 데이터 디코딩 모듈 (290) 이 프래그먼트와 연관된 양자화된 계수들의 세트를 디코딩한 후, 파티션 데이터 디코딩 모듈 (290) 은 프래그먼트에 대한 프래그먼트 식별 정보의 세트를 발생시킨다. 이전에 언급된 프래그먼트 식별 정보와 마찬가지로, 파티션 데이터 디코딩 모듈 (290) 에 의해 발생된 프래그먼트 식별 정보는, 프래그먼트가 나타낸 프레임으로부터 추출된 것임을 나타내는 프레임 인덱스 값 및 프래그먼트가 타일들의 특정 세트에서의 타일 내에 포함된 화상임을 나타내는 타일 세트 인덱스 값을 나타낼 수도 있다.
도 11 의 예에서, 역양자화 모듈 (292) 은 현재 프래그먼트와 연관된 양자화된 계수들의 세트에 대해 역양자화 동작을 수행함으로써 역양자화된 계수들의 세트를 발생시킬 수도 있다. 그후, 역변환 모듈 (294) 은, 현재 프래그먼트와 연관된 역양자화된 계수들의 세트에 대해 역변환 동작을 수행함으로써 현재 프래그먼트와 연관된 디코딩된 잔여 화상을 발생시킬 수도 있다. 또한, 움직임 보상 유닛 (296) 은, 현재 프래그먼트와 연관된 움직임 데이터 및 기준 버퍼 (298) 에서의 기준 프래그먼트를 사용하여 현재 프래그먼트와 연관된 예측 프래그먼트를 발생시킬 수도 있다. 움직임 보상 유닛 (296) 이 현재 프래그먼트와 연관된 예측 프래그먼트를 발생시키고 역변환 모듈 (294) 이 현재 프래그먼트와 연관된 디코딩된 잔여 프래그먼트를 발생시킨 후, 프래그먼트 재구성 모듈 (300) 은, 예측 프래그먼트와 디코딩된 잔여 프래그먼트를 가산함으로써 현재 프래그먼트와 연관된 재구성된 프래그먼트를 발생시킬 수도 있다. 그후, 프래그먼트 재구성 모듈 (300) 은 재구성된 프래그먼트를 기준 버퍼 (298) 에 저장할 수도 있다.
도 11 의 예에 나타내지 않았지만, 디코더 (18) 는, 기준 버퍼 (298) 에 저장된 프래그먼트들로부터 완전한 프레임들을 재구성하는 프레임 재구성 모듈을 포함할 수도 있다. 이 프레임 재구성 모듈은 도 8b 에 나타낸 예시적인 동작을 이용하여 기준 버퍼 (298) 에 저장된 프래그먼트들로부터 완전한 프레임들을 재구성할 수도 있다.
도 12 는 도 11 에 나타낸 디코더 (18) 의 다른 구현의 예시적인 동작을 나타낸 플로차트이다. 먼저, 엔트로피 디코딩 유닛 (150) 은 비디오 프레임들의 인코딩된 시퀀스들을 포함하는 미디어 객체를 수신한다 (310). 그후, 엔트로피 디코딩 유닛 (150) 에서의 시퀀스 헤더 디코딩 모듈 (280) 은 미디어 객체에서의 시퀀스 헤더들에 대해 엔트로피 디코딩 동작을 수행한다 (312). 그리고 나서, 슬라이스 헤더 디코딩 모듈 (284) 은 디코딩된 파티션 헤더들을 사용하여 미디어 객체 내에서의 슬라이스 헤더들의 위치들을 식별할 수도 있다 (314). 그후, 슬라이스 헤더 디코딩 모듈 (284) 은 식별된 슬라이스 헤더들을 디코딩할 수도 있다 (316). 다음으로, 파티션 헤더 디코딩 모듈 (286) 은 디코딩된 슬라이스 헤더들을 사용하여 미디어 객체 내에서의 파티션 헤더들의 위치들을 식별할 수도 있다 (318). 그후, 파티션 헤더 디코딩 모듈 (286) 은 식별된 파티션 헤더들을 디코딩할 수도 있다 (320).
파티션 헤더 디코딩 모듈 (286) 이 식별된 파티션 헤더들을 디코딩한 후, 타일 식별 모듈 (288) 은 디코딩된 파티션 헤더들을 사용하여 비디오 프레임들의 시퀀스에서의 비디오 프레임들에 대한 타일들의 세트들을 식별한다 (322). 상기 서술된 바와 같이, 타일 식별 모듈 (288) 은 다양한 상이한 기술을 이용하여 비디오 프레임들의 시퀀스의 비디오 프레임들에 대한 타일들의 세트들을 식별할 수도 있다. 다른 구현에 있어서, 타일 식별 모듈 (288) 은 미디어 객체와는 별도의 타일들의 세트들을 나타내는 데이터를 수신할 수도 있다. 타일 식별 모듈 (288) 은 이 데이터를 사용하여 비디오 프레임들의 시퀀스들에서 비디오 프레임들에 대한 타일들의 세트들을 식별할 수도 있다. 타일 식별 모듈 (288) 이 타일들의 세트들을 식별한 후, 타일 식별 모듈 (288) 은 타일들의 식별된 세트들 각각에 대한 타일 기술 정보를 발생시킬 수도 있다 (324).
그후, 파티션 데이터 디코딩 모듈 (290) 이 식별된 타일들 내에 있는 파티션들의 이들 인코딩된 버전을 디코딩한다 (326). 파티션들의 인코딩된 버전을 디코딩한 결과로서, 파티션 데이터 디코딩 모듈 (290) 은 상이한 프래그먼트들과 연관된 양자화된 계수들의 세트들을 발생시킨다. 일단 파티션 데이터 디코딩 모듈 (290) 이 파티션들의 인코딩된 버전을 디코딩하면, 파티션 데이터 디코딩 모듈 (290) 은 디코딩된 파티션 데이터, 움직임 데이터, 화상 식별 정보 ("PII"), 및 타일 기술 정보 ("TDI") 를 출력할 수도 있다 (330).
도 13 은 프래그먼트들을 디스플레이 버퍼들 (24) 에 저장하기 위한 버퍼 필 모듈 (22) (도 1) 의 예시적인 동작을 나타낸 플로차트이다. 이러한 동작을 수행할 경우, 버퍼 필 모듈 (22) 은 프레임 재조립 모듈로서 효과적으로 작용한다.
도 13 의 예시 동작에 따르면, 디스플레이 버퍼들 (24) 은 3 개의 버퍼들 (B0, B1 및 B2) 을 포함한다. 이들 3 개의 버퍼들의 사용은 버퍼 필 모듈 (22) 이 디스플레이 버퍼들 (B0, B1 및 B2) 에서의 완전한 프레임들을 재구성할 수 있도록 할 수도 있다. 그리하여, 버퍼 필 모듈 (22) 이 도 13 의 예시적인 동작을 이용할 경우, 디코딩 모듈 (18) 이 프레임 재구성 모듈 (162) 을 포함하거나 사용하는 것은 불필요해질 수도 있다.
먼저, 버퍼 필 모듈 (22) 은 프래그먼트 버퍼로부터 프레임 FX 와 연관된 프래그먼트들의 세트를 검색한다 (350). 프레임 FX 와 연관된 프래그먼트들의 세트를 검색한 후, 버퍼 필 모듈 (22) 은 프레임 FX 가 비디오 프레임들의 시퀀스의 제 1 프레임인지 여부를 판정할 수도 있다 (352).
버퍼 필 모듈 (22) 이 프레임 FX 가 비디오 프레임들의 시퀀스의 제 1 프레임이라고 판정하면 (352 의 "예"), 버퍼 필 모듈 (22) 은 프레임 FX 와 연관된 프래그먼트들 각각을 버퍼 B(X mod 3) 에 기입한다 (354). 프레임 FX 와 연관된 프래그먼트들 각각을 버퍼 B(X mod 3) 내의 적절한 위치에 기입하기 위해, 버퍼 필 모듈 (22) 은 프래그먼트들과 연관된 프래그먼트 식별 정보를 사용하여 프래그먼트들과 연관된 타일 기술 정보를 식별할 수도 있다. 그후, 버퍼 필 모듈 (22) 은 타일 기술 정보에 나타낸 위치들을 사용하여 버퍼 B(X mod 3) 내의 적절한 위치를 식별할 수도 있다.
그후, 버퍼 필 모듈 (22) 은 버퍼 B(X mod 3) 의 콘텐츠를 버퍼 B((X+1) mod 3) 에 카피한다 (356). 버퍼 필 모듈 (22) 이 버퍼 B(X mod 3) 의 콘텐츠를 버퍼 B((X+1) mod 3) 에 카피한 후, 디스플레이 유닛 (26) 은 버퍼 B((X+2) mod 3) 의 콘텐츠를 디스플레이한다 (358). 일단 디스플레이 유닛 (26) 이 버퍼 B((X+2) mod 3) 의 콘텐츠를 디스플레이하면, 버퍼 필 모듈 (22) 은 X 의 값을 증분할 수도 있다 (360). 그후, 버퍼 필 모듈 (22) 은 다시 돌아가서 프레임 FX 와 연관된 프래그먼트들을 검색한다 (350). 버퍼 필 모듈 (22) 이 X 를 증분하기 때문에, 버퍼 필 모듈 (22) 은, 버퍼 필 모듈 (22) 이 디스플레이 버퍼 (24) 에 이전에 부가한 프레임에 추종하는 프레임과 연관된 프래그먼트들을 검색한다.
한편, 버퍼 필 모듈 (22) 이 프레임 FX 가 비디오 프레임들의 시퀀스의 제 1 프레임이 아님을 판정하면 (352 의 "아니오"), 버퍼 필 모듈 (22) 은 프레임 FX 와 연관된 프래그먼트들 각각을 버퍼 B(X mod 2) 에서의 적절한 위치에 기입한다 (362). 버퍼 필 모듈 (22) 이 프레임 FX 와 연관된 프래그먼트들 각각을 버퍼 B(X mod 2) 에서의 적절한 위치에 기입한 후, 디스플레이 유닛 (26) 은 버퍼 B((X+1) mod 2) 의 콘텐츠를 디스플레이할 수도 있다 (364). 일단 디스플레이 유닛 (26) 이 버퍼 B((X+1) mod 2) 의 콘텐츠를 디스플레이하면, 버퍼 필 모듈 (22) 은 X 의 값을 증분할 수도 있다 (360). 그후, 버퍼 필 모듈 (22) 은 다시 돌아가서 프레임 FX 와 연관된 화상들을 검색할 수도 있다 (350).
이 개시물은 3 개의 버퍼들을 참조하여 도 13 을 설명하지만, 더 많은 수의 버퍼들에 대해 동작들이 존재할 수도 있음에 유념한다.
본 명세서에 기재된 기술은 하드웨어, 소프트웨어, 펌웨어 또는 그것의 임의의 조합으로 구현될 수도 있다. 모듈들 또는 컴포넌트들로서 기재된 임의의 특징부들은 집적 로직 디바이스에서 함께 구현되거나 또는 별개이지만 상호 운용성이 있는 로직 디바이스들로서 구현될 수도 있다. 소프트웨어로 구현될 경우, 이 기술은, 실행될 때, 상기 기재된 방법들 중 하나 이상의 방법을 수행하는 명령들을 포함하는 컴퓨터 판독가능 매체에 의해 적어도 부분적으로 실현될 수도 있다. 컴퓨터 판독가능 매체는 패키징 재료들을 포함할 수도 있는 컴퓨터 프로그램 제품의 일부를 형성할 수도 있다. 컴퓨터 판독가능 매체는, 동기식 동적 랜덤 액세스 메모리 (SDRAM), 판독 전용 메모리 (ROM), 비휘발성 랜덤 액세스 메모리 (NVRAM), 전기적 소거가능 프로그래머블 판독 전용 메모리 (EEPROM), 플래시 메모리, 자기 또는 광학 데이터 저장 매체 등과 같은 랜덤 액세스 메모리 (RAM) 을 포함할 수도 있다. 이 기술은 부가적으로 또는 대안적으로, 컴퓨터에 의해 액세스, 판독 및/또는 실행될 수 있고 명령들 또는 데이터 구조들의 형태로 코드를 전달 또는 통신하는 컴퓨터 판독가능 통신 매체에 의해 적어도 부분적으로 실현될 수도 있다.
이 코드는 하나 이상의 디지털 신호 프로세서들 (DSPs), 범용 마이크로프로세서, 특정용도 집적회로들 (ASICs), 필드 프로그래머블 로직 어레이들 (FPGAs), 또는 다른 동등 집적 또는 이산 로직 회로와 같은 하나 이상의 프로세서에 의해 실행될 수도 있다. 따라서, 본 명세서에 사용된 바와 같은 용어 "프로세서" 는 상기 구조 중 임의의 것 또는 본 명세서에 기재된 기술의 구현에 적절한 다른 구조를 지칭할 수도 있다. 또한, 몇몇 양태들에 있어서, 본 명세서에 기재된 기능은, 인코딩 및 디코딩을 위해 구성된 하드웨어 모듈들 또는 전용 소프트웨어 모듈들 내에 제공될 수도 있고, 또는 조합된 비디오 인코더-디코더 (CODEC) 에 통합될 수도 있다.
다양한 예시 구현들이 기재되었다. 예를 들면, 구현들은 비디오 프레임들에 관해 기재되었다. 그러나, 상기 기재 및 하기 청구범위들은 또한 임의의 캡처 레이트에서 스틸 카메라로부터와 같이 연속 이미지들의 세트 또는 비디오 슬라이드슬에 적용가능할 수도 있다. 또한, 프래그먼트로 이루어진 기준 화상들을 이용하여 비디오 프레임들의 시퀀스들을 인코딩 및 디코딩하기 위한 기술이 움직임 보상 코딩 기술과 관련하여 주로 기재하였다. 하지만, 본 명세서에 기재된 바와 같이, 프래그먼트로 이루어진 기준 화상들의 사용은 또한, 스케일링, 에지 강화 등에 대해서와 같이 다른 프로세싱 또는 코딩 콘텍스트들에 이용될 수도 있다. 따라서, 기준 프래그먼트들 중 하나 이상의 기준 프래그먼트에 기초하여 현재 비디오 프레임의 현재 타일에 대한 움직임 보상을 수행하는 것으로서 본 명세서에 기재된 유닛들, 모듈들 또는 회로는, 대안으로, 기준 프래그먼트들 중 하나 이상의 기준 프래그먼트에 기초하여 현재 비디오 프레임의 현재 타일에 대해 스케일링 또는 에지 강화 (또는 가능한 다른 비디오 프로세싱 기술) 를 수행하는 유닛들, 모듈들 또는 회로일 수 있다. 이들 및 다른 구현들은 하기 청구범위의 범위 내에 있다.

Claims (45)

  1. 비디오 데이터 코딩 방법으로서, 상기 방법은,
    비디오 프레임들의 시퀀스에서의 복수의 비디오 프레임들 내에서 타일 (tile) 들의 세트를 식별하는 단계로서, 상기 타일들의 세트에서의 각각의 타일은 각각의 비디오 프레임에 대한 파티션 (partition) 들의 서브세트를 나타내는, 상기 타일들의 세트를 식별하는 단계;
    상기 복수의 비디오 프레임들 내에서 식별된 상기 타일들의 세트와 연관된 비디오 데이터를 포함하는 기준 프래그먼트 (reference fragment) 들을 저장하는 단계; 및
    상기 기준 프래그먼트들 중 하나 이상의 기준 프래그먼트에 기초하여 현재 비디오 프레임의 현재 타일에 대한 움직임 보상을 수행하는 단계를 포함하고,
    상기 현재 타일은 상기 타일들의 세트에서의 타일들과 동일 위치에 있고,
    상기 방법은, 상기 타일들의 세트를 자동 식별하는 단계를 더 포함하고,
    상기 타일들의 세트를 자동 식별하는 단계는,
    상기 비디오 프레임들 각각에서의 활성 파티션들의 세트를 식별하는 단계를 포함하고, 상기 각각의 활성 파티션들은, 상기 기준 프래그먼트의 비디오 프레임의 파티션에 비해 적어도 일부 변위 및 상기 기준 프래그먼트의 비디오 프레임의 동일 위치에 있는 파티션에 비해 0 이 아닌 잔여 값을 나타내는 적어도 하나의 움직임 벡터를 포함하며,
    상기 비디오 프레임들 중 각각의 소정 비디오 프레임에 대해, 상기 소정의 비디오 프레임의 타일이 상기 비디오 프레임들 중 다른 비디오 프레임들의 식별된 활성 파티션들의 세트들에서의 활성 파티션들과 동일 위치에 있는 상기 비디오 프레임들의 상기 소정 비디오 프레임의 파티션들 및 상기 비디오 프레임들의 상기 소정의 비디오 프레임의 식별된 활성 파티션들의 세트를 포함하도록, 상기 비디오 프레임들 중 상기 소정의 비디오 프레임의 타일을 식별하는 단계를 포함하는, 비디오 데이터 코딩 방법.
  2. 삭제
  3. 제 1 항에 있어서,
    상기 움직임 보상을 수행하는 단계는, 상기 현재 비디오 프레임의 상기 현재 타일과 연관된 예측 프래그먼트를 발생시키는 단계를 포함하고,
    상기 방법은,
    상기 현재 비디오 프레임으로부터 상기 현재 타일과 연관된 프래그먼트를 추출하는 단계;
    상기 추출된 프래그먼트 및 상기 예측 프래그먼트를 사용하여 상기 현재 비디오 프레임의 상기 현재 타일과 연관된 잔여 프래그먼트 (residual fragment) 를 발생시키는 단계;
    계수들의 세트를 발생시키기 위해 상기 잔여 프래그먼트에 대해 변환을 수행하는 단계;
    상기 계수들의 세트를 양자화함으로써, 양자화된 계수들의 세트를 발생시키는 단계;
    상기 양자화된 계수들의 세트를 엔트로피 인코딩하는 단계;
    상기 엔트로피 인코딩된 양자화된 계수들의 세트를 미디어 객체 (media object) 의 일부로서 출력하는 단계;
    상기 양자화된 계수들의 세트를 역양자화함으로써, 역양자화된 계수들의 세트를 발생시키는 단계;
    디코딩된 잔여 프래그먼트를 발생시키기 위해 상기 역양자화된 계수들의 세트에 대해 상기 변환의 역을 수행하는 단계;
    상기 예측 프래그먼트 및 상기 디코딩된 잔여 프래그먼트를 사용하여 재구성된 프래그먼트를 발생시키는 단계; 및
    기준 프래그먼트로서 사용하기 위해 상기 재구성된 프래그먼트를 저장하는 단계를 더 포함하는, 비디오 데이터 코딩 방법.
  4. 제 1 항에 있어서,
    상기 움직임 보상을 수행하는 단계는, 상기 현재 비디오 프레임의 상기 현재 타일과 연관된 예측 프래그먼트를 발생시키는 단계를 포함하고,
    상기 방법은,
    상기 현재 비디오 프레임의 상기 현재 타일과 연관된 데이터의 세트를 포함하는 미디어 객체를 수신하는 단계;
    상기 데이터의 세트에 기초하여 잔여 프래그먼트를 발생시키는 단계;
    상기 예측 프래그먼트 및 상기 잔여 프래그먼트를 사용하여 상기 현재 비디오 프레임의 상기 현재 타일과 연관된 재구성된 프래그먼트를 발생시키는 단계; 및
    상기 재구성된 프래그먼트를 사용하여 상기 현재 비디오 프레임을 재구성하는 단계를 더 포함하는, 비디오 데이터 코딩 방법.
  5. 제 4 항에 있어서,
    상기 재구성된 프래그먼트를 사용하여 상기 현재 비디오 프레임을 재구성하는 단계는, 상기 재구성된 프래그먼트가 상기 현재 비디오 프레임의 상기 현재 타일과 동일 위치에 있는 이전 디코딩된 완전한 비디오 프레임의 타일로 특정되도록 상기 이전 디코딩된 완전한 비디오 프레임을 변경하는 단계를 포함하는, 비디오 데이터 코딩 방법.
  6. 제 1 항에 있어서,
    상기 기준 프래그먼트들은 인터레이싱되고 (interlaced),
    상기 현재 타일에 대한 움직임 보상을 수행하는 단계는, 상기 기준 프래그먼트들 중 하나 이상의 기준 프래그먼트에 기초하여 상기 현재 타일에 대한 디인터레이싱 (de-interlacing) 움직임 보상을 수행하는 단계를 포함하는, 비디오 데이터 코딩 방법.
  7. 제 1 항에 있어서,
    상기 방법은, 상기 비디오 프레임들의 시퀀스의 프레임 레이트를 증가시키기 위한 동작의 일부로서 상기 비디오 프레임들의 시퀀스에서의 2 개의 비디오 프레임들 사이에 상기 현재 비디오 프레임을 부가하는 단계를 더 포함하는, 비디오 데이터 코딩 방법.
  8. 비디오 데이터 코딩을 위한 디바이스로서, 상기 디바이스는,
    타일들의 세트와 연관된 비디오 데이터를 포함하는 기준 프래그먼트들을 저장하는 기준 버퍼로서, 상기 타일들의 세트에서의 각각의 타일은 비디오 프레임들의 시퀀스에서의 복수의 비디오 프레임들에서 식별되고, 상기 타일들의 세트에서의 각각의 타일은 각각의 비디오 프레임에 대한 파티션들의 서브세트를 나타내는, 상기 기준 버퍼; 및
    상기 기준 프래그먼트들 중 하나 이상의 기준 프래그먼트에 기초하여 현재 비디오 프레임의 현재 타일에 대한 움직임 보상을 수행하는 움직임 보상 유닛을 포함하고,
    상기 현재 타일은 상기 타일들의 세트에서의 타일들과 동일 위치에 있고,
    상기 디바이스는, 상기 타일들의 세트를 자동 식별하는 타일 식별 모듈을 더 포함하고,
    상기 타일 식별 모듈은,
    상기 비디오 프레임들 각각에서의 활성 파티션들의 세트를 식별하는 파티션 활성 모듈을 포함하고, 상기 각각의 활성 파티션들은, 상기 기준 프래그먼트의 비디오 프레임의 파티션에 비해 적어도 일부 변위 및 상기 기준 프래그먼트의 비디오 프레임의 동일 위치에 있는 파티션에 비해 0 이 아닌 잔여 값을 나타내는 적어도 하나의 움직임 벡터를 포함하며,
    상기 비디오 프레임들 중 각각의 소정 비디오 프레임에 대해, 상기 소정의 비디오 프레임의 타일이 상기 비디오 프레임들 중 다른 비디오 프레임들의 식별된 활성 파티션들의 세트들에서의 활성 파티션들과 동일 위치에 있는 상기 비디오 프레임들의 상기 소정 비디오 프레임의 파티션들 및 상기 비디오 프레임들의 상기 소정의 비디오 프레임의 식별된 활성 파티션들의 세트를 포함하도록, 상기 비디오 프레임들 중 상기 소정의 비디오 프레임의 타일을 식별하는 타일 구성 모듈을 포함하는, 비디오 데이터 코딩을 위한 디바이스.
  9. 삭제
  10. 제 8 항에 있어서,
    상기 움직임 보상 유닛이 상기 현재 타일에 대한 움직임 보상을 수행할 때, 상기 움직임 보상 유닛은 상기 현재 비디오 프레임의 상기 현재 타일과 연관된 예측 프래그먼트를 발생시키고,
    상기 디바이스는,
    상기 현재 비디오 프레임으로부터 상기 현재 타일과 연관된 프래그먼트를 추출하는 프래그먼트 추출 모듈;
    상기 추출된 프래그먼트 및 상기 예측 프래그먼트를 사용하여 상기 현재 비디오 프레임의 상기 현재 타일과 연관된 잔여 프래그먼트를 발생시키는 모듈;
    계수들의 세트를 발생시키기 위해 상기 잔여 프래그먼트에 대해 변환을 수행하는 블록 변환 유닛;
    상기 계수들의 세트를 양자화함으로써, 양자화된 계수들의 세트를 발생시키는 양자화 모듈;
    상기 양자화된 계수들의 세트를 엔트로피 인코딩하는 엔트로피 인코딩 유닛;
    상기 엔트로피 인코딩된 양자화된 계수들의 세트를 미디어 객체의 일부로서 출력하는 출력 모듈;
    상기 양자화된 계수들의 세트를 역양자화함으로써, 역양자화된 계수들의 세트를 발생시키는 역양자화 모듈;
    디코딩된 잔여 프래그먼트를 발생시키기 위해 상기 역양자화된 계수들의 세트에 대해 상기 변환의 역을 수행하는 역변환 유닛; 및
    상기 예측 프래그먼트 및 상기 디코딩된 잔여 프래그먼트를 사용하여 재구성된 프래그먼트를 발생시키는 모듈을 더 포함하고,
    상기 기준 버퍼는, 기준 프래그먼트로서 사용하기 위해 상기 재구성된 프래그먼트를 저장하는, 비디오 데이터 코딩을 위한 디바이스.
  11. 제 8 항에 있어서,
    상기 움직임 보상 유닛이 상기 현재 타일에 대한 움직임 보상을 수행할 때, 상기 움직임 보상 유닛은 상기 현재 비디오 프레임의 상기 현재 타일과 연관된 예측 프래그먼트를 발생시키고,
    상기 디바이스는, 상기 현재 비디오 프레임의 상기 현재 타일과 연관된 데이터의 세트를 포함하는 미디어 객체를 수신하고,
    상기 디바이스는,
    상기 데이터의 세트에 기초하여 잔여 프래그먼트를 발생시키는 디코더;
    상기 예측 프래그먼트 및 상기 잔여 프래그먼트를 사용하여 상기 현재 비디오 프레임의 상기 현재 타일과 연관된 재구성된 프래그먼트를 발생시키는 모듈; 및
    상기 재구성된 프래그먼트를 사용하여 상기 현재 비디오 프레임을 재구성하는 프레임 재조립 모듈을 더 포함하는, 비디오 데이터 코딩을 위한 디바이스.
  12. 제 11 항에 있어서,
    상기 프레임 재조립 모듈은, 상기 재구성된 프래그먼트가 상기 현재 비디오 프레임의 상기 현재 타일과 동일 위치에 있는 이전 디코딩된 완전한 비디오 프레임의 타일로 특정되도록 상기 이전 디코딩된 완전한 비디오 프레임을 변경하는, 비디오 데이터 코딩을 위한 디바이스.
  13. 제 8 항에 있어서,
    상기 기준 프래그먼트들은 인터레이싱되고,
    상기 움직임 보상 유닛은, 상기 기준 프래그먼트들 중 하나 이상의 기준 프래그먼트에 기초하여 상기 현재 타일에 대한 디인터레이싱 움직임 보상을 수행함으로써 상기 현재 타일에 대한 움직임 보상을 수행하는, 비디오 데이터 코딩을 위한 디바이스.
  14. 제 8 항에 있어서,
    상기 디바이스는, 상기 비디오 프레임들의 시퀀스의 프레임 레이트를 증가시키기 위한 동작의 일부로서 상기 비디오 프레임들의 시퀀스에서의 2 개의 비디오 프레임들 사이에 상기 현재 비디오 프레임을 부가하는 포스트프로세서를 더 포함하는, 비디오 데이터 코딩을 위한 디바이스.
  15. 비디오 데이터 코딩을 위한 디바이스로서, 상기 디바이스는,
    비디오 프레임들의 시퀀스에서의 복수의 비디오 프레임들 내에서 타일들의 세트를 식별하는 수단으로서, 상기 타일들의 세트에서의 각각의 타일은 각각의 비디오 프레임에 대한 파티션들의 서브세트를 나타내는, 상기 타일들의 세트를 식별하는 수단;
    상기 복수의 비디오 프레임들 내에서 식별된 상기 타일들의 세트와 연관된 비디오 데이터를 포함하는 기준 프래그먼트들을 저장하는 수단; 및
    상기 기준 프래그먼트들 중 하나 이상의 기준 프래그먼트에 기초하여 현재 비디오 프레임의 현재 타일에 대한 움직임 보상을 수행하는 수단을 포함하고,
    상기 디바이스는, 상기 타일들의 세트를 자동 식별하는 수단을 더 포함하고,
    상기 타일들의 세트를 자동 식별하는 수단은,
    상기 비디오 프레임들 각각에서의 활성 파티션들의 세트를 식별하는 수단을 포함하고, 상기 각각의 활성 파티션들은, 상기 기준 프래그먼트의 비디오 프레임의 파티션에 비해 적어도 일부 변위 및 상기 기준 프래그먼트의 비디오 프레임의 동일 위치에 있는 파티션에 비해 0 이 아닌 잔여 값을 나타내는 적어도 하나의 움직임 벡터를 포함하며,
    상기 비디오 프레임들 중 각각의 소정 비디오 프레임에 대해, 상기 소정의 비디오 프레임의 타일이 상기 비디오 프레임들 중 다른 비디오 프레임들의 식별된 활성 파티션들의 세트들에서의 활성 파티션들과 동일 위치에 있는 상기 비디오 프레임들의 상기 소정 비디오 프레임의 파티션들 및 상기 비디오 프레임들의 상기 소정의 비디오 프레임의 식별된 활성 파티션들의 세트를 포함하도록, 상기 비디오 프레임들 중 상기 소정의 비디오 프레임의 타일을 식별하는 수단을 포함하고,
    상기 현재 타일은 상기 타일들의 세트에서의 타일들과 동일 위치에 있는, 비디오 데이터 코딩을 위한 디바이스.
  16. 삭제
  17. 제 15 항에 있어서,
    상기 움직임 보상을 수행하는 수단이 상기 현재 타일에 대한 움직임 보상을 수행할 때, 상기 움직임 보상을 수행하는 수단은 상기 현재 비디오 프레임의 상기 현재 타일과 연관된 예측 프래그먼트를 발생시키고,
    상기 디바이스는,
    상기 현재 비디오 프레임으로부터 상기 현재 타일과 연관된 프래그먼트를 추출하는 수단;
    상기 추출된 프래그먼트 및 상기 예측 프래그먼트를 사용하여 상기 현재 비디오 프레임의 상기 현재 타일과 연관된 잔여 프래그먼트를 발생시키는 수단;
    계수들의 세트를 발생시키기 위해 상기 잔여 프래그먼트에 대해 변환을 수행하는 수단;
    상기 계수들의 세트를 양자화함으로써, 양자화된 계수들의 세트를 발생시키는 수단;
    상기 양자화된 계수들의 세트를 엔트로피 인코딩하는 수단;
    상기 엔트로피 인코딩된 양자화된 계수들의 세트를 미디어 객체의 일부로서 출력하는 수단;
    상기 양자화된 계수들의 세트를 역양자화함으로써, 역양자화된 계수들의 세트를 발생시키는 수단;
    디코딩된 잔여 프래그먼트를 발생시키기 위해 상기 역양자화된 계수들의 세트에 대해 상기 변환의 역을 수행하는 수단; 및
    상기 예측 프래그먼트 및 상기 디코딩된 잔여 프래그먼트를 사용하여 재구성된 프래그먼트를 발생시키는 수단을 더 포함하고,
    상기 기준 프래그먼트들을 저장하는 수단은, 기준 프래그먼트로서 사용하기 위해 상기 재구성된 프래그먼트를 저장하는, 비디오 데이터 코딩을 위한 디바이스.
  18. 제 15 항에 있어서,
    상기 움직임 보상을 수행하는 수단이 상기 현재 타일에 대한 움직임 보상을 수행할 때, 상기 움직임 보상을 수행하는 수단은 상기 현재 비디오 프레임의 상기 현재 타일과 연관된 예측 프래그먼트를 발생시키고,
    상기 디바이스는, 상기 현재 비디오 프레임의 상기 현재 타일과 연관된 데이터의 세트를 포함하는 미디어 객체를 수신하고,
    상기 디바이스는,
    상기 데이터의 세트에 기초하여 잔여 프래그먼트를 발생시키는 수단;
    상기 현재 비디오 프레임의 상기 현재 타일과 연관된 상기 예측 프래그먼트 및 상기 잔여 프래그먼트를 사용하여 상기 현재 비디오 프레임의 상기 현재 타일과 연관된 재구성된 프래그먼트를 발생시키는 수단; 및
    상기 재구성된 프래그먼트를 사용하여 상기 현재 비디오 프레임을 재구성하는 수단을 더 포함하는, 비디오 데이터 코딩을 위한 디바이스.
  19. 제 18 항에 있어서,
    상기 재구성된 프래그먼트를 사용하여 상기 현재 비디오 프레임을 재구성하는 수단은, 상기 재구성된 프래그먼트가 상기 현재 비디오 프레임의 상기 현재 타일과 동일 위치에 있는 이전 디코딩된 완전한 비디오 프레임의 타일로 특정되도록 상기 이전 디코딩된 완전한 비디오 프레임을 변경하는, 비디오 데이터 코딩을 위한 디바이스.
  20. 제 15 항에 있어서,
    상기 기준 프래그먼트들은 인터레이싱되고,
    상기 움직임 보상을 수행하는 수단은, 상기 기준 프래그먼트들 중 하나 이상의 기준 프래그먼트에 기초하여 상기 현재 타일에 대한 디인터레이싱 움직임 보상을 수행함으로써 상기 현재 타일에 대한 움직임 보상을 수행하는, 비디오 데이터 코딩을 위한 디바이스.
  21. 제 15 항에 있어서,
    상기 디바이스는, 상기 비디오 프레임들의 시퀀스의 프레임 레이트를 증가시키기 위한 동작의 일부로서 상기 비디오 프레임들의 시퀀스에서의 2 개의 비디오 프레임들 사이에 상기 현재 비디오 프레임을 부가하는 수단을 더 포함하는, 비디오 데이터 코딩을 위한 디바이스.
  22. 실행가능한 명령들을 포함하는 컴퓨터 판독가능 매체로서,
    상기 명령들은, 하나 이상의 프로세서에 의해 실행될 때, 상기 하나 이상의 프로세서로 하여금,
    비디오 프레임들의 시퀀스에서의 복수의 비디오 프레임들 내에서 타일들의 세트를 식별하도록 하고;
    상기 복수의 비디오 프레임들 내에서 식별된 상기 타일들의 세트와 연관된 비디오 데이터를 포함하는 기준 프래그먼트들을 저장하도록 하고; 그리고
    상기 기준 프래그먼트들 중 하나 이상의 기준 프래그먼트에 기초하여 현재 비디오 프레임의 현재 타일에 대한 움직임 보상을 수행하도록 하며,
    상기 타일들의 세트에서의 각각의 타일은 각각의 비디오 프레임에 대한 파티션들의 서브세트를 나타내고,
    상기 명령들은 또한, 상기 하나 이상의 프로세서로 하여금 상기 타일들의 세트를 자동 식별하도록 하고,
    상기 명령들은, 상기 하나 이상의 프로세서로 하여금,
    상기 비디오 프레임들 각각에서의 활성 파티션들의 세트를 식별하도록 하고, 상기 각각의 활성 파티션들은, 상기 기준 프래그먼트의 비디오 프레임의 파티션에 비해 적어도 일부 변위 및 상기 기준 프래그먼트의 비디오 프레임의 동일 위치에 있는 파티션에 비해 0 이 아닌 잔여 값을 나타내는 적어도 하나의 움직임 벡터를 포함하며,
    상기 비디오 프레임들 중 각각의 소정 비디오 프레임에 대해, 상기 소정의 비디오 프레임의 타일이 상기 비디오 프레임들 중 다른 비디오 프레임들의 식별된 활성 파티션들의 세트들에서의 활성 파티션들과 동일 위치에 있는 상기 비디오 프레임들의 상기 소정 비디오 프레임의 파티션들 및 상기 비디오 프레임들의 상기 소정의 비디오 프레임의 식별된 활성 파티션들의 세트를 포함하도록, 상기 비디오 프레임들 중 상기 소정의 비디오 프레임의 타일을 식별하도록 함으로써,
    적어도 부분적으로 상기 하나 이상의 프로세서로 하여금 상기 타일들의 세트를 자동 식별하게 하고,
    상기 현재 타일은 상기 타일들의 세트에서의 타일들과 동일 위치에 있는, 컴퓨터 판독가능 매체.
  23. 삭제
  24. 제 22 항에 있어서,
    상기 명령들은, 상기 하나 이상의 프로세서로 하여금 상기 현재 비디오 프레임의 상기 현재 타일과 연관된 예측 프래그먼트를 발생시키도록 함으로써, 적어도 부분적으로 상기 하나 이상의 프로세서로 하여금 움직임 보상을 수행하게 하고,
    상기 명령들은 또한, 상기 하나 이상의 프로세서로 하여금,
    상기 현재 비디오 프레임으로부터 상기 현재 타일과 연관된 프래그먼트를 추출하도록 하고;
    상기 추출된 프래그먼트 및 상기 예측 프래그먼트를 사용하여 잔여 프래그먼트를 발생시키도록 하고;
    계수들의 세트를 발생시키기 위해 상기 잔여 프래그먼트에 대해 변환을 수행하도록 하고;
    상기 계수들의 세트를 양자화함으로써, 양자화된 계수들의 세트를 발생시키도록 하고;
    상기 양자화된 계수들의 세트를 엔트로피 인코딩하도록 하고;
    상기 엔트로피 인코딩된 양자화된 계수들의 세트를 미디어 객체의 일부로서 출력하도록 하고;
    상기 양자화된 계수들의 세트를 역양자화함으로써, 역양자화된 계수들의 세트를 발생시키도록 하고;
    디코딩된 잔여 프래그먼트를 발생시키기 위해 상기 역양자화된 계수들의 세트에 대해 상기 변환의 역을 수행하도록 하고;
    상기 예측 프래그먼트 및 상기 디코딩된 잔여 프래그먼트를 사용하여 재구성된 프래그먼트를 발생시키도록 하고; 그리고
    기준 프래그먼트로서 사용하기 위해 상기 재구성된 프래그먼트를 저장하도록 하는, 컴퓨터 판독가능 매체.
  25. 제 22 항에 있어서,
    상기 명령들은, 상기 하나 이상의 프로세서로 하여금 상기 현재 비디오 프레임의 상기 현재 타일과 연관된 예측 프래그먼트를 발생시키도록 함으로써, 적어도 부분적으로 상기 하나 이상의 프로세서로 하여금 움직임 보상을 수행하게 하고,
    상기 명령들은 또한, 상기 하나 이상의 프로세서로 하여금,
    상기 현재 비디오 프레임의 상기 현재 타일과 연관된 데이터의 세트를 포함하는 미디어 객체를 수신하도록 하고;
    상기 데이터의 세트에 기초하여 잔여 프래그먼트를 발생시키도록 하고;
    상기 현재 비디오 프레임의 상기 현재 타일과 연관된 상기 예측 프래그먼트 및 상기 잔여 프래그먼트를 사용하여 상기 현재 비디오 프레임과 연관된 재구성된 프래그먼트를 발생시키도록 하고; 그리고
    상기 재구성된 프래그먼트를 사용하여 상기 현재 비디오 프레임을 재구성하도록 하는, 컴퓨터 판독가능 매체.
  26. 제 25 항에 있어서,
    상기 명령들은, 상기 하나 이상의 프로세서로 하여금 상기 재구성된 프래그먼트가 상기 현재 비디오 프레임의 상기 현재 타일과 동일 위치에 있는 이전 디코딩된 완전한 비디오 프레임의 타일로 특정되도록 상기 이전 디코딩된 완전한 비디오 프레임을 변경하도록 함으로써, 적어도 부분적으로 상기 하나 이상의 프로세서로 하여금 상기 재구성된 프래그먼트를 사용하여 상기 현재 비디오 프레임을 재구성하게 하는, 컴퓨터 판독가능 매체.
  27. 제 22 항에 있어서,
    상기 기준 프래그먼트들은 인터레이싱되고,
    상기 현재 타일에 대한 움직임 보상을 수행하는 것은, 상기 기준 프래그먼트들 중 하나 이상의 기준 프래그먼트에 기초하여 상기 현재 타일에 대한 디인터레이싱 움직임 보상을 수행하는 것을 포함하는, 컴퓨터 판독가능 매체.
  28. 제 22 항에 있어서,
    상기 명령들은 또한, 상기 하나 이상의 프로세서로 하여금, 상기 비디오 프레임들의 시퀀스의 프레임 레이트를 증가시키기 위한 동작의 일부로서 상기 비디오 프레임들의 시퀀스에서의 2 개의 비디오 프레임들 사이에 상기 현재 비디오 프레임을 부가하도록 하는, 컴퓨터 판독가능 매체.
  29. 비디오 데이터 코딩을 위한 집적 회로로서, 상기 집적 회로는,
    비디오 프레임들의 시퀀스에서의 복수의 비디오 프레임들 내에서 타일들의 세트를 식별하는 회로로서, 상기 타일들의 세트에서의 각각의 타일은 각각의 비디오 프레임에 대한 파티션들의 서브세트를 나타내는, 상기 타일들의 세트를 식별하는 회로;
    상기 복수의 비디오 프레임들 내에서 식별된 상기 타일들의 세트와 연관된 비디오 데이터를 포함하는 기준 프래그먼트들을 저장하는 회로; 및
    상기 기준 프래그먼트들 중 하나 이상의 기준 프래그먼트에 기초하여 현재 비디오 프레임의 현재 타일에 대한 움직임 보상을 수행하는 회로를 포함하고,
    상기 집적 회로는, 상기 타일들의 세트를 자동 식별하는 회로를 더 포함하고,
    상기 타일들의 세트를 자동 식별하는 회로는,
    상기 비디오 프레임들 각각에서의 활성 파티션들의 세트를 식별하는 회로를 포함하고, 상기 각각의 활성 파티션들은, 상기 기준 프래그먼트의 비디오 프레임의 파티션에 비해 적어도 일부 변위 및 상기 기준 프래그먼트의 비디오 프레임의 동일 위치에 있는 파티션에 비해 0 이 아닌 잔여 값을 나타내는 적어도 하나의 움직임 벡터를 포함하며,
    상기 비디오 프레임들 중 각각의 소정 비디오 프레임에 대해, 상기 소정의 비디오 프레임의 타일이 상기 비디오 프레임들 중 다른 비디오 프레임들의 식별된 활성 파티션들의 세트들에서의 활성 파티션들과 동일 위치에 있는 상기 비디오 프레임들의 상기 소정 비디오 프레임의 파티션들 및 상기 비디오 프레임들의 상기 소정의 비디오 프레임의 식별된 활성 파티션들의 세트를 포함하도록, 상기 비디오 프레임들 중 상기 소정의 비디오 프레임의 타일을 식별하는 회로를 포함하고,
    상기 현재 타일은 상기 타일들의 세트에서의 타일들과 동일 위치에 있는, 비디오 데이터 코딩을 위한 집적 회로.
  30. 삭제
  31. 제 29 항에 있어서,
    상기 움직임 보상을 수행하는 회로가 상기 현재 타일에 대한 움직임 보상을 수행할 때, 상기 움직임 보상을 수행하는 회로는 상기 현재 비디오 프레임의 상기 현재 타일과 연관된 예측 프래그먼트를 발생시키고,
    상기 집적 회로는,
    상기 현재 비디오 프레임으로부터 상기 현재 타일과 연관된 프래그먼트를 추출하는 회로;
    상기 추출된 프래그먼트 및 상기 예측 프래그먼트를 사용하여 상기 현재 비디오 프레임의 상기 현재 타일과 연관된 잔여 프래그먼트를 발생시키는 회로;
    계수들의 세트를 발생시키기 위해 상기 잔여 프래그먼트에 대해 변환을 수행하는 회로;
    상기 계수들의 세트를 양자화함으로써, 양자화된 계수들의 세트를 발생시키는 회로;
    상기 양자화된 계수들의 세트를 엔트로피 인코딩하는 회로;
    상기 엔트로피 인코딩된 양자화된 계수들의 세트를 미디어 객체의 일부로서 출력하는 회로;
    상기 양자화된 계수들의 세트를 역양자화함으로써, 역양자화된 계수들의 세트를 발생시키는 회로;
    디코딩된 잔여 프래그먼트를 발생시키기 위해 상기 역양자화된 계수들의 세트에 대해 상기 변환의 역을 수행하는 회로; 및
    상기 예측 프래그먼트 및 상기 디코딩된 잔여 프래그먼트를 사용하여 재구성된 프래그먼트를 발생시키는 회로를 더 포함하고,
    상기 기준 프래그먼트들을 저장하는 회로는, 기준 프래그먼트로서 사용하기 위해 상기 재구성된 프래그먼트를 저장하는, 비디오 데이터 코딩을 위한 집적 회로.
  32. 제 29 항에 있어서,
    상기 움직임 보상을 수행하는 회로가 상기 현재 타일에 대한 움직임 보상을 수행할 때, 상기 움직임 보상을 수행하는 회로는 상기 현재 비디오 프레임의 상기 현재 타일과 연관된 예측 프래그먼트를 발생시키고,
    상기 집적 회로는, 상기 현재 비디오 프레임의 상기 현재 타일과 연관된 데이터의 세트를 포함하는 미디어 객체를 수신하고,
    상기 집적 회로는,
    상기 데이터의 세트에 기초하여 잔여 프래그먼트를 발생시키는 회로;
    상기 현재 비디오 프레임의 상기 현재 타일과 연관된 상기 예측 프래그먼트 및 상기 잔여 프래그먼트를 사용하여 상기 현재 비디오 프레임의 상기 현재 타일과 연관된 재구성된 프래그먼트를 발생시키는 회로; 및
    상기 재구성된 프래그먼트를 사용하여 상기 현재 비디오 프레임을 재구성하는 회로를 더 포함하는, 비디오 데이터 코딩을 위한 집적 회로.
  33. 제 32 항에 있어서,
    상기 재구성된 프래그먼트를 사용하여 상기 현재 비디오 프레임을 재구성하는 회로는, 상기 재구성된 프래그먼트가 상기 현재 비디오 프레임의 상기 현재 타일과 동일 위치에 있는 이전 디코딩된 완전한 비디오 프레임의 타일로 특정되도록 상기 이전 디코딩된 완전한 비디오 프레임을 변경하는, 비디오 데이터 코딩을 위한 집적 회로.
  34. 제 29 항에 있어서,
    상기 기준 프래그먼트들은 인터레이싱되고,
    상기 움직임 보상을 수행하는 회로는, 상기 기준 프래그먼트들 중 하나 이상의 기준 프래그먼트에 기초하여 상기 현재 타일에 대한 디인터레이싱 움직임 보상을 수행함으로써 상기 현재 타일에 대한 움직임 보상을 수행하는, 비디오 데이터 코딩을 위한 집적 회로.
  35. 제 29 항에 있어서,
    상기 집적 회로는, 상기 비디오 프레임들의 시퀀스의 프레임 레이트를 증가시키기 위한 동작의 일부로서 상기 비디오 프레임들의 시퀀스에서의 2 개의 비디오 프레임들 사이에 상기 현재 비디오 프레임을 부가하는 회로를 더 포함하는, 비디오 데이터 코딩을 위한 집적 회로.
  36. 비디오 데이터 코딩 방법으로서, 상기 방법은
    비디오 프레임들의 시퀀스에서의 복수의 비디오 프레임들 내에서 타일들의 세트를 식별하는 단계로서, 상기 타일들의 세트에서의 각각의 타일은 각각의 비디오 프레임에 대한 파티션들의 서브세트를 나타내는, 상기 타일들의 세트를 식별하는 단계;
    상기 복수의 비디오 프레임들 내에서 식별된 상기 타일들의 세트와 연관된 비디오 데이터를 포함하는 기준 프래그먼트들을 저장하는 단계; 및
    상기 기준 프래그먼트들 중 하나 이상의 기준 프래그먼트에 기초하여 현재 비디오 프레임의 현재 타일에 대한 비디오 프로세싱 기술을 수행하는 단계를 포함하고,
    상기 현재 타일은 상기 타일들의 세트에서의 타일들과 동일 위치에 있고,
    상기 방법은, 상기 타일들의 세트를 자동 식별하는 단계를 더 포함하고,
    상기 타일들의 세트를 자동 식별하는 단계는,
    상기 비디오 프레임들 각각에서의 활성 파티션들의 세트를 식별하는 단계를 포함하고, 상기 각각의 활성 파티션들은, 상기 기준 프래그먼트의 비디오 프레임의 파티션에 비해 적어도 일부 변위 및 상기 기준 프래그먼트의 비디오 프레임의 동일 위치에 있는 파티션에 비해 0 이 아닌 잔여 값을 나타내는 적어도 하나의 움직임 벡터를 포함하며,
    상기 비디오 프레임들 중 각각의 소정 비디오 프레임에 대해, 상기 소정의 비디오 프레임의 타일이 상기 비디오 프레임들 중 다른 비디오 프레임들의 식별된 활성 파티션들의 세트들에서의 활성 파티션들과 동일 위치에 있는 상기 비디오 프레임들의 상기 소정 비디오 프레임의 파티션들 및 상기 비디오 프레임들의 상기 소정의 비디오 프레임의 식별된 활성 파티션들의 세트를 포함하도록, 상기 비디오 프레임들 중 상기 소정의 비디오 프레임의 타일을 식별하는 단계를 포함하는, 비디오 데이터 코딩 방법.
  37. 제 36 항에 있어서,
    상기 비디오 프로세싱 기술을 수행하는 단계는,
    상기 기준 프래그먼트들 중 하나 이상의 기준 프래그먼트에 기초하여 현재 비디오 프레임의 현재 타일에 대한 움직임 보상을 수행하는 단계,
    상기 기준 프래그먼트들 중 하나 이상의 기준 프래그먼트에 기초하여 현재 비디오 프레임의 현재 타일에 대한 스케일링 (scaling) 을 수행하는 단계, 및
    상기 기준 프래그먼트들 중 하나 이상의 기준 프래그먼트에 기초하여 현재 비디오 프레임의 현재 타일에 대한 에지 강화 (edge enhancement) 를 수행하는 단계
    중 하나를 포함하는, 비디오 데이터 코딩 방법.
  38. 비디오 데이터 코딩을 위한 디바이스로서, 상기 디바이스는,
    타일들의 세트와 연관된 비디오 데이터를 포함하는 기준 프래그먼트들을 저장하는 기준 버퍼로서, 상기 타일들의 세트에서의 각각의 타일은 비디오 프레임들의 시퀀스에서의 복수의 비디오 프레임들에서 식별되고, 상기 타일들의 세트에서의 각각의 타일은 각각의 비디오 프레임에 대한 파티션들의 서브세트를 나타내는, 상기 기준 버퍼; 및
    상기 기준 프래그먼트들 중 하나 이상의 기준 프래그먼트에 기초하여 현재 비디오 프레임의 현재 타일에 대한 비디오 프로세싱 기술을 수행하는 유닛을 포함하고,
    상기 현재 타일은 상기 타일들의 세트에서의 타일들과 동일 위치에 있고,
    상기 디바이스는, 상기 타일들의 세트를 자동 식별하는 타일 식별 모듈을 더 포함하고,
    상기 타일 식별 모듈은,
    상기 비디오 프레임들 각각에서의 활성 파티션들의 세트를 식별하는 파티션 활성 모듈을 포함하고, 상기 각각의 활성 파티션들은, 상기 기준 프래그먼트의 비디오 프레임의 파티션에 비해 적어도 일부 변위 및 상기 기준 프래그먼트의 비디오 프레임의 동일 위치에 있는 파티션에 비해 0 이 아닌 잔여 값을 나타내는 적어도 하나의 움직임 벡터를 포함하며,
    상기 비디오 프레임들 중 각각의 소정 비디오 프레임에 대해, 상기 소정의 비디오 프레임의 타일이 상기 비디오 프레임들 중 다른 비디오 프레임들의 식별된 활성 파티션들의 세트들에서의 활성 파티션들과 동일 위치에 있는 상기 비디오 프레임들의 상기 소정 비디오 프레임의 파티션들 및 상기 비디오 프레임들의 상기 소정의 비디오 프레임의 식별된 활성 파티션들의 세트를 포함하도록, 상기 비디오 프레임들 중 상기 소정의 비디오 프레임의 타일을 식별하는 타일 구성 모듈을 포함하는, 비디오 데이터 코딩을 위한 디바이스.
  39. 제 38 항에 있어서,
    상기 비디오 프로세싱 기술을 수행하는 유닛은,
    상기 기준 프래그먼트들 중 하나 이상의 기준 프래그먼트에 기초하여 현재 비디오 프레임의 현재 타일에 대한 움직임 보상을 수행하는 움직임 보상 유닛,
    상기 기준 프래그먼트들 중 하나 이상의 기준 프래그먼트에 기초하여 현재 비디오 프레임의 현재 타일에 대한 스케일링을 수행하는 스케일링 유닛, 및
    상기 기준 프래그먼트들 중 하나 이상의 기준 프래그먼트에 기초하여 현재 비디오 프레임의 현재 타일에 대한 에지 강화를 수행하는 에지 강화 유닛
    중 하나를 포함하는, 비디오 데이터 코딩을 위한 디바이스.
  40. 비디오 코딩을 위한 디바이스로서, 상기 디바이스는,
    비디오 프레임들의 시퀀스에서의 복수의 비디오 프레임들 내에서 타일들의 세트를 식별하는 수단으로서, 상기 타일들의 세트에서의 각각의 타일은 각각의 비디오 프레임에 대한 파티션들의 서브세트를 나타내는, 상기 타일들의 세트를 식별하는 수단;
    상기 복수의 비디오 프레임들 내에서 식별된 상기 타일들의 세트와 연관된 비디오 데이터를 포함하는 기준 프래그먼트들을 저장하는 수단; 및
    상기 기준 프래그먼트들 중 하나 이상의 기준 프래그먼트에 기초하여 현재 비디오 프레임의 현재 타일에 대한 비디오 프로세싱 기술을 수행하는 수단을 포함하고,
    상기 디바이스는, 상기 타일들의 세트를 자동 식별하는 수단을 더 포함하고,
    상기 타일들의 세트를 자동 식별하는 수단은,
    상기 비디오 프레임들 각각에서의 활성 파티션들의 세트를 식별하는 수단을 포함하고, 상기 각각의 활성 파티션들은, 상기 기준 프래그먼트의 비디오 프레임의 파티션에 비해 적어도 일부 변위 및 상기 기준 프래그먼트의 비디오 프레임의 동일 위치에 있는 파티션에 비해 0 이 아닌 잔여 값을 나타내는 적어도 하나의 움직임 벡터를 포함하며,
    상기 비디오 프레임들 중 각각의 소정 비디오 프레임에 대해, 상기 소정의 비디오 프레임의 타일이 상기 비디오 프레임들 중 다른 비디오 프레임들의 식별된 활성 파티션들의 세트들에서의 활성 파티션들과 동일 위치에 있는 상기 비디오 프레임들의 상기 소정 비디오 프레임의 파티션들 및 상기 비디오 프레임들의 상기 소정의 비디오 프레임의 식별된 활성 파티션들의 세트를 포함하도록, 상기 비디오 프레임들 중 상기 소정의 비디오 프레임의 타일을 식별하는 수단을 포함하고,
    상기 현재 타일은 상기 타일들의 세트에서의 타일들과 동일 위치에 있는, 비디오 데이터 코딩을 위한 디바이스.
  41. 제 40 항에 있어서,
    상기 비디오 프로세싱 기술을 수행하는 수단은,
    상기 기준 프래그먼트들 중 하나 이상의 기준 프래그먼트에 기초하여 현재 비디오 프레임의 현재 타일에 대한 움직임 보상을 수행하는 수단,
    상기 기준 프래그먼트들 중 하나 이상의 기준 프래그먼트에 기초하여 현재 비디오 프레임의 현재 타일에 대한 스케일링을 수행하는 수단, 및
    상기 기준 프래그먼트들 중 하나 이상의 기준 프래그먼트에 기초하여 현재 비디오 프레임의 현재 타일에 대한 에지 강화를 수행하는 수단
    중 하나를 포함하는, 비디오 데이터 코딩을 위한 디바이스.
  42. 실행가능한 명령들을 포함하는 컴퓨터 판독가능 매체로서,
    상기 명령들은, 하나 이상의 프로세서에 의해 실행될 때, 상기 하나 이상의 프로세서로 하여금,
    비디오 프레임들의 시퀀스에서의 복수의 비디오 프레임들 내에서 타일들의 세트를 식별하도록 하고;
    상기 복수의 비디오 프레임들 내에서 식별된 상기 타일들의 세트와 연관된 비디오 데이터를 포함하는 기준 프래그먼트들을 저장하도록 하고; 그리고
    상기 기준 프래그먼트들 중 하나 이상의 기준 프래그먼트에 기초하여 현재 비디오 프레임의 현재 타일에 대한 비디오 프로세싱 기술을 수행하도록 하며,
    상기 타일들의 세트에서의 각각의 타일은 각각의 비디오 프레임에 대한 파티션들의 서브세트를 나타내고,
    상기 명령들은 또한, 상기 하나 이상의 프로세서로 하여금 상기 타일들의 세트를 자동 식별하도록 하고,
    상기 명령들은, 상기 하나 이상의 프로세서로 하여금,
    상기 비디오 프레임들 각각에서의 활성 파티션들의 세트를 식별하도록 하고, 상기 각각의 활성 파티션들은, 상기 기준 프래그먼트의 비디오 프레임의 파티션에 비해 적어도 일부 변위 및 상기 기준 프래그먼트의 비디오 프레임의 동일 위치에 있는 파티션에 비해 0 이 아닌 잔여 값을 나타내는 적어도 하나의 움직임 벡터를 포함하며,
    상기 비디오 프레임들 중 각각의 소정 비디오 프레임에 대해, 상기 소정의 비디오 프레임의 타일이 상기 비디오 프레임들 중 다른 비디오 프레임들의 식별된 활성 파티션들의 세트들에서의 활성 파티션들과 동일 위치에 있는 상기 비디오 프레임들의 상기 소정 비디오 프레임의 파티션들 및 상기 비디오 프레임들의 상기 소정의 비디오 프레임의 식별된 활성 파티션들의 세트를 포함하도록, 상기 비디오 프레임들 중 상기 소정의 비디오 프레임의 타일을 식별하도록 함으로써,
    적어도 부분적으로 상기 하나 이상의 프로세서로 하여금 상기 타일들의 세트를 자동 식별하게 하고,
    상기 현재 타일은 상기 타일들의 세트에서의 타일들과 동일 위치에 있는, 컴퓨터 판독가능 매체.
  43. 제 42 항에 있어서,
    상기 명령들은, 상기 하나 이상의 프로세서로 하여금,
    상기 기준 프래그먼트들 중 하나 이상의 기준 프래그먼트에 기초하여 현재 비디오 프레임의 현재 타일에 대한 움직임 보상,
    상기 기준 프래그먼트들 중 하나 이상의 기준 프래그먼트에 기초하여 현재 비디오 프레임의 현재 타일에 대한 스케일링, 및
    상기 기준 프래그먼트들 중 하나 이상의 기준 프래그먼트에 기초하여 현재 비디오 프레임의 현재 타일에 대한 에지 강화
    중 하나를 수행함으로써 상기 비디오 프로세싱 기술을 수행하도록 하는, 컴퓨터 판독가능 매체.
  44. 비디오 데이터 코딩을 위한 집적 회로로서, 상기 집적 회로는,
    비디오 프레임들의 시퀀스에서의 복수의 비디오 프레임들 내에서 타일들의 세트를 식별하는 회로로서, 상기 타일들의 세트에서의 각각의 타일은 각각의 비디오 프레임에 대한 파티션들의 서브세트를 나타내는, 상기 타일들의 세트를 식별하는 회로;
    상기 복수의 비디오 프레임들 내에서 식별된 상기 타일들의 세트와 연관된 비디오 데이터를 포함하는 기준 프래그먼트들을 저장하는 회로; 및
    상기 기준 프래그먼트들 중 하나 이상의 기준 프래그먼트에 기초하여 현재 비디오 프레임의 현재 타일에 대한 비디오 프로세싱 기술을 수행하는 회로를 포함하고,
    상기 집적 회로는, 상기 타일들의 세트를 자동 식별하는 회로를 더 포함하고,
    상기 타일들의 세트를 자동 식별하는 회로는,
    상기 비디오 프레임들 각각에서의 활성 파티션들의 세트를 식별하는 회로를 포함하고, 상기 각각의 활성 파티션들은, 상기 기준 프래그먼트의 비디오 프레임의 파티션에 비해 적어도 일부 변위 및 상기 기준 프래그먼트의 비디오 프레임의 동일 위치에 있는 파티션에 비해 0 이 아닌 잔여 값을 나타내는 적어도 하나의 움직임 벡터를 포함하며,
    상기 비디오 프레임들 중 각각의 소정 비디오 프레임에 대해, 상기 소정의 비디오 프레임의 타일이 상기 비디오 프레임들 중 다른 비디오 프레임들의 식별된 활성 파티션들의 세트들에서의 활성 파티션들과 동일 위치에 있는 상기 비디오 프레임들의 상기 소정 비디오 프레임의 파티션들 및 상기 비디오 프레임들의 상기 소정의 비디오 프레임의 식별된 활성 파티션들의 세트를 포함하도록, 상기 비디오 프레임들 중 상기 소정의 비디오 프레임의 타일을 식별하는 회로를 포함하고,
    상기 현재 타일은 상기 타일들의 세트에서의 타일들과 동일 위치에 있는, 비디오 데이터 코딩을 위한 집적 회로.
  45. 제 44 항에 있어서,
    상기 비디오 프로세싱 기술을 수행하는 회로는,
    상기 기준 프래그먼트들 중 하나 이상의 기준 프래그먼트에 기초하여 현재 비디오 프레임의 현재 타일에 대한 움직임 보상을 수행하는 회로,
    상기 기준 프래그먼트들 중 하나 이상의 기준 프래그먼트에 기초하여 현재 비디오 프레임의 현재 타일에 대한 스케일링을 수행하는 회로, 및
    상기 기준 프래그먼트들 중 하나 이상의 기준 프래그먼트에 기초하여 현재 비디오 프레임의 현재 타일에 대한 에지 강화를 수행하는 회로
    중 하나를 포함하는, 비디오 데이터 코딩을 위한 집적 회로.
KR1020117001800A 2008-06-25 2009-06-24 비디오 코딩에 대한 시간 압축에서의 프래그먼트된 기준 KR101202630B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/145,900 2008-06-25
US12/145,900 US8908763B2 (en) 2008-06-25 2008-06-25 Fragmented reference in temporal compression for video coding
PCT/US2009/048506 WO2009158428A1 (en) 2008-06-25 2009-06-24 Fragmented reference in temporal compression for video coding

Publications (2)

Publication Number Publication Date
KR20110022080A KR20110022080A (ko) 2011-03-04
KR101202630B1 true KR101202630B1 (ko) 2012-11-19

Family

ID=41258406

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020117001800A KR101202630B1 (ko) 2008-06-25 2009-06-24 비디오 코딩에 대한 시간 압축에서의 프래그먼트된 기준

Country Status (10)

Country Link
US (1) US8908763B2 (ko)
EP (1) EP2308234A1 (ko)
JP (1) JP5280530B2 (ko)
KR (1) KR101202630B1 (ko)
CN (1) CN102067608B (ko)
BR (1) BRPI0914601A2 (ko)
CA (1) CA2726480C (ko)
RU (1) RU2485712C2 (ko)
TW (1) TWI444048B (ko)
WO (1) WO2009158428A1 (ko)

Families Citing this family (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8599921B2 (en) * 2009-03-27 2013-12-03 Vixs Systems, Inc Adaptive partition subset selection module and method for use therewith
US8948270B2 (en) * 2008-08-19 2015-02-03 Qualcomm Incorporated Power and computational load management techniques in video processing
US8964828B2 (en) 2008-08-19 2015-02-24 Qualcomm Incorporated Power and computational load management techniques in video processing
US8385404B2 (en) * 2008-09-11 2013-02-26 Google Inc. System and method for video encoding using constructed reference frame
US8787447B2 (en) * 2008-10-30 2014-07-22 Vixs Systems, Inc Video transcoding system with drastic scene change detection and method for use therewith
US20100111181A1 (en) * 2008-11-06 2010-05-06 Mediatek Inc. Video processing apparatus and methods
KR101094304B1 (ko) * 2010-02-23 2011-12-19 삼성모바일디스플레이주식회사 표시 장치 및 그의 영상 처리 방법
US9426477B2 (en) * 2010-02-25 2016-08-23 International Business Machines Corporation Method and apparatus for encoding surveillance video
US20110216829A1 (en) * 2010-03-02 2011-09-08 Qualcomm Incorporated Enabling delta compression and modification of motion estimation and metadata for rendering images to a remote display
JPWO2011125313A1 (ja) 2010-04-09 2013-07-08 三菱電機株式会社 動画像符号化装置および動画像復号装置
US8837592B2 (en) * 2010-04-14 2014-09-16 Mediatek Inc. Method for performing local motion vector derivation during video coding of a coding unit, and associated apparatus
US8411743B2 (en) * 2010-04-30 2013-04-02 Hewlett-Packard Development Company, L.P. Encoding/decoding system using feedback
TWI485634B (zh) * 2010-11-30 2015-05-21 Hon Hai Prec Ind Co Ltd 差異影像自動識別系統及方法
US9060174B2 (en) * 2010-12-28 2015-06-16 Fish Dive, Inc. Method and system for selectively breaking prediction in video coding
US9955155B2 (en) * 2010-12-31 2018-04-24 Electronics And Telecommunications Research Institute Method for encoding video information and method for decoding video information, and apparatus using same
US20120230398A1 (en) * 2011-03-10 2012-09-13 Christopher Andrew Segall Video decoder parallelization including slices
US20120230399A1 (en) * 2011-03-10 2012-09-13 Christopher Andrew Segall Video decoder parallelization including a bitstream signal
US9154804B2 (en) * 2011-06-04 2015-10-06 Apple Inc. Hint based adaptive encoding
KR101799978B1 (ko) 2011-06-17 2017-11-22 삼성전자주식회사 타일 근접성을 사용하는 타일 기반 렌더링 방법 및 장치
US9854275B2 (en) 2011-06-25 2017-12-26 Qualcomm Incorporated Quantization in video coding
US9398307B2 (en) * 2011-07-11 2016-07-19 Sharp Kabushiki Kaisha Video decoder for tiles
US8767824B2 (en) * 2011-07-11 2014-07-01 Sharp Kabushiki Kaisha Video decoder parallelization for tiles
US8891630B2 (en) 2011-10-24 2014-11-18 Blackberry Limited Significance map encoding and decoding using partition set based context assignment
US9584819B2 (en) * 2011-10-24 2017-02-28 Qualcomm Incorporated Grouping of tiles for video coding
US20130117418A1 (en) * 2011-11-06 2013-05-09 Akamai Technologies Inc. Hybrid platform for content delivery and transcoding
WO2013077236A1 (en) * 2011-11-21 2013-05-30 Canon Kabushiki Kaisha Image coding apparatus, image coding method, image decoding apparatus, image decoding method, and storage medium
WO2013089700A1 (en) * 2011-12-14 2013-06-20 Intel Corporation Methods, systems, and computer program products for assessing a macroblock candidate for conversion to a skipped macroblock
US9420285B2 (en) * 2012-04-12 2016-08-16 Qualcomm Incorporated Inter-layer mode derivation for prediction in scalable video coding
US9491458B2 (en) 2012-04-12 2016-11-08 Qualcomm Incorporated Scalable video coding prediction with non-causal information
SG11201406493RA (en) 2012-04-13 2014-11-27 Ge Video Compression Llc Low delay picture coding
KR102659283B1 (ko) 2012-06-29 2024-04-22 지이 비디오 컴프레션, 엘엘씨 비디오 데이터 스트림 개념
JP2014082541A (ja) * 2012-10-12 2014-05-08 National Institute Of Information & Communication Technology 互いに類似した情報を含む複数画像のデータサイズを低減する方法、プログラムおよび装置
ITTO20120901A1 (it) * 2012-10-15 2014-04-16 Rai Radiotelevisione Italiana Procedimento di codifica e decodifica di un video digitale e relativi dispositivi di codifica e decodifica
US20140177729A1 (en) * 2012-12-21 2014-06-26 Ati Technologies Ulc Method and apparatus for transcoding video data
US9177245B2 (en) 2013-02-08 2015-11-03 Qualcomm Technologies Inc. Spiking network apparatus and method with bimodal spike-timing dependent plasticity
KR101444655B1 (ko) * 2013-04-05 2014-11-03 국방과학연구소 파티션 컴퓨팅을 위한 tmo 확장 모델이 저장된 기록매체, 그리고 tmo 확장 모델의 2단계 스케줄링 구현 방법 및 그 방법을 기록한 컴퓨터로 읽을 수 있는 기록매체
JP6202912B2 (ja) * 2013-07-12 2017-09-27 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
JP6150011B2 (ja) * 2013-07-15 2017-06-21 ソニー株式会社 インタラクティビティのための動き制約タイルセットseiメッセージの拡張
BR112016010796B1 (pt) * 2013-11-14 2023-11-28 Hfi Innovation Inc. Método de sinalização de modo de codificação referência a pedidos de patente correlatos
US20150262404A1 (en) * 2014-03-13 2015-09-17 Huawei Technologies Co., Ltd. Screen Content And Mixed Content Coding
GB2524726B (en) * 2014-03-25 2018-05-23 Canon Kk Image data encapsulation with tile support
US9940686B2 (en) * 2014-05-14 2018-04-10 Intel Corporation Exploiting frame to frame coherency in a sort-middle architecture
US9713982B2 (en) 2014-05-22 2017-07-25 Brain Corporation Apparatus and methods for robotic operation using video imagery
US9939253B2 (en) 2014-05-22 2018-04-10 Brain Corporation Apparatus and methods for distance estimation using multiple image sensors
US10194163B2 (en) * 2014-05-22 2019-01-29 Brain Corporation Apparatus and methods for real time estimation of differential motion in live video
US10382749B2 (en) * 2014-05-23 2019-08-13 Qualcomm Incorporated Coding run values based on palette index in palette-based video coding
US9848112B2 (en) 2014-07-01 2017-12-19 Brain Corporation Optical detection apparatus and methods
US10057593B2 (en) 2014-07-08 2018-08-21 Brain Corporation Apparatus and methods for distance estimation using stereo imagery
US9870617B2 (en) 2014-09-19 2018-01-16 Brain Corporation Apparatus and methods for saliency detection based on color occurrence analysis
US10197664B2 (en) 2015-07-20 2019-02-05 Brain Corporation Apparatus and methods for detection of objects using broadband signals
US10567461B2 (en) * 2016-08-04 2020-02-18 Twitter, Inc. Low-latency HTTP live streaming
CN106507106B (zh) * 2016-11-08 2018-03-06 中国科学技术大学 基于参考片的视频帧间预测编码方法
WO2018103042A1 (en) * 2016-12-08 2018-06-14 Zhejiang Dahua Technology Co., Ltd. Methods and systems for video synopsis
US10375430B2 (en) * 2017-08-24 2019-08-06 Skitter, Inc. Method for synchronizing GOPs and IDR-frames on multiple encoders without communication
US10878028B1 (en) 2017-11-22 2020-12-29 Amazon Technologies, Inc. Replicating and indexing fragments of time-associated data streams
US11025691B1 (en) * 2017-11-22 2021-06-01 Amazon Technologies, Inc. Consuming fragments of time-associated data streams
US10944804B1 (en) 2017-11-22 2021-03-09 Amazon Technologies, Inc. Fragmentation of time-associated data streams
CN108989849B (zh) * 2018-08-01 2021-01-29 广州长嘉电子有限公司 一种dvb-t2+s2电视信号处理方法及系统
MX2021010353A (es) * 2019-03-11 2021-09-30 Ericsson Telefon Ab L M Codificacion de video que comprende se?alizacion de grupos de mosaicos rectangulares.
CN113747162B (zh) * 2020-05-29 2023-09-29 北京金山云网络技术有限公司 视频处理方法和装置、存储介质和电子装置
CN111985456B (zh) * 2020-09-10 2022-08-30 上海交通大学 视频实时识别分割及检测架构

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020001346A1 (en) 1993-03-25 2002-01-03 Motoki Kato Moving picture coding method, moving picture decoding method, and apparatus therefor
US6507618B1 (en) 2000-04-25 2003-01-14 Hewlett-Packard Company Compressed video signal including independently coded regions

Family Cites Families (79)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5655009A (en) * 1992-03-19 1997-08-05 Fujitsu Limited Modem unit
JP2881065B2 (ja) 1992-03-19 1999-04-12 富士通株式会社 モデム装置
US5535401A (en) 1994-04-05 1996-07-09 International Business Machines Corporation Method and system of power and thermal management for a data processing system using object-oriented program design
JP3263807B2 (ja) 1996-09-09 2002-03-11 ソニー株式会社 画像符号化装置および画像符号化方法
US6633611B2 (en) * 1997-04-24 2003-10-14 Mitsubishi Denki Kabushiki Kaisha Method and apparatus for region-based moving image encoding and decoding
US7068991B2 (en) * 1997-05-09 2006-06-27 Parise Ronald J Remote power recharge for electronic equipment
SG116400A1 (en) 1997-10-24 2005-11-28 Matsushita Electric Ind Co Ltd A method for computational graceful degradation inan audiovisual compression system.
EP1578136A3 (en) 1998-01-27 2005-10-19 AT&T Corp. Method and apparatus for encoding video shape and texture information
EP1096360B1 (en) 1999-10-25 2004-09-22 Texas Instruments Incorporated Intelligent power management for distributed processing systems
JP3957937B2 (ja) 1999-12-21 2007-08-15 キヤノン株式会社 画像処理装置及び方法並びに記憶媒体
KR20020064893A (ko) 2000-08-29 2002-08-10 코닌클리케 필립스 일렉트로닉스 엔.브이. 알고리즘을 실행하는 방법 및 스케일 가능한 프로그램가능 처리 장치
JP4552296B2 (ja) * 2000-09-08 2010-09-29 ソニー株式会社 情報処理装置および情報処理方法、並びに記録媒体
US6931520B2 (en) 2001-05-17 2005-08-16 International Business Machines Corporation Power management delay system using mouse pointer indicator to indicate power-up delay during powering up a powered down disk device
US6704362B2 (en) 2001-07-06 2004-03-09 Koninklijke Philips Electronics N.V. Resource scalable decoding
JP3876687B2 (ja) 2001-10-30 2007-02-07 ソニー株式会社 通信処理装置、および通信処理方法、並びにコンピュータ・プログラム
US20050012861A1 (en) 2001-12-12 2005-01-20 Christian Hentschel Processing a media signal on a media system
JP3779215B2 (ja) * 2002-01-28 2006-05-24 富士通株式会社 携帯型情報処理装置
US6968441B1 (en) * 2002-04-12 2005-11-22 Barsa Consulting Group, Llc Method and system for managing interdependent resources of a computer system
US7287170B2 (en) * 2002-05-14 2007-10-23 Ati Technologies Inc. Method and apparatus for power management using system and request tokens
US7450963B2 (en) 2002-08-27 2008-11-11 Qualcomm Incorporated Low power dual processor architecture for multi mode devices
US6710578B1 (en) 2002-08-27 2004-03-23 Motorola, Inc. Power resource management in a portable communication device
JP3504256B1 (ja) 2002-12-10 2004-03-08 株式会社エヌ・ティ・ティ・ドコモ 動画像符号化方法、動画像復号方法、動画像符号化装置、及び動画像復号装置
US20040158878A1 (en) 2003-02-07 2004-08-12 Viresh Ratnakar Power scalable digital video decoding
RU2305377C2 (ru) 2003-05-20 2007-08-27 Корпорация "САМСУНГ ЭЛЕКТРОНИКС Ко., Лтд." Способ уменьшения искажения сжатого видеоизображения и устройство для его реализации
US7366462B2 (en) 2003-10-24 2008-04-29 Qualcomm Incorporated Method and apparatus for seamlessly switching reception between multimedia streams in a wireless communication system
GB2408657B (en) * 2003-11-28 2006-04-12 Motorola Inc Radio resource management
US20050136961A1 (en) * 2003-12-17 2005-06-23 Telefonaktiebolaget Lm Ericsson (Publ), Power control method
GB0400658D0 (en) * 2004-01-13 2004-02-11 Koninkl Philips Electronics Nv Portable device for receiving media content
US7885926B2 (en) * 2004-01-21 2011-02-08 GM Global Technology Operations LLC System and apparatus for wireless synchronization of multimedia content
JP2005300943A (ja) 2004-04-13 2005-10-27 Canon Inc 情報表示位置制御方法及び装置
JP2005303738A (ja) 2004-04-13 2005-10-27 Canon Inc 画像処理装置
WO2005104552A1 (ja) * 2004-04-23 2005-11-03 Sumitomo Electric Industries, Ltd. 動画像データの符号化方法、復号化方法、これらを実行する端末装置、及び双方向対話型システム
US7570832B2 (en) * 2004-06-14 2009-08-04 Precoad Inc. Image clean-up and pre-coding
JP2006014086A (ja) 2004-06-28 2006-01-12 Canon Inc 動画像符号化装置及び動画像符号化方法
JP2006101322A (ja) 2004-09-30 2006-04-13 Toshiba Corp 情報処理装置および同装置で用いられるプログラム
JP2006113767A (ja) 2004-10-14 2006-04-27 Sony Corp 情報処理システム、および、情報処理方法、並びに、プログラム
US8356327B2 (en) * 2004-10-30 2013-01-15 Sharp Laboratories Of America, Inc. Wireless video transmission system
US20060133495A1 (en) * 2004-12-22 2006-06-22 Yan Ye Temporal error concealment for video communications
US8041967B2 (en) * 2005-02-15 2011-10-18 Hewlett-Packard Development Company, L.P. System and method for controlling power to resources based on historical utilization data
WO2006109985A1 (en) 2005-04-13 2006-10-19 Samsung Electronics Co., Ltd. Method and apparatus for encoding and decoding video signals in intra-base-layer prediction mode by selectively applying intra-coding
US7920584B2 (en) * 2005-05-04 2011-04-05 Arm Limited Data processing system
US7721011B1 (en) * 2005-05-09 2010-05-18 Oracle America, Inc. Method and apparatus for reordering memory accesses to reduce power consumption in computer systems
JP2007013315A (ja) 2005-06-28 2007-01-18 Toshiba Corp 情報処理装置および動画像再生方法
WO2007007300A2 (en) * 2005-07-14 2007-01-18 Nxp B.V. Using historic load profiles to dynamically adjust operating frequency and available power to a handheld multimedia device processor core
US20070021140A1 (en) * 2005-07-22 2007-01-25 Keyes Marion A Iv Wireless power transmission systems and methods
US7529948B2 (en) * 2005-08-25 2009-05-05 Apple Inc. Methods and apparatuses for dynamic power estimation
US7337339B1 (en) * 2005-09-15 2008-02-26 Azul Systems, Inc. Multi-level power monitoring, filtering and throttling at local blocks and globally
US8780997B2 (en) * 2005-11-18 2014-07-15 Apple Inc. Regulation of decode-side processing based on perceptual masking
JP4654300B2 (ja) 2005-12-16 2011-03-16 インターデイジタル テクノロジー コーポレーション マルチ無線アクセス技術機器用のモビリティミドルウェアアーキテクチャ
WO2007078663A2 (en) 2005-12-16 2007-07-12 Interdigital Technology Corporation Mobility middleware architecture for multiple radio access technology apparatus
TW200805047A (en) 2005-12-23 2008-01-16 Koninkl Philips Electronics Nv Performance analysis based system level power management
US7484110B2 (en) * 2006-03-16 2009-01-27 Microsoft Corporation Adaptive power management
US7770040B2 (en) * 2006-03-24 2010-08-03 Qualcomm Incorporated Method and apparatus for reducing power consumption of a co-processor by switching to low power dedicated memory in which image data is periodically updated
US8848789B2 (en) 2006-03-27 2014-09-30 Qualcomm Incorporated Method and system for coding and decoding information associated with video compression
US8750387B2 (en) 2006-04-04 2014-06-10 Qualcomm Incorporated Adaptive encoder-assisted frame rate up conversion
JP2007328461A (ja) * 2006-06-06 2007-12-20 Matsushita Electric Ind Co Ltd 非対称マルチプロセッサ
US8379723B2 (en) * 2006-06-27 2013-02-19 Intel Corporation Chroma motion vector processing apparatus, system, and method
US7827425B2 (en) 2006-06-29 2010-11-02 Intel Corporation Method and apparatus to dynamically adjust resource power usage in a distributed system
US7836320B2 (en) * 2006-07-07 2010-11-16 Arm Limited Power management in a data processing apparatus having a plurality of domains in which devices of the data processing apparatus can operate
JP2008042566A (ja) 2006-08-07 2008-02-21 Toshiba Corp 情報処理装置および情報処理装置のデコード制御方法
JP2008067194A (ja) 2006-09-08 2008-03-21 Toshiba Corp フレーム補間回路、フレーム補間方法、表示装置
JP4775210B2 (ja) * 2006-09-26 2011-09-21 株式会社日立製作所 画像信号処理装置、画像高解像度化方法、画像表示装置、記録再生装置
US9883202B2 (en) * 2006-10-06 2018-01-30 Nxp Usa, Inc. Scaling video processing complexity based on power savings factor
US8126461B2 (en) * 2006-11-01 2012-02-28 Snrlabs Corporation System, method, and computer-readable medium for user equipment managing multiple radio networks for handover and low-power operations
JP2008124646A (ja) 2006-11-09 2008-05-29 Orion Denki Kk ビデオデコーダ及び該ビデオデコーダを備えた携帯型デジタル放送受信機
JP4201809B2 (ja) * 2006-11-13 2008-12-24 三洋電機株式会社 手ぶれ補正装置及び方法並びに撮像装置
US7961756B1 (en) * 2006-11-21 2011-06-14 Picomobile Networks, Inc. Integrated multimedia system
US8125936B2 (en) * 2007-03-08 2012-02-28 Marvell International Ltd. Low power data streaming
EP2135409B1 (en) * 2007-03-13 2012-05-16 Marvell International Ltd. Optimized packet processing architecture for battery powered mobile communication device
KR100866230B1 (ko) * 2007-04-12 2008-10-30 삼성전자주식회사 파노라마 사진 촬영 방법
US20080307240A1 (en) * 2007-06-08 2008-12-11 Texas Instruments Incorporated Power management electronic circuits, systems, and methods and processes of manufacture
JP2009033581A (ja) * 2007-07-30 2009-02-12 Hitachi Ltd 画像信号記録再生装置
US8089557B2 (en) * 2007-10-04 2012-01-03 Hitachi, Ltd. Video signal processing apparatus, video signal processing method and video display apparatus
US8948822B2 (en) * 2008-04-23 2015-02-03 Qualcomm Incorporated Coordinating power management functions in a multi-media device
US8165211B2 (en) * 2008-05-30 2012-04-24 Hong Kong Applied Science and Technology Research Institute Company Limited Method and apparatus of de-interlacing video
US20100011012A1 (en) * 2008-07-09 2010-01-14 Rawson Andrew R Selective Compression Based on Data Type and Client Capability
US8159520B1 (en) * 2008-07-11 2012-04-17 Sprint Communications Company L.P. Ensuring quality of a video stream through a telecommunications network
US8948270B2 (en) * 2008-08-19 2015-02-03 Qualcomm Incorporated Power and computational load management techniques in video processing
US8964828B2 (en) * 2008-08-19 2015-02-24 Qualcomm Incorporated Power and computational load management techniques in video processing

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020001346A1 (en) 1993-03-25 2002-01-03 Motoki Kato Moving picture coding method, moving picture decoding method, and apparatus therefor
US6507618B1 (en) 2000-04-25 2003-01-14 Hewlett-Packard Company Compressed video signal including independently coded regions

Also Published As

Publication number Publication date
US8908763B2 (en) 2014-12-09
TW201008289A (en) 2010-02-16
US20090323809A1 (en) 2009-12-31
WO2009158428A1 (en) 2009-12-30
JP5280530B2 (ja) 2013-09-04
CA2726480C (en) 2013-04-30
CN102067608A (zh) 2011-05-18
RU2485712C2 (ru) 2013-06-20
TWI444048B (zh) 2014-07-01
CA2726480A1 (en) 2009-12-30
RU2011102574A (ru) 2012-07-27
EP2308234A1 (en) 2011-04-13
JP2011526460A (ja) 2011-10-06
CN102067608B (zh) 2013-12-04
BRPI0914601A2 (pt) 2020-08-18
KR20110022080A (ko) 2011-03-04

Similar Documents

Publication Publication Date Title
KR101202630B1 (ko) 비디오 코딩에 대한 시간 압축에서의 프래그먼트된 기준
US10575016B2 (en) Apparatus and method for encoding and decoding moving picture using adaptive scanning
CN110024398B (zh) 针对屏幕远程处理场景的局部的基于散列的运动估计
US10390039B2 (en) Motion estimation for screen remoting scenarios
US9967577B2 (en) Acceleration interface for video decoding
US11792427B2 (en) Method for encoding and/or decoding images on macroblock level using intra-prediction
US8126046B2 (en) Flexible macroblock ordering and arbitrary slice ordering apparatus, system, and method
JP2022523925A (ja) 映像コンテンツを処理するための方法及びシステム
US8077769B2 (en) Method of reducing computations in transform and scaling processes in a digital video encoder using a threshold-based approach
US11212536B2 (en) Negative region-of-interest video coding
KR20160129076A (ko) 스크린 컨텐츠의 딕셔너리 인코딩 및 디코딩
US20230188717A1 (en) Methods and Apparatuses of Inter Coding for Pictures Partitioned into Subpictures in Video Coding Systems
CN113330743A (zh) 编码器、解码器及去块效应滤波器自适应的对应方法
JP2023018110A (ja) ビデオサンプルの変換されたブロックを符号化および復号する方法、装置、およびシステム
US20230080116A1 (en) Image coding/decoding method and device for selectively signaling filter availability information, and method for transmitting bitstream
US20220295075A1 (en) Resource constrained video encoding
US20230224469A1 (en) Image encoding/decoding method and apparatus for determining whether or not to refer to parameter set on basis of output layer set, and method for transmitting bitstream
JP7494315B2 (ja) Gdr又はirpaピクチャに対する利用可能スライスタイプ情報に基づく画像符号化/復号化方法及び装置、並びにビットストリームを保存する記録媒体
US8233709B2 (en) Color effects for compressed digital video
WO2024061330A1 (en) Method, apparatus, and medium for video processing

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: 20150930

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20161028

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170929

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180928

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20190924

Year of fee payment: 8