KR100952892B1 - 비디오 데이타의 인트라코딩 방법 및 장치 - Google Patents

비디오 데이타의 인트라코딩 방법 및 장치 Download PDF

Info

Publication number
KR100952892B1
KR100952892B1 KR1020057000286A KR20057000286A KR100952892B1 KR 100952892 B1 KR100952892 B1 KR 100952892B1 KR 1020057000286 A KR1020057000286 A KR 1020057000286A KR 20057000286 A KR20057000286 A KR 20057000286A KR 100952892 B1 KR100952892 B1 KR 100952892B1
Authority
KR
South Korea
Prior art keywords
subblock
predicted
macroblock
subblocks
intracoded
Prior art date
Application number
KR1020057000286A
Other languages
English (en)
Other versions
KR20050021445A (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
Priority claimed from US09/732,522 external-priority patent/US6765964B1/en
Application filed by 리얼네트웍스 인코포레이티드 filed Critical 리얼네트웍스 인코포레이티드
Publication of KR20050021445A publication Critical patent/KR20050021445A/ko
Application granted granted Critical
Publication of KR100952892B1 publication Critical patent/KR100952892B1/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/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/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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

Abstract

다수의 예측모드하에서 인코딩되는 비디오 데이타의 매크로블록의 4×4서브블록의 픽셀값을 예측하기 위해 능률화된 예측 방법이 제공된다. 부가적으로, 예측방법은 8×8, 8×4, 및 4×8서브블록을 포함하여, 다수의 예측모드하에서 인코딩되는 비디오 데이타의 매크로블록의 비-4×4서브블록의 픽셀값을 예측하기 위해서도 제공된다. 본 발명은 비디오 장치의 인코더 및/또는 디코더에서 구현될 수 있다.
인트라코딩, 디코딩, 비디오 데이타, 압축, 매크로블록, 서브블록

Description

비디오 데이타의 인트라코딩 방법 및 장치{INTRA CODING VIDEO DATA METHODS AND APPARATUSES}
본 출원은 "비디오 데이타의 인트라코딩을 위한 시스템 및 방법"이란 명칭으로 2000년 12월 6일 출원된 미국출원번호 09/732,522호의 일부계속출원이다.
이 출원은 또한 다음의 가출원을 우선권으로서 주장한다:
a) "인트라-예측을 위한 저 복잡성 대각선 모드"로 2002년 7월 8일 출원된 60/394,524호;
b) "인트라 예측을 위한 픽셀 의존성 감소"로 2002년 9월 27일 출원된 60/414,210호;
c) "가변 블록크기를 갖는 인트라 예측을 위한 픽셀 의존성 감소"로 2002년 10월 1일 출원된 60/415,447호.
상기 출원들의 상세한 설명들은 여기에 언급됨으로써 완전히 결합되어 있다.
본 발명은 전송 또는 저장을 위해 비디오 데이타를 압축하고 디스플레이를 위해 이 비디오 데이타를 압축해제하는 비디오 시스템에 관한 것이다. 더욱 상세히는, 본 발명은 비디오 데이타를 인트라코딩하기 위한 비디오 시스템 및 방법에 관한 것이다.
비디오 시스템은 많은 양의 비디오 데이타를 전송하고, 처리하고, 그리고 저장한다. 비디오 영화와 같은 비디오 표현을 생성하기 위해, 렌더링 비디오 시스템이 비디오 데이타를 "프레임"으로 불리우는 복수의 디지털 이미지들로 디스플레이하여 움직임을 시뮬레이팅한다. 납득할만한 비디오 화질을 갖는 비디오 표현을 달성하기 위해서 또는 전송 및 저장을 완전히 가능케 하기 위해, 종래의 비디오 시스템은 전송이나 저장 전에 비디오 데이타를 변경한다. 예를 들어, 비디오 시스템은 비디오 데이타를 압축하고 인코딩하여 저장이나 전송을 위한 비트율을 감소시킨다.
종래 비디오 시스템에서, 비디오 인코더는 비디오 데이타를 압축하고 인코딩하기 위해 사용되고 비디오 디코더는 이 비디오 데이타를 압축해제하고 디코딩하기 위해 사용된다. 비디오 인코더는 감소된 비트율과 감소된 리던던시(redundancy)를 갖는 비디오 데이타를 출력한다. 즉, 비디오 압축기술은 비디오 프레임 내부의 공간적 리던던시 또는 연속되는 비디오 프레임들 간의 시간적 리던던시를 제거한다.
비디오 인코더와 비디오 디코더는 비디오 스트림을 압축하는 두가지 코딩 유형, 즉 인트라코딩(intracoding)과 인터코딩(intercoding)중 한가지를 적용하도록 구성될 수 있다. 이들 두개의 코딩 유형은 비디오 프레임의 통계적 특성에 기초하고 있다. 비디오 프레임이 인트라코딩을 사용하여 코딩될 때, 압축은, 프레임 내부의 공간적 리던던시를 사용하여 (압축된) 단일 프레임에 포함되어 있는 정보에 기초한다. 그러므로, 인트라코딩은 임의의 다른 프레임에 의존하지않는다. 반대로, 인터코딩은 적어도 하나의 다른 프레임을 기준으로서 사용하고 압축되어야 할 프레임과 이 기준 프레임간의 차이를 코딩한다. 따라서 인터코딩은 비디오 데이타에서 연속되는 프레임들 간의 시간적 리던던시에 기초하고 있다.
비디오 압축 분야는 국제표준, 예를 들어 비디오 코딩과 디코딩에 대해 동일한 요구조건을 정의하고 있는 다양한 국제통신협회(ITU) 표준들에 종속된다. 전형적으로, 이러한 표준은 산업계로부터의 공헌에 의거하여 발전한다. 또한, 비디오 코더와 디코더의 제조자들이 국제표준을 변경하고 보강하며, 비디오 압축을 위한 부수적인 독점 기술을 구현한다.
국제표준과 독점기술들의 존재에도 불구하고, 비디오 압축을 위한 향상된 기술에 대한 요구가 여전히 있다. 예컨대, 디스플레이되는 비디오 영화의 품질이 비디오 압축에 사용되는 기술에 직접적으로 의존하기 때문에, 비디오 압축기술의 향상은 시청자들을 더 즐겁게 하는 비디오 영화를 만들 수 있다.
본 발명의 여러 측면들과 장점, 그리고 신규한 특성들은 첨부된 도면을 참조하여 이하의 상세한 설명에서 분명히 나타난다.
도1은 인코딩측과 디코딩측을 갖는 비디오 애플리케이션 시스템의 하이-레벨 블록도,
도2는 프레임 및 이의 매크로블록과 서브블록의 분할을 나타내는 하이-레벨 설명도,
도3은 서브블록이 인코딩될 수 있는 방향을 나타내는 서브블록도이고, 여기서, 각 방향은 본 발명에 따른 8개의 예측 모드중 하나를 나타내며,
도4는 예측 모드를 선택하는 본 발명에 따른 일 실시예에 의한 흐름도이고,
도5는 두개의 서브블록이 세번째의 서브블록을 인코딩하는데 사용되는, 세개 의 이웃하는 서브블록을 나타내는 도면이고,
도6은 본 발명의 일 실시예에 따라, 본 발명의 인코딩/디코딩 방법을 구현하는 인코더 및 디코더를 갖는 비디오 디바이스를 나타내는 도면이고,
도7은 본 발명에 따라서 본 발명의 인코딩/디코딩 능력을 갖는 디비아스를 장착한 디바이스를 프로그램하는데 사용하기 위해 설계된, 본 발명의 인코더/디코더의 소프트웨어 구현을 갖는 기록가능 매체를 가진 제조물품을 나타내는 도면이고,
도8은 본 발명에 따라서 본 발명의 인코딩/디코딩 방법을 구현하는 비디오 송신 디바이스 및 비디오 수신 디바이스를 가진 시스템을 나타내는 도면이고,
도9a 내지 도9c는 본 발명의 세개의 대안적인 실시예에 따라서, 8×8, 8×4, 4×8 서브블록의 픽셀값을 예측하기 위해 사용되는 주변 픽셀들을 각각 나타내는 도면이다.
이하의 설명에서, 본 발명이 실시될 수 있는 구체적 실시예를 설명하기 위해 첨부된 도면을 참조한다. 다른 실시예들도 사용될 수 있고 본 발명의 범위를 벗어나지 않으면서 구조적 변경도 가능하다는 점이 이해되어야 한다. 동일하거나 유사한 구성요소를 언급하기 위해 전체 도면에 걸쳐 동일한 참조번호가 사용될 것이다. 본 발명의 완전한 이해를 제공하기 위해 다양하고 구체적인 설명들이 개시되어 있다. 그러나, 구체적 설명없이도 혹은 여기에 기술된 것에 선택적으로 상응하는 장치와 방법에 의해 본 발명이 실시될 수 있다는 점은 당업자에게 명백할 것이다. 또 다른 경우로서, 본 발명의 측면을 불필요하게 불명료하게 되지 않도록, 공지된 방법, 절차, 구성요소, 및 디바이스들은 상세히 설명되지 않았다.
본 발명의 이해를 돕기 위해 다양한 동작들이 다수의 독립적인 단계들로 차례로 설명될 것이다. 그러나 이 설명의 순서가, 이들 동작들이 반드시 이 순서에 의존하는 것을 의미한다고 해석되어서는 안된다. 특히 이 동작들은 설명된 순서대로 수행될 필요가 없다.
"일 실시예에서"라는 표현이 반복해서 사용된다. 일반적으로 이 표현은 동일 실시예를 언급하지는 않지만, 그럴 수도 있다. "구성한다", "가진다", "포함한다" 라는 용어들은, 문맥에서 반대의 뜻을 지시하지 않는한, 유사한 의미를 가진다.
도1은 인코더 장치(3), 및 매체(9)를 통해 인코더 장치(3)와 결합되어 있는 디코더 장치(5)를 갖는 비디오 압축 및 압축해제 시스템(1)(이하에서 "비디오 시스템(1)"으로 언급되는)의 하이-레벨 블록도이다. 인코더 장치(3)는 비디오 인코더(2), 모드 선택기(14), 및 버퍼(8)를 포함한다. 디코더 장치(5)는 버퍼(10), 비디오 디코더(12), 및 모드 선택기(16)를 포함한다. 인코더 장치(3)는 비디오 시퀀스(20)(비디오인)를 수신하고 이 비디오 시퀀스(20)를 인코딩하여, 다수의 가능한 포맷중 하나로 인코딩되고 이에 따라 압축된 표현을 생성한다. 포맷은 인코딩된 표현의 "라이브" 스트리밍에 맞게 만들어진 인터리브된 포맷일 수 있다. 또한 이 포맷은, 인코딩된 표현의 각각이 하나의 파일내의 인접하는 블록에 저장되는 단일 파일 포맷일 수 있다.
인코더 장치(3)로의 비디오 시퀀스(20) 입력은 예컨대 비디오 카메라에 의한 라이브 신호 혹은 미리 결정된 포맷으로 미리 기록된 시퀀스중 어느 하나일 수 있다. 비디오 시퀀스(20)는 디지털 비디오의 프레임, 디지털 오디오로 구성된 오디오 세그먼트, 비디오, 그래픽, 텍스트 및/또는 오디오(멀티미디어 애플리케이션)의 결합형, 또는 상기 언급한 것들의 아날로그 형태를 포함한다. 필요하다면, 인코더 장치(3)에 대한 적합한 입력을 만들기 위해, 아날로그 비디오 또는 이전에 압축되고 인코딩된 비디오 등과 같은 다양한 형태의 입력신호에 대해 컨버전이 적용될 수도 있다. 일 실시예에서, 인코더 장치(3)는 RGB 또는 YUV 포맷으로 비디오를 받을 수 있다. 그러나 인코더 장치(3)는, 적당한 컨버전 메커니즘이 지원되는 한 어떠한 입력 포맷도 받을 수 있도록 적용될 수 있다. 어느 한 포맷의 신호를 다른 포맷의 신호로 변환시키는 컨버전 메커니즘은 업계에 공지되어 있다.
매체(9)는 저장디바이스 또는 전송매체일 수 있다. 일 실시예에서, 비디오 시스템(1)이 컴퓨터상에 구현될 수 있다. 인코더 장치(3)가 인코딩된 비디오 스트림(표현)을 저장디바이스로 구현되어 있는 매체(9)로 전송한다. 저장 디바이스는 비디오 서버, 하드디스크 드라이브, CD 재기록가능 드라이브, 판독/기록 DVD 드라이브, 또는 인코딩된 비디오 데이타의 저장 및 검색을 가능케 하는 어떤 형태의 디바이스도 될 수 있다. 저장 디바이스는, 저장 디바이스로부터 선택적으로 판독할 수 있고 인코딩된 비디오 시퀀스를 디코딩할 수 있는 디코더 장치(5)에 연결되어 있다. 디코더 장치(5)가 인코딩된 비디오 시퀀스중 선택된 하나를 디코딩함에 따라, 이것은, 예컨대 컴퓨터 모니터나 스크린 상에 디스플레이하기 위한 비디오 시퀀스(20)의 재생성을 발생시킨다.
일 실시예에서, 매체(9)는 또다른 컴퓨터로의 연결을 제공하며, 이 컴퓨터는 인코딩된 비디오 시퀀스를 수신하는 원격 컴퓨터가 될 수도 있다. 매체(9)는 LAN, WAN, 인터넷 등과 같은 네트워크 연결이 될 수 있다. 원격 컴퓨터내의 디코더 장치(5)는 그 속에 포함된 인코딩된 표현들을 디코딩하고, 원격 컴퓨터의 모니터나 스크린상으로 비디오 시퀀스(20)의 재생성을 발생시킬 수 있다.
도1에 도시되고 위에서 설명된 비디오 시스템(1)의 형태는 다른 구현을 달성하기 위해 결합되고 보충될 수 있다. 다양한 다른 구현들도 이 발명의 범위와 양립된다. 이러한 다른 구현들은 비디오에만 한정될 필요가 없고, 오디오 또는 다른 형태의 미디어 또한 포함할 수 있다.
이미 존재하는 비디오 인코딩 기술은 전형적으로 프레임(픽쳐)을 매크로블록이라 불리는 픽셀의 더 작은 블록으로 분해한다. 각각의 매크로블록은 인코딩이 수행될 때의 정보 단위를 정의하는 픽셀의 매트릭스, 전형적으로 16×16 매트릭스로 구성될 수 있다. 따라서 픽셀의 매트릭스는 16×16 매크로블록으로 언급된다. 이러한 비디오 인코딩 기술은 16×16 매크로블록의 각각을 더 작은 픽셀 매트릭스, 예컨대 8×8 픽셀 매트릭스 또는 4×4 픽셀 매트릭스로 분해한다. 이러한 매트릭스들은 여기서는 서브블록으로 언급된다.
본 발명의 일 실시예에서, 16×16 매크로블록이 16개의 4×4 서브블록으로 분할된다. 일 실시예에서, 16×16 매크로블록이 8×8 서브블록, 8×4 서브블록, 또는 4×8 서브블록으로 분할된다. 당업자는, 본 발명이 서브블록으로 분해되지 않고 단지 16×16 매크로블록을 가지거나 혹은 다른 서브블록을 사용하는 시스템에도 동 등하게 적용가능하거나 쉽게 채용될 수 있다는 것을 이해할 것이다.
또한, 이미 존재하는 인코딩 기술은 모션(motion) 벡터를 사용하는 모션 보상 및 모션 평가를 제공하고 있다. 모션 벡터는 x성분과 y성분으로 표현되는 방향 및 16×16 매크로블록 또는 이들 각각의 서브블록의 움직임(모션)의 양을 기술하며, 비트스트림의 일부로서 디코더에 전송된다. 공지되었듯이 모션 벡터는 양방향성으로 인코딩된 픽쳐(B-픽쳐) 및 예측된 픽쳐(P 픽쳐)를 위해 사용된다.
비디오 인코더(2)는 이산(discrete) 코사인 변환(DCT)을 수행하여 비디오 시퀀스(20)를 인코딩하고 압축한다. 간단히, 비디오 인코더(2)는 비디오 시퀀스(20)를 공간적,시간적 도메인으로부터 주파수 도메인으로 변환시킨다. 비디오 인코더(2)의 출력은 "DCT 계수"라 불리우는 한 세트의 신호 진폭이다. 인코딩 동안, 양자화기(quantizer)는 DCT 계수를 수신하고 DCT 계수값의 각 범위(또는 단계 사이즈)에 작은 정수값과 같은 단일 값을 지정한다. 양자화는 데이타가 더 콤팩트하게 표현되도록 하지만, 약간의 데이타 손실을 가져온다. 더 미세한 스케일의 양자화는 덜 콤팩트한 (더 높은 비트율의) 표현을 갖지만 그러나 데이타의 손실은 더 작다. 더 거친(coarse) 스케일의 양자화는 더 콤팩트한 (더 낮은 비트율의) 표현을 갖지만 그러나 더 많은 데이타 손실을 포함한다. 모드 선택기(14)는 비디오 인코더(2)와 통신하여 비디오 시퀀스(20)의 인코딩을 모니터링하고 제어한다. 본 발명에 따라 모드 선택기(14)는 예측 모드를 결정하고, 이에 따라서 비디오 인코더(2)가 비디오 시퀀스(20)를 인코딩한다. 모드 선택기(14)는 본 발명의 방법에 의하여 작동하도록 구성된 프로세서 또는 하나 이상의 소프트웨어 모듈일 수 있다. 도1은 설명 을 위해 모드 선택기(14)를 비디오 인코더(2)와 분리된 구성요소로 도시하고 있다. 당업자는, 모드 선택기(14)의 기능이 비디오 인코더(2)의 기능과 결합될 수도 있음을 이해할 수 있을 것이다.
인코더 장치(3)의 버퍼(8)는 인코딩되고 압축된 비디오 시퀀스(이하에서 "인코딩된 비디오 시퀀스"라고 함)를 비디오 인코더(2)로부터 수신하고, 매체(9)로 전달되기 전에 인코딩된 비디오 시퀀스의 비트율을 조정한다. 개별 비디오 이미지들이 다양한 양의 정보를 포함하고 이로 인해 이미지들마다 다양한 코딩 효율을 나타내기 때문에 버퍼링이 요구될 수 있다. 버퍼(8)가 제한된 크기를 갖기 때문에, 버퍼(8)의 오버플로우 또는 언더플로우를 방지하기 위해 양자화기에 대한 피드백 루프가 사용될 수 있다. 표현의 비트율은, 표현을 실시간으로 제공하기 위해 표현 데이타가 처리되어야 할 때의 속도이다.
디코더 장치(5)는 인코더 장치(3)의 정반대 기능을 수행한다. 버퍼(10)는 유입되는 인코딩된 비디오 시퀀스의 비트율을 조정하기 위한 역할을 한다. 비디오 디코더(12)는, 모드 선택기(16)와 함께, 유입되는 비디오 시퀀스를 디코딩하고 압축해제하여 비디오 시퀀스를 재구성한다. 모드 선택기(16)는, 비디오 인코더(2)가 유입되는 비디오 시퀀스를 인코딩했을 때의 예측 모드를 결정한다. 디코더 장치(5)는 "비디오 아웃"으로 도시된 디코딩되고 압축해제된 비디오 시퀀스(24)(이하에서 "디코딩된 비디오 시퀀스(24)"라고 함)를 출력한다.
비디오 디코더(12)는 버퍼(10)(도1)로부터의 인코딩된 비디오 시퀀스를 나타내는 비트 스트림을 수신한다. 일 실시예에서, 비디오 디코더는, 디코더 제어기, VLC 디코더(가변길이부호화, VLC), 및 재구성 모듈을 포함하는, 예컨대 MPEG-x 디코더와 같은 종래의 비디오 디코더이다. 이러한 구성요소들의 작동과 기능은 당업자에게 공지되어 있다. 이 구성요소들은 당업자에게 공지되고 일반적으로 입수가능한 MPEG 문서와 간행물에 기술되어 있다.
도2는 비디오 시퀀스(20)의 일부분인 비디오 프레임(30)을 나타내는 도면이다. 위에서 설명하였듯이, 공지된 비디오 인코딩 기술은 전형적으로 비디오 프레임(30)을 매크로블록(36,36a,36b,36c,36d)으로 분해한다. 예컨대, 비디오 프레임(30)은 16×16 매크로블록(36,36a,36b,36c,36d)의 매트릭스로 분할된다. 비디오 시스템(1)은 매크로블록(36,36a,36b,36c,36d)을, 예컨대 인트라 인코딩의 시퀀스를 나타내는 점선(34)으로 도시한 것과 같이, 위에서 아래로 그리고 왼쪽에서 오른쪽으로 한줄씩 인코딩한다. 설명되는 실시예에서, 점선(34)은 매크로블록(36a)에서 끝나는데, 이것은 인코딩되어야 할 그 다음 매크로블록이다. 이전의 모든 매크로블록(36,36b,36c,36d)은 이미 인코딩되었다.
모든 매크로블록(36,36a,36b,36c,36d)을 대표하여 매크로블록(36a)이 비디오 프레임(30)의 아래쪽에 더 상세하게 도시되어 있다. 비디오 시스템(1)의 비디오 인코딩 기술은 각 매크로블록(36,36a,36b,36c,36d)을 픽셀 매트릭스(38)로 더 분해하고, 여기서는 서브블록(38)으로 언급된다.
일 실시예에서, 서브블록(38)은 4×4 픽셀 매트릭스이고, 이 때 16개의 픽셀은 ("행 우선(row first)" 방법으로) a, b, c, ..., p로 표시되어 있다. 직접적으로 매크로블록(36a)의 서브블록(38) 위에 위치해 있는 이웃하는 매크로블록(36b)의 인접한 서브블록의 경계 픽셀은 A, B, C, D로 표시되어 있다. 또한, 서브블록(38)의 우상단에 위치해 있는 매크로블록(36b)의 서브블록의 경계 픽셀은 E, F, G, H로 표시되어 있다. 이와 같이, 매크로블록(36a)의 서브블록(38)의 바로 왼쪽에 위치하고 있는 이웃 매크로블록(36c)의 인접한 서브블록의 경계 픽셀은 I, J, K, L로 표시되어 있다. 서브블록(38)의 좌하단에 위치해 있는 매크로블록(36c)의 서브블록의 경계 픽셀은 M, N, O, P로 표시되어 있고, 매크로블록(36a)의 서브블록(38)의 좌상단에 위치하고 있는 매크로블록(36d)의 서브블록의 경계 픽셀은 Q로 표시되어 있다.
본 발명의 비디오 시스템(1)은 각각의 매크로블록(36)을 인트라 매크로블록으로 코딩한다. 인트라 매크로블록은 모션 보상된 예측없이 인코딩된 변형이다. 따라서 인트라 매크로블록은 이전의 또는 후속하는 프레임중 어느 하나로부터의 디코딩된 데이타를 참조하지 않는다. I-프레임은 인트라 매크로블록으로 완전히 이루어진 프레임이다. 따라서 I-프레임은 이전의 또는 후속하는 프레임의 참조없이 인코딩된다. 또한 I-프레임은 "인트라-프레임"으로 알려져 있다.
도3은 서브블록이 인코딩될 수 있는 가능한 방향을 나타내고 있는 서브블록(38)이다. 본 발명에 의하면, 매크로블록(36,36a,36b,36c,36d)의 서브블록은 이하에 열거되는 것처럼 9개의 모드(모드0, 모드1, ..., 모드8)중 하나로 인트라 코딩될 수 있다. 즉, 특정 서브블록(38)은, 현재 디코딩되고 있는 현재의 서브블록 위의 서브블록으로부터("수직 예측"), 현재 서브블록의 왼쪽의 서브블록으로부터("수평 예측"), 또는 왼쪽과 위쪽 모두의 서브블록으로부터("대각선 예측") 예측될 수 있다. 모드 1 내지 8은 미리 결정된 방향으로 서브블록을 예측하며 모드0은 미리 결정된 방향에서의 예측없이 동일한 평균을 이용한다. 도3에서, 각 방향은 본 발명에 따른 8개의 예측 모드중 하나를 나타낸다.
모드0:
이 모드에서, 각 픽셀(a 내지 p)은 다음 수식에 의해 예측된다:
Figure 112005000839379-pct00001
이후의 모드에서 뿐만 아니라 이 모드에서도, "나눗셈(division)"은 결과값을 "마이너스 무한대"(-∞) 쪽으로 반올림하는 것을 의미한다. 예컨대, 모드0에서, 항 "+4"는 나눗셈의 결과가 가장 가까운 정수값으로 반올림되도록 한다. 이것은 또한 다른 모드에도 적용된다.
만일 픽셀(a 내지 p)중 네개가 현재 인코딩되고 있는 현재의 픽쳐(프레임) 외부에 있다면, 남아있는 네개의 픽셀의 평균이 예측을 위해 사용된다. 만일 8개의 픽셀 모두가 픽쳐의 바깥에 있다면, 이 서브블록에서의 전체 픽셀에 대한 예측은 128이다. 따라서 서브블록은 항상 모드0에서 예측된다.
모드1:
픽셀(A,B,C,D)이 현재 픽쳐의 내부에 있다면, 픽셀(a 내지 p)은 도3에 도시된 바와 같은 수직 방향으로 예측된다. 즉, 픽셀(a 내지 p)은 다음과 같이 예측된 다:
Figure 112005000839379-pct00002
모드2:
픽셀(I,J,K,L)이 현재 픽쳐의 내부에 있다면, 픽셀(a 내지 p)은 수평 방향으로 예측된다. 즉, 픽셀(a 내지 p)은 다음과 같이 예측된다:
Figure 112005000839379-pct00003
모드3:
이 모드는 모든 픽셀(a 내지 p)이 현재 픽쳐 내부에 있을 때 사용된다. 이것은 도3에 도시된 것과 같이 대각선 방향으로의 예측에 대응한다. 픽셀(a 내지 p)은 다음과 같이 예측된다:
Figure 112005000839379-pct00004
모드4:
이 모드는 모든 픽셀(a 내지 p)이 현재 픽쳐의 내부에 있을 때 사용된다. 이것 역시 대각선 예측이다.
Figure 112005000839379-pct00005
모드5:
이 모드는 모든 픽셀(a 내지 p)이 현재 픽쳐의 내부에 있을 때 사용된다. 이것 역시 대각선 예측이다.
Figure 112005000839379-pct00006
모드6:
이 모드는 모든 픽셀(a 내지 p)이 현재 픽쳐의 내부에 있을 때 사용된다. 이것 역시 대각선 예측이다.
Figure 112005000839379-pct00007
모드7:
이 모드는 모든 픽셀(a 내지 p)이 현재 픽쳐의 내부에 있을 때 사용된다. 이것 역시 대각선 예측이다.
Figure 112005000839379-pct00008
모드8:
이 모드는 모든 픽셀(a 내지 p)이 현재 픽쳐의 내부에 있을 때 사용된다. 이것은 대각선 예측이다.
Figure 112005000839379-pct00009
본 발명의 일 실시예에서, 모드 선택 알고리즘이 9개의 모드중 하나를 선택하는 기준(criteria)을 결정한다. 그러면 서브블록(38)이 선택된 모드에 따라 인코딩된다. 모드 선택 알고리즘은 이하에서 상세히 설명된다.
도4는 비디오 프레임의 스트림을 포함하는 비디오 데이타를 코딩하고 예측 모드(모드0 내지 8)중 하나를 선택하는 본 발명에 따른 방법을 설명하는 절차 흐름도이다. 일 실시예에서, 이 방법은 비디오 프레임의 휘도 부분(Y)을 코딩한다.
단계(28)에서, 예컨대, 사용자가 비디오 시스템(1)을 활성화시켰을 때, 이 절차가 비디오 시스템(1)을 초기화한다. 초기화 절차는 예컨대 인코더(3)가 작동하고 그리고 비디오 프레임의 스트림을 수신하도록 적절히 연결되었는지 여부를 판단하는 것을 포함한다.
단계(30)에서, 이 절차는 비디오 프레임의 스트림을 수신하고 각각의 비디오 프레임을 복수의 서브블록의 매트릭스로 분할하며, 이 때, 각 서브블록은 복수의 픽셀을 포함하고 있다. 복수의 서브블록의 매트릭스는 위에서 설명한 것과 같은 매크로블록의 일부인 4×4 서브블록(38)을 포함할 수 있다.
단계(32)에서, 이 절차는 9개의 예측 모드(모드0 내지 8)를 정의하는데, 여기서, 각 예측 모드는 모드를 결정하고 이 모드에 따라 현재의 서브블록이 코딩된다. 예를 들어, 이 절차가 모드(모드0 내지 8)를 계산하고 정의하기 위해 서브루틴을 실행할 수도 있다.
단계(34)에서, 이 절차는 9개의 예측 모드(모드0 내지 8)중 하나를 선택하여 현재의 서블블록(38)을 인코딩한다. 일 실시예에서, 이 절차는 각 모드에 대해 에러값을 계산하고, 어떤 모드가 최소 에러값을 제공하는지 판단하고, 그리고 현재의 서브블록(38)을 인코딩하기 위해 그 모드를 선택한다.
일단 이 절차가 현재의 서브블록(38)의 픽셀을 인코딩하기 위한 "최선의" 예측 모드를 선택하였다면, 이 절차는 최소 에러값을 인코딩하고 그리고 압축된 비트스트림내의 인코딩된 최소 에러값을 디코더로 전송한다. 최소 에러값은 현재 서브블록의 예측된 픽셀과 서브블록의 원래 픽셀 사이의 차이를 나타낸다. 이 차이는 공지된 것과 같은 DCT, 계수 양자화, 및 가변길이코딩을 이용하여 인코딩될 수 있다. 디코더는 예측된 픽셀 및 원래 픽셀에 대한 차이를 이용하여 비디오 프레임을 정확하게 재구성한다. 절차는 단계(36)에서 종료한다.
이 절차에 의해 4×4 서브블록(38)의 각각이 9개의 예측 모드(모드0 내지 8)중 하나에 따라서 코딩된다. 직접적으로 코딩된다면 이것이 상당한 수의 비트를 요구하기 때문에, 본 발명에 의한 비디오 시스템(1)은 모드 정보를 코딩하는 더 효과적인 방법을 적용할 수 있다. 서브블록의 예측 모드는 인접한 서브블록의 예측 모드와 상호 연관되어 있다.
도5는 세개의 예시적인 서브블록(A,B,C)를 통해 이것을 설명한다. 서브블록(C)은, 그 예측 모드가 알려져 있는 서브블록(A,B)의 도움을 받으면서 인코딩(예측)되어야 할 서브블록이다. 서브블록(A)은 서브블록(C)의 위쪽에 위치하고 있고 서브블록(B)은 서브블록(C)의 왼쪽에 위치하고 있다. 이 경우, 서브블록(C)에 대한 가장 확률높은, 그 다음으로 가장 확률높은 등의 예측 모드의 순서가 주어진다. 이러한 순서표의 예시가 이하에 나열된다. 이 표는 10개의 그룹(그룹1 내지 그룹10)으로 나누어진다. 각 그룹에서, 서브블록(A)에 대한 각각의 예측 모드는 상수이고(예컨대, 서브블록(A)의 모드0은 그룹2에서는 상수임), 서브블록(B)에 대한 예측 모드는 변화한다. 즉, 어떤 그룹내의 서브블록(A)에 대한 (상수인) 예측 모드는 그 그룹내의 서브블록(B)에 대한 9개의 예측 모드중 하나와 결합될 수 있다.
서브블록(A,B)의 예측 모드의 결합의 각각에 대해, 일련의 9개의 수가 주어지고, 9개의 모드(0 내지 8)의 각각에 대해 하나의 수가 있다. 예를 들어 그룹3에서, 서브블록(A) 및 서브블록(B)에 대한 예측 모드가 모두 모드1이라면, 숫자열 "1 6 2 5 3 0 4 8 7"은 모드1, 즉 숫자열의 첫 숫자가 서브블록(C)에 대한 가장 확률이 높은 모드라는 것을 나타낸다. 모드6, 즉 숫자열의 두번째 숫자는 그 다음으로 가장 확률이 높은 모드이다. 이 예시적인 숫자열에서, 숫자 7이 숫자열의 가장 마 지막 수이므로 모드7은 확률이 가장 적다. 이 숫자열은 인코딩된 비디오 시퀀스를 나타내는 비트 스트림의 일부가 될 것이다.
따라서 비트 스트림은 서브블록(C)을 위해 사용되는 모드를 지시하는 정보(Prob0=1(표1 참조))를 포함한다. 예를 들어, 이 정보는 다음으로 가장 확률이 높은 인트라 예측 모드가 모드6이라는 것을 지시할 수 있다. 표에서 "-"는 이 경우는 발생하지 않는다라는 것을 의미함에 주의한다. 표1에 사용된 "외부(outside)"라는 용어는 "프레임의 외부에"를 의미한다. 만일 서브블록(A 또는 B)이 프레임 내에 있고 그렇지만 인트라(INTRA)코딩되지는 않는다면(예컨대, P 프레임에서, 서브블록(C)은 인트라코딩될 수 있지만 서브블록(A) 또는 서브블록(B)중 어느 하나는 인트라코딩되지 않을 수도 있다), 예측 모드는 존재하지 않는다. 본 발명의 절차는 그러한 서브블록에 대해 모드0을 가정한다.
표1
B A=외부
외부 0 - - - - - - - -
모드0 0 2 - - - - - - -
모드1 - - - - - - - - -
모드2 2 0 - - - - - - -
모드3 - - - - - - - - - 그룹1
모드4 - - - - - - - - -
모드5 - - - - - - - - -
모드6 - - - - - - - - -
모드7 - - - - - - - - -
모드8 - - - - - - - - -

