KR20160056901A - 비디오 코딩 방법, 장치 및 컴퓨터 프로그램 - Google Patents

비디오 코딩 방법, 장치 및 컴퓨터 프로그램 Download PDF

Info

Publication number
KR20160056901A
KR20160056901A KR1020167008348A KR20167008348A KR20160056901A KR 20160056901 A KR20160056901 A KR 20160056901A KR 1020167008348 A KR1020167008348 A KR 1020167008348A KR 20167008348 A KR20167008348 A KR 20167008348A KR 20160056901 A KR20160056901 A KR 20160056901A
Authority
KR
South Korea
Prior art keywords
subset
prediction
mode
block
indication
Prior art date
Application number
KR1020167008348A
Other languages
English (en)
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 KR20160056901A publication Critical patent/KR20160056901A/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/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • 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/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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • 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/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/109Selection of coding mode or of prediction mode among a plurality of temporal 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/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/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • 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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

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

Abstract

비디오 코딩을 위한 방법, 장치 및 컴퓨터 프로그램이 개시된다. 인코딩에서는, 동작 세트 중 하나 이상의 서브세트가 결정되고, 상기 동작의 서브세트 내의 동작 중 하나의 동작이 선택되며, 서브세트 및 선택된 동작에 대한 표시가 제공된다. 디코딩은 동작 세트 중 하나 이상의 서브세트를 결정하는 단계, 하나 이상의 서브세트 중 선택된 서브세트를 나타내는 서브세트 표시를 수신하며 선택된 서브세트 내의 동작 중에 선택된 동작을 나타내는 동작 표시를 수신하는 단계, 및 상기 동작 표시에 기초하여 동작을 선택하는 단계를 포함한다.

Description