B A= 모드0
외부 0 1 - - - - - - -
모드0 0 2 1 6 4 8 5 7 3
모드1 1 0 2 6 5 4 3 8 7
모드2 2 8 0 1 7 4 3 6 5
모드3 2 0 1 3 8 5 4 7 6 그룹2
모드4 2 0 1 4 6 7 8 3 5
모드5 0 1 5 2 6 3 8 4 7
모드6 0 1 6 2 4 7 5 8 3
모드7 2 7 0 1 4 8 6 3 5
모드8 2 8 0 1 7 3 4 5 6

B A=모드1
외부 1 0 - - - - - - -
모드0 1 2 5 6 3 0 4 8 7
모드1 1 6 2 5 3 0 4 8 7
모드2 2 1 7 6 8 3 5 0 4
모드3 1 2 5 3 6 8 4 7 0 그룹3
모드4 1 6 2 0 4 5 8 7 3
모드5 1 5 2 6 3 8 4 0 7
모드6 1 6 0 2 4 5 7 3 8
모드7 2 1 7 6 0 8 5 4 3
모드8 1 2 7 8 3 4 5 6 0

B A=모드2
외부 - - - - - - - - -
모드0 0 2 1 8 7 6 5 4 3
모드1 1 2 0 6 5 7 4 8 3
모드2 2 8 7 1 0 6 4 3 5
모드3 2 0 8 1 3 7 5 4 6 그룹4
모드4 2 0 4 1 7 8 6 3 5
모드5 2 0 1 5 8 4 6 7 3
모드6 2 0 6 1 4 7 8 5 3
모드7 2 7 8 1 0 5 4 6 3
모드8 2 8 7 1 0 4 3 6 5