비디오 코딩 방법, 장치 및 컴퓨터 프로그램{METHODS, APPARATUSES AND COMPUTER PROGRAMS FOR VIDEO CODING}
본 발명은 인코딩 및 디코딩 장치, 방법 및 컴퓨터 프로그램에 관한 것이다.
비디오 코덱은 입력 비디오를 저장 및/또는 전송에 적절한 압축된 표현으로 변환하는 인코더, 및 압축된 비디오 표현을 다시 보기가능 형식(viewable form)으로 압축 해제할 수 있는 디코더, 또는 그 중 하나를 포함할 수 있다. 인코더는 예를 들어 낮은 비트 레이트에서 비디오를 더욱 콤팩트한 형식으로 표현하기 위해 원래의 비디오 시퀀스에서 일부 정보를 폐기할 수 있다.
예를 들어 국제 전기 통신 연합의 ITU-T H.263 및 H.264 코딩 표준에 따라 동작하는 많은 하이브리드 비디오 코덱은 비디오 정보를 두 단계로 인코딩한다. 제 1 단계에서, 특정 화상 영역 또는 "블록(block)"의 픽셀 값이 예측된다. 이러한 픽셀 값은 예를 들어 움직임 보상 메커니즘에 의해 예측될 수 있으며, 이러한 메커니즘은 코딩되는 블록에 밀접하게 대응하는 이전에 인코딩된 비디오 프레임(또는 나중에 코딩된 비디오 프레임) 중 하나의 영역을 찾아 표시하는 것을 포함한다. 추가적으로, 픽셀 값은 공간적 영역 관계를 찾아 표시하는 것을 포함하는 공간적 메커니즘에 의해 예측될 수 있다.
이전의(또는 나중의) 이미지로부터의 이미지 정보를 이용하는 예측 접근 방식은 또한 인터 예측 방법(Inter prediction method)으로 지칭될 수 있으며, 동일한 이미지 내의 이미지 정보를 이용하는 예측 접근 방식은 또한 인트라 예측 방법(Intra prediction method)으로 지칭될 수 있다.
제 2 단계는 픽셀의 예측된 블록과 픽셀의 원래의 블록 사이의 오류를 코딩하는 단계이다. 이것은 전형적으로 특정된 변환을 이용하여 픽셀 값의 차를 변환하여 달성된다. 이러한 변환은 전형적으로 이산 코사인 변환(DCT) 또는 이의 변형이다. 이러한 차를 변환한 후, 변환된 차는 양자화되어 엔트로피(entropy) 인코딩된다.
양자화 프로세스의 충실도(fidelity)를 변화시킴으로써, 인코더는 픽셀 표현의 정확성(다시 말하면, 화상의 품질)과 인코딩된 비디오 표현의 크기(다시 말하면, 파일 크기 또는 전송 비트 레이트) 사이의 균형을 제어할 수 있다.
디코더는 (인코더에 의해 생성되고 이미지의 압축된 표현에 저장된 움직임 또는 공간적 정보를 이용하여) 픽셀 블록의 예측된 표현을 형성하기 위해 인코더에 의해 이용되는 것과 유사한 예측 메커니즘 및 예측 오류 디코딩(공간적 영역에서 양자화된 예측 오류 신호를 복구하기 위한 예측 오류 코딩의 역 동작)을 적용하여 출력 비디오를 재구성한다.
픽셀 예측 및 오류 디코딩 프로세스를 적용한 후, 디코더는 출력 비디오 프레임을 형성하기 위해 예측 및 예측 오류 신호(픽셀 값)를 조합한다.
디코더(및 인코더)는 또한 비디오 시퀀스에서 다가오는 프레임에 대한 예측 기준으로 디스플레이 및/또는 저장을 위해 출력 비디오를 전달하기 전에 출력 비디오의 품질을 개선하기 위해 추가적인 필터링 프로세스를 적용할 수 있다.
전형적인 비디오 코덱에서, 움직임 정보는 각 움직임 보상된 이미지 블록과 관련된 움직임 벡터에 의해 나타낸다. 이러한 움직임 벡터의 각각은 (인코더에서) 코딩되거나 (디코더에서) 디코딩될 화상의 이미지 블록의 변위, 및 이전에 코딩되거나 디코딩된 이미지(또는 화상) 중 하나의 예측 소스 블록을 나타낸다. 움직임 벡터를 효율적으로 나타내기 위해, 움직임 벡터는 전형적으로 블록 특정 예측된 움직임 벡터에 대해 차등적으로 코딩된다. 전형적인 비디오 코덱에서, 예측된 움직임 벡터는 예를 들어 인접한 블록의 인코딩 또는 디코딩된 움직임 벡터의 평균을 계산하여 미리 정의된 방식으로 생성된다.
전형적인 비디오 코덱에서, 움직임 보상 후 예측 잔차(prediction residual after motion compensation)는 먼저 (DCT와 같은)변환 커널로 변환된 후에 코딩된다. 이에 대한 이유는 종종 잔차 및 변환 간의 약간의 상관 관계가 여전히 존재한다는 것이 많은 경우에 이러한 상관 관계를 줄이며 더욱 효율적인 코딩을 제공하는데 도움을 줄 수 있다는 것이다.
전형적인 비디오 인코더는 최적의 코딩 모드, 예를 들어 원하는 매크로 블록 모드 및 관련된 움직임 벡터를 찾을 수 있도록 라그랑지안 비용 함수(Lagrangian cost function)를 활용한다. 이러한 타입의 비용 함수는 손실 코딩 방법으로 인한 정확한 또는 추정된 이미지 왜곡, 및 이미지 영역에서의 픽셀 값을 나타내는데 필요한 정확한 또는 추정된 량의 정보를 서로 결합하기 위해 가중 인수(weighting factor) 또는 □를 이용한다.
이것은 방정식에 의해 나타낼 수 있다.
C = D + □R (1)
여기서 C는 최소화될 라그랑지안 비용이고, D는 현재 고려되는 모드 및 움직임 벡터에 따른 이미지 왜곡(예를 들어, 원래의 이미지 블록 및 코딩된 이미지 블록의 픽셀 값 사이의 평균 제곱 오류)이고, □는 라그랑지안 계수이며, R은 (후보 움직임 벡터를 나타내기 위한 데이터량을 포함하는) 디코더에 이미지 블록을 재구성하도록 필요한 데이터를 나타내는데 필요한 비트의 개수이다.
H.264/AVC와 같은 일부 하이브리드 비디오 코덱은 화상에서 이미 처리된 영역의 픽셀 값을 활용하는 공간 수단(spatial means)에 의해 인트라 코딩된 영역(Intra coded area)을 예측한다. 전형적인 코덱은 상응하는 방향으로부터 예측을 제공하는 이용 가능한 예측 방법의 고정 세트를 갖는다. 이용 가능한 예측 방향의 개수가 작으면, 화상 콘텐츠의 모든 방향성 구조에 부합하는 방법이 아닐 수 있음에 따라 압축 성능이 악화될 수 있다. 이용 가능한 예측 방향의 개수가 크면, 구현의 복잡성은 부담이 될 수 있다. 일부 비디오 코덱은 예를 들어 2 내지 8의 서로 다른 방향의 방향성 인트라 예측 방법의 작은 개수를 이용하는데, 이러한 개수는 차선의 성능으로 이어질 수 있지만, 구현의 복잡성을 중간 레벨로 유지할 수 있다.
많은 비디오 코덱은 서로 다른 사용 케이스에 이용되도록 코딩 툴("프로파일")의 서브세트를 정의한다. 이러한 접근 방식은 서로 다른 장치가 구현 플랫폼에서 의도된 용도 및 이용 가능한 자원에 가장 적절한 코딩 툴을 구현하도록 하는 이득을 갖고 있다. 그러나, 이러한 접근 방식의 결점은 코덱의 서로 다른 프로파일 사이의 상호 운용성이 상실된다는 것이다.
예를 들어 국제 전기 통신 연합의 ITU-T H.264/AVC 코딩 표준에 따라 동작하는 일부 범용 비디오 코덱은 계산 요건과 코딩 효율 사이에 서로 다른 상충 관계(trade-offs)를 생성하는 다양한 방법으로 비디오를 인코딩하는 동안에 적용될 수 있는 코딩 툴의 세트를 정의한다. 인코더는 비 실시간 환경에서 적절한 시간에 비디오 인코딩 동작을 수행할 수 있도록 이러한 상충 관계의 적어도 일부를 형성할 수 있거나, 예를 들어 특히 실시간 비디오 인코딩의 경우에 제한된 계산 자원을 선호하는 더욱 강력한 상충 관계를 형성할 수 있다. 이러한 종류의 동작은 비스트스림 신텍스(bitstream syntax)는 인코더가 평가하지 않은 동작을 위한 코드워드를 포함하여, 생성된 비트스트림에 존재하지 않을 때 이러한 종류의 동작은 코딩 효율성에서 차선으로 이어질 수 있다.
비디오 인코더 및 디코더는 비트스트림의 각 심볼에 대한 최대 허용 데이터 세트를 나타내는 미리 정의된 코드워드의 알파벳을 이용한다.
본 발명은 심볼의 세트에 대한 코드워드의 알파벳이 이러한 심볼의 각각에 대한 이용 가능한 코드워드의 제한된 세트와 일치하도록 수정되는 방법을 소개한다. 코드워드의 세트에 대한 제한에 관한 정보는 비트스트림으로 시그널링되며 비디오 디코더에서 디코딩될 수 있다. 이러한 정보를 디코딩한 후, 비디오 디코더는 표시된 제한 사항을 충족하는 코드워드의 제한된 세트를 이용하도록 구성할 수 있다.
예시적인 동작 모드에서, 비트스트림은 각각의 예측 블록 크기에 대한 허용된 인트라 예측 방향의 세트에 관한 정보를 반송한다. 이러한 정보는 코딩된 비디오 프레임의 시퀀스에 대한 공통의 매개 변수를 정의하는 비트스트림의 시퀀스 파라미터 설정 섹션으로 반송될 수 있다. 더욱이, 이러한 예시적인 동작 모드에서, 예측 방향의 디폴트 개수(default number)는 각 이용 가능한 예측 블록 크기로 설정되며, 예측 방향의 디폴트 개수가 이용되는지의 표시(indication)는 비트스트림으로 시그널링된다. 예측 방향의 디폴트 개수가 이용되지 않을 경우에는 추가적인 정보가 허용된 예측 방향의 실제 개수를 식별하기 위해 비트스트림에 포함될 수 있다.
본 발명의 제 1 양태에 따르면,
동작 세트 중 하나 이상의 서브세트,
상기 동작의 서브세트 내의 동작 중 하나의 동작을 선택하기 위해 구성된 선택기, 및
서브세트 및 선택된 동작에 대한 표시를 제공하기 위해 구성된 표시 생성기를 포함하는 장치가 제공된다.
일부 실시예에서, 각각의 서브세트는 서로 다른 개수의 동작을 포함하며, 상기 표시 생성기는 서브세트에 포함된 동작의 개수를 서브세트에 대한 상기 표시로서 제공하기 위해 구성된다.
제 1 양태에 따른 장치는 추가로 각각의 서브세트에 할당된 코드워드의 알파벳을 포함할 수 있으며, 상기 표시 생성기는 선택된 동작에 대한 상기 표시로서 선택된 서브세트에 할당된 알파벳의 코드워드를 이용하기 위해 구성된다.
본 발명의 제 2 양태에 따르면,
동작 세트 중 하나 이상의 서브세트를 결정하는 단계,
상기 동작의 서브세트 내의 동작 중 하나의 동작을 선택하는 단계, 및
서브세트 및 선택된 동작에 대한 표시를 제공하는 단계를 포함하는 방법이 제공된다.
본 발명의 제 3 양태에 따르면, 장치에 의해 이용하기 위해 코드로 저장된 컴퓨터 판독 가능 저장 매체가 제공되되, 이 코드는 프로세서에 의해 실행될 때 장치가
동작 세트 중 하나 이상의 서브세트를 결정하는 것,
상기 동작의 서브세트 내의 동작 중 하나의 동작을 선택하는 것, 및
서브세트 및 선택된 동작에 대한 표시를 제공하는 것을 수행하도록 한다.
본 발명의 제 4 양태에 따르면, 적어도 하나의 프로세서 및 적어도 하나의 메모리가 제공되되, 상기 적어도 하나의 메모리에는 코드가 저장되며, 상기 코드는 상기 적어도 하나의 프로세서에 의해 실행될 때 장치가
동작 세트 중 하나 이상의 서브세트를 결정하는 것,
상기 동작의 서브세트 내의 동작 중 하나의 동작을 선택하는 것, 및
서브세트 및 선택된 동작에 대한 표시를 제공하는 것을 수행하도록 한다.
본 발명의 제 5 양태에 따르면,
동작 세트 중 하나 이상의 서브세트,
상기 하나 이상의 서브세트 중 선택된 서브세트를 나타내는 서브세트 표시를 수신하며 상기 선택된 서브세트 내의 동작 중 선택된 동작을 나타내는 동작 표시를 수신하기 위한 입력, 및
상기 동작 표시에 기초하여 동작을 선택하기 위한 선택기를 포함하는 장치가 제공된다.
본 발명의 제 6 양태에 따르면,
동작 세트 중 하나 이상의 서브세트를 결정하는 단계,
상기 하나 이상의 서브세트 중 선택된 서브세트를 나타내는 서브세트 표시를 수신하며 상기 선택된 서브세트 내의 동작 중 선택된 동작을 나타내는 동작 표시를 수신하는 단계, 및
상기 동작 표시에 기초하여 동작을 선택하는 단계를 포함하는 방법이 제공된다.
본 발명의 제 7 양태에 따르면, 장치에 의해 이용하기 위해 코드가 저장된 컴퓨터 판독 가능 저장 매체가 제공되되, 이 코드는 프로세서에 의해 실행될 때 장치가
동작 세트 중 하나 이상의 서브세트를 결정하는 것,
상기 하나 이상의 서브세트 중 선택된 서브세트를 나타내는 서브세트 표시를 수신하며 상기 선택된 서브세트 내의 동작 중 선택된 동작을 나타내는 동작 표시를 수신하는 것, 및
상기 동작 표시에 기초하여 동작을 선택하는 것을 수행하도록 한다.
본 발명의 제 8 양태에 따르면, 적어도 하나의 프로세서 및 적어도 하나의 메모리가 제공되되, 상기 적어도 하나의 메모리에는 코드가 저장되며, 상기 코드는 상기 적어도 하나의 프로세서에 의해 실행될 때 장치가
동작 세트 중 하나 이상의 서브세트를 결정하는 것,
상기 하나 이상의 서브세트 중 선택된 서브세트를 나타내는 서브세트 표시를 수신하며 상기 선택된 서브세트 내의 동작 중 선택된 동작을 나타내는 동작 표시를 수신하는 것, 및
상기 동작 표시에 기초하여 동작을 선택하는 것을 수행하도록 한다.
본 발명의 제 9 양태에 따르면,
동작 세트 중 하나 이상의 서브세트,
상기 동작의 서브세트 내의 동작 중 하나의 동작을 선택하기 위해 구성된 선택기, 및
서브세트 및 선택된 동작에 대한 표시를 제공하기 위해 구성된 표시 생성기를 포함하는 인코더가 제공된다.
본 발명의 제 10 양태에 따르면,
동작 세트 중 하나 이상의 서브세트,
상기 하나 이상의 서브세트 중 선택된 서브세트를 나타내는 서브세트 표시를 수신하며 상기 선택된 서브세트 내의 동작 중 선택된 동작을 나타내는 동작 표시를 수신하기 위한 입력, 및
상기 동작 표시에 기초하여 동작을 선택하기 위한 선택기를 포함하는 디코더가 제공된다.
본 발명의 제 11 양태에 따르면,
동작 세트 중 하나 이상의 서브세트를 정의하기 위한 수단,
상기 동작의 서브세트 내의 동작 중 하나의 동작을 선택하기 위한 수단, 및
서브세트 및 선택된 동작에 대한 표시를 제공하기 위한 수단을 포함하는 장치가 제공된다.
본 발명의 제 12 양태에 따르면,
동작 세트 중 하나 이상의 서브세트를 정의하기 위한 수단,
상기 하나 이상의 서브세트 중 선택된 서브세트를 나타내는 서브세트 표시를 수신하며 상기 선택된 서브세트 내의 동작 중 선택된 동작을 나타내는 동작 표시를 수신하기 위한 수단, 및
상기 동작 표시에 기초하여 동작을 선택하기 위한 수단을 포함하는 장치가 제공된다.
본 발명의 제 13 양태에 따르면,
예측을 위한 방향성 정보를 나타내는 각각의 예측 모드 중 하나 이상의 서브세트,
상기 예측 모드의 서브세트 내의 예측 모드 중 하나의 예측 모드를 선택하기 위해 구성된 선택기, 및
서브세트를 나타내는 서브세트 표시 및 선택된 예측 모드를 나타내는 예측 모드 표시를 제공하기 위해 구성된 표시 생성기를 포함하는 장치가 제공된다.
본 발명의 제 14 양태에 따르면,
예측을 위한 방향성 정보를 나타내는 각각의 예측 모드 중 하나 이상의 서브세트,
상기 하나 이상의 서브세트 중 선택된 서브세트를 나타내는 서브세트 표시를 수신하고, 상기 선택된 서브세트 내의 예측 모드 중에 선택된 예측 모드를 나타내는 예측 모드 표시를 수신하기 위한 입력, 및
상기 예측 모드 표시에 기초하여 동작을 선택하기 위한 선택기를 포함하는 장치가 제공된다.
본 발명은 다수의 방식으로 구현될 수 있다. 예를 들면, 예측 방향의 최대 개수는 예측 블록 크기에 의존할 필요가 없지만, 모든 블록 크기에 대해 동일할 수 있고, 최대 개수 및 예측 방향의 최대 개수의 시그널링은 슬라이스 타입(인트라/인터 슬라이스), 색상 평면 정보 또는 변환 계수의 양자화와 같은 여러 다른 변수에 의존할 수 있으며, 예측 방향의 최대 개수의 시그널링은 여러 방식으로 생성할 수 있다. 예를 들면, 그것은 시퀀스 매개 변수의 세트의 부분일 필요는 없지만, 예를 들어 대역 외로 시그널링될 수 있으며, 실제 인트라 예측 방향 및 코드워드로의 매핑의 세트는 이용 가능한 예측 방향 또는 다른 이용 가능한 정보의 개수에 따라 달라질 수 있다. 이러한 접근 방식은 또한 인트라 예측 방향 대신에 또는 이외에 서로 다른 종류의 데이터 심볼의 코딩, 예를 들어 예측 오류 코딩에서 변환 타입의 코딩에 적용될 수 있다.
본 발명의 일부 실시예는 심볼 요소에 대한 허용된 알파벳을 인코더가 실제로 비트스트림에 이용하는 알파벳으로 제한하여 저 복잡성 비디오 인코더가 더욱 효율적으로 동작하도록 한다. 이것은 결과적으로 코드워드에 대한 심볼의 매핑이 더욱 최적화될 수 있음에 따라 비트레이트를 절약할 수 있다.
본 발명의 더 나은 이해를 위해 예로서 첨부 도면이 이제 참조된다.
도 1은 본 발명의 일부 실시예를 채용한 전자 장치를 개략적으로 도시한다.
도 2는 본 발명의 일부 실시예를 채용하는데 적절한 사용자 장비를 개략적으로 도시한다.
도 3은 무선 및 유선 네트워크 연결을 이용하여 연결되는 본 발명의 실시예를 채용한 전자 장치를 개략적으로 더 도시한다.
도 4a는 인코더 내에 통합된 본 발명의 실시예를 개략적으로 도시한다.
도 4b는 본 발명의 일부 실시예에 따른 인트라 예측기의 실시예를 개략적으로 도시한다.
도 5는 도 4a에 도시된 바와 같은 인코더에 대해 본 발명의 실시예의 동작을 보여주는 흐름도를 도시한다.
도 6은 본 발명의 일부 실시예에 따른 디코더의 개략도를 도시한다.
도 7은 도 6에 도시된 디코더에 대해 본 발명의 실시예의 동작을 보여주는 흐름도를 도시한다.
도 8a는 구현의 하나의 모드에 대한 이용 가능한 예측 방향의 일례를 도시한다.
도 8b는 현재 블록의 픽셀 값이 수평 방향으로 주변하는 블록의 픽셀 값을 사용하여 예측되는 수평 모드의 일례를 도시한다.
도 8c는 현재 블록의 픽셀 값이 수직 방향으로 주변하는 블록의 픽셀 값을 사용하여 예측되는 수직 모드의 일례를 도시한다.
도 8d는 블록의 가장 낮은 행과 기준 행 사이의 변위가 음일 때 기준 픽셀로부터 블록의 픽셀의 하나의 행을 예측하는 일례를 도시한다.
도 8e는 다른 실시예에 따른 기준 픽셀로부터 블록에서의 픽셀에 대한 예측 값을 획득하는 일례를 도시한다.
도 9는 이미지의 비트스트림의 일례를 도시한다.
다음은 일부 실시예에서 비디오 코딩 시스템에서 전송될 정보를 줄이고, 더욱 최적의 코드워드 매핑을 제공하기 위한 적절한 장치 및 가능한 메커니즘을 더욱 상세히 설명한다. 이 점에서, 예시적인 장치 또는 전자 디바이스(50)의 개략적인 블록도를 도시하는 도 1이 우선 참조되며, 이는 본 발명의 실시예에 따라 코덱을 통합할 수 있다.
전자 디바이스(50)는 예를 들어 무선 통신 시스템의 이동 단말기 또는 사용자 장비일 수 있다. 그러나, 본 발명의 실시예는 비디오 이미지의 인코딩 및 디코딩 또는 비디오 이미지의 인코딩 또는 디코딩을 필요로 할 수 있는 어떤 전자 디바이스 또는 장치 내에서 구현될 수 있다고 이해될 수 있다.
장치(50)는 디바이스를 통합하고 보호하기 위한 하우징(30)을 포함할 수 있다. 장치(50)는 추가로 액정 디스플레이의 형태의 디스플레이(32)를 포함할 수 있다. 본 발명의 다른 실시예에서, 디스플레이는 이미지 또는 비디오를 표시하는데 적절한 어떤 디스플레이 기술일 수 있다. 장치(50)는 추가로 키패드(34)를 포함할 수 있다. 본 발명의 다른 실시예에서는 어떤 적절한 데이터 또는 사용자 인터페이스 메커니즘이 이용될 수 있다. 예를 들면, 사용자 인터페이스는 터치 감응 디스플레이(touch-sensitive display)의 부분처럼 가상 키보드 또는 데이터 입력 시스템으로 구현될 수 있다. 장치는 마이크로폰(36), 또는 디지털 또는 아날로그 신호 입력일 수 있는 어떤 적절한 오디오 입력을 포함할 수 있다. 장치(50)는 본 발명의 실시예에서 이어폰(38), 스피커, 또는 아날로그 오디오 또는 디지털 오디오 출력 연결부 중 어느 하나일 수 있는 오디오 출력 디바이스를 더 포함할 수 있다. 장치(50)는 또한 배터리(40)(또는 본 발명의 다른 실시예에서는 태양 전지, 연료 전지 또는 시계 발전기(clockwork generator)와 같은 어떤 적절한 모바일 에너지 디바이스에 의해 전력이 공급될 수 있는 디바이스)를 포함할 수 있다. 장치는 추가로 다른 디바이스로의 단거리 가시거리 내 통신(short range line of sight communication)을 위한 적외선 포트(42)를 포함할 수 있다. 다른 실시예에서, 장치(50)는 추가로 예를 들어 블루투스 무선 연결 또는 USB/파이어와이어(firewire) 유선 연결과 같은 어떤 적절한 단거리 통신 해결 방법을 제공할 수 있다.
장치(50)는 장치(50)를 제어하기 위한 제어기(56) 또는 프로세서를 포함할 수 있다. 제어기(56)는 본 발명의 실시예에서 이미지 형식의 데이터 및 오디오 데이터의 양자를 저장할 수 있으며, 또한 제어기(56)에 구현을 위한 명령어를 저장할 수 있는 메모리(58)에 연결될 수 있다. 제어기(56)는 추가로 오디오 및/또는 비디오 데이터의 코딩 및 디코딩을 실행하거나 제어기(56)에 의해 실행되는 코딩 및 디코딩을 돕는데 적절한 코덱 회로(54)에 연결될 수 있다.
장치(50)는 추가로 카드 판독기(48) 및 스마트 카드(46), 예를 들어 사용자 정보를 제공하며, 네트워크에서 사용자의 인증 및 권한 부여(authorization)에 대한 인증 정보를 제공하는데 적절한 UICC 및 UICC 판독기를 포함할 수 있다.
장치(50)는 제어기에 연결되며, 예를 들어 셀룰러 통신 네트워크, 무선 통신 시스템 또는 무선 근거리 통신망과의 통신을 위한 무선 통신 신호를 생성하는데 적절한 무선 인터페이스 회로(52)를 포함할 수 있다. 장치(50)는 추가로 무선 인터페이스 회로(52)에서 생성된 무선 주파수 신호를 다른 장치로 전송하며, 다른 장치로부터 무선 주파수 신호를 수신하기 위해 무선 인터페이스 회로(52)에 연결된 안테나(44)를 포함할 수 있다.
본 발명의 일부 실시예에서, 장치(50)는 처리를 위해 코덱(54) 또는 제어기로 전달되는 각각의 프레임을 기록 또는 검출할 수 있는 카메라를 포함한다. 본 발명의 일부 실시예에서, 장치는 전송 및/또는 저장하기 전에 다른 디바이스로부터 처리를 위한 비디오 이미지 데이터를 수신할 수 있다. 본 발명의 일부 실시예에서, 장치(50)는 무선 또는 유선 연결에 의해 코딩/디코딩을 위한 이미지를 수신할 수 있다.
도 3에 대해서, 본 발명의 실시예를 이용할 수 있는 시스템의 일례가 도시된다. 시스템(10)은 하나 이상의 네트워크를 통해 통신할 수 있는 다수의 통신 디바이스를 포함한다. 시스템(10)은 (GSM, UMTS, CDMA 네트워크 등과 같은) 무선 셀룰러 전화 네트워크, 어떤 IEEE 802.x 표준에 의해 정의된 것과 같은 무선 근거리 통신망(WLAN), 블루투스 개인 영역 네트워크, 이더넷 근거리 통신망, 토큰 링 근거리 통신망, 원거리 통신망 및 인터넷을 포함하지만 이에 제한되지 않는 유선 또는 무선 네트워크의 어떤 조합을 포함할 수 있다.
시스템(10)은 본 발명의 실시예를 구현하는데 적절한 유선 및 무선 통신 디바이스 또는 장치의 양자를 포함할 수 있다.
예를 들면, 도 3에 도시된 시스템은 이동 전화 네트워크(11)와 인터넷(28)의 표현(representation)을 도시한다. 인터넷(28)에 대한 연결은 장거리 무선 연결, 단거리 무선 연결 및 다양한 유선 연결을 포함할 수 있지만 이에 제한되지 않으며, 상기 다양한 유선 연결은 전화선, 케이블선, 전련선 및 이와 유사한 통신 경로를 포함하지만 이에 제한되지 않는다.
시스템(10)에 도시된 예시적인 통신 디바이스는 전자 디바이스 또는 장치(50), 개인용 휴대 단말기(PDA) 및 이동 전화(14)의 조합, PDA(16), 통합 메시징 디바이스(IMD)(18), 데스크톱 컴퓨터(20), 노트북 컴퓨터(22)를 포함할 수 있지만 이에 제한되지 않는다. 장치(50)는 이동 중인 개인에 의해 반송될 때 고정 또는 모바일 장치일 수 있다. 장치(50)는 또한 자동차, 트럭, 택시, 버스, 기차, 배, 비행기, 자전거, 오토바이 또는 어떤 유사한 적절한 수송 모드를 포함하지만 이에 제한되지 않는 수송 모드에 위치될 수 있다.
일부 또는 추가 장치는 통화 및 메시지를 송수신할 수 있으며, 기지국(24)에 대한 무선 연결부(25)를 통해 서비스 제공자와 통신할 수 있다. 기지국(24)은 이동 전화 네트워크(11)와 인터넷(28) 사이의 통신을 허용하는 네트워크 서버(26)에 연결될 수 있다. 이러한 시스템은 추가적인 통신 디바이스 및 다양한 타입의 통신 디바이스를 포함할 수 있다.
통신 디바이스는 코드 분할 다중 접속(CDMA), 이동 통신 세계화 시스템(GSM), 범용 이동 통신 시스템(UMTS), 시분할 다중 접속(TDMA), 주파수 분할 다중 접속(FDMA), 전송 제어 프로토콜-인터넷 프로토콜(TCP-IP), 단문 메시지 서비스(SMS), 멀티미디어 메시징 서비스(MMS), 이메일, 인스턴트 메시징 서비스(IMS), 블루투스, IEEE 802.11 및 어떤 유사한 무선 통신 기술을 포함하지만 이에 제한되지 않는 다양한 전송 기술을 이용하여 통신할 수 있다. 본 발명의 다양한 실시예를 구현하는데 수반되는 통신 디바이스는 무선, 적외선, 레이저, 케이블 연결 및 어떤 적절한 연결을 포함하지만 이에 제한되지 않는 다양한 매체를 이용하여 통신할 수 있다.
도 4a에 대해서, 본 발명의 실시예를 실행하는데 적절한 비디오 인코더의 블록도가 도시된다. 더욱이, 도 5에 대해서, 특히 예측 모드의 서브세트의 선택에 대해 본 발명의 실시예를 예시하며 선택된 서브세트에서 선택된 예측 모드의 표시를 제공하는 인코더의 동작이 흐름도로서 도시된다.
도 4a는 픽셀 예측기(302), 예측 오류 인코더(303) 및 예측 오류 디코더(304)를 포함하는 인코더를 도시한다. 도 4a는 또한 인터 예측기(306), 인트라 예측기(308), 모드 선택기(310), 필터(316) 및 기준 프레임 메모리(318)를 포함하는 것으로 픽셀 예측기(302)에 대한 실시예를 도시한다. 모드 선택기(310)는 블록 프로세서(381) 및 비용 평가기(cost evaluator)(382)를 포함한다. 도 4b는 또한 여러 인트라 예측 모드 Mode 1, Mode 2, ... , Mode n의 복수의 서브세트 S1, S2, S3를 포함하며 또한 예측 프로세서(309)를 포함할 수 있는 인트라 예측기(308)에 대한 실시예를 도시한다. 모드 선택기(310)는 또한 양자화기(384)를 포함할 수 있다.
픽셀 예측기(302)는 (이미지와 움직임 보상 기준 프레임(318) 사이의 차를 결정하는) 인터 예측기(306) 및 (현재 프레임 또는 화상의 이미 처리된 부분에만 기초하는 이미지 블록에 대한 예측을 결정하는) 인트라 예측기(308)의 양자에서 인코딩되도록 하기 위해 이미지(300)를 수신한다. 인터 예측기 및 인트라 예측기의 양방의 출력은 모드 선택기(310)로 전달된다. 인트라 예측기(308)는 둘 이상의 인트라 예측 모드를 가질 수 있다. 따라서, 각 모드는 인트라 예측을 수행하고, 예측된 신호를 모드 선택기(310)에 제공할 수 있다. 모드 선택기(310)는 또한 이미지(300)의 사본을 수신한다.
블록 프로세서(381)는 현재 블록을 인코딩하기 위해 어떤 인코딩 모드를 이용할 지를 판단한다. 블록 프로세서(381)가 인터 예측 모드를 이용하도록 결정하면, 그것은 인터 예측기(306)의 출력을 모드 선택기(310)의 출력으로 전달할 것이다. 블록 프로세서(381)가 인트라 예측 모드를 사용하도록 결정하면, 그것은 인트라 예측 모드 중 하나의 출력을 모드 선택기(310)의 출력으로 전달할 것이다.
일부의 예시적인 실시예에 따르면, 픽셀 예측기(302)는 다음과 같이 동작한다. 인터 예측기(306) 및 인트라 예측 모드(308)는 현재 블록의 예측된 픽셀 값을 획득하기 위해 현재 블록의 예측을 수행한다. 인터 예측기(306) 및 인트라 예측 모드(308)는 어떤 예측을 선택할 지를 분석하기 위해 현재 블록의 예측된 픽셀 값을 블록 프로세서(381)에 제공할 수 있다. 현재 블록의 예측된 값 외에, 블록 프로세서(381)는 일부 실시예에서 인트라 예측 모드로부터 방향성 인트라 예측 모드의 표시를 수신할 수 있다.
블록 프로세서(381)는 인터 예측 모드를 선택할 지 인트라 예측 모드를 선택할 지를 검사한다. 블록 프로세서(381)는 어떤 인코딩 방법이 어떤 기준에 대해 가장 효율적인 결과를 부여하는지를 분석하도록 식 (1) 또는 일부 다른 방법과 같은 비용 함수를 이용할 수 있다. 선택된 기준은 코딩 효율, 처리 비용 및/또는 일부 다른 기준을 포함할 수 있다. 블록 프로세서(381)는 각 방향성, 즉 각 인트라 예측 모드 및 인터 예측 모드에 대한 예측을 검사하고, 각 인트라 예측 모드 및 인터 예측 모드에 대한 비용 값을 계산할 수 있으며, 또는 블록 프로세서(381)는 예측 모드의 선택에서 모든 이용 가능한 예측 모드의 서브세트만을 검사할 수 있다.
일부 실시예에서, 이용 가능한 인트라 예측 모드는 수평 모드, 수직 모드, 다수의 대각선 모드 및 DC 모드를 포함한다. 수평 모드에서, 현재 블록에 대한 픽셀 값은 수평 방향의 주변 블록, 예를 들어 현재 블록의 좌측에 있는 주변 블록의 픽셀 값을 이용하여 예측된다. 이것에 대한 예는 도 8b에 도시된다. 수직 모드에서, 현재 블록에 대한 픽셀 값은 수직 방향의 주변 블록, 예를 들어 현재 블록의 위에 있는 주변 블록의 픽셀 값을 이용하여 예측된다. 이것에 대한 예는 도 8c에 도시된다. 대각선 모드에서, 현재 블록에 대한 픽셀 값은 "대각선(diagonal)" 방향의 주변 블록의 픽셀 값을 이용하여 예측된다. 이러한 상황에 대한 일부 예는 도 8d 및 8e에 도시된다.
일부 실시예에서는, 예를 들어 40개 이상의 서로 다른 예측 모드와 같이 정확히 수십 개의 이용 가능한 예측 모드가 있을 수 있다.
허용된 변위의 예가 방향성이 현재 블록에 대해 분석되는 도 8a에 도시된다. 이러한 변위는 블록의 마지막 행에서 마지막 픽셀을 참조로 표현되지만, 또한 동일한 블록의 다른 픽셀을 참조로 표현될 수 있다. 마지막 행의 마지막 픽셀에서 주변 블록의 다른 픽셀까지의 라인은 이러한 예시적인 실시예에서 허용된 방향(변위)를 보여준다. 주변 블록의 이러한 픽셀은 현재 블록의 픽셀의 예측을 위한 기준 픽셀로 이용될 수 있다. 기준 픽셀은 도 8a에서 삼각형으로 표시된다. 이러한 예에서, 블록 크기는 8×8이고, 범위는 -N에서 +N까지이며, 변위는 하나의 픽셀 해상도에 따라 -8 픽셀에서 +8 픽셀까지일 수 있다. 일부 다른 실시예에서, 두 개의 연속 허용된 변위의 차는 하나의 픽셀의 부분, 예를 들어 ½ 픽셀일 수 있으며, 여기서 더 많은 방향이 선택될 수 있다.
일부 실시예에서, 블록 프로세서(381) 또는 인코더의 다른 요소는 블록 프로세서(381)가 현재 블록에 대한 예측을 수행할 때 이용 가능한 인트라 예측 모드의 서브세트만 이용하도록 결정할 수 있다. 일부 실시예에서, 하나의 예측 모드를 선택할 수 있는 9개의 서로 다른 예측 모드가 있다. 예측 모드는 예측 방향을 나타내며, 이러한 어느 예측 방향에 기초하여 블록 프로세서(381)는 현재 블록의 픽셀 값을 예측하는데 현재 블록의 주변 블록의 어떤 픽셀 값을 이용할 지를 판단할 수 있다. 예시적인 실시예에서, 4x4 샘플의 블록 크기에 대해, Mode 0은 수직 예측 방향에 대응하고, Mode 1은 수평 예측 방향에 대응하고, Mode 3 내지 Mode 8은 서로 다른 대각선 방향에 대응하며, Mode 2는 인접한 샘플(DC 예측)의 값에 기초한 예측에 대응한다.
예를 들면, 하나의 예측 모드를 선택할 수 있는 9개의 예측 모드 Mode 0, Mode 1, ..., Mode 8가 있을 경우, 블록 프로세서(381)는 단지 예를 들어 한 모드 걸러(예를 들어, Mode 1, Mode 3, ..., Mode 7 또는 Mode 0, Mode 2, ..., Mode 8) 이용하며, 이 서브세트의 모드 중에서 현재 블록에 대한 예측 모드를 선택할 수 있다. 그러나, 일부 다른 실시예에서, 모드의 서브세트은 또한 상술한 바와 다를 수 있다. 디코더가 선택한 모드를 인식하도록 인코더는 선택 가능한 모드의 서브세트의 표시를 디코더에 제공할 수 있다. 서브세트의 표시 외에, 인코더는 선택된 모드의 표시를 디코더에 제공한다. 일부 예시적인 실시예에서, 이용 가능한 모드의 서브세트의 표시는 시퀀스 매개 변수 세트로 제공된다. 그러나, 이러한 서브세트의 표시는 예측 정보와 동일한 비트스트림에 제공될 필요가 없지만, 또한 다른 비트스트림 또는 다른 통신 수단을 이용하여 제공될 수 있다.
이용 가능한 모드의 선택은 블록 크기에 의존하거나 의존하지 않을 수 있다. 또한, 모드의 기본 세트가 있을 수 있으며, 인코더는 모드의 기본 서브세트가 이용되는지 모드의 다른 서브세트가 이용되는지를 디코더에 나타낼 수 있다. 따라서, 다른 서브세트가 이용되면, 인코더는 추가적인 정보를 모드의 서브세트에 제공할 수 있다. 일부 실시예에서, 모드의 기본 세트가 이용되지만, 예를 들어 인코더에 의해 달리 나타내지 않으면 디코더는 모드의 기본 서브세트를 이용하는 것을 반드시 나타낼 필요는 없다.
일부 실시예에서, 모드의 기본 서브세트는 각각의 이용 가능한 블록 크기에 할당되었을 수 있다. 따라서, 인코더는 현재 블록의 블록 크기, 및 모드의 기본 서브세트가 이용되는지를 디코더에 나타낼 수 있다. 모드의 다른 서브세트가 이용되면, 인코더는 추가적인 정보를 모드의 서브세트에 제공할 수 있다.
일부 실시예에서, 예측 모드의 서브세트의 선택이 있을 수 있으며, 각각의 서브세트는 서브세트 인덱스 또는 서브세트의 다른 표시에 의해 제공될 수 있다. 상술한 예를 이용하면, 홀수 모드(Mode 1, Mode 3, ..., Mode 7)를 포함하는 제 1 서브세트, 및 짝수 모드(Mode 0, Mode 2, ..., Mode 8)를 포함하는 제 2 서브세트가 있을 수 있다. 또한, 모드(Mode 0, Mode 1, Mode 3 및 Mode 4)를 포함하는 제 3 서브세트, 모드(Mode 5, Mode 6, Mode 7 및 Mode 8)를 포함하는 제 4 서브세트, 및 Mode 2를 포함하는 제 5 서브세트가 있을 수 있다. 제 1 서브세트에는 제 1 서브세트 인덱스가 할당될 수 있으며, 제 2 서브세트에는 제 2 서브세트 인덱스가 할당될 수 있다. 서브세트 및 서브세트 인덱스의 모드 사이의 관계는 또한 디코더에 제공된다. 따라서, 서브세트 인덱스는 어떤 모드가 예측 모드의 선택에 이용되었는지를 디코더에 나타낸다. 디코더는 또한 서브세트에서 선택된 모드(모드 인덱스)의 표시를 수신한다. 따라서, 디코더는 인코더가 현재 블록의 예측에 이용한 모드를 결정하기 위해 서브세트 표시 및 모드의 표시의 양자를 이용할 수 있다. 모드 인덱스는 예를 들어 인코딩된 비디오 비트스트림의 예측 단위 요소(prediction unit element)에 시그널링될 수 있다. 예측 모드의 서브세트는 동일한 화상의 매크로블록 사이에서 변경할 수 없다. 이러한 상황에서, 서브세트는 각 매크로블록에 대한 디코더로 시그널링될 필요는 없지만, 각 슬라이스, 화상, 화상의 그룹에 대한 서브세트만을 시그널링하거나 동일한 비디오 프레젠테이션(presentation)을 위해 한 번만 시그널링하는 것이 충분할 수 있다. 따라서, 서브세트 표시가 디코더로 시그널링되는 방법은 신호가 통신 채널을 불필요하게 로딩하지 않도록 그렇게 변경될 수 있다.
일부 다른 실시예에서, 블록 프로세서(381)는 이용 가능한 예측 모드의 총 개수보다 작은 개수의 블록 예측에 이용될 예측 모드를 결정할 수 있다. 예를 들면, 이용 가능한 예측 모드의 총 개수가 9이면, 블록 프로세서는 예를 들어 4개의 예측 모드, 또는 이용 가능한 예측 모드의 총 개수보다 작은 다른 개수의 예측 모드 중에서 선택을 수행하도록 결정할 수 있다. 이러한 개수의 예측 모드는 또한 최대 개수의 예측 모드로 지칭될 수 있다. 최대라는 용어는 (블록 프로세서(381)가 모든 이용 가능한 예측 모드 중에서 예측 모드의 선택을 수행하기 위해 선택하지 않았다면) 이용 가능한 예측 모드의 총 개수를 지칭하지 않는다는 것이 주목되어야 한다. 다시 말하면, 예측 모드의 최대 개수는 보통 예측 모드의 총 개수보다 작다.
일부 실시예에서, 블록 프로세서(381)는 1과 이용 가능한 예측 모드의 총 개수 사이의 어떤 가능한 개수를 선택하도록 허용될 수 있는 반면에, 일부 다른 실시예에서는 블록 프로세서(381)는 가능한 개수 중 어떠한 개수를 선택하도록 허용되지 않고 이의 일부만을 선택하도록 허용될 수 있다. 예를 들면, 블록 프로세서(381)는 블록 예측에 이용되도록 짝수의 이용 가능한 예측 모드, 즉 2, 4, 6 등의 예측 모드만을 선택하도록 제한될 수 있다.
일부 실시예에서, 선택된 (최대) 개수는 직접 블록 프로세서(381)가 현재 블록에 대한 예측 모드를 선택할 수 있는 예측 모드의 서브세트에 어떤 예측 모드를 포함할 지를 나타낸다.
인트라 예측 모드의 각각 또는 선택된 세트, 및 어쩌면 인터 예측 모드에 대하여 비용이 계산되었으면, 블록 프로세서(381)는 하나의 인트라 예측 모드 또는 현재 블록을 인코딩하기 위한 인터 예측 모드를 선택한다. 인트라 예측 모드가 선택된 경우, 선택된 인트라 예측 모드는 또한 디코더에 나타내어야 하는 방향성 표시를 포함한다.
블록 프로세서(381)가 인트라 예측 모드를 이용하도록 선택하며 필요한 경우 현재 블록의 예측에 이용되는 예측 모드의 적절한 개수를 선택한 경우, 블록 프로세서(381)는 예측에 어떤 예측 모드를 이용할 지를 판단한다. 그 후, 선택된 예측 모드는 디코더로 시그널링된다. 신호는 선택된 예측 방법에 기초하여 코드워드의 알파벳으로부터 코드워드를 결정하여 수행될 수 있다. 이용 가능한 예측 모드의 서로 다른 개수에 대한 코드워드의 알파벳이 다를 수 있다. 서로 다른 알파벳은 유사한 코드워드를 포함할 수 있지만, 유사한 워드의 의미는 하나의 알파벳이 다른 알파벳과 다를 수 있다는 것이다.
일례로서, 제 1 개수 V의 이용 가능한 예측 모드(예를 들어 Mode 1, Mode V)를 포함하는 이용 가능한 예측 모드의 제 1 서브세트, 및 제 2 개수 W의 이용 가능한 예측 모드(예를 들어 Mode 1, Mode W)를 포함하는 이용 가능한 예측 모드의 제 2 서브세트가 있다고 가정한다. 또한, 각각 제 1 서브세트의 하나의 예측 모드를 나타내는 제 1 개수 V의 코드워드(CV1, ..., CVV)를 포함하는 코드워드의 제 1 알파벳, 및 각각 제 2 서브세트의 하나의 예측 모드를 나타내는 제 1 개수 W의 코드워드(CV1, ..., CVW)를 포함하는 코드워드의 제 2 알파벳이 있을 수 있다. 블록 프로세서(381)가 제 1 개수 V의 이용 가능한 예측 모드를 이용하며, 이 서브세트로부터 제 2 예측 모드를 선택한 경우, 블록 프로세서(381)는 선택된 예측 모드에 대한 정확한 코드워드를 찾기 위해 코드워드의 제 1 알파벳을 이용할 수 있다. 이러한 예에서, 블록 프로세서(381)는 제 2 코드워드, 즉 CV2를 선택한다. 그 후, 이러한 코드워드는 비트스트림에 추가된다.
어떤 상황에서, 블록 프로세서(381)는 하나의 예측 모드가 선택되는 모든 이용 가능한 예측 모드(예를 들어 Mode 1, ..., Mode Z, 여기서 Z>V 및 Z>W)를 이용하도록 결정할 수 있다. 따라서, 제 3 개수 Z의 코드워드(CV1, ..., CVZ)를 포함하는 코드워드의 제 3 알파벳은 어떤 예측 모드가 선택되었는지를 디코더에 나타낼 필요가 있을 수 있다.
제 3 개수 Z가 제 1 개수 V 및 제 2 개수 W보다 크면, 또한 더많은 코드워드가 제 3 알파벳에 필요하다는 것이 추론될 수 있다. 이것은 제 3 알파벳의 코드워드 중 일부는 가변 길이 코딩(VLC)이 코드워드의 알파벳을 설계하는데 이용될 때 제 1 및 2 알파벳의 코드워드보다 길다는 것을 의미한다. 예를 들면, 제 1 알파벳은 코드워드 00, 10, 010, 011을 포함하고, 제 2 알파벳은 (적어도 일부가 서로 다른모드에 할당되는 것을 제외하고는) 동일한 코드워드를 포함하며, 제 3 알파벳은 코드워드 00, 10, 0100, 0110, 010100, 010101, 011100, 011101를 포함한다고 가정한다. 이러한 코드워드의 평균 길이는 제 3 알파벳에서보다 제 1 및 2 알파벳에서 더 작다는 것을 알 수 있다. 따라서, 인코더만이 모든 이용 가능한 예측 모드의 서브세트를 이용하는 경우, 비트레이트의 일부 절감은 본 발명의 상술한 실시예를 이용할 때 달성될 수 있다.
가변 길이 코딩 외에 또는 대신에, 코드워드는 다른 코딩 방법에 기초할 수있으며, 예를 들어 산술 코딩을 이용하여 설계될 수 있다. 일부 추가적인 실시예에서, 둘 이상의 서로 다른 코딩 방법은 코드워드를 선택하는데에 이용될 수 있다. 예를 들면, 코드워드의 어떤 알파벳은 VLC 코딩에 기초할 수 있으며, 일부 다른 알파벳은 산술 코딩에 기초할 수 있다. 이러한 경우에, 코딩 방법의 표시는 비트스트림 또는 디코더에서의 매개 변수로 또는 다른 적절한 방법에 의해 디코더에 제공될 필요가 있을 수 있다.
상술한 바와 같이, 이용 가능한 예측 모드의 개수의 선택은 각 블록, 각 슬라이스, 각 화상 또는 화상의 각 그룹에 대해 수행될 필요가 없으며, 예측 모드의 개수의 표시는 각 블록에 대해 시그널링될 필요가 없지만, 예를 들어 이용 가능한 예측 모드의 개수가 변경될 때만 시그널링될 필요가 있다.
일부의 예시적인 실시예에서, 이용 가능한 예측 모드의 개수는 블록 크기가 변경될 경우에 변경될 수 있다. 그러나, 디폴트 개수의 이용 가능한 예측 모드가 제공되는 경우, 인코더는 이용 가능한 예측 모드의 실제 개수를 디코더에 나타낼 필요가 없지만, 디코더는 달리 표시되지 않으면 이용될 예측 모드의 어떤 개수를 인식한다.
또한, 블록 프로세서(381)는 어떤 서브세트를 이용할 지를 각 블록에 대해 검사하지 않지만, 검사가 적게 수행될 수 있다. 이러한 상황에서, 블록 프로세서(381)는 이용 가능한 예측 모드의 (이전에) 선택된 서브세트에 포함되는 예측 모드에 대해서만 비용을 계산할 수 있다.
일부 다른 실시예에서, 위의 설명은 인코더 또는 인코더의 블록 프로세서(381)가 이용 가능한 예측 모드의 서브세트를 선택하는 것을 나타내지만, 본 발명은 또한 인코더만이 이용 가능한 예측 모드의 하나의 서브세트를 이용하는 비디오 코딩 시스템과 관련하여 구현될 수 있다. 따라서, 서브세트의 선택을 수행할 필요가 없지만, 블록 프로세서(381)가 현재 블록을 인코딩하기 위해 인트라 예측을 이용하도록 선택하였을 때 서브세트의 예측 모드 중 예측 모드의 선택만을 수행할 필요가 있다. 이 경우에, 인코더는 예를 들어 비디오 스트림의 시점에서 디코더에 이용하는 서브세트에 대한 표시를 시그널링할 수 있다.
방향성 인트라 예측 모드의 표시는 예를 들어 수직 예측의 경우에 주변 블록의 픽셀의 기준 행에 대한 현재 블록의 하나의 행의 변위, 또는 수평 예측의 경우에 주변 블록의 픽셀의 기준 열에 대한 현재 블록의 하나의 열의 변위로 나타낸 각도를 포함할 수 있다. 일부 실시예에서, 수평 및 수직 방향의 허용된 변위는 인코딩되도록 블록의 크기에 의존할 수 있다. 일부 예시적인 범위는 수평 및 수직 예측의 양방에 대한 NxN 픽셀의 블록 크기에 대해 -N 픽셀에서 +N 픽셀까지이다. 다른 예시적인 범위는 -2N x +2N 픽셀, -3N x +3N 픽셀, -2N x +4N 픽셀, -4N x +2N 픽셀 등이다. 각도는 또한 예를 들어 정수 값, 부동 소수점 수 등으로 다른 수단을 이용하여 나타낼 수 있다.
동일하거나 다른 인트라 예측 방향은 (휘도, 색차 또는 깊이 성분과 같은) 화상 블록의 서로 다른 성분에 적용될 수 있거나, 하나 이상의 성분에 대한 인트라 예측 방향의 표시는 하나 이상의 다른 성분의 인트라 예측 방향의 허용된 세트를 제한하는데 이용될 수 있다.
예측된 픽셀 값 또는 선택적인 양자화기(384)에 의해 양자화되는 예측된 픽셀 값은 모드 선택기의 출력으로 제공된다.
모드 선택기의 출력은 제 1 합산 디바이스(321)로 전달된다. 제 1 합산 디바이스는 예측 오류 인코더(303)로 입력되는 제 1 예측 오류 신호(320)를 생성하도록 이미지(300)에서 픽셀 예측기(302)의 출력을 감산할 수 있다.
픽셀 예측기(302)는 추가로 예비 재구성기(339)로부터 이미지 블록(312)의 예측 표현과 예측 오류 디코더(304)의 출력(338)의 조합을 수신한다. 예비 재구성된 이미지(314)는 인트라 예측기(308) 및 필터(316)로 전달될 수 있다. 예비 표현을 수신하는 필터(316)는 예비 표현을 필터링하며, 기준 프레임 메모리(318)에 저장될 수 있는 최종 재구성된 이미지(340)를 출력할 수 있다. 기준 프레임 메모리(318)는 미래의 이미지(300)가 인터 예측 동작에서 비교되는 기준 이미지로 이용되도록 인터 예측기(306)에 연결될 수 있다.
픽셀 예측기(302)의 동작은 본 기술 분야에 알려진 어떤 알려진 픽셀 예측 알고리즘을 실행하도록 구성될 수 있다.
픽셀 예측기(302)는 또한 픽셀 예측기(302)로부터 예측된 값을 출력하기 전에 예측된 값을 필터링하도록 필터(385)를 포함할 수 있다.
예측 오류 인코더(302) 및 예측 오류 디코더(304)의 동작은 아래에 더욱 상세히 설명될 것이다. 다음의 예에서, 인코더는 전체 이미지 또는 화상을 형성하기 위해 진행하는 16×16 픽셀의 매크로블록의 측면에서 이미지를 생성한다. 따라서, 다음의 예의 경우, 픽셀 예측기(302)는 크기 16×16 픽셀의 일련의 예측된 매크로블록을 출력하며, 제 1 합산 디바이스(321)는 이미지(300)에서의 제 1 매크로블록과 예측된 매크로블록(픽셀 예측기(302)의 출력)의 차를 나타낼 수 있는 일련의 16x16 픽셀 잔차 데이터 매크로블록을 출력한다. 다른 크기의 매크로블록이 이용될 수 있다는 것이 이해될 것이다.
예측 오류 인코더(303)는 변환 블록(342) 및 양자화기(344)를 포함한다. 변환 블록(342)은 제 1 예측 오류 신호(320)를 변환 도메인으로 변환한다. 변환은 예를 들어 DCT 변환이다. 양자화기(344)는 변환 도메인 신호, 예를 들어 DCT 계수를 양자화하여 양자화된 계수를 형성한다.
엔트로피 인코더(330)는 예측 오류 인코더의 출력을 수신하며, 오류 검출 및 수정 능력을 제공하기 위해 신호에 적절한 엔트로피 인코딩/가변 길이 인코딩을 수행할 수 있다. 어떤 적절한 엔트로피 인코딩 알고리즘이 채용될 수 있다.
예측 오류 디코더(304)는 예측 오류 인코더(303)로부터 출력을 수신하며, 제 2 합산 디바이스(339)에서 이미지 블록(312)의 예측 표현과 결합될 때 예비 재구성된 이미지(314)를 생성하는 디코딩된 예측 오류 신호(338)를 생성하기 위해 예측 오류 인코더(303)의 반대의 프로세스를 수행한다. 예측 오류 디코더는 변환 신호를 재구성하기 위해 양자화된 계수 값, 예컨대 DCT 계수를 역양자화하는 역양자화기(346), 및 재구성된 변환으로의 역 변환을 수행하는 역 변환 블록(348)을 포함하도록 고려될 수 있으며, 역 변환 블록(348)의 출력은 재구성된 블록을 포함한다. 예측 오류 디코더는 또한 추가로 디코딩된 정보 및 필터 매개 변수에 따라 재구성된 매크로블록을 필터링할 수 있는 (도시되지 않은) 매크로블록 필터를 포함할 수 있다.
모드 선택기(310)의 동작 및 구현은 도 5와 관련하여 더 상세히 나타낸다. 인터 예측기(306)의 출력, 인트라 예측기(308)의 출력 및/또는 이미지 신호(300)로부터의 예측 신호에 기초하여, 블록 프로세서(381)는 현재 이미지 블록을 인코딩하기 위해 어떤 인코딩 모드를 이용할 지를 판단한다. 이러한 선택은 도 5에서 블록(500)으로 묘사된다. 블록 프로세서(381)는 율 왜곡 비용(rate-distortion cost)(RD) 값, 또는 모드 선택기(310)에 입력되는 예측 신호에 대한 다른 비용 값을 계산하고, 결정된 비용이 최소인 인코딩 모드(503, 504)를 선택할 수 있다.
모드 선택기(310)는 현재 블록(501)의 인코딩 모드의 표시를 제공한다. 이러한 표시는 인코딩되고, 비트 스트림에 삽입되거나 이미지 정보와 함께 메모리에 저장될 수 있다. 인트라 예측 모드와 관련하여, 비트 스트림에 대해 선택된 인트라 예측 모드의 일부 표시를 포함할 필요가 있다. 예를 들면, 표시는 인트라 예측 모드의 방향성에 대한 정보를 포함할 수 있다. 일부 예시적인 실시예에서, 방향성에 대한 정보는 변위 값으로 나타낸다. 일부 실시예에서, 변위 값은 어떤 기준 값이 현재 블록의 마지막 행의 마지막 픽셀의 예측 값을 획득하는데 이용되는 지를 나타낸다. 일부 다른 실시예에서, 방향성의 각도 계수는 비트 스트림에 포함된다. 또 다른 실시예에서, 허용된 방향성 값(인트라 예측 모드)은 인덱싱되며, 선택된 인트라 예측 모드의 인덱스는 비트 스트림에 포함된다.
표시는 이와 같이 비트스트림에 포함되지 않고, 또한 예를 들어 엔트로피 인코딩에 의해 인코딩될 수 있다. 예측 방향은 또한 이미지 블록의 주변, 이전의 예측 방향의 통계 또는 다른 변수에서 이용된 예측 방향을 고려하는 예측 방식으로 엔트로피 코딩될 수 있다.
인트라 예측 모드가 선택되면, 블록은 인트라 예측 방법(504-508)에 의해 예측된다. 제각기, 인터 예측 모드가 선택되면, 블록은 인터 예측 방법(503)에 의해 예측된다.
인트라 예측 방법에서, 블록 프로세서(381)는 선택적으로 이용 가능한 예측 모드의 서브세트를 선택한다. 이러한 선택은 도 5에서 블록(504)으로 묘사된다. 블록 프로세서(381)는 또한 (선택된) 서브세트에 포함된 예측 모드 중 하나의 예측 모드를 선택한다(505). 블록 프로세서(381)는 또한 예측 모드의 선택된 서브세트와 상응하는 코드워드의 알파벳을 이용하여 선택된 예측 모드를 나타내도록 코드워드를 결정한다(506). 코드워드는 비트스트림에 포함된다(507). 또한, 선택된 서브세트의 표시는 필요하다면 비트스트림에 포함될 수 있다(508). 도 4b는 인코더의 예시적인 실시예의 인트라 예측기(308)를 더욱 상세히 도시한다. 인트라 예측기(308)는 예측 프로세서(309) 또는 다른 회로로 구현될 수 있다. 예측 프로세서(309)는 별도의 프로세서일 수 있거나 블록 프로세서(381)와 동일한 프로세서일 수 있다. 인트라 예측기(308)는 예측될 픽셀을 선택하기 위해 픽셀 선택기(400)를 포함한다. 또한, 인트라 예측 모드의 서브세트를 선택할 수 있는 서브세트 선택기(405), 및 선택된 픽셀에 대한 값을 예측하는데 이용되어야 하는 선택된 서브세트의 인트라 예측 모드 중에서 예측 모드의 방향성을 결정하는 방향성 정의자(definer)(401)가 있다. 방향성 정의자(401)는 매개 변수 메모리(404)로부터 일부 매개 변수를 수신할 수 있다. 방향성이 결정되었을 때, 투영(projection) 정의자(402)는 기준 픽셀의 세트로의 선택된 픽셀의 투영을 정의한다. 투영 정의자(402)는 또한 매개 변수 메모리(404)로부터 일부 매개 변수를 수신할 수 있다. 인트라 예측기(308)는 추가로 선택된 픽셀에 대한 예측 값을 결정하기 위해 투영 정의자 및 기준 픽셀의 세트로부터의 정보를 이용하는 예측 정의자(403)를 포함할 수 있다. 인트라 예측기(308)는 블록의 모든 픽셀에 대한 예측 값을 정의하도록 위의 단계의 일부 또는 모두를 반복할 수 있다. 방향성은 일부 실시예에서 동일한 방향성이 하나의 블록의 각 픽셀에 이용되기 때문에 하나의 블록의 각 픽셀에 대해 결정될 필요가 없다.
예시적인 실시예에서, 도 9에 도시된 바와 같이, 이미지의 비트 스트림은 이미지의 시작(910)의 표시, 이미지의 각 블록(920)의 이미지 정보 및 이미지의 끝(930)의 표시를 포함한다. 이미지의 각 블록(920)의 이미지 정보는 예측 모드(922)의 표시, 방향성(923)의 표시, 및 인터 또는 인트라 예측이 이미지 블록에 이용되었을 때 실제로 잔차 신호의 계수를 포함할 수 있는 블록(924)의 픽셀 값의 표시를 포함할 수 있다. 비트 스트림은 또한 다른 정보를 포함할 수 있다는 것이 자명하다. 더욱이, 이것은 비트 스트림의 단순화된 이미지일 뿐이며, 실제 구현에서는 비트 스트림의 콘텐츠는 도 9에 도시된 것과 다를 수 있다.
비트 스트림은 추가로 엔트로피 인코더(330)에 의해 인코딩될 수 있다.
위의 실시예가 16×16 픽셀인 매크로블록의 크기에 관해 설명되었지만, 설명된 방법 및 장치는 서로 다른 픽셀 크기의 매크로블록을 처리하도록 구성될 수 있다는 것이 이해될 것이다.
다음에는, 디코더(600)의 예시적인 실시예의 동작이 도 6을 참조하여 상세히 묘사된다.
마무리를 위해 적절한 디코더가 아래에 설명된다. 디코더 측에서는 유사한 동작이 이미지 블록을 재구성하기 위해 수행된다. 도 6은 본 발명의 실시예를 이용하는데 적절한 비디오 디코더의 블록도를 도시한다. 디코더는 수신된 신호에 대한 엔트로피 디코딩을 수행하는 엔트로피 디코더(600)를 나타낸다. 따라서, 엔트로피 디코더는 상술한 인코더의 엔트로피 인코더(330)와 반대의 동작을 수행한다. 엔트로피 디코더(600)는 엔트로피 디코딩의 결과를 예측 오류 디코더(602) 및 픽셀 예측기(604)로 출력한다.
픽셀 예측기(604)는 엔트로피 디코더(600)의 출력을 수신한다. 엔트로피 디코더(600)의 출력은 현재 블록을 인코딩하는데에 이용된 예측 모드에 대한 표시를 포함할 수 있다. 픽셀 예측기(604) 내의 예측 선택기(614)는 인트라 예측, 인터 예측 또는 보간 동작이 실행되어야 하는 지를 판단한다. 더욱이, 예측 선택기는 이미지 블록(616)의 예측된 표현을 제 1 조합기(613)로 출력할 수 있다. 이미지 블록(616)의 예측된 표현은 예비 재구성된 이미지(618)를 생성하기 위해 재구성된 예측 오류 신호(612)와 함께 이용된다. 예비 재구성된 이미지(618)는 예측기(614)에 이용될 수 있거나 필터(620)로 전달될 수 있다. 필터(620)는 최종 재구성된 신호(622)를 출력하는 필터링을 적용한다. 최종 재구성된 신호(622)는 기준 프레임 메모리(624)에 저장될 수 있으며, 기준 프레임 메모리(624)는 추가로 예측 동작을 위해 예측기(614)에 연결된다.
인트라 예측의 경우에, 픽셀 예측기(604)는 또한 인코더가 인트라 예측 모드를 선택할 때 이용한 인트라 예측 모드의 서브세트에 대한 표시를 수신할 수 있다. 이러한 표시는 이전에 인코더로부터 수신되었을 수 있으며, 서브세트를 나타내는 디코더의 매개 변수는 픽셀 예측기(604)가 정확한 서브세트를 결정하는데 매개 변수의 값을 이용할 수 있도록 상응하는 값으로 설정되었을 수 있다. 일부 다른 실시예에서, 인트라 예측 모드의 서브세트에 대한 표시는 인코딩된 비디오 정보를 포함하는 비트스트림을 수신하는 동안 비트스트림에 수신될 수 있다.
예측 오류 디코더(602)는 엔트로피 디코더(600)의 출력을 수신한다. 예측 오류 디코더(602)의 역양자화기(692)는 엔트로피 디코더(600)의 출력을 역양자화할 수 있으며, 역 변환 블록(693)은 역양자화기(692)에 의해 출력된 역양자화된 신호에 대한 역 변환 동작을 수행할 수 있다. 엔트로피 디코더(600)의 출력은 또한 예측 오류 신호가 적용되지 않아야 함을 표시할 수 있으며, 이 경우에 예측 오류 디코더는 모두 0인 출력 신호를 생성한다.
디코더는 재구성하도록 16×16 픽셀 잔차 매크로블록을 선택한다. 재구성될 16×16 픽셀 잔차 매크로 블록의 선택은 단계(700)에 나타난다.
디코더는 현재 블록이 인코딩되었을 때 이용되는 인코딩 모드에 대한 정보를 수신한다. 표시는 필요할 때 디코딩되며, 예측 선택기(614)의 재구성 프로세서(691)에 제공된다. 재구성 프로세서(691)는 표시를 검사하며(도 7의 블록(700)), 표시가 블록이 인트라 예측을 이용하여 인코딩되었음을 나타낼 경우에는 인트라 예측 모드(블록(704-708)) 중 하나를 선택하고, 표시가 블록이 인터 예측을 이용하여 인코딩되었음을 나타낼 경우에는 인터 예측 모드를 선택한다(블록(703)).
현재 블록이 인트라 예측을 이용하여 인코딩된 경우, 픽셀 예측기(604)는 인코더가 인코딩 프로세스에서 이용한 인트라 예측 모드의 서브세트를 결정한다(블록(704)). 서브세트에 대한 이러한 정보를 이용하여, 픽셀 예측기(604)는 선택된 예측 모드에 대한 표시를 인코딩하는데에 이용된 코드워드의 상응하는 알파벳을 선택한다(블록(705)). 따라서, 픽셀 예측기(604)는 알파벳의 코드워드의 최대 길이를 인식할 수 있으며, 필요하다면 수신된 코드워드를 인트라 예측 모드에 대한 표시로 변환할 때 이러한 정보를 이용할 수 있다(블록(706)). 예를 들면, 코드워드의 최대 길이가 5이면, 픽셀 예측기(604) 또는 디코더의 다른 요소는 코드워드를 결정하기 위해 5비트 이하만을 이용할 필요가 있음을 결정할 수 있다. 코드워드의 결정은 예를 들어 룩업 테이블에 기초할 수 있다.
픽셀 예측기(604)는 현재 블록의 픽셀 값의 디코딩을 위해 예측 모드를 선택하도록 인트라 예측 모드의 디코딩된 표시를 이용한다(블록(707)).
픽셀 예측기(604)가 현재 블록의 인트라 예측 모드를 결정하였을 때, 재구성 프로세서(691)는 현재 블록의 픽셀 값의 예측 값을 디코딩하며, 주변 블록의 이미 디코딩 및 재구성된 픽셀 값에 기초하여 픽셀 값을 재구성하기 시작할 수 있다. 예측 모드는 현재 블록의 픽셀 값의 재구성에 어떤 픽셀 값을 이용할 지를 나타낸다. 예측 값 외에, 재구성 프로세서(691)는 현재 블록의 예측 값을 제공하기 위해 비트스트림에 포함되었을 수 있는 예측 오류 정보를 이용할 수 있다(블록(708)).
인트라 예측 모드에서, 재구성 프로세서(691)는 현재 블록의 픽셀 값의 재구성을 위해 예비 재구성된 이미지(618)를 예측 블록(695)에 제공할 수 있다.
본 발명은 또한 비디오 코딩 시스템의 일부 다른 부분에 적용할 수 있다. 예를 들면, 비디오 코딩 시스템은 예측 오류 코딩에 이용되는 다수의 변환 타입 중에서 하나의 변환 타입을 선택할 수 있다. 인코더는 이용 가능한 변환 타입의 서브세트만을 이용하고, 변환 타입의 서브세트, 및 서브세트에서 디코더까지 선택된 변환 타입에 대한 표시를 제공할 수 있다. 서브세트의 표시의 제공 및 선택된 변환 타입에서는 상술한 바와 같이 유사한 접근 방식이 구현될 수 있다.
일반화로서, 또한, 동작의 하나 이상의 서브세트로 배열될 수 있는 비디오 코딩에 관한 동작의 일부 다른 세트가 있을 수 있으며, 동작의 서브세트의 선택 및 선택된 서브세트 내의 동작의 선택은 수행될 수 있다. 따라서, 표시는 상술한 원칙을 이용하여 제공될 수 있다.
상술한 본 발명의 실시예는 관련된 프로세스의 이해를 지원하기 위해 별도의 인코더 및 디코더 장치의 측면에서 코덱을 설명한다. 그러나, 장치, 구조 및 동작은 단일의 인코더-디코더 장치/구조/동작으로 구현될 수 있다는 것이 이해될 것이다. 더욱이, 본 발명의 일부 실시예에서, 코더 및 디코더는 일부 또는 모든 공통 요소를 공유할 수 있다.
위의 예가 전자 장치 내의 코덱 내에서 운영하는 본 발명의 실시예를 설명하지만, 아래에 설명되는 바와 같이 본 발명은 어떤 비디오 코덱의 부분으로 구현될 수 있다는 것이 이해될 것이다. 따라서, 예를 들면, 본 발명의 실시예는 고정 또는 유선 통신 경로를 통해 비디오 코딩을 구현할 수 있는 비디오 코덱으로 구현될 수 있다.
따라서, 사용자 장비는 위의 본 발명의 실시예에서 설명된 것과 같은 비디오 코덱을 포함할 수 있다.
용어 사용자 장비는 이동 전화, 휴대용 데이터 처리 디바이스 또는 휴대용 웹 브라우저와 같은 어떤 적절한 타입의 무선 사용자 장비를 포함하도록 의도된다는 것이 인식되어야 한다.
공중 육상 이동 통신망(PLMN)의 추가적인 요소는 또한 상술한 바와 같이 비디오 코덱을 포함할 수 있다.
일반적으로, 본 발명의 다양한 실시예는 하드웨어 또는 특수 목적 회로, 소프트웨어, 논리 또는 이의 어떤 조합으로 구현될 수 있다. 예를 들면, 일부 양태는 하드웨어로 구현될 수 있는데, 다른 양태는 제어기, 마이크로프로세서 또는 다른 컴퓨팅 장치에 의해 실행될 수 있는 펌웨어 또는 소프트웨어로 구현될 수 있지만, 본 발명은 이에 제한되지 않는다. 본 발명의 다양한 양태가 블록도, 흐름도, 또는 일부 다른 회화적인 표현을 이용하는 것으로 예시되고 설명될 수 있지만, 여기에 설명된 이러한 블록, 장치, 시스템, 기술 또는 방법은 비제한적인 예로서, 하드웨어, 소프트웨어, 펌웨어, 특수 목적 회로 또는 논리, 범용 하드웨어 또는 제어기 또는 다른 컴퓨팅 장치 또는 이의 일부 조합으로 구현될 수 있다는 것이 잘 이해된다.
본 발명의 실시예는 프로세서 엔티티와 같은 모바일 디바이스의 데이터 프로세서에 의해 실행 가능한 컴퓨터 소프트웨어, 하드웨어, 또는 소프트웨어 및 하드웨어의 조합에 의해 구현될 수 있다. 더욱이, 이 점에서, 도면에서와 같은 논리 흐름의 어떤 블록은 프로그램 단계, 또는 상호 연결된 논리 회로, 블록 및 기능, 또는 프로그램 단계 및 논리 회로, 블록 및 기능의 조합을 나타낼 수 있다는 것이 주목되어야 한다. 소프트웨어는 메모리 칩, 또는 프로세서 내에서 구현되는 메모리 블록과 같은 물리적 매체, 하드 디스크 또는 플로피 디스크와 같은 자기 매체, 및 ㅇ예를 들어 DVD 및 이의 데이터 변형, CD와 같은 광학 매체에 저장될 수 있다.
메모리는 지역 기술 환경에 적절한 어떤 타입의 메모리일 수 있으며, 반도체 기반 메모리 디바이스, 자기 메모리 디바이스 및 시스템, 광학 메모리 디바이스 및 시스템, 고정식 메모리 및 이동식 메모리와 같은 어떤 적절한 데이터 저장 기술을 이용하여 구현될 수 있다. 데이터 프로세서는 지역 기술 환경에 적절한 어떤 타입일 수 있으며, 비제한적인 예로서, 범용 컴퓨터, 특수 목적 컴퓨터, 마이크로프로세서, 디지털 신호 프로세서(DSP), 및 멀티코어 프로세서 아키텍처에 기초하는 프로세서 중 하나 이상을 포함할 수 있다.
본 발명의 실시예는 집적 회로 모듈과 같은 다양한 구성 요소에서 실시될 수 있다. 집적 회로의 설계는 대체로 매우 자동화된 프로세스이다. 복잡하고 강력한 소프트웨어 도구는 논리 레벨 설계를 반도체 기판상에 에칭되며 형성될 준비가 되어 있는 반도체 회로 설계로 변환하는데 이용할 수 있다.
캘리포니아 마운틴 뷰의 시놉시스사(Synopsys, Inc.) 및 캘리포니아 산호세의 케이던스 디자인(Cadence Design)에 의해 제공된 것과 같은 프로그램은 도체를 자동으로 라우팅하며, 잘 확립된 설계 규칙뿐만 아니라 사전에 저장된 설계 모듈의 라이브러리를 이용하여 구성 요소를 반도체 칩에 위치시킨다. 반도체 회로의 설계가 완료되었으면, 표준화된 전자 포맷(예를 들어, Opus, GDSII 등)으로 생성된 설계는 제조를 위해 반도체 제조 시설 또는 "팹(fab)"으로 전송될 수 있다.
상술한 설명은 예시적이며 비제한적 예로서 본 발명의 예시적인 실시예의 완전하고 정보를 제공하는 설명을 제공하였다. 그러나, 다양한 변형 및 적응이 도면 및 청구범위와 함께 판독할 때 이전 설명을 고려하여 당업자에게는 자명하게 될 수 있다. 그러나, 본 발명의 가르침에 대한 모든 그러한 그리고 유사한 수정은 본 발명의 범위에 속할 것이다.
제 1 실시예에 따른 장치는
동작 세트 중 하나 이상의 서브세트,
상기 동작의 서브세트 내의 동작 중 하나의 동작을 선택하기 위해 구성된 선택기, 및
서브세트 및 선택된 동작에 대한 표시를 제공하기 위해 구성된 표시 생성기를 포함한다.
일부 실시예에서, 각각의 서브세트는 서로 다른 개수의 동작을 포함하며, 상기 표시 생성기는 서브세트에 포함된 동작의 개수를 서브세트에 대한 상기 표시로서 제공하기 위해 구성된다.
제 1 실시예의 장치는 추가로 각각의 서브세트에 할당된 코드워드의 알파벳을 포함할 수 있으며, 상기 표시 생성기는 선택된 동작에 대한 상기 표시로서 선택된 서브세트에 할당된 알파벳의 코드워드를 이용하기 위해 구성된다.
일부 실시예에서, 상기 코드워드는 가변 길이 코드워드이다.
일부 실시예에서, 상기 코드워드는 산술 코딩에 기초한다.
본 발명의 제 1 실시예의 장치에서, 동작의 세트는 서로 다른 예측 모드의 세트를 포함할 수 있는데, 각각의 예측 모드는 예측 방향성을 나타낸다.
본 발명의 제 1 실시예의 장치에서, 동작의 세트는 서로 다른 변환 타입의 세트를 포함할 수 있다.
일부 실시예에서, 상기 변환 타입은 예측 오류 코딩에 대한 것이다.
제 2 실시예에 따른 방법은
동작 세트 중 하나 이상의 서브세트를 결정하는 단계,
상기 동작의 서브세트 내의 동작 중 하나의 동작을 선택하는 단계, 및
서브세트 및 선택된 동작에 대한 표시를 제공하는 단계를 포함한다.
방법에 대한 일부 실시예에서, 각각의 서브세트는 서로 다른 개수의 동작을 포함하며, 방법은 서브세트에 포함된 동작의 개수를 서브세트에 대한 상기 표시로서 제공하는 단계를 포함한다.
제 2 실시예에 따른 방법은 추가로 코드워드의 알파벳을 각각의 서브세트에 할당하는 단계, 및 선택된 동작에 대한 상기 표시로서 선택된 서브세트에 할당된 알파벳의 코드워드를 이용하는 단계를 포함할 수 있다.
일부 실시예에서, 상기 코드워드는 가변 길이 코드워드이다.
일부 실시예에서, 상기 코드워드는 산술 코딩에 기초한다.
본 발명의 제 2 실시예에 따른 방법에서, 동작의 세트는 서로 다른 예측 모드의 세트를 포함할 수 있는데, 각각의 예측 모드는 예측 방향성을 나타낸다.
본 발명의 제 2 실시예에 따른 방법에서, 동작의 세트는 서로 다른 변환 타입의 세트를 포함할 수 있다.
일부 실시예에서, 상기 변환 타입은 예측 오류 코딩에 대한 것이다.
제 3 실시예에 따르면, 장치에 의해 이용하기 위해 코드로 저장된 컴퓨터 판독 가능 저장 매체가 제공되되, 이 코드는 프로세서에 의해 실행될 때 장치가
동작 세트 중 하나 이상의 서브세트를 결정하는 것,
상기 동작의 서브세트 내의 동작 중 하나의 동작을 선택하는 것, 및
서브세트 및 선택된 동작에 대한 표시를 제공하는 것을 수행하도록 한다.
일부 실시예에서, 상기 코드가 프로세서에 의해 실행될 때, 코드는 추가로 장치가 코드워드의 알파벳을 각각의 서브세트에 할당하며 선택된 동작에 대한 상기 표시로서 선택된 서브세트에 할당된 알파벳의 코드워드를 이용하도록 할 수 있다.
일부 실시예에서, 상기 코드워드는 가변 길이 코드워드이다.
일부 실시예에서, 상기 코드워드는 산술 코딩에 기초한다.
제 4 실시예에 따르면, 적어도 하나의 프로세서 및 적어도 하나의 메모리가 제공되되, 상기 적어도 하나의 메모리는 코드로 저장되며, 이 코드는 상기 적어도 하나의 프로세서에 의해 실행될 때 장치가
동작 세트 중 하나 이상의 서브세트를 결정하는 것,
상기 동작의 서브세트 내의 동작 중 하나의 동작을 선택하는 것, 및
서브세트 및 선택된 동작에 대한 표시를 제공하는 것을 수행하도록 한다.
제 5 실시예에 따른 장치는
동작 세트 중 하나 이상의 서브세트,
상기 하나 이상의 서브세트 중 선택된 서브세트를 나타내는 서브세트 표시를 수신하며 상기 선택된 서브세트 내의 동작 중에 선택된 동작을 나타내는 동작 표시를 수신하기 위한 입력, 및
상기 동작 표시에 기초하여 동작을 선택하기 위한 선택기를 포함한다.
일부 실시예에서, 각각의 서브세트는 서로 다른 개수의 동작을 포함하며, 상기 선택기는 상기 동작을 선택하기 위해 서브세트에 포함된 동작의 개수를 이용하기 위해 구성된다.
제 5 실시예의 장치는 추가로 각각의 서브세트에 할당된 코드워드의 알파벳을 포함할 수 있으며, 상기 선택기는 수신된 코드워드, 및 상기 동작을 선택하기 위해 선택된 서브세트에 할당된 알파벳을 이용하기 위해 구성된다.
일부 실시예에서, 상기 코드워드는 가변 길이 코드워드이다.
일부 실시예에서, 상기 코드워드는 산술 코딩에 기초한다.
본 발명의 제 5 실시예의 장치에서, 동작의 세트는 서로 다른 예측 모드의 세트를 포함할 수 있는데, 각각의 예측 모드는 예측 방향성을 나타낸다.
본 발명의 제 5 실시예의 장치에서, 동작의 세트는 서로 다른 변환 타입의 세트를 포함할 수 있다.
일부 실시예에서, 상기 변환 타입은 예측 오류 코딩에 대한 것이다.
제 6 실시예에 따른 방법은
동작 세트 중 하나 이상의 서브세트를 결정하는 단계,
상기 하나 이상의 서브세트 중 선택된 서브세트를 나타내는 서브세트 표시를 수신하며 상기 선택된 서브세트 내의 동작 중에 선택된 동작을 나타내는 동작 표시를 수신하는 단계, 및
상기 동작 표시에 기초하여 동작을 선택하는 단계를 포함한다.
일부 실시예에서, 각각의 서브세트는 서로 다른 개수의 동작을 포함하며, 상기 방법은 서브세트에 대한 상기 표시로서 서브세트에 포함된 동작의 개수를 이용하는 단계를 포함한다.
제 6 실시예에 따른 방법은 코드워드의 알파벳을 각각의 서브세트에 할당하는 단계, 및 수신된 코드워드, 및 상기 동작을 선택하기 위해 선택된 서브세트에 할당된 알파벳을 이용하는 단계를 더 포함할 수 있다.
일부 실시예에서, 상기 코드워드는 가변 길이 코드워드이다.
일부 실시예에서, 상기 코드워드는 산술 코딩에 기초한다.
본 발명의 제 6 실시예에 따른 방법에서, 동작의 세트는 서로 다른 예측 모드의 세트를 포함할 수 있되, 각각의 예측 모드는 예측 방향성을 나타낸다.
본 발명의 제 6 실시예에 따른 방법에서, 동작의 세트는 서로 다른 변환 타입의 세트를 포함할 수 있다.
일부 실시예에서, 상기 변환 타입은 예측 오류 코딩에 대한 것이다.
제 7 실시예에 따르면, 장치에 의해 이용하기 위해 코드로 저장된 컴퓨터 판독 가능 저장 매체가 제공되되, 이러한 코드는 프로세서에 의해 실행될 때 장치가
동작 세트 중 하나 이상의 서브세트를 결정하는 것,
상기 하나 이상의 서브세트 중 선택된 서브세트를 나타내는 서브세트 표시를 수신하며 상기 선택된 서브세트 내의 동작 중에 선택된 동작을 나타내는 동작 표시를 수신하는 것, 및
상기 동작 표시에 기초하여 동작을 선택하는 것을 수행하도록 한다.
제 8 실시예에 따르면, 적어도 하나의 프로세서 및 적어도 하나의 메모리가 제공되되, 상기 적어도 하나의 메모리는 코드로 저장되며, 상기 코드는 상기 적어도 하나의 프로세서에 의해 실행될 때 장치가
동작 세트 중 하나 이상의 서브세트를 결정하는 것,
상기 하나 이상의 서브세트 중 선택된 서브세트를 나타내는 서브세트 표시를 수신하고, 상기 선택된 서브세트 내의 동작 중에 선택된 동작을 나타내는 동작 표시를 수신하는 것, 및
상기 동작 표시에 기초하여 동작을 선택하는 것을 수행하도록 한다.
제 9 실시예에 따른 인코더는
동작 세트 중 하나 이상의 서브세트,
상기 동작의 서브세트 내의 동작 중 하나의 동작을 선택하기 위해 구성된 선택기, 및
서브세트 및 선택된 동작에 대한 표시를 제공하기 위해 구성된 표시 생성기를 포함한다.
제 10 실시예에 따른 디코더는
동작 세트 중 하나 이상의 서브세트,
상기 하나 이상의 서브세트 중 선택된 서브세트를 나타내는 서브세트 표시를 수신하며 상기 선택된 서브세트 내의 동작 중에 선택된 동작을 나타내는 동작 표시를 수신하기 위한 입력, 및
상기 동작 표시에 기초하여 동작을 선택하기 위한 선택기를 포함한다.
제 11 실시예에 따른 장치는
동작 세트 중 하나 이상의 서브세트를 정의하기 위한 수단,
상기 동작의 서브세트 내의 동작 중 하나의 동작을 선택하기 위한 수단, 및
서브세트 및 선택된 동작에 대한 표시를 제공하기 위한 수단을 포함한다.
제 12 실시예에 따른 장치는
동작 세트 중 하나 이상의 서브세트를 정의하기 위한 수단,
상기 하나 이상의 서브세트 중 선택된 서브세트를 나타내는 서브세트 표시를 수신하며 상기 선택된 서브세트 내의 동작 중에 선택된 동작을 나타내는 동작 표시를 수신하기 위한 수단, 및
상기 동작 표시에 기초하여 동작을 선택하기 위한 수단을 포함한다.
제 13 실시예에 따른 장치는
예측을 위한 방향성 정보를 나타내는 각각의 예측 모드 중 하나 이상의 서브세트,
상기 예측 모드의 서브세트 내의 예측 모드 중 하나의 예측 모드를 선택하기 위해 구성된 선택기, 및
서브세트를 나타내는 서브세트 표시 및 선택된 예측 모드를 나타내는 예측 모드 표시를 제공하기 위해 구성된 표시 생성기를 포함한다.
제 14 실시예에 따른 장치는
예측을 위한 방향성 정보를 나타내는 각각의 예측 모드 중 하나 이상의 서브세트,
상기 하나 이상의 서브세트 중 선택된 서브세트를 나타내는 서브세트 표시를 수신하고, 상기 선택된 서브세트 내의 예측 모드 중에 선택된 예측 모드를 나타내는 예측 모드 표시를 수신하기 위한 입력, 및
상기 예측 모드 표시에 기초하여 동작을 선택하기 위한 선택기를 포함한다.