B A=모드3
외부 - - - - - - - - -
모드0 0 2 1 3 5 8 6 4 7
모드1 1 0 2 5 3 6 4 8 7
모드2 2 8 1 0 3 5 7 6 4
모드3 3 2 5 8 1 4 6 7 0 그룹5
모드4 4 2 0 6 1 5 8 3 7
모드5 5 3 1 2 8 6 4 0 7
모드6 1 6 0 2 4 5 8 3 7
모드7 2 7 0 1 5 4 8 6 3
모드8 2 8 3 5 1 0 7 6 4

B A=모드4
외부 - - - - - - - - -
모드0 2 0 6 1 4 7 5 8 3
모드1 1 6 2 0 4 5 3 7 8
모드2 2 8 7 6 4 0 1 5 3
모드3 4 2 1 0 6 8 3 5 7 그룹6
모드4 4 2 6 0 1 5 7 8 3
모드5 1 2 5 0 6 3 4 7 8
모드6 6 4 0 1 2 7 5 3 8
모드7 2 7 4 6 0 1 8 5 3
모드8 2 8 7 4 6 1 3 5 0

B A=모드5
외부 - - - - - - - - -
모드0 5 1 2 3 6 8 0 4 7
모드1 1 5 6 3 2 0 4 8 7
모드2 2 1 5 3 6 8 7 4 0
모드3 5 3 1 2 6 8 4 7 0 그룹7
모드4 1 6 2 4 5 8 0 3 7
모드5 5 1 3 6 2 0 8 4 7
모드6 1 6 5 2 0 4 3 7 8
모드7 2 7 1 6 5 0 8 3 4
모드8 2 5 1 3 6 8 4 0 7

B A=모드6
외부 - - - - - - - - -
모드0 1 6 2 0 5 4 3 7 8
모드1 1 6 5 4 2 3 0 7 8
모드2 2 1 6 7 4 8 5 3 0
모드3 2 1 6 5 8 4 3 0 7 그룹8
모드4 6 4 1 2 0 5 7 8 3
모드5 1 6 5 2 3 0 4 8 7
모드6 6 1 4 0 2 7 5 3 8
모드7 2 7 4 6 1 5 0 8 3
모드8 2 1 6 8 4 7 3 5 0

B A=모드7
외부 - - - - - - - - -
모드0 2 0 4 7 6 1 8 5 3
모드1 6 1 2 0 4 7 5 8 3
모드2 2 7 8 0 1 6 4 3 5
모드3 2 4 0 8 3 1 7 6 5 그룹9
모드4 4 2 7 0 6 1 8 5 3
모드5 2 1 0 8 5 6 7 4 3
모드6 2 6 4 1 7 0 5 8 3
모드7 2 7 4 0 8 6 1 5 3
모드8 2 8 7 4 1 0 3 6 5

B A=모드8
외부 - - - - - - - - -
모드0 2 0 8 1 3 4 6 5 7
모드1 1 2 0 6 8 5 7 3 4
모드2 2 8 7 1 0 3 6 5 4
모드3 8 3 2 5 1 0 4 7 6 그룹10
모드4 2 0 4 8 5 1 7 6 3
모드5 2 1 0 8 5 3 6 4 7
모드6 2 1 6 0 8 4 5 7 3
모드7 2 7 8 4 0 6 1 5 3
모드8 2 8 3 0 7 4 1 6 5