Claims (1)

  1. 예측 모드 세트의 서브세트를 결정하는 수단과,
    상기 예측 모드 세트의 서브세트 내의 예측 모드를 선택하는 수단과,
    상기 서브세트 및 상기 선택된 예측 모드에 대한 표시를 제공하는 수단을 포함하는
    장치.
KR1020167008348A 2010-09-24 2011-09-23 비디오 코딩 방법, 장치 및 컴퓨터 프로그램 KR20160056901A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US38637210P 2010-09-24 2010-09-24
US61/386,372 2010-09-24
PCT/IB2011/054211 WO2012038938A1 (en) 2010-09-24 2011-09-23 Methods, apparatuses and computer programs for video coding

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020137010366A Division KR20130070644A (ko) 2010-09-24 2011-09-23 비디오 코딩 방법, 장치 및 컴퓨터 프로그램

Publications (1)

Publication Number Publication Date
KR20160056901A true KR20160056901A (ko) 2016-05-20

Family

ID=45873515

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020137010366A KR20130070644A (ko) 2010-09-24 2011-09-23 비디오 코딩 방법, 장치 및 컴퓨터 프로그램
KR1020167008348A KR20160056901A (ko) 2010-09-24 2011-09-23 비디오 코딩 방법, 장치 및 컴퓨터 프로그램

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020137010366A KR20130070644A (ko) 2010-09-24 2011-09-23 비디오 코딩 방법, 장치 및 컴퓨터 프로그램