예측 모드에 대한 정보는 두개의 서브블록(38)의 예측 모드 정보를 하나의 코드워드로 결합함으로써 효과적으로 코딩될 수 있다. 비트 스트림은 결과적인 코드워드를 포함하고, 이 때, 각 코드워드는 두개의 서브블록의 예측 모드를 나타낸다. 표2는 0 내지 80 사이의 코드넘버(Code No.)에 대한 예시적인 2진 코드워드를 열거하고 있다. 첫번째 서브블록의 모드의 확률이 Prob0으로 표시되고 있고 두번째 서브블록의 모드의 확률이 Prob1로서 표시되어 있다.
표2
Figure 112005000839379-pct00010
Figure 112005000839379-pct00011
Figure 112005000839379-pct00012
Figure 112005000839379-pct00013
9개의 예측 모드(표1) 및 모드의 확률(표1, 표2)을 사용하여 모드 선택 알고리즘이 모드를 결정하고, 이 모드에 따라 특정 서브블록이 예측된다. 본 발명의 일 실시예에서, 픽셀(a 내지 p)과 원래 프레임의 대응 픽셀 간의 절대 차이의 합(sum of absolute differences)(SAD) 및 위의 모드 확률을 사용하여, 알고리즘이 모드를 선택한다. SAD 및 확률 테이블은 특정 서브블록(38)에 대한 모드를 선택하기 위해 사용된다. 알고리즘은 9개의 가능한 모드(모드0 내지 8)의 각각에 대한 파라미터(uError)를 계산한다. 가장 작은 uError를 제공하는 모드가 서브블록(38)에 대해 선택되는 모드이다.
uError는 다음과 같이 계산된다:
uError = SAD({a,..., p},{original frame}) + rd_quant[uMBQP] * uProb
여기서, SAD({a,..., p},{original frame})는 픽셀(a 내지 p)과 이 원래 프레임의 대응 픽셀 간의 절대 차이의 합이다.
여기서, rd_quant[uMBQP]는 양자화 파라미터 uMBQP에 의해 인덱싱된 상수값의 테이블이다. uMBQP는,
const U8 rd_quant[32] =
{1,1,1,1,1,1,2,2,2,2,3,3,3,4,4,5,5,6,7,7,8,9,11,12,13,15,17,19,21,24,27,30}
에 의해 주어진다.
이 때, uProb는 모드 확률표(표1)에서의 위치가 주어졌을 때, 발생하는 모드 확률이다.
예를 들면, 서브블록(A)에 대한 예측 모드가 모드1이고 서브블록(B)에 대한 예측 모드도 모드1이다. 숫자열 "1 6 2 5 3 0 4 8 7"은 모드1이 서브블록(C)에 대해서도 가장 확률이 큰 모드라는 것을 지시한다. 모드6은 두번째로 확률이 큰 모드이다. 따라서, 알고리즘이 모드0에 대한 uError를 계산하면, 확률(uProb)은 5이다. 또한, 모드1에 있어서 확률(uProb)은 0이고, 모드2에 대해 확률(uProb)은 2이고, 모드3에 대해 확률(uProb)은 4이다.
비디오 프레임의 휘도 부분(Y)을 코딩하는 것에 더하여, 본 발명의 비디오 시스템(1)은 비디오 프레임의 색차(chrominance) 부분(U,V)도 또한 예측할 수 있다. 색차 부분은 색차 평면(U 및 V 평면)으로 고려될 수 있다. 전형적으로, 색차 평면(U 및 V 평면)은 휘도 평면의 크기의 1/4 이다. 따라서, 16×16 매크로블록에서, 대응하는 8×8 픽셀 블록은 U 및 V 평면 모두에 존재한다. 이러한 8×8 블록은 4×4 블록으로 분할된다. 일반적으로, 개개의 예측 모드는 색차 블록에 대해 전송되지 않는다. 그 대신, Y 평면 블록에 대해 전송되는 모드가 U 및 V 평면 블록에 대한 예측 모드로서 사용된다.
도6은 일 실시예에 따라서 본 발명의 가르침과 결합된 비디오 디바이스를 나타낸다. 도시되었듯이, 비디오 디바이스(600)는 디바이스의 입력과 출력에 연결된 인코더(610) 및 디코더(620)를 포함한다. 이미 설명하였듯이, 인코더(610)는 비디오 프레임 데이타를 수신하고, 각각의 프레임 데이타를 매크로블록과 서브블록으로 분할하고, 그리고 앞서 설명하였듯이 서브블록을 선택적으로 인트라코딩하도록 설계되어 있다. 디코더(620)는 인트라코딩된 서브블록을 수신하고 앞서 설명한 것처럼 비디오 프레임 데이타를 복구하도록 설계된다.
인코더(610) 및 디코더(620)는 앞서 설명한 인코더 장치(1) 및 디코더 장치(5)와 유사하게 구성된다. 다양한 실시예에서, 인코더(610)와 디코더(620)는 (인코더(610)와 디코더(620)의 교차하는 블록으로서 도시하였듯이) 적어도 부분적으로 그들의 구성 테이블 및 코딩/디코딩 로직을 공유할 수 있다.
다양한 실시예에서, 비디오 디바이스(600)는 무선 휴대폰, 개인용 디지털 어시스턴스와 같은 손바닥 크기의 컴퓨터 장치, 랩탑 컴퓨터 장치, 데스크탑 컴퓨터 장치, 서버, 및 다른 컴퓨터 장치 등이 될 수 있다. 다른 실시예에서, 비디오 디바이스(600)는 비디오 "애드-온" 회로 보드(도터 회로 보드라고도 불리움), 마더보드, 및 다른 회로보드 등과 같은 회로보드 구성요소일 수 있다.
또다른 실시예에서, 인코더(610)와 디코더(620)를 모두 갖는 대신에, 비디오 디바이스(600)는 비디오 카메라의 경우와 같이 인코더(610)만 포함할 수 있고, 또는 DVD 플레이어, 텔레비젼, 디스플레이 모니터, 또는 셋탑 박스의 경우와 같이 디코더(620)만 포함할 수도 있다.
도7은 이미 설명한 인코더 장치(1) 및/또는 디코더 장치(5)의 소프트웨어 실시예를 구현하는 프로그래밍 명령을 가지는 기록가능 매체(700)를 포함한 제조물품 을 도시하고 있다. 프로그래밍 명령은 비디오 디바이스(710)에 본 발명의 인코딩 및 디코딩 능력을 장착하기 위해서 비디오 디바이스(710)를 프로그램하는데 사용하도록 설계된다.
이 실시예에 있어서, 비디오 디바이스(710)는 인코더 장치(1) 및/또는 디코더 장치(5)의 소프트웨어 실시예를 구현하는 프로그래밍 명령의 카피 작업의 적어도 일부분을 저장하기 위한 저장매체(712), 그리고 프로그래밍 명령을 실행하기 위해 저장매체(712)에 연결된 적어도 하나의 프로세서(714)를 포함한다.
비디오 디바이스(712)는 앞에서 열거한 예시적인 디바이스 또는 다른 비디오 디바이스들 중에서 어느 것이든 될 수 있다. 물품(710)은 예컨대 디스켓, 컴팩트 디스크(CD), DVD, 또는 다른 컴퓨터 판독가능 매체 등이 될 수 있다. 다른 실시예에서, 물품(710)은 사설 네트워크 및/또는 인터넷과 같은 공용 네트워크를 통해 인코더 장치(1) 및/또는 디코더 장치(5)를 온라인상으로 분산시킨 분산서버가 될 수 있다. 일 실시예에서 물품(710)은 웹 서버이다.
도8은 서로 통신상으로 연결된 비디오 송신기(802) 및 비디오 수신기(804)를 갖는 예시적인 시스템을 도시하며, 도시된 바와 같이 비디오 송신기(802)는 본 발명의 가르침에 따라 비디오를 인코딩하고 이 인코딩된 비디오를 비디오 수신기(804)에 제공하고, 비디오 수신기(804)는 인코딩된 비디오를 디코딩하여 비디오를 제공한다. 비디오 송신기(802)와 비디오 수신기(804)는 앞서 설명한 인코더 장치(1) 및 디코더 장치(5)에 각각 장착되어 있다.
비디오 송신기(802)의 예로서는 비디오 서버가 있고, 반면 비디오 수신기 (804)의 예로서는 비디오 송신기(802)에 연결된 클라이언트 디바이스가 있다.
다양한 대안적인 실시예에서, 인코딩되고 있는 서브블록의 픽셀값을 예측할 때에 모드4 및 6에 대한 인코딩은 인코딩되고 있는 서브블록 위의 인접 서브블록의 픽셀만을 사용함으로써 능률적으로 된다. 보다 구체적으로, 인코딩되고 있는 서브블록의 픽셀값은 다음과 같은 모드4 및 6에 의거하여 예측된다:
능률화된(streamlined) 모드 4
Figure 112005000839379-pct00014
능률화된 모드 6
Figure 112005000839379-pct00015
또한, 인코딩되고 있는 서브블록의 픽셀값을 예측할 때에 모드7에 대한 인코딩은 인코딩되고 있는 서브블록의 왼쪽 인접 서브블록의 픽셀만을 사용하여 능률적으로 된다. 더욱 구체적으로, 인코딩되고 있는 서브블록의 픽셀값은 다음과 같이 예측된다:
능률화된 모드 7
Figure 112005000839379-pct00016
또다른 실시예에서, 매크로블록이 M×N 서브블록으로 다시 분할될 수 있고, 이 때 M×N은 8×8, 8×4, 또는 4×8이 될 수 있다. 이 부분의 설명의 위해, 도9a 내지 도9c에 도시된 바와 같이, M×N 서브블록의 픽셀이 Pij로 언급되고 있으며, 여기서, 인덱스 i는 서브블록의 행(row) 위치를 의미하고 8×8 및 8×4 서브블록의 경우에는 1 내지 8의 값을, 4×8 서브블록의 경우에는 1 내지 4의 값을 가정할 수 있고, 인덱스 j는 서브블록의 열(column) 위치를 의미하고 8×8 및 4×8 서브블록의 경우에는 1 내지 8의 값을, 8×4 서브블록의 경우에는 1 내지 4의 값을 가정할 수 있다.
설명되었듯이, 인코딩되고 있는 서브블록 위쪽의 인접 서브블록의 예측자(predictor) 픽셀이 t0 내지 t15로 언급되고 있고, 인코딩되고 있는 서브블록 왼쪽의 인접 서브블록의 예측자 픽셀은 l0 내지 l15로 언급된다.
모드0 내지 2에 대하여, M×N 서브블록의 픽셀값은, M×N이 8×8, 8×4, 또는 4×8인지에 따라, 다음과 같이 예측된다:
모드 0
i=0-(N-1), j=0-(M-1)에 대해
tO-tN 및 lO-lM이 이용가능할 때,
Pij=(tO+...+tN+lO+...+lM+N/2+M/2)/(M+N);
단지 tO-tN 만이 이용가능할 때,
Pij=(tO+...+tN+N/2)/N;
단지 lO-lM 만이 이용가능할 때,
Pij=(lO+...+lM+M/2)/M;
그 외는 pij=128
모드 1
t0 - tN이 이용가능할 때,
Pij = tj;
i=0-(N-1), j=0-(M-1).
모드 2
l0 - lN이 이용가능할 때,
Pij = li;
i=0-(N-1), j=0-(M-1).
모드 3 내지 8에 대해서는, M×N 서브블록의 픽셀값이 다음과 같이 예측된다:
모드 3
t0 내지 tN 및 l0 내지 lM 모두가 예측을 위해 이용가능할 때,
Figure 112005000839379-pct00017
모드 4
t0 내지 tN 및 l0 내지 lM 모두가 예측을 위해 이용가능할 때,
Figure 112005000839379-pct00018

모드 5
t0 내지 tN 및 l0 내지 lM 모두가 예측을 위해 이용가능할 때,
Figure 112005000839379-pct00019

모드 6
t0 내지 tN 및 l0 내지 lM 모두가 예측을 위해 이용가능할 때,
Figure 112005000839379-pct00020

모드 7
t0 내지 tN 및 l0 내지 lM 모두가 예측을 위해 이용가능할 때,
Figure 112005000839379-pct00021

모드 8
t0 내지 tN 및 l0 내지 lM 모두가 예측을 위해 이용가능할 때,
Figure 112005000839379-pct00022
결론 및 후기
따라서, 이상의 설명으로부터, 비디오 프레임 데이타를 인트라코딩 및 디코딩하는 신규한 방법, 및 이 방법과 결합된 인코더, 디코더, 디바이스, 및 시스템이 설명되었다.
비록 본 발명이 앞서의 실시예와 예시적인 응용에 대하여 설명되었지만, 당업자는 본 발명이 이 실시예 및 기술된 예시적인 응용에만 제한되지 않는다는 것을 알 것이다. 본 발명은 첨부된 청구범위의 정신과 범위내에서 수정과 변형을 거쳐 실시될 수도 있다. 특히, 본 발명의 일부 또는 전부(예컨대 다양한 동작 로직)는 특정용도 집적회로(Application Specific Integrated Circuit:ASIC)에서 구현될 수 있다.
따라서 본 상세한 설명은 본 발명을 한정하는 것이 아니라 예시하는 것으로서 간주되어야 한다.