Country Status (5)

Country Link
US (1) US20120243606A1 (ko)
EP (1) EP2619985A4 (ko)
KR (2) KR20130070644A (ko)
CN (1) CN103416065A (ko)
WO (1) WO2012038938A1 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10992958B2 (en) 2010-12-29 2021-04-27 Qualcomm Incorporated Video coding using mapped transforms and scanning modes
US10805617B2 (en) * 2012-01-19 2020-10-13 Texas Instruments Incorporated Scalable prediction type coding
US9900609B2 (en) 2013-01-04 2018-02-20 Nokia Technologies Oy Apparatus, a method and a computer program for video coding and decoding
CA2988107A1 (en) * 2015-06-19 2016-12-22 Nokia Technologies Oy An apparatus, a method and a computer program for video coding and decoding
FR3053555A1 (fr) 2016-06-29 2018-01-05 B<>Com Procede de codage d'une image numerique, procede de decodage, dispositifs, terminal et programmes d'ordinateurs associes
US10742975B2 (en) * 2017-05-09 2020-08-11 Futurewei Technologies, Inc. Intra-prediction with multiple reference lines
EP3618446A4 (en) 2017-06-22 2020-05-13 Huawei Technologies Co., Ltd. APPARATUS AND METHOD FOR IN-FRAME PREDICTION
CN116896769B (zh) * 2023-09-11 2023-11-10 深圳市久实电子实业有限公司 一种摩托车蓝牙音响数据优化传输方法

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7170937B2 (en) * 2002-05-01 2007-01-30 Texas Instruments Incorporated Complexity-scalable intra-frame prediction technique
US7289674B2 (en) * 2002-06-11 2007-10-30 Nokia Corporation Spatial prediction based intra coding
WO2004038921A2 (en) * 2002-10-23 2004-05-06 Divxnetworks, Inc. Method and system for supercompression of compressed digital video
US8116374B2 (en) * 2004-05-07 2012-02-14 Broadcom Corporation Method and system for generating a transform size syntax element for video decoding
US20080137744A1 (en) * 2005-07-22 2008-06-12 Mitsubishi Electric Corporation Image encoder and image decoder, image encoding method and image decoding method, image encoding program and image decoding program, and computer readable recording medium recorded with image encoding program and computer readable recording medium recorded with image decoding program
CN101681499B (zh) 2007-06-14 2013-04-24 汤姆逊许可证公司 修改经编码的比特流
CN103338365B (zh) * 2007-06-29 2017-04-12 夏普株式会社 图像编码装置、图像编码方法、图像译码装置、图像译码方法
US8873625B2 (en) 2007-07-18 2014-10-28 Nvidia Corporation Enhanced compression in representing non-frame-edge blocks of image frames
JPWO2009041215A1 (ja) * 2007-09-25 2011-01-20 シャープ株式会社 動画像符号化装置及び動画像復号装置
US8229159B2 (en) 2007-09-28 2012-07-24 Dolby Laboratories Licensing Corporation Multimedia coding and decoding with additional information capability
WO2009080133A1 (en) * 2007-12-21 2009-07-02 Telefonaktiebolaget Lm Ericsson (Publ) Adaptive intra mode selection
EP2081386A1 (en) 2008-01-18 2009-07-22 Panasonic Corporation High precision edge prediction for intracoding
US9432674B2 (en) 2009-02-02 2016-08-30 Nvidia Corporation Dual stage intra-prediction video encoding system and method
CN102668559A (zh) * 2009-08-28 2012-09-12 法国布雷维茨公司 用于对图像序列进行编码的方法
TWI562600B (en) * 2010-02-08 2016-12-11 Nokia Technologies Oy An apparatus, a method and a computer program for video coding
EP2375750A1 (en) * 2010-04-12 2011-10-12 Panasonic Corporation Complexity reduction of edge detection for edge based spatial prediction
US8902978B2 (en) * 2010-05-30 2014-12-02 Lg Electronics Inc. Enhanced intra prediction mode signaling
EP2398240A1 (en) * 2010-06-16 2011-12-21 Canon Kabushiki Kaisha A method and device for encoding and decoding a video signal
US9215470B2 (en) * 2010-07-09 2015-12-15 Qualcomm Incorporated Signaling selected directional transform for video coding
US10992958B2 (en) * 2010-12-29 2021-04-27 Qualcomm Incorporated Video coding using mapped transforms and scanning modes