Claims (30)

  1. 비디오 데이타의 인트라코딩 및 인트라코딩된 비디오 데이타의 디코딩 중 선택된 하나를 실행하도록 구성된 장치에 있어서, 상기 장치는:
    저장매체; 및
    상기 저장매체에 저장되고, (a) 비디오 데이타의 매크로블록을 인트라코딩하는 단계 및 (b) 비디오 데이타의 인트라코딩된 매크로블록을 디코딩하는 단계 중 적어도 선택된 하나를 수행하는 복수의 명령;을 포함하고,
    여기서, 인트라코딩된 매크로블록은 제1예측모드하에서 예측된 픽셀값의 4×4서브블록을 포함하고, 대각선의 픽셀값은 아래식중에 선택된 하나에 의해 예측되고,
    Figure 112009059034396-pct00023
    여기서, a-d는 4×4서브블록의 제1행의 예측된 픽셀값이고,
    e-h는 4×4서브블록의 제2행의 예측된 픽셀값이고,
    i-l은 4×4서브블록의 제3행의 예측된 픽셀값이고,
    m-p는 4×4서브블록의 제4행의 예측된 픽셀값이고,
    A-H는 4×4서브블록의 위에 인접하는 서브블록의 하부 경계 픽셀의 픽셀값인 것을 특징으로 하는 장치.
  2. 제 1 항에 있어서, 상기 명령은 매크로블록을 인트라코딩하고 인트라코딩된 매크로블록을 디코딩하는 것 중 선택된 하나를 수행하도록 더 적용되고, 여기서, 인트라코딩된 매크로블록은 제2예측모드하에서 예측된 픽셀값의 4×4서브블록을 포함하고, 대각선의 픽셀값은 아래식
    Figure 112005000839379-pct00024
    중에 선택된 하나에 의해 예측되는 것을 특징으로 하는 장치.
  3. 제 2 항에 있어서, 상기 명령은 매크로블록을 인트라코딩하고 인트라코딩된 매크로블록을 디코딩하는 것 중 선택된 하나를 수행하도록 더 적용되고, 여기서, 인트라코딩된 매크로블록은 제2예측모드하에서 예측된 픽셀값의 4×4서브블록을 포함하고, 대각선의 픽셀값은 아래식중에 선택된 하나에 의해 예측되고,
    Figure 112009059034396-pct00025
    여기서, I-L은 4×4서브블록의 좌측에 인접하는 서브블록의 우측 경계 픽셀의 픽셀값인 것을 특징으로 하는 장치.
  4. 제 1 항에 있어서, 상기 명령은 매크로블록을 인트라코딩하고 인트라코딩된 매크로블록을 디코딩하는 것 중 선택된 하나를 수행하도록 더 적용되고, 여기서, 인트라코딩된 매크로블록은 제2예측모드하에서 예측된 픽셀값의 4×4서브블록을 포함하고, 대각선의 픽셀값은 아래식중에 선택된 하나에 의해 예측되고,
    Figure 112009059034396-pct00026
    여기서, I-L은 4×4서브블록의 좌측에 인접하는 서브블록의 우측 경계 픽셀의 픽셀값인 것을 특징으로 하는 장치.
  5. 제 1 항에 있어서, 상기 명령을 수행하도록 상기 저장매체에 결합된 프로세서를 더 포함하는 것을 특징으로 하는 장치.
  6. 제 1 항에 있어서, 상기 명령과 저장매체를 포함하는 인코더 및 디코더 중 적어도 선택된 하나를 포함하는 것을 특징으로 하는 장치.
  7. 제 6 항에 있어서, 상기 장치는 팜 사이즈 컴퓨팅 디바이스, 무선 모바일폰, 개인휴대정보단말기, 랩탑 컴퓨팅 디바이스, 데스크탑 컴퓨팅 디바이스, 셋탑박스, 서버, 컴팩트디스크 플레이어, 디지털 비디오 디스크 플레이어, 텔레비젼, 및 디스플레이 모니터 중의 선택된 하나를 포함하는 것을 특징으로 하는 장치.
  8. 제 6 항에 있어서, 상기 장치는 집적화된 비디오 성능을 가지는 마더보드 및 비디오 도터 카드를 포함하는 것을 특징으로 하는 장치.
  9. 비디오 데이타의 인트라코딩 및 인트라코딩된 비디오 데이타의 디코딩 중 선택된 하나를 실행하도록 구성된 장치에 있어서, 상기 장치는:
    저장매체; 및
    저장매체에 저장되어 있고, 비디오 데이타의 매크로블록을 인트라코딩하는 단계 및 비디오 데이타의 인트라코딩된 매크로블록을 디코딩하는 단계 중 선택된 하나를 수행하도록 하는 복수의 명령;을 포함하고,
    여기서, 인트라코딩된 매크로블록은 제1예측모드하에서 예측된 픽셀값의 4×4서브블록을 포함하고, 대각선의 픽셀값은 아래식중에 선택된 하나에 의해 예측되고,
    Figure 112009059034396-pct00027
    여기서, a-d는 4×4서브블록의 제1행의 예측된 픽셀값이고,
    e-h는 4×4서브블록의 제2행의 예측된 픽셀값이고,
    i-l은 4×4서브블록의 제3행의 예측된 픽셀값이고,
    m-p는 4×4서브블록의 제4행의 예측된 픽셀값이고,
    A-H는 4×4서브블록의 위에 인접하는 서브블록의 하부 경계 픽셀의 픽셀값인 것을 특징으로 하는 장치.
  10. 제 9 항에 있어서, 상기 명령은 매크로블록을 인트라코딩하고 인트라코딩된 매크로블록을 디코딩하는 것 중 선택된 하나를 수행하도록 더 적용되고, 여기서, 인트라코딩된 매크로블록은 제2예측모드하에서 예측된 픽셀값의 4×4서브블록을 포함하고, 대각선의 픽셀값은 아래식중에 선택된 하나에 의해 예측되고,
    Figure 112009059034396-pct00028
    여기서, I-L은 4×4서브블록의 좌측에 인접하는 서브블록의 우측 경계 픽셀의 픽셀값인 것을 특징으로 하는 장치.
  11. 제 9 항에 있어서, 상기 명령을 수행하도록 상기 저장매체에 결합된 프로세서를 더 포함하는 것을 특징으로 하는 장치.
  12. 제 9 항에 있어서, 상기 명령과 저장매체를 포함하는 인코더 및 디코더 중 적어도 선택된 하나를 포함하는 것을 특징으로 하는 장치.
  13. 비디오 데이타의 인트라코딩 및 인트라코딩된 비디오 데이타의 디코딩 중 선택된 하나를 실행하도록 구성된 장치에 있어서, 상기 장치는:
    저장매체; 및
    저장매체에 저장되어 있고, 비디오 데이타의 매크로블록을 인트라코딩하는 단계 및 비디오 데이타의 인트라코딩된 매크로블록을 디코딩하는 단계 중 선택된 하나를 수행하도록 하는 복수의 명령;을 포함하고,
    여기서, 인트라코딩된 매크로블록은 예측모드하에서 예측된 픽셀값의 4×4서브블록을 포함하고, 대각선의 픽셀값은 아래식중에 선택된 하나에 의해 예측되고,
    Figure 112009059034396-pct00029
    여기서, a-d는 4×4서브블록의 제1행의 예측된 픽셀값이고,
    e-h는 4×4서브블록의 제2행의 예측된 픽셀값이고,
    i-l은 4×4서브블록의 제3행의 예측된 픽셀값이고,
    m-p는 4×4서브블록의 제4행의 예측된 픽셀값이고,
    I-L는 4×4서브블록의 좌측에 인접하는 서브블록의 우측 경계 픽셀의 픽셀값인 것을 특징으로 하는 장치.
  14. 제 13 항에 있어서, 상기 명령을 수행하도록 상기 저장매체에 결합된 프로세서를 더 포함하는 것을 특징으로 하는 장치.
  15. 제 13 항에 있어서, 상기 명령과 저장매체를 포함하는 인코더 및 디코더 중 적어도 선택된 하나를 포함하는 것을 특징으로 하는 장치.
  16. 비디오 데이타의 인트라코딩 및 인트라코딩된 비디오 데이타의 디코딩 중 선택된 하나를 실행하도록 구성된 장치에 있어서, 상기 장치는:
    저장매체; 및
    비디오 데이타의 매크로블록을 인트라코딩하는 단계 및 비디오 데이타의 인트라코딩된 매크로블록을 디코딩하는 단계 중 선택된 하나를 수행하도록 하는 복수의 명령;을 포함하고,
    여기서, 인트라코딩된 매크로블록은 아래와 같은 제1예측모드하에서 예측된 픽셀값의 M×N서브블록을 포함하고,
    여기서, M×N서브블록은 4×8 서브블록, 8×4 서브블록, 및 8×8 서브블록 중 선택된 하나이고,
    i=0-(N-1), j=0-(M-1)에 대해
    tO-tN 및 lO-lM이 이용가능할 때,
    pij=(tO+...+tN+lO+...+lM+N/2+M/2)/(M+N);
    단지 tO-tN 만이 이용가능할 때,
    pij=(tO+...+tN+N/2)/N;
    단지 lO-lM 만이 이용가능할 때,
    pij=(lO+...+lM+M/2)/M;
    그 외는 pij=128;이고,
    pij는 M×N서브블록내의 행과 열 위치를 나타내는 지수인 i 및 j를 가지는 M×N서브블록의 픽셀값이고,
    tO-tN은 M×N서브블록 위에 인접하는 서브블록의 하부 경계 픽셀의 픽셀값이고,
    lO-lM은 M×N서브블록의 좌측에 인접하는 서브블록의 우측 경계 픽셀의 픽셀값인 것을 특징으로 하는 장치.
  17. 제 16 항에 있어서, 상기 명령은 매크로블록을 인트라코딩하고 인트라코딩된 매크로블록을 디코딩하는 것 중 선택된 하나를 수행하도록 더 적용되고, 이 때, 인트라코딩된 매크로블록은 제2예측모드하에서 예측된 픽셀값의 4×8 서브블록, 8×4 서브블록, 및 8×8 서브블록 중 선택된 하나를 포함하고,
    열의 픽셀값은:
    tO-tN가 이용가능할 때, pij=tj
    에 의해 예측되는 것을 특징으로 하는 장치.
  18. 제 16 항에 있어서, 상기 명령은 매크로블록을 인트라코딩하고 인트라코딩된 매크로블록을 디코딩하는 것 중 선택된 하나를 수행하도록 더 적용되고, 이 때, 인트라코딩된 매크로블록은 제2예측모드하에서 예측된 픽셀값의 4×8 서브블록, 8×4 서브블록, 및 8×8 서브블록 중 선택된 하나를 포함하고,
    행의 픽셀값은:
    lO-lN가 이용가능할 때, pij=li
    에 의해 예측되는 것을 특징으로 하는 장치.
  19. 제 16 항에 있어서, 상기 명령은 매크로블록을 인트라코딩하고 인트라코딩된 매크로블록을 디코딩하는 것 중 선택된 하나를 수행하도록 더 적용되고, 여기서, 인트라코딩된 매크로블록은 제2예측모드하에서 예측된 픽셀값의 4×8서브블록, 8×4서브블록, 및 8×8서브블록중의 적어도 선택된 하나를 포함하고, 대각선의 픽셀값은 아래표
    Figure 112005000839379-pct00030
    중의 선택된 하나에 따라 예측되는 것을 특징으로 하는 장치.
  20. 제 16 항에 있어서, 상기 명령은 매크로블록을 인트라코딩하고 인트라코딩된 매크로블록을 디코딩하는 것 중 선택된 하나를 수행하도록 더 적용되고, 여기서, 인트라코딩된 매크로블록은 제2예측모드하에서 예측된 픽셀값의 4×8서브블록, 8×4서브블록, 및 8×8서브블록중의 적어도 선택된 하나를 포함하고, 대각선의 픽셀값은 아래표
    Figure 112005000839379-pct00031
    중의 선택된 하나에 따라 예측되는 것을 특징으로 하는 장치.
  21. 제 16 항에 있어서, 상기 명령은 매크로블록을 인트라코딩하고 인트라코딩된 매크로블록을 디코딩하는 것 중 선택된 하나를 수행하도록 더 적용되고, 여기서, 인트라코딩된 매크로블록은 제2예측모드하에서 예측된 픽셀값의 4×8서브블록, 8×4서브블록, 및 8×8서브블록중의 적어도 선택된 하나를 포함하고, 대각선의 픽셀값은 아래표
    Figure 112005000839379-pct00032
    중의 선택된 하나에 따라 예측되는 것을 특징으로 하는 장치.
  22. 제 16 항에 있어서, 상기 명령은 매크로블록을 인트라코딩하고 인트라코딩된 매크로블록을 디코딩하는 것 중 선택된 하나를 수행하도록 더 적용되고, 여기서, 인트라코딩된 매크로블록은 제2예측모드하에서 예측된 픽셀값의 4×8서브블록, 8×4서브블록, 및 8×8서브블록중의 적어도 선택된 하나를 포함하고, 대각선의 픽셀값은 아래표
    Figure 112005000839379-pct00033
    중의 선택된 하나에 따라 예측되는 것을 특징으로 하는 장치.
  23. 제 16 항에 있어서, 상기 명령은 매크로블록을 인트라코딩하고 인트라코딩된 매크로블록을 디코딩하는 것 중 선택된 하나를 수행하도록 더 적용되고, 여기서, 인트라코딩된 매크로블록은 제2예측모드하에서 예측된 픽셀값의 4×8서브블록, 8×4서브블록, 및 8×8서브블록중의 적어도 선택된 하나를 포함하고, 대각선의 픽셀값은 아래표
    Figure 112005000839379-pct00034
    중의 선택된 하나에 따라 예측되는 것을 특징으로 하는 장치.
  24. 제 16 항에 있어서, 상기 명령은 매크로블록을 인트라코딩하고 인트라코딩된 매크로블록을 디코딩하는 것 중 선택된 하나를 수행하도록 더 적용되고, 여기서, 인트라코딩된 매크로블록은 제2예측모드하에서 예측된 픽셀값의 4×8서브블록, 8×4서브블록, 및 8×8서브블록중의 적어도 선택된 하나를 포함하고, 대각선의 픽셀값은 아래표
    Figure 112005000839379-pct00035
    중의 선택된 하나에 따라 예측되는 것을 특징으로 하는 장치.
  25. 제 16 항에 있어서, 상기 명령을 수행하도록 상기 저장매체에 결합된 프로세서를 더 포함하는 것을 특징으로 하는 장치.
  26. 제 16 항에 있어서, 상기 명령과 저장매체를 포함하는 인코더 및 디코더중 적어도 선택된 하나를 포함하는 것을 특징으로 하는 장치.
  27. 제 26 항에 있어서, 상기 장치는 팜 사이즈 컴퓨팅 디바이스, 무선 모바일폰, 개인휴대정보단말기, 랩탑 컴퓨팅 디바이스, 데스크탑 컴퓨팅 디바이스, 셋탑박스, 서버, 컴팩트디스크 플레이어, 디지털 비디오 디스크 플레이어, 텔레비젼, 및 디스플레이 모니터 중의 선택된 하나을 포함하는 것을 특징으로 하는 장치.
  28. 제 26 항에 있어서, 상기 장치는 집적화된 비디오 성능을 가지는 마더보드 및 비디오 도터 카드를 포함하는 것을 특징으로 하는 장치.
  29. 비디오 데이타의 인트라코딩 및 인트라코딩된 비디오 데이타의 디코딩 중 선택된 하나를 실행하도록 구성된 장치에 있어서, 상기 장치는:
    적어도 비디오 데이타의 매크로블록을 저장하는 저장매체; 및
    상기 저장매체에 결합되어 (a) 비디오 데이타의 매크로블록을 인트라코딩하는 단계 및 (b) 비디오 데이타의 인트라코딩된 매크로블록을 디코딩하는 단계 중 적어도 선택된 하나를 수행하는 논리회로;를 포함하고,
    여기서, 인트라코딩된 매크로블록은 제1예측모드하에서 예측된 픽셀값의 4×4서브블록을 포함하고, 대각선의 픽셀값은 아래식중에 선택된 하나에 의해 예측되고,
    Figure 112009059034396-pct00036
    여기서, a-d는 4×4서브블록의 제1행의 예측된 픽셀값이고,
    e-h는 4×4서브블록의 제2행의 예측된 픽셀값이고,
    i-l은 4×4서브블록의 제3행의 예측된 픽셀값이고,
    m-p는 4×4서브블록의 제4행의 예측된 픽셀값이고,
    A-H는 4×4서브블록의 위에 인접하는 서브블록의 하부 경계 픽셀의 픽셀값인 것을 특징으로 하는 장치.
  30. 비디오 데이타의 인트라코딩 및 인트라코딩된 비디오 데이타의 디코딩 중 선택된 하나를 실행하도록 구성된 장치에 있어서, 상기 장치는:
    적어도 비디오 데이타의 매크로블록을 저장하는 저장매체; 및
    상기 저장매체에 결합되어 비디오 데이타의 매크로블록을 인트라코딩하는 단계 및 비디오 데이타의 인트라코딩된 매크로블록을 디코딩하는 단계 중 선택된 하나를 수행하는 논리회로;를 포함하고,
    여기서, 인트라코딩된 매크로블록은 아래와 같은 제1예측모드하에서 예측된 픽셀값의 M×N서브블록을 포함하고,
    여기서, M×N서브블록은 4×8 서브블록, 8×4 서브블록, 및 8×8 서브블록 중 선택된 하나이고,
    i=0-(N-1), j=0-(M-1)에 대해
    tO-tN 및 lO-lM이 이용가능할 때,
    pij=(tO+...+tN+lO+...+lM+N/2+M/2)/(M+N);
    단지 tO-tN 만이 이용가능할 때,
    pij=(tO+...+tN+N/2)/N;
    단지 lO-lM 만이 이용가능할 때,
    pij=(lO+...+lM+M/2)/M;
    그 외는 pij=128;이고,
    pij는 M×N서브블록내의 행과 열 위치를 나타내는 지수인 i 및 j를 가지는 M×N서브블록의 픽셀값이고,
    tO-tN은 M×N서브블록위에 인접하는 서브블록의 하부 경계 픽셀의 픽셀값이고,
    lO-lM은 M×N서브블록의 좌측에 인접하는 서브블록의 우측 경계 픽셀의 픽셀값인 것을 특징으로 하는 장치.
KR1020057000286A 2000-12-06 2003-06-12 비디오 데이타의 인트라코딩 방법 및 장치 KR100952892B1 (ko)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US09/732,522 US6765964B1 (en) 2000-12-06 2000-12-06 System and method for intracoding video data
US39452402P 2002-07-08 2002-07-08
US60/394,524 2002-07-08
US41412002P 2002-09-27 2002-09-27
US60/414,120 2002-09-27
US60/414,210 2002-09-27
US41544702P 2002-10-01 2002-10-01
US60/415,447 2002-10-01
PCT/US2003/018963 WO2004006587A1 (en) 2000-12-06 2003-06-12 Intra coding video data methods and apparatuses

Publications (2)

Publication Number Publication Date
KR20050021445A KR20050021445A (ko) 2005-03-07
KR100952892B1 true KR100952892B1 (ko) 2010-04-16

Family

ID=36033904

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020057000286A KR100952892B1 (ko) 2000-12-06 2003-06-12 비디오 데이타의 인트라코딩 방법 및 장치

Country Status (7)

Country Link
US (1) US7606312B2 (ko)
EP (1) EP1649697B1 (ko)
JP (1) JP4491349B2 (ko)
KR (1) KR100952892B1 (ko)
CN (2) CN100481955C (ko)
AU (1) AU2003243595A1 (ko)
WO (1) WO2004006587A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101407883B1 (ko) * 2011-01-14 2014-06-24 소니 주식회사 Hevc용 인트라 크로마 모드 시그널링을 위한 코드워드 할당

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7266150B2 (en) 2001-07-11 2007-09-04 Dolby Laboratories, Inc. Interpolation of video compression frames
AU2013200690B2 (en) * 2002-06-28 2013-06-27 Dolby Laboratories Licensing Corporation Region sizing for macroblocks
KR101204788B1 (ko) * 2004-06-03 2012-11-26 삼성전자주식회사 영상의 공간 예측 부호화 방법, 부호화 장치, 복호화 방법및 복호화 장치
KR100813958B1 (ko) * 2004-06-07 2008-03-14 세종대학교산학협력단 동영상의 무손실 인코딩 및 디코딩 방법, 그 장치
KR100678911B1 (ko) 2005-07-21 2007-02-05 삼성전자주식회사 방향적 인트라 예측의 적용을 확장하여 비디오 신호를인코딩하고 디코딩하는 방법 및 장치
JP4571069B2 (ja) * 2005-11-28 2010-10-27 三菱電機株式会社 動画像符号化装置
CN100426869C (zh) * 2006-07-21 2008-10-15 北京中星微电子有限公司 一种视频预测编码方法和解码方法
FR2910768A1 (fr) * 2006-12-21 2008-06-27 Thomson Licensing Sas Procede et dispositif d'attribution d'un type de codage, et procede et dispositif de codage et de transcodage associes.
WO2009032255A2 (en) * 2007-09-04 2009-03-12 The Regents Of The University Of California Hierarchical motion vector processing method, software and devices
EP2106148A3 (en) * 2008-03-28 2010-11-03 Samsung Electronics Co., Ltd. Method and apparatus for encoding/decoding information about intra-prediction mode of video
JP4584324B2 (ja) * 2008-05-22 2010-11-17 ルネサスエレクトロニクス株式会社 データ処理システム、及びコンポーネント管理方法
WO2010017166A2 (en) 2008-08-04 2010-02-11 Dolby Laboratories Licensing Corporation Overlapped block disparity estimation and compensation architecture
WO2010038212A2 (en) * 2008-10-01 2010-04-08 Nxp B.V. Embedded video compression for hybrid contents
US9704177B2 (en) 2008-12-23 2017-07-11 International Business Machines Corporation Identifying spam avatars in a virtual universe (VU) based upon turing tests
US9697535B2 (en) 2008-12-23 2017-07-04 International Business Machines Corporation System and method in a virtual universe for identifying spam avatars based upon avatar multimedia characteristics
US8537219B2 (en) 2009-03-19 2013-09-17 International Business Machines Corporation Identifying spatial locations of events within video image data
US8553778B2 (en) * 2009-03-19 2013-10-08 International Business Machines Corporation Coding scheme for identifying spatial locations of events within video image data
US8656476B2 (en) 2009-05-28 2014-02-18 International Business Machines Corporation Providing notification of spam avatars
US20110090954A1 (en) * 2009-10-21 2011-04-21 Cohen Robert A Video Codes with Directional Transforms
US9025661B2 (en) 2010-10-01 2015-05-05 Qualcomm Incorporated Indicating intra-prediction mode selection for video coding
US8913662B2 (en) * 2011-01-06 2014-12-16 Qualcomm Incorporated Indicating intra-prediction mode selection for video coding using CABAC
KR101824241B1 (ko) * 2011-01-11 2018-03-14 에스케이 텔레콤주식회사 인트라 부가정보 부호화/복호화 장치 및 방법
JP2013015912A (ja) * 2011-06-30 2013-01-24 Toshiba Corp データ転送装置及びデータ転送方法
US9398300B2 (en) * 2011-10-07 2016-07-19 Texas Instruments Incorporated Method, system and apparatus for intra-prediction in video signal processing using combinable blocks
US9979970B2 (en) 2014-08-08 2018-05-22 Qualcomm Incorporated System and method for determining buffer fullness for display stream compression
JP2016126037A (ja) 2014-12-26 2016-07-11 ソニー株式会社 信号処理装置、および信号処理方法、並びにプログラム
JP2018533871A (ja) * 2015-11-11 2018-11-15 サムスン エレクトロニクス カンパニー リミテッド ビデオ復号方法及びその装置、並びにビデオ符号化方法及びその装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4951139A (en) * 1988-03-30 1990-08-21 Starsignal, Inc. Computer-based video compression system
WO1993018618A1 (en) * 1992-03-03 1993-09-16 Kabushiki Kaisha Toshiba Time-varying image encoder
US5247355A (en) * 1992-06-11 1993-09-21 Northwest Starscan Limited Partnership Gridlocked method and system for video motion compensation
US6031937A (en) * 1994-05-19 2000-02-29 Next Software, Inc. Method and apparatus for video compression using block and wavelet techniques
KR0134483B1 (ko) * 1994-06-14 1998-05-15 배순훈 디코더에 있어서 어드레스 보정 회로(address correction circuit of the decoder)
US5946044A (en) * 1995-06-30 1999-08-31 Sony Corporation Image signal converting method and image signal converting apparatus
JP3788823B2 (ja) * 1995-10-27 2006-06-21 株式会社東芝 動画像符号化装置および動画像復号化装置
JP3157144B1 (ja) * 1996-05-28 2001-04-16 松下電器産業株式会社 画像予測復号化方法
JPH10290464A (ja) * 1997-04-14 1998-10-27 Kokusai Denshin Denwa Co Ltd <Kdd> 符号化モード判定装置
US6130912A (en) * 1998-06-09 2000-10-10 Sony Electronics, Inc. Hierarchical motion estimation process and system using block-matching and integral projection
JP2003199111A (ja) * 2001-12-27 2003-07-11 Matsushita Electric Ind Co Ltd 予測装置、符号化装置、逆予測装置、復号装置、及び、演算装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JVT-B118, Working Draft Number 2, Revision 0 (13, Mar.2002)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101407883B1 (ko) * 2011-01-14 2014-06-24 소니 주식회사 Hevc용 인트라 크로마 모드 시그널링을 위한 코드워드 할당

Also Published As

Publication number Publication date
US20060056518A1 (en) 2006-03-16
CN101505429B (zh) 2011-06-08
JP2005532768A (ja) 2005-10-27
WO2004006587A1 (en) 2004-01-15
CN100481955C (zh) 2009-04-22
KR20050021445A (ko) 2005-03-07
JP4491349B2 (ja) 2010-06-30
EP1649697A1 (en) 2006-04-26
EP1649697B1 (en) 2008-09-17
CN1679342A (zh) 2005-10-05
US7606312B2 (en) 2009-10-20
CN101505429A (zh) 2009-08-12
AU2003243595A1 (en) 2004-01-23

Similar Documents

Publication Publication Date Title
KR100952892B1 (ko) 비디오 데이타의 인트라코딩 방법 및 장치
US10701368B2 (en) System and method for intracoding video data
CN111955007A (zh) 视频解码的方法和装置
KR101608426B1 (ko) 영상의 인트라 예측 부호화/복호화 방법 및 그 장치
CN111869212A (zh) 小块预测和变换的方法和装置
KR20140111139A (ko) 가변블록 사이즈 코딩 정보를 이용한 관심영역 코딩 방법 및 장치
WO2004038921A2 (en) Method and system for supercompression of compressed digital video
US20070177664A1 (en) Entropy encoding/decoding method and apparatus
CN111492661A (zh) 视频解码的方法和装置、及存储介质
CN111684810A (zh) 数据编码和解码
US8243798B2 (en) Methods and apparatus for scalable video bitstreams
US20060133491A1 (en) Video codec
CN113475067A (zh) 视频编解码方法及装置
KR20130085088A (ko) 스케일러블 비디오 코딩에서의 고속 모드 결정 방법 및 그 장치
JP3776735B2 (ja) 画像予測復号化方法,画像予測復号化装置,画像予測符号化方法,画像予測符号化装置,及びデータ記憶媒体
EP1750452B1 (en) Apparatus for intra coding video data
Singh et al. Review of compression techniques
JP2022548685A (ja) 画像データの符号化及び復号化
US20130101023A9 (en) Video encoder with video decoder reuse and method for use therewith
US20120002719A1 (en) Video encoder with non-syntax reuse and method for use therewith
JPH07336681A (ja) 画像変換装置
JP2008141530A (ja) 画像符号化装置及び画像符号化方法
JP2001268571A (ja) 動画像再符号化装置

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
FPAY Annual fee payment

Payment date: 20180328

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20190328

Year of fee payment: 10