Also Published As

Publication number Publication date
KR20130070644A (ko) 2013-06-27
EP2619985A4 (en) 2015-03-11
WO2012038938A1 (en) 2012-03-29
CN103416065A (zh) 2013-11-27
EP2619985A1 (en) 2013-07-31
US20120243606A1 (en) 2012-09-27

Similar Documents

Publication Publication Date Title
US20230179792A1 (en) Method for coding and an apparatus
US11368700B2 (en) Apparatus, a method and a computer program for video coding
KR101545382B1 (ko) 비디오 코딩을 위한 장치, 방법 및 컴퓨터 프로그램
KR101464423B1 (ko) 비디오 프로세싱을 위한 장치, 방법 및 컴퓨터 프로그램
KR101215682B1 (ko) 공간적으로 가변하는 변환을 이용하는 비디오 코딩 장치, 방법 및 컴퓨터 판독가능 저장 매체
KR20130099242A (ko) 비디오 코딩의 움직임 예측
KR20160056901A (ko) 비디오 코딩 방법, 장치 및 컴퓨터 프로그램
US9280835B2 (en) Method for coding and an apparatus based on a DC prediction value
US9432699B2 (en) Methods, apparatuses and computer programs for video coding
WO2010116268A1 (en) Method and apparatus for encoding and decoding of image and video signals
KR20140131352A (ko) 코딩을 위한 방법 및 장치

Legal Events

Date Code Title Description
A107 Divisional application of patent
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid