KR20110044283A - 공간적으로 가변하는 변환을 이용하는 비디오 코딩 장치, 방법 및 컴퓨터 판독가능 저장 매체 - Google Patents
공간적으로 가변하는 변환을 이용하는 비디오 코딩 장치, 방법 및 컴퓨터 판독가능 저장 매체 Download PDFInfo
- Publication number
- KR20110044283A KR20110044283A KR1020117005647A KR20117005647A KR20110044283A KR 20110044283 A KR20110044283 A KR 20110044283A KR 1020117005647 A KR1020117005647 A KR 1020117005647A KR 20117005647 A KR20117005647 A KR 20117005647A KR 20110044283 A KR20110044283 A KR 20110044283A
- Authority
- KR
- South Korea
- Prior art keywords
- pixel
- macroblock
- pixels
- signal
- value
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/189—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
- H04N19/19—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding using optimisation based on Lagrange multipliers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/12—Selection 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/122—Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/14—Coding unit complexity, e.g. amount of activity or edge presence estimation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
- H04N19/147—Data rate or code amount at the encoder output according to rate distortion criteria
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
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
변환 코딩이 정규의 블록 경계 내부로만 한정되지 않고 예측 에러의 특성으로 조정된다. 이렇게 하여, 전송율 왜곡 트레이드오프(rate distortion tradeoff)와 관련하여 최선의 예측 에러 부분을 선택 및 코딩함으로써 코딩 효율을 개선할 수 있다.
Description
본 발명은 코딩 및 디코딩 장치에 관한 것으로, 구체적으로는 이미지와 비디오 신호를 코딩 및 디코딩하는 장치에 관한 것이다.
비디오 코덱(a video codec)은, 입력 비디오를 기억 및/또는 전송하기에 적당한 압축된 표현으로 변환하는 인코더와, 이 압축된 비디오 표현을 볼 수 있는 형태로 다시 압축해제하는 디코더를 포함한다. 전형적으로, 인코더는 비디오를 보다 콤팩트한 형태로 표현하기 위해 예컨대 낮은 비트율로 원 비디오 시퀀스 중 일부 정보를 폐기한다.
전형적인 비디오 코덱 예컨대 ITU-T(International Telegraphic Union-Technical Board) H.263 및 H264 코딩 표준은 비디오 정보를 두 개의 단계로 인코드한다. 첫 번째 단계에서, 특정 화면 영역 혹은 "블록"내의 픽셀값들이 예측된다. 이 픽셀값들은 예컨대 움직임 보상 메커니즘에 의해 예측가능한데, 이 메커니즘에 따르면, 사전 인코드된 비디오 프레임들중 하나(혹은 나중에 코드된 비디오 프레임)내에서, 코딩 중인 블록에 근접하게 일치하는 영역을 찾아서 표시한다. 추가로, 픽셀값들은 공간 영역 관계를 찾아서 표시하는 공간 메커니즘에 의해 예측될 수도 있다.
두 번째 단계는 예측된 화소 블록과 원 화소 블록 사이의 에러를 코딩하는 것이다. 이것은 전형적으로 특정 변환을 이용해 화소값의 차이를 변환함으로써 수행된다. 이런 변환은 통상 DCT(Discrete Cosine Transform)이거나 그 변형이다. 차이를 변환한 이후, 변환된 차이는 양자화되고 엔트로피 인코드(entropy encoded)된다.
양자화 프로세스의 충실도(fidelity)를 변화시킴으로써, 인코더는 픽셀 표현의 정확성(즉, 화면의 품질)과 최종 인코드된 비디오 표현의 사이즈(즉, 파일 사이즈 혹은 전송 비트율) 사이의 밸런스를 제어할 수 있다.
디코더는 픽셀 블록의 예측 표현을 형성하기 위해 인코더에서 이용한 것과 유사한 예측 메커니즘을 적용(인코더에 의해 생성되어 압축된 이미지 표현으로 기억된 움직임 혹은 공간 정보를 이용)하고, 예측 에러 디코딩(양자화된 예측 신호를 공간 도메인에서 회복하기 위한 예측 에러 코딩의 역동작)을 함으로써, 출력 비디오를 재구성한다.
픽셀 예측 및 에러 디코딩 프로세스를 적용한 이후에, 디코더는 예측 신호와 예측 에러 신호(화소값들)를 결합하여 출력 비디오 프레임을 형성한다.
디코더(및 인코더)는, 출력 비디오를 디스플레이를 위해 전달하고/하거나 비디오 시퀀스내의 다음 프레임을 위한 예측 기준으로서 기억하기 이전에, 출력 비디오의 품질을 개선하도록 추가적인 필터링 프로세스를 적용할 수도 있다.
전형적인 비디오 코덱에서, 움직임 정보는 각각 움직임 보상된 이미지 블록과 연관된 움직임 벡터로 표시된다. 이들 움직임 벡터의 각각은, (인코더에서) 코드되거나 (디코더에서) 디코드될 화면의 이미지 블록과, 이전에 코드 혹은 디코드된 이미지(혹은 화면)중 하나의 예측 소스 블록(the prediction source block)의 변위(the displacement)를 나타낸다. 전형적인 비디오 코덱에서, 예측된 움직임 벡터는 사전 정의된 방식으로, 예컨대 인접 블록들의 인코드 혹은 디코드된 움직임 벡터들의 중간값(the median)을 계산함으로써 생성된다.
전형적인 비디오 인코더는 최적 코딩 모드 예컨대, 원하는 매크로 블록 모드 및 연관 움직임 벡터를 찾는데 라그랑지안 비용 함수(the Lagrangian cost function)를 활용한다. 이런 유형의 비용 함수는 가중치(a weighting factor) λ를 이용하여, 손실이 있는 코딩법으로 인한 정확한 혹은 추정된 이미지 왜곡과, 이미지 영역내의 픽셀값을 나타내는데 필요한 정확한 혹은 추정된 정보량을 결부시킨다.
이것은 다음의 수학식으로 표현된다.
여기에서 C는 최소화될 라그랑지안 비용이고, D는 현재 고려되는 모드 및 움직임 벡터와의 이미지 왜곡(즉,평균 제곱 에러(mean square error))이고, R은 디코더에서 이미지 블록을 재구성하는데 요구되는 데이터를 나타내는데 필요한 비트 수이다(후보 움직임 벡터를 나타내는 데이터의 양도 포함).
현재의 코덱은 전형적으로 MxN DCT 변환을 이용하여 잔여신호(the residual signal)를 인코드한다. 그러나, 이 MxN 매크로 블록 내부의 에지 디테일(edge detail)은 기본 변환 함수가 잔여신호에서 어떤 상관관계를 활용할 수 없도록 만들고, 이것은 코딩 효율을 낮게 만들 수도 있다.
2005년 1월, VCEG Doc. VCEG-Y10에 실린 "Bjontegaard" 와 "Fuldseth"의 논문 "잔여 신호 코딩을 위한 대형 변환(Larger transform for residual signal coding)"은, 온라인 주소 http://ftp3.itu.ch/av-arch/video-site/0501 Hon / 상에서 입수 가능한 것으로, 4x4 픽셀 블록 저 주파수 계수로 인코딩은 하지만 16x16 매크로 블록에 대한 16x16 변환을 이용하는 것을 논의하고 있다. 그러나, 이 방법에서는, 전술한 상관관계와 코딩 효율의 문제점이 여전히 존재하며, 특히 16x16 픽셀 매크로 블록 내부에 에지 특징이 존재하는 곳에서 특히 문제가 된다. 더 나아가, 4x4 픽셀 블록의 인코딩은 디코딩을 점점 더 복잡하게 만든다.
2003년 7월, 비디오 기술을 위한 회로 및 시스템 IEEE 트랜잭션(Transactions)에 실린 "Wien"의 논문 "H.264/AVC를 위한 가변 블록 사이즈 변환(Variable Block-Size Transforms)"에는, 예측 에러의 변환 코딩에 이용되는 블록 사이즈를 움직 보상에 이용되는 블록 사이즈로 정렬하는 시스템이 개시된다. 그러나, 이러한 방법은 에지가 블록 내부에 발생하는 경우에 차선의 코딩 효율이 만들어진다.
본 발명은 매크로 블록 내부에서 공간적으로 변화 가능한 영역 혹은 블록을 이용함으로써 잔여 에러 코딩 프로세스가 보다 최적으로 인코드된 이미지를 발생시킬 수 있을 것이라는 생각에서 진행되었다.
본 발명의 실시예들은 전술한 문제점들을 다루는 것을 목표로 한다.
본 발명의 제 1 양상에 따르면, 매크로블록의 픽셀로부터 제 1 픽셀 집합을 선택하고, 이 제 1 픽셀 집합을 변환하여, 변환된 제 1 픽셀 집합을 인코드하도록 구성된 장치가 제공된다.
픽셀 매크로블록이 추가의 픽셀 블록과 연관될 때에는, 이 장치가, 선택된 제 1 픽셀 집합과 추가 픽셀 블록의 대응 픽셀 집합 사이의 상관관계를 결정하도록 추가 구성될 수 있으며, 이 때 전술한 선택된 제 1 픽셀 집합과 추가 픽셀 블록의 대응 픽셀 집합 사이의 상관관계에 따라 제 1 픽셀 집합이 선택된다.
이 장치는 비용함수를 발생하도록 추가 구성될 수도 있는데, 비용 함수는 전술한 선택된 제 1 픽셀 집합과 추가 픽셀 블록의 대응 픽셀 집합 사이의 상관관계에 따르며, 비용 함수의 값은 최소화된다. 제 1 픽셀 집합은 픽셀 매크로블록의 다수의 픽셀 집합중 적어도 하나로부터 선택될 수 있을 것이고, 비용 함수는 다수의 픽셀 집합의 개수에 의존한다.
이 장치는 선택되지 않은 매크로블록 픽셀에 적어도 하나의 값을 할당하도록 추가 구성될 수도 있다. 비용 함수는 선택되지 않은 매크로블록 픽셀에 할당되는 값들의 개수에 추가로 의존한다.
이 장치는 픽셀 매크로블록에 적용되는 필터를 선택하도록 추가 구성될 수도 있다. 비용 함수는 필터 선택에 추가로 의존할 것이다.
픽셀 매크로블록의 다수의 픽셀 집합들 각각은 픽셀 매크로블록 내부의 다른 위치와 연관될 수 있다.
이 장치는 픽셀 매크로블록 내부의 선택된 제 1 픽셀 집합의 위치를 나타내는 값을 할당하고, 이 선택된 제 1 픽셀 집합의 위치를 나타내는 값을 인코드하도록 추가 구성될 수 있다.
전술한 선택된 제 1 픽셀 집합의 위치를 나타내는 값을 인코드하도록 구성된 장치는, 픽셀 매크로블록으로부터 유도된 정보에 기초하여, 이 선택된 제 1 픽셀 집합의 위치를 나타내는 값을 인코드하도록 추가로 구성될 수 있다.
전술한 선택된 제 1 픽셀 집합의 위치를 나타내는 값을 인코드하도록 구성된 장치는, 이웃하는 픽셀 매크로블록으로부터 유도된 정보에 기초하여, 이 선택된 제 1 픽셀 집합의 위치를 나타내는 값을 인코드하도록 추가로 구성될 수 있다.
추가 블록 혹은 픽셀은, 인코드 및 변환된 제 1 픽셀 집합과, 선택되지 않은 매크로블록 픽셀에 할당된 적어도 하나의 값에 의존한다.
본 발명의 다른 양상에 따르면, 픽셀 매크로블록으로부터 제 1 픽셀값 집합을 나타내는 신호의 제 1 부분을 결정하고, 이 신호의 제 1 부분으로부터 제 1 픽셀값 집합을 재발생하고, 이 신호의 제 2 부분으로부터 픽셀 매크로블록의 나머지 픽셀들을 재발생하며, 제 1 픽셀값 집합과 나머지 픽셀들을 결합하여 하나의 픽셀 매크로블록을 재발생하도록 구성된 장치가 제공된다.
제 1 픽셀값 집합을 재발생하도록 구성된 이 장치는, 신호의 제 1 부분을 역양자화(dequantize)하여, 이 신호의 역양자화된 제 1 부분을 역변환하도록 추가 구성될 수 있다.
픽셀 매크로블록의 나머지 픽셀들을 재발생하도록 구성된 이 장치는, 신호의 제 2 부분의 적어도 하나의 값을 각 픽셀에 할당하도록 추가 구성될 수 있다.
제 1 픽셀값 집합과 나머지 픽셀들을 결합하여 픽셀 매크로블록을 재발생하도록 구성된 본 장치는, 제 1 픽셀값 집합과 나머지 픽셀들 사이의 경계(boundary)를 필터링하도록 추가 구성될 수 있다.
그 장치는 매크로블록의 경계를 필터링하도록 추가 구성될 수 있다. 그 필터는 디-블로킹 필더를 포함할 수 있다.
전술한 신호의 제 1 부분을 역양자화하도록 구성된 이 장치는, 신호의 제 1 부분과 연관된 위치값을 디코드하도록 추가 구성될 수 있다.
전자 디바이스(an electronic device) 장치가 전술한 것과 같은 장치를 포함할 수 있다.
칩세트가 전술한 것과 같은 장치를 포함할 수 있다.
인코더가 전술한 것과 같은 장치를 포함할 수 있다.
디코더가 전술한 것과 같은 장치를 포함할 수 있다.
본 발명의 다른 양상에 따르면, 픽셀 매크로블록에서 제 1 픽셀 집합을 선택하는 단계와, 이 제 1 픽셀 집합을 변환하는 단계와, 변환된 제 1 픽셀 집합을 인코딩하는 단계를 포함하는 방법이 제공된다.
픽셀 매크로블록이 추가의 픽셀 블록과 연관될 수도 있고, 전술한 방법은, 선택된 제 1 픽셀 집합과의 상관관계를 결정하도록 추가 구성될 수도 있는데, 이 때의 제 1 픽셀 집합의 선택은 전술한 선택된 제 1 픽셀 집합과 추가 픽셀 블록의 대응 픽셀 집합 사이의 상관관계에 따른다.
이 방법은 비용 함수를 발생하는 단계를 추가로 포함할 수도 있는데, 여기에서 비용 함수는 선택된 제 1 픽셀 집합과 추가 픽셀 블록의 대응 픽셀 집합 사이의 상관관계에 따르며, 비용 함수의 값은 최소화된다.
제 1 픽셀 집합이 픽셀 매크로블록의 다수의 픽셀 집합들중 적어도 하나에서 선택될 수도 있는데, 여기에서 비용 함수는 다수의 픽셀 집합의 개수에 의존한다.
이 방법은 선택되지 않은 매크로블록 픽셀에 적어도 하나의 값을 할당하는 단계를 추가로 포함할 수 있다.
비용 함수 값은 선택되지 않은 매크로블록 픽셀에 할당되는 값들의 개수에 추가로 의존한다.
이 방법은 픽셀 매크로블록에 적용되는 필터를 선택하는 단계를 추가로 포함할 수 있다.
비용 함수 값은 필터 선택에 추가로 의존할 것이다.
픽셀 매크로블록의 다수의 픽셀 집합들 각각은 픽셀 매크로블록 내부의 다른 위치와 연관될 수 있다.
이 방법은 픽셀 매크로블록 내부의 선택된 제 1 픽셀 집합의 위치를 나타내는 값을 할당하는 단계와, 이 선택된 제 1 픽셀 집합의 위치를 나타내는 값을 인코드하는 단계를 추가로 포함할 수 있다.
전술한 선택된 제 1 픽셀 집합의 위치를 나타내는 값을 인코드하는 단계는, 픽셀 매크로블록으로부터 유도된 정보에 기초하여, 이 선택된 제 1 픽셀 집합의 위치를 나타내는 값을 인코드하는 단계를 추가로 포함할 수 있다.
전술한 선택된 제 1 픽셀 집합의 위치를 나타내는 값을 인코드하는 단계는, 이웃하는 픽셀 매크로블록으로부터 유도된 정보에 기초하여, 이 선택된 제 1 픽셀 집합의 위치를 나타내는 값을 인코드하는 단계를 추가로 포함할 수 있다.
추가 블록 혹은 픽셀이, 인코드 및 변환된 제 1 픽셀 집합과, 선택되지 않은 매크로블록 픽셀에 할당된 적어도 하나의 값에 의존할 수 있다.
본 발명의 다른 양상에 따르면, 픽셀 매크로블록으로부터 제 1 픽셀값 집합을 나타내는 신호의 제 1 부분을 결정하는 단계와, 이 신호의 제 1 부분으로부터 제 1 픽셀값 집합을 재발생하는 단계와, 이 신호의 제 2 부분으로부터 픽셀 매크로블록의 나머지 픽셀들을 재발생하는 단계와, 제 1 픽셀값 집합과 나머지 픽셀들을 결합하여 하나의 픽셀 매크로블록을 재발생하는 단계를 포함하는 방법이 제공된다.
제 1 픽셀값 집합을 재발생하는 단계는, 신호의 제 1 부분을 역양자화(dequantize)하는 단계와, 이 신호의 역양자화된 제 1 부분을 역변환하는 단계를 포함할 수 있다.
픽셀 매크로블록으로부터 나머지 픽셀들을 재발생하는 단계는, 신호의 제 2 부분의 적어도 하나의 값을 각 픽셀에 할당하는 단계를 포함할 수 있다.
제 1 픽셀값 집합과 나머지 픽셀들을 결합하여 픽셀 매크로블록을 재발생하는 단계는, 제 1 픽셀값 집합과 나머지 픽셀들 사이의 경계(boundary)를 필터링하는 단계를 포함할 수 있다.
이 방법은 매크로블록의 경계를 필터링하는 단계를 포함할 수도 있다. 필터링 단계는 디-블로킹 필터(a de-blocking filter)를 적용하는 단계로 이루어질 수 있을 것이다.
전술한 신호의 제 1 부분을 역양자화하는 단계는, 신호의 제 1 부분과 연관된 위치값을 디코딩하는 단계를 추가로 포함할 수 있다.
본 발명의 다른 양상에 따르면, 전술한 방법을 수행하도록 적용된 프로그램 코드 수단을 포함하는 컴퓨터 프로그램이 제공된다.
본 발명의 다른 양상에 따르면, 픽셀 매크로블록으로부터 제 1 픽셀 집합을 선택하는 수단과, 제 1 픽셀 집합을 변환하는 수단과, 변환된 제 1 픽셀 집합을 인코딩하는 수단을 포함하는 장치가 제공된다.
본 발명의 다른 양상에 따르면, 픽셀 매크로블록으로부터 제 1 픽셀값 집합을 나타내는 신호의 제 1 부분을 결정하는 수단과, 이 신호의 제 1 부분으로부터 제 1 픽셀값 집합을 재발생하는 수단과, 이 신호의 제 2 부분으로부터 픽셀 매크로블록의 나머지 픽셀들을 재발생하는 수단과, 하나의 픽셀 매크로블록을 재발생하기 위해 제 1 픽셀값 집합과 나머지 픽셀들을 결합하는 수단을 포함하는 장치가 제공된다.
본 발명의 보다 나은 이해를 위해, 이제부터 첨부도면을 예를 들어 가면서 설명할 것이다.
도 1은 본 발명의 실시예를 채용하는 전자 디바이스를 개략적으로 도시한다.
도 2는 본 발명의 실시예를 채용하기에 적합한 사용자 장비를 개략적으로 도시한다.
도 3은 무선 및 유선 네트워크 접속을 이용하도록 접속된, 본 발명의 실시예를 채용하는 전자 디바이스를 추가로 개략적으로 도시한다.
도 4는 인코더 내부에 포함된, 본 발명의 실시예를 개략적으로 도시한다.
도 5는 도 4에 도시된 잔여 인코더와 관련하여 본 발명의 실시예의 동작을 보여주는 흐름도를 도시한다.
도 6은 본 발명의 실시예에 따른 디코더의 개략도를 도시한다.
도 7은 도 6에 도시된 디코더와 관련하여 본 발명의 실시예의 동작을 보여주는 흐름도를 도시한다.
도 8은 본 발명의 실시예에 따른 필터링 및 CBP 시그널링(coded block pattern signalling)의 개략도를 도시한다.
도 9는 본 발명의 실시예에 따른 공간 가변 변환 블록 선택 및 매크로블록 오리진(macro block origin)으로부터 오프셋의 개략도를 도시한다.
도 2는 본 발명의 실시예를 채용하기에 적합한 사용자 장비를 개략적으로 도시한다.
도 3은 무선 및 유선 네트워크 접속을 이용하도록 접속된, 본 발명의 실시예를 채용하는 전자 디바이스를 추가로 개략적으로 도시한다.
도 4는 인코더 내부에 포함된, 본 발명의 실시예를 개략적으로 도시한다.
도 5는 도 4에 도시된 잔여 인코더와 관련하여 본 발명의 실시예의 동작을 보여주는 흐름도를 도시한다.
도 6은 본 발명의 실시예에 따른 디코더의 개략도를 도시한다.
도 7은 도 6에 도시된 디코더와 관련하여 본 발명의 실시예의 동작을 보여주는 흐름도를 도시한다.
도 8은 본 발명의 실시예에 따른 필터링 및 CBP 시그널링(coded block pattern signalling)의 개략도를 도시한다.
도 9는 본 발명의 실시예에 따른 공간 가변 변환 블록 선택 및 매크로블록 오리진(macro block origin)으로부터 오프셋의 개략도를 도시한다.
다음은 비디오 코덱과 관련하여 인코딩 효율과 신호 충실도를 증강시키기에 적합한 장치와 이를 가능케 하는 메커니즘을 보다 상세히 설명한다. 이와 관련하여 도 1을 참조하면, 도 1은 예시적인 장치 혹은 전자 디바이스(50)의 개략적인 블록도를 도시하는데, 이 장치는 본 발명의 실시예에 따른 코덱을 포함할 수도 있다.
전자 디바이스(50)는 예컨대 무선 통신 시스템의 사용자 장비이거나 이동 단말기일 수도 있다. 그러나, 본 발명의 실시예가 비디오 이미지에 대한 인코딩 및 디코딩을 필요로 하거나 혹은 인코딩과 디코딩 한 쪽만을 필요로 하는 모든 전자 디바이스 혹은 장치 내에서 구현될 수 있음을 이해할 것이다.
장치(50)는 디바이스를 포함 및 보호하는 하우징(a housing)(30)을 포함할 것이다. 이 장치는 액정 디스플레이의 형태로 디스플레이(32)를 포함할 것이다. 본 발명의 다른 실시예에서, 이 디스플레이는 이미지 혹은 비디오를 디스플레이하기에 적합한 모든 적당한 디스플레이 기술일 것이다. 장치(50)는 또한 키패드(34)를 더 포함한다. 본 발명의 다른 실시예에서, 모든 적당한 데이터 혹은 사용자 인터페이스 메커니즘이 채용될 수도 있다. 예를 들어, 사용자 인터페이스는 터치 감응 디스플레이의 일부로서 가상 키보드 혹은 데이터입력 시스템으로 구현될 수도 있다. 이 장치는 마이크로폰(36) 또는 임의의 적당한 오디오 입력을 포함할 수도 있는데, 이것은 디지털 신호 입력일 수도 있고 아날로그 신호 입력일 수도 있다. 장치(50)는 오디오 출력 디바이스를 더 포함할 수도 있는데, 본 발명의 일 실시예로, 이어폰(38), 스피커, 혹은 아날로그 오디오 또는 디지털 오디오 출력 접속중 어떤 것일 수도 있다. 장치(50)는 또한 배터리(40)를 포함할 수도 있다(본 발명의 다른 실시예에서는, 이 디바이스가 태양 전지, 연료전지 또는 시계 장치 발전기같은 임의의 적당한 이동성 에너지 디바이스에 의해 전력이 제공될 수도 있다). 이 장치는 다른 디바이스에 대한 단거리 가시거리 통신을 위한 적외선 포트(42)를 더 포함할 수도 있다. 다른 실시예에서, 이 장치(50)는 블루투스 무선 접속이나 USB/파이어와이어 유선 접속같은 임의의 적당한 단거리 통신 해법을 더 포함할 수도 있다.
이 장치(50)는 장치(50)를 제어하기 위한 콘트롤러(56) 혹은 프로세서를 포함할 수도 있다. 콘트롤러(56)는 메모리(58)에 접속될 수도 있는데, 본 발명의 실시예에서 이 메모리는 두 개의 데이터 형태 즉, 이미지 및 오디오 데이터의 형태로 데이터를 기억할 수도 있고/있거나 콘트롤러(56)에서 구현하기 위한 명령어를 기억할 수도 있다. 콘트롤러(56)는 오디오 및/또는 비디오 데이터를 코딩 및 디코딩하거나 혹은 콘트롤러(56)에 의해 수행되는 코딩 및 디코딩을 지원하기에 적합한 코덱 회로(54)에 접속될 수도 있다.
장치(50)는 카드 판독기(48)와 스마트 카드(46)를 더 포함할 수도 있는데, 예를 들면, 사용자 정보를 제공하고, 네트워크에서 인증을 위한 인증 정보와 사용자 인증을 제공하기에 적합한 UICC 및 UICC 판독기를 포함할 수도 있다.
장치(50)는 콘트롤러에 접속된 무선 통신 인터페이스 회로(52)를 포함할 수도 있는데, 이 회로는 예컨대 셀룰러 통신 네트워크, 무선 통신 시스템 혹은 무선 LAN과 통신하기 위한 무선 통신 신호를 발생하기에 적합하다. 이 장치(50)는 또한 무선 통신 인터페이스 회로(52)에서 발생된 무선 통신 주파수 신호를 전송 및 수신하기 위해 무선 통신 인터페이스 회로(52)에 접속된 안테나(44)를 포함할 수도 있다.
본 발명의 몇몇 실시예에서, 장치(50)는 이후에 처리를 위해 코덱(54)이나 콘트롤러로 전송되는 개별 프레임을 녹화 혹은 검출할 수 있는 카메라를 포함한다. 본 발명의 다른 실시예에서, 장치는 전송 및/또는 기억 이전에 인접 디바이스로부터 처리를 위한 비디오 이미지 데이터를 수신할 수도 있다. 본 발명의 다른 실시예에서, 이 장치(50)는 코딩/디코딩을 위한 이미지를 무선 혹은 유선 접속으로 수신할 수도 있다.
도 3과 관련하여, 본 발명의 실시예가 내부적으로 활용될 수 있는 시스템이 도시되어 있다. 시스템(10)은 하나 이상의 네트워크를 통해 통신할 수 있는 다중 콩신 디바이스를 포함한다. 이 시스템(10)은, 한정하려는 것은 아니지만, 무선 셀룰러 전화 네트워크(예컨대 GSM, UMTS, CDMA 네트워크 등), 예컨대 IEEE 802.x 표준중 어떤 것으로 정의되는 무선 근거리 통신망(WLAN), 블루투스 개인 통신망(PAN), 이더넷 LAN, 토큰 링 LAN, 광역통신망(WAN) 및 인터넷을 포함하는 모든 유선 혹은 무선 네트워크의 결합을 포함할 수도 있다.
시스템(10)은 유선 및 무선 통신 디바이스, 혹은 본 발명의 실시예를 구현하기에 적합한 장치(50)를 포함할 수도 있다.
예를 들어, 도 3에 도시된 시스템은 이동 전화 네트워크(11)와 인터넷(28)으로 표현된 부분을 도시한다. 인터넷(28)에 대한 접속은, 한정하는 것은 아니지만, 장거리 무선 접속과, 단거리 무선 접속과, 전화선, 케이블선, 전력선 및 그와 유사한 통신 경로 등을 포함하는 다양한 유선 접속을 포함할 수도 있다.
시스템(10)에 도시된 예시의 통신 디바이스는, 한정하는 것은 아니지만, 전자 디바이스 또는 장치(50), PDA와 이용 전화(14)의 결합, PDA(16), IMD(an integrated messaging device)(18), 데스크탑 컴퓨터(20), 노트북 컴퓨터(22)를 포함할 수도 있다. 장치(50)는 이동중인 개인이 운반할 때 정지하거나 이동할 수 있을 것이다. 또한 이 장치(50)는, 한정하는 것은 아니지만, 자동차, 트럭, 택시, 버스, 기차, 보트, 비행기, 자전거, 모터사이클 혹은 이와 유사한 모든 적당한 운송 수단을 포함한 운송 수단(a mode of transport)에 놓여질 수 있을 것이다.
몇몇 혹은 다른 장치가 호출과 메시지를 전송 및 수신할 수도 있고, 기지국(24)에 대한 무선 접속(25)을 통해 서비스 제공자와 통신할 수도 있다. 기지국(24)은 네트워크 서버(26)에 접속될 수 있는데, 이 서버는 이동 전화 네트워크(11)와 인터넷(28) 사이의 통신을 가능하게 한다. 이 시스템은 추가적인 통신 디바이스와 여러 유형의 통신 디바이스를 포함할 수도 있다.
통신 디바이스는, 한정하는 것은 아니지만, CDMA, GSM, UMTS, TDMA, FDMA, TCP-IP, SMS, MMS, e메일, IMS(instant messaging service), 블루투스, IEEE 802.11 및 이와 유사한 모든 무선 통신 기술을 포함한 다양한 전송 기술을 이용하여 통신할 수 있을 것이다. 본 발명의 다양한 실시예를 구현하는 것과 관련있는 통신 디바이스는, 한정하는 것은 아니지만, 무선, 적외선, 레이저, 케이블 접속 및 모든 적당한 접속을 포함하는 다양한 미디어를 이용해서 통신할 수 있을 것이다.
도 4와 관련하여, 본 발명의 실시예를 수행하기에 적합한 비디오 인코더의 블록도가 도시되어 있다. 더 나아가, 도 5와 관련하여서는, 특별히 잔여 매크로블록 인코딩 프로세스와 관련하여 본 발명의 실시예를 예시하는 인코더의 동작이 상세히 도시되어 있다.
도 4는 픽셀 예측기(302), 예측 에러 인코더(303) 및 예측 에러 디코더(304)을 포함하는 인코더를 도시한다.
픽셀 예측기(302)는 인터 예측기(the inter-predictor)(306)(이것은 이미지와 기준 프레임(318) 사이의 차이를 결정함)와 인트라 예측기(the intra-predictor)(308)(이것은 오로지 현재 프레임 혹은 화면에만 기초하여 이미지를 결정함) 모두에서 인코드될 이미지(300)를 수신한다. 인터 예측기와 인트라 예측기의 두 출력은 모드 선택기(310)로 보내진다. 모드 선택기(310)는 또한 이미지(300)의 사본(a copy)을 수신한다. 모드 선택기의 출력은 인트라 예측기(306) 또는 인터 예측기(308)로부터의 이미지 블록(312)의 예측 표현(the predicted representation)이고, 이것은 제 1 가산 디바이스(a first summing device)(321)로 보내진다. 제 1 가산 디바이스는 이미지(300)로부터 픽셀 예측기(302)의 출력을 추출하여, 예측 에러 인코더(303)로 입력될 제 1 예측 에러 신호(320)를 발생한다.
픽셀 예측기(302)는 또한 이미지 블록의 예측 표현(312)과 예측 에러 디코더(304)의 출력(338)의 결합을 예비 재구성기(a preliminary reconstructor)(339)로부터 수신한다. 예비 재구성된 이미지(314)는 인트라 예측기(308)와 필터(316)로 보내진다. 예비 표현을 수신한 필터(316)는 이 예비 표현을 필터하여 최종 재구성된 이미지(340)을 출력하고, 이 이미지는 기준 프레임 메모리(a reference frame memory)(318)에 저장된다. 기준 프레임 메모리(318)는 나중에 기준 이미지로 이용될 인터 예측기(306)에 접속되는데, 기준 이미지는 이미지(300)와 인터 예측 동작에 맞서서 비교된다.
픽셀 예측기(302)의 동작은 종래 기술에서 알려진 모든 공지된 픽셀 예측 알로리즘을 수행하도록 구성될 수 있을 것이다.
예측 에러 인코더(302)와 예측 에러 디코더(304)의 동작은 이후에 더 자세히 설명될 것이다. 다음 예에서, 인코더는 16x16 픽셀 매크로블록으로 이미지를 발생하고, 이 이미지는 완전 이미지 혹은 화면을 형성하게 될 것이다. 따라서 다음 예의 경우 픽셀 예측기(302)와 제 1 가산 디바이스(321)는 16x16 픽셀 잔여 데이터 매크로블록 시리즈를 출력하고, 이것들은 기준 이미지 혹은 화면내의 유사 매크로블록과 이미지내의 제 1 매크로블록 사이의 차이를 나타내던지(인터 예측 모드에서), 혹은 이미지 매크로블록 그 자체를 나타낼 것이다(인트라 예측 모드에서). 다른 사이즈의 매크로블록이 이용될 수도 있음을 이해할 것이다. 더 나아가, 비록 다음 예들이 선택된 블록 사이즈로서 선택된 8x8 픽셀 블록을 설명할지라도, 다른 사이즈의 선택된 블록들이 본 발명의 다른 실시예에서 이용될 수도 있음을 이해할 것이다.
예측 에러 인코더(303)는 블록 처리기(351)을 제어하는 콘트롤러(355)와 블록 테스터(353)와 블록 필터(357)를 포함한다. 블록 처리기(351)는 선택된 16x16 픽셀 잔여 매크로블록(320)을 수신할 것이다. 블록 처리기(351)의 출력은 블록 테스터(353)에 접속된다. 블록 테스터(353)는 도한 블록 필터(357)에 접속된다. 블록 필터(357)의 출력은 엔트로피 인코더(330)와 예측 에러 디코더(304)로 보내진다.
엔트로피 인코더(330)는 예측 에러 인코더의 출력을 수신하고, 신호에 대해 적절한 엔트로피 인코딩/가변 길이 인코딩을 수행하여, 에러를 검출 및 정정할 것이다. 모든 적절한 엔트로피 인코딩 알고리즘이 채용될 수 있다.
예측 에러 디코더(304)는 예측 에러 인코더(303)로부터 출력을 수신하고, 예측 에러 인코더(303)의 반대 처리들을 수행함으로써, 디코드된 예측 에러 신호(338)를 만들어내고, 이 신호(338)가 제 2 가산 디바이스(339)에서 이미지 블록(312)의 예측 표현과 결합되면, 예비 재구성된 이미지(314)가 만들어진다. 예측 에러 디코더는 이후에 설명되는 블록값들을 추출하는 블록 디코더와, 블록 디코더(359)의 값들로부터 블록을 재발생하는 블록 재발생기 프로세서(361)와, 추가 디코드된 정보와 필터 파라미터에 따라 재발생된 매크로블록을 필터링하는 매크로블록 필터(363)을 포함하도록 구성될 수 있을 것이다.
예측 에러 인코더(303)의 동작과 구현은 도 5와 관련하여 더 자세히 도시된다.
블록 프로세서(351)는 16x16 픽셀 잔여 매크로블록을 수신하는데, 다시 말하면, 16x16 픽셀 잔여 매크로블록은 도 5의 단계(501)에 도시된 것처럼 선택된다.
다음, 콘트롤러(355)는 루프 콘트롤 메커니즘을 개시하고, 여기에서 블록 프로세서(351)는 16x16 픽셀 잔여 매크로블록으로부터 8x8 픽셀 잔여 블록을 선택한다. 도 9와 관련하여, 이러한 선택의 예가 도시되어 있는데, 이것에 따르면 16x16 픽셀 잔여 매크로블록(801)이 도시되어 있고 그 내부에는 8x8 픽셀 잔여 변환 블록(811)이 도시되어 있다. 더 나아가 도 9에서 볼 수 있듯이, 8x8 픽셀 잔여 변환 블록(811)은 16x16 픽셀 잔여 매크로블록(801)의 오리진에 대해 제 1 오프셋 값 ㅿx(903)과 제 2 오프셋 값ㅿy(903)으로 정의되어 있다.
이후 블록 프로세서(351)는 8x8 픽셀 잔여 변환 블록(811)을 임의의 적당한 변환을 이용해 변환한다. 예를 들어, 본 발명의 몇몇 실시예에서, 이산 코사인 변환(DCT)이 원 이미지와 픽셀 예측 이미지 사이의 상관관계를 주파수 영역 2차원 어레이로서 활용하도록 이용된다. 그러나, 본 발명의 다른 실시예에서는, 주파수 영역 변환에 다른 적당한 공간이 구현될 수도 있다.
8x8 픽셀 변환 블록을 변환하는 동작이 도 5에서 단계(505)로 도시되어 있다.
더 나아가, 블록 프로세서(351)은 8x8 픽셀 변환 블록(811)에 대해 적절한 양자화를 수행한다. 반드시 한정하려는 것은 아니지만 벡터 양자화(vector quantization)를 포함한 모든 적당한 양자화 체계가 이용될 수 있다. 본 발명의 다른 실시예에서, 각각의 계수(coefficient)는 독립적으로 양자화될 것이다. 변환된 8x8 픽셀 변환 블록(811)에 대해 양자화를 적용하는 동작은 도 5의 단계(507)에 도시된다.
블록 프로세서(351)는 또한 8x8 픽셀 변환 블록으로 선택되지 않은 16x16 픽셀 잔여 매크로블록의 나머지 부분의 잔여 픽셀들에 대해 재구성 값을 발생한다. 16x16 픽셀 잔여 매크로블록의 나머지 부분의 잔여 픽셀들에 대한 재구성 값들은 0으로 설정된다.
본 발명의 다른 실시예에서는, 변환에 선택되지 않은 16x16 잔여 매크로블록의 나머지 부분의 잔여 픽셀값들이 개별적으로 표현될 수도 있고 결합적으로 표현될 수도 있다. 예를 들어, 본 발명의 몇몇 실시예에서, 나머지 영역의 픽셀들 각각은 고정된 값으로 표현될 수도 있는데, 이 고정된 값들 각각은 다음의 값들의 집합, -1(11, 2비트), 0(0, 1비트), 1(10, 2비트)중에서 선택될 수도 있다. 본 발명의 다른 실시예에서는, 모든 나머지 픽셀값들이 전술한 값들의 집합으로부터 선택된 단일 값으로 표현될 수도 있다.
16x16 잔여 매크로블록의 나머지 부분에 대해 재구성값을 발생하는 동작은 도 5의 단계(509)에 도시된다.
양자화된 8x8 픽셀 변환된 블록(811)과 16x16 픽셀 잔여 매크로블록의 나머지에 대한 재구성값의 형태인 블록 프로세서(351)의 출력은 블록 테스터(353)으로 보내진다. 블록 테스터(353)는 전술한 최소값 C=D+λR을 적용하여, 에러값 D와 코딩 선택의 비용 R 사이의 절충안을 (코딩 사이즈나 혹은 비트율의 형태로) 발생할 것이다.
최적화 동작을 수행하기 위해서, 블록 프로세서(351)는 블록 프로세서(351)에 의해 제공된 값들을 이용한 재구성된 값과 예측 에러 인코더(303)의 잔여 에러 이미지 입력 사이의 평균 제곱 에러(mean square error)(혹은 몇몇 다른 에러값)을 결정한다. 이런 설정과 에러값은 메모리 혹은 콘트롤러(355) 내부에 기억될 것이다.
16x16 잔여 매크로블록의 나머지에 대한 재구성 값과 결합하여 변환 및 양자화된 8x8 픽셀 변환된 블록(811)과 입력 16x16 잔여 매크로블록(801) 사이의 에러를 테스트하는 동작이 도 5의 단계(511)에 도시되어 있다.
콘트롤러(355)는 다음에 모든 재구성 값 옵션들이 테스트되었는지를 결정한다. 이 동작은 도 5의 단계(513)에 도시되어 있다. 만약 모든 재구성값 옵션들이 테스트되지 않았다면, 이 동작은 단계(509)로 되돌아가서 이후의 재구성값 옵션이 발생 및 테스트된다. 만약 모든 재구성값 옵션들이 테스트되었다면, 이 동작은 8x8 픽셀 변환 블록 옵션들이 테스트되었는지 결정하는 단계로 진행한다.
콘트롤러(355)는 또한 모든 8x8 픽셀 변환 블록(811)의 옵션들이 테스트되었는지 결정한다. 16x16 잔여 매크로블록의 경우, (ㅿx,ㅿy)의 벡터로 표현될 수 있는 ㅿx와 ㅿy의 결합이 최대 81개까지 가능하다. 벡터(ㅿx,ㅿy)의 성분들은 (0..8,0..8)의 가능한 값들의 범위에서 어떤 값을 갖도록 결정될 것이다. 그러나, 본 발명의 실시에에서, 가능한 표현들의 개수는 코딩 효율을 개선하고 계산적인 요구사항들을 낮추려는 현실적인 이유로 코덱에 의해 제한될 수도 있다. 예를 들면, 코덱은 오로지 32개의 가능한 ㅿx와 ㅿy의 조합만을 활용하도록 선택될 수도 있고, 이 조합을 (ㅿx,ㅿy)의 벡터로 표현하면 (0..8,0), (0..8,8), (0,1..7) 및 (8,1..7)의 범위를 표현된다. 이들 32개의 조합들 각각은 5비트 길이의 고정 코드를 이용해 코드화될 수 있을 것이다. 통계에 따르면, 변환이 덜 효율적인 매크로블록의 중앙에 8x8 블록이 있는 경우에 8x8 블록에서 보다 더 에지에 존재할수록 (ㅿx,ㅿy)는 (0..8,0), (0..8,8), (0,1..7) 및 (8,1..7) 중 하나일 확률이 높다. 만약 모든 이용 가능한 8x8 픽셀 변환 블록(811)의 옵션들이 테스트되지 않았다면, 이동작은 단계(503)으로 되돌아가서 다음 8x8 픽셀 변환 블록의 옵션이 선택된다. 반대의 경우에는, 이 동작이 다음 단계로 진행하여 최소 오프셋 선택하고 최소 에러를 갖는 재구성값들을 선택한다. 모든 8x8 픽셀 변환 블록(811)의 옵션들이 선택되었는지를 검사하는 동작은 도 5의 단계(515)에 도시되어 있다.
콘트롤러(355)는 또한 8x8 픽셀 변환 블록(811)과, 비용함수 C=D+λR을 최소화시키는(즉, 허용 가능한 비트율/대역폭 고려사항과 관련하여 최소 에러를 발생하는) 재구성값을 선택한다.
더 나아가, 콘트롤러는 5비트 고정 길이 코드를 이용하는 ㅿx,ㅿy와, 전술한 재구성값 옵션 코드를 인코드하고, 이 정보를 멀티플렉서(도시 안됨)로 보낸다. 비용 함수를 최소화시키는 코딩 옵션을 선택 혹은 결정하는 동작은 도 5에서 단계(517)에 도시된다.
다음, 콘트롤러(355)는 8x8 픽셀 변환 블록(811)의 정보를 블록 필터(357)로 보낸다. 블록 필터(357)는 8x8 픽셀 변환 블록(811)의 경계와 관련하여 16x16 픽셀 잔여 매크로블록(801)에 대한 내부 필터링(an internal filtering)을 결정한다. 도 8과 관련하여, 8x8 픽셀 변환 블록(811)과 잔여 매크로블록(801)의 비변환 영역 사이의 필터링된 경계 에지가 도시되어 있다. 잔여 매크로블록(801)과 8x8 픽셀 변환 블록(811)은 필터링과 관련해 표시된 경계(851)를 갖는다. 필터링은 디블록킹 필터링일 수도 있고, 본 발명의 실시예에서 재구성된 프레임에 이용되는 필터와 유사한 디블로킹 필터일 수도 있다. 필터의 내용은 이후에 인코드되어 멀티플렉서로 전송될 것이다.
내부 잔여 필터링 결정 동작은 도 5의 단계(519)에 도시되어 있다.
더 나아가, 블록 필터(357)는 외부 16x16 픽셀 잔여 매크로블록 필터링 프로세스를 결정할 것이다. 이것은 이후부터 코드된 블록 패턴(CBP) 발생 또는 유도 동작으로 기술될 것이다. 16x16 픽셀 잔여 매크로블록의 특정한 8x8 픽셀 분할에 디블로킹 필터가 적용되는지에 관한 결정의 한 방법이 도 8에 도시된다. 도 8에서, 16x16 픽셀 잔여 매크로블록(801)이 4등분으로 나뉘어져 있고, 각각의 부분은 8x8 픽셀이다. 제 1 부분(803)은 잔여 매크로블록의 상부 좌측 사분면이고, 제 2 부분(805)은 잔여 매크로블록의 하부 좌측 사분면이고, 제 3 부분(809)은 잔여 매크로블록의 상부 우측 사분면이고, 제 4 부분(807)은 잔여 매크로블록의 하부 우측 사분면이다. 도 8에 도시된 예로부터, CBP 유도시에는 8x8 픽셀 변환 블록(811)이 사분면과 겹쳐지는 4분면들을 위해 매크로블록의 외부 둘레에 적용될 외부 디블로킹 필터가 필요함을 알 수 있다. 따라서 도 8에 도시된 예의 경우, 8x8 픽셀 변환 블록은 제 1 및 제 3 부분, 즉, 상부 좌측 및 상부 우측 사분면만 겹치게 되어, 최상부 좌측 사분면(803) 및 최상부 우측 사분면(809)상의 매크로블록 경계 에지만이 각기 필터링에 적합한 것으로 표시되고, 하부 좌측 사분면(805)과 하부 우측 사분면(807)은 필터링에 적합한 것으로 표시되지 않는다.
본 발명의 몇몇 실시예세서, 인코더는 오로지 내부 및 외부 필터링 프로세스중 하나만을 결정할 것이다. 예를 들어, 본 발명의 일 실시예에서, CBP 유도 프로세스는 매크로블록 내부의 오로지 4개의 8x8 블록들을 위한 CBP만이 유도되고, 정규 내부 에지와 매크로블록 경계 에지에 대한 필터링은 결정되지 않는다. 정규 내부 에지와 매크로블록 경계 에지의 필터링은 본 발명의 일 실시예에서 CBP가 아닌 다른 기준에 따라 결정될 것이다.
본 발명의 다른 실시예에서, 다른 적당한 CBP 규칙이 구현될 수도 있다.
외부 16x16 픽셀 잔여 매크로블록 필터링의 결정은 도 5의 단계(521)에 도시된다.
본 발명의 몇몇 실시예에서, 필터 결정 동작, 즉, 내부 필터링을 할 것인지 혹은 외부 필터링을 할 것인지, 또는 양쪽 다 할것인지에 대한 결정 동작은 비용 함수의 테스팅동안 수행될 것이다. 본 발명의 이 실시예에서, 변환에 요구되는 프로세싱 및 시그널링과 관련하여 필터링 비용은 비용 함수 결정시에 요소(a factor)로 이용될 것이고, 매크로블록의 필터링과 관련한 이러한 구성은 비용 함수 최적화 프로세스에 따라결정될 것이다.
더 나아가, 인코드된 ㅿx,ㅿy, 재구성값 및, 임의의 내부 혹은 외부 필터 정보 혹은 CBP값은 멀티플렉서로 전송되고, 여기에서 이 값들은 임의의 기준 정보와 함께 멀티플렉스되어 프레임 정보의 출력 시퀀스를 형성하게 될 것이다. 엔트로피 인코더에 의한 엔트로피 인코딩 프로세스의 적용은 이 프레임 정보의 멀티플렉싱 이후에 구현될 것이다. 이들 값들의 멀티플렉싱은 도 5의 단계(523)에 도시된다.
본 발명의 다른 실시예에서, 16x16 잔여 매크로블록 내부에는 8x8 픽셀 변환 블록이 하나 이상으로 존재할 것이다. 다시 말해서, 본 발명의 몇몇 실시예에서는, 에러를 더 줄이기 위해서 둘 이상의 독립된 영역이 선택 및 인코드된다. 더 나아가, 본 발명의 다른 실시예에서는, 픽셀 변환 블록의 사이즈가 8x8 픽셀이 아닌 다른 것이다.
본 발명의 다른 실시예에서, ㅿx와 ㅿy의 서로 다른 조합이 이용된다.
본 발명의 몇몇 실시예에서, 8x8 픽셀 블록은 변환되지 않고 공간 코딩을 이용해 인코드된다.
본 발명의 다른 실시예에서, 잔여 매크로블록의 나머지의 재구성값은 양자화 단계에 따라 결정되어, 시퀀스 혹은 화면 헤더에 별개로 신호된다.
본 발명의 다른 실시예에서, ㅿx값과 ㅿy값의 인코딩은 ㅿx값과 ㅿy값 사이의 어떤 상관관계를 활용하기 위해 공동으로 인코드(jointly encoded)된다. 본 발명의 몇몇 실시예애서, ㅿx값과 ㅿy값은 별개로 인코드된다.
본 발명의 몇몇 실시예에서, ㅿx와 ㅿy에 이용되는 코딩은 매크로블록에 이용되는 움직인 벡터나 이웃 매크로블록으로부터 유도된 정보 같은 요소에 따라 선택된다.
본 발명의 몇몇 실시예에서, 특히 가변 변환의 계수는 예컨대 가변 길이 코딩표처럼 엔트로피 코딩 방법을 이용해 코드된다.
그러므로 본 발명의 실시예에서 구현되는 본 발명은, 인코더가 잔여 매크로블록의 영역을 결정함에 있어서 변환에 가장 최적으로 선택되도록, 그리고 예측된 이미지 블록과 이미지 블록 사이의 상관관계가 최적으로 활용되도록 영역을 결정한다는 이점을 갖는다. 더 나아가, 이후에 설명되는 것처럼, 디코더는 디코드될 하나의 8x8 픽셀 블록 변환과 관련한 계수만을 필요로하므로, 디코더는 덜 복잡하면서 코딩 효율을 높일 수 있다.
완전한 설명을 위해, 적당한 디코더가 이후에 설명된다. 도 6은 본 발명의 실시예를 채용하기에 적합한 비디오 디코더의 블록도를 도시한다. 이 디코더는 수신된 신호에 엔트로피 디코딩을 수행하는 엔트로피 디코더(600를 도시한다. 따라서 엔트로피 디코더는 전술한 인코더의 엔트로피 인코더(300)의 역 동작을 수행한다. 엔트로피 디코더(600)는 엔트로피 디코딩의 결과를 예측 에러 디코더(602)와 픽셀 예측기(604)로 출력한다.
픽셀 예측기(604)가 인트라 예측 동작이 수행될 것인지 혹은 인터 예측 동작이 수행될 것인지 결정함에 따라서 픽셀 예측기(604)는 엔트로피 디코더(600)와 예측기 선택기(614)의 출력을 수신한다. 예측기 선택기는 이미지 블록(616)의 예측된 표현을 제 1 결합기(613)로 출력한다. 이미지 블록(616)의 예측된 표현은 재구성된 예측 에러 신호(612)와 함께 이용되어 예비 재구성된 이미지(618)를 발생한다. 예비 재구성된 이미지(618)는 예측기(614)에서 이용되거나 혹은 필터(620)로 보내진다. 필터(620)은 필터링을 적용하여 최종 예측된 신호(622)를 출력할 것이다. 최종 예측된 신호(622)는 기준 프레임 메모리(624)에 기억될 것이고, 기준 프레임 메모리(624)는 추후의 예측 동작을 위해 예측기(614)에 접속되어 있다.
예측 에러 디코더(602)의 동작은 도 7의 흐름도롸 관련하여 상세히 설명된다. 예측 에러 디코더(602)는 엔트로피 디코더(600)의 출력을 수신한다.
이 디코더는 재발생을 위해 16x16 픽셀 잔여 매크로블록을 선택한다. 재발생될 16x16 픽셀 잔여 매크로블록의 선택은 단계(701)에 도시된다.
이후, 디코더(601)는 엔트로피 디코드된 값들을 수신하고, 이 값들은 ㅿx값과 ㅿy값(즉, 8x8 픽셀 변환된 블록의 식별부)으로 분리 및 디코드된다. 이러한 디코딩은 도 7의 단계(703)에 도시된다.
역양자화기(608)는 전술한 선택된 8x8 픽셀 변환된 블록을 역양자화한다. 8x8 픽셀 변환된 블록의 역양자화는 도 7의 단계(705)에 도시된다.
이후, 역변환기(606)는 전술한 선택된 역양자화된 8x8 픽셀 변환된 블록에 대해 역변환을 수행한다. 이 역변환 수행 동작은 도 7의 단계(707)에 도시된다.
수행되는 역변환은 인코더 내부에서 수행되는 변환에 의존한다.
다음, 재구성기(603)가 재구성값들을 디코드하고, 재구성값의 그 값에 따라 16x16 픽셀 잔여 매크로블록의 나머지를 설정한다.
16x16 픽셀 잔여 매크로블록의 나머지에 대한 디코딩과 재구성은 도 7의 단계(709)에 도시된다.
블록 필터(605)는 8x8 픽셀 변환된 블록 및 16x16 픽셀 잔여 매크로블록의 재구성된 나머지로부터 결합된 데이터를 수신하고, 인코더에 의해 식별되는 것과 비슷한 방식으로 임의의 내부 에지 필터링을 수행한다.
내부 에지 필터링의 동작은 도 7의 단계(711)에 도시된다.
더 나아가, 블록 필터(605)는 CBP 정보의 값에 따라서 재구성된 16x16 픽셀 잔여 매크로블록에 대해 외부 에지 필터링을 수행한다.
CBP 정보를 이용한 매크로블록의 외부 에지 필터링 동작은 도 7의 단계(713)에 도시된다.
블록 필터(605)와 예측 에러 디코더(604)는, 전술한 것과 같은 예비 재구성된 이미지(618)을 생성하기 위해, 인트라 예측 동작 혹은 인터 예측 동작에 의해 출력된 현재 기준 이미지와 결합될 재구성된 16x16 픽셀 잔여 매크로블록을 출력한다.
전술한 본 발명의 실시예는 관련 프로세스의 이해를 돕기 위해 독립적인 인코더 및 디코더와 관련해서 코덱을 설명한다. 그러나 이 장치, 구조 및 동작이 단일 인코더-디코더 장치/구조/동작으로 구현될 수도 있음을 이해할 것이다. 더 나아가, 본 발명의 몇몇 실시예에서, 코더와 디코더가 몇몇의 공통 성분 혹은 모든 공통 성분을 공유할 수도 있을 것이다.
비록 전술한 예들이 전자 디바이스 내부의 코덱 내부에서 동작하는 본 발명의 실시예를 설명하고 있을지라도, 이후에 설명되는 것처럼 본 발명이 임의의 비디오 코덱의 부분으로서 구현될 수도 있음을 이해할 것이다. 따라서, 예를 들어, 본 발명의 실시예들은 고정 혹은 유선 통신 경로를 통한 비디오 코딩을 구현할 수도 있는 비디오 코덱에서 구현될 수도 있을 것이다.
결국, 사용자 장비는 전술한 본 발명의 실시예에서 설명되는 것과 같은 비디오 코덱을 포함할 수도 있다.
사용자 장비라는 용어는 예컨대 이동 전화기, 휴대용 데이터 처리 장치, 혹은 휴대용 웹 브라우저같은 모든 적당한 유형의 무선 사용자 장비를 포괄하도록 의도된 것임을 이해해야 할 것이다.
더 나아가, 공중통신망(PLMN;public land mobile network)의 구성 성분들이 전술한 것과 같은 비디오 코덱을 포함할 수도 있다.
일반적으로, 본 발명의 다양한 실시예들이 하드웨어 혹은 전용 회로, 소프트웨어, 논리 회로 혹은 이들의 임의의 조합으로 구현될 수도 있다. 예를 들어, 본 발명을 한정하려는 것은 아니지만, 몇몇 양상들은 하드웨어로 구현되는 반면에, 다른 양상들은 콘트롤러, 마이크로프로세서 혹은 다른 컴퓨팅 장치들에 의해 수행될 수 있는 펌웨어나 소프트웨어로 구현될 수도 있을 것이다. 본 발명의 다양한 양상들이 블록도, 흐름도 혹은 다른 도식적 표현을 이용해 예시 밀 설명되었지만, 본 원에서 설명되는 이들 블록들, 장치들 시스템들, 기술들 혹은 방법들은, 한정하는 것은 아니지만, 하드웨어, 소프트웨어, 펌웨어, 전용 회로 혹은 논리적인 범용 하드웨어, 혹은 콘트롤러, 혹은 그 밖의 컴퓨팅 장치, 혹은 이들의 조합으로 구현될 수 있을 것이다.
본 발명의 실시예들이 예컨대 프로세서 등에서 이동 장치의 데이터 프로세서에 의해 실행 가능한 컴퓨터 소프트웨어에 의해, 혹은 하드웨어에 의해, 혹은 소프트웨어와 하드웨어의 조합에 의해 구현될 수도 있을 것이다. 또한 이와 관련하여, 도면에서 논리 흐름의 모든 블록들은 프로그램 단계들이나, 혹은 상호 접속된 논리 회로들, 블록들 및 기능들, 혹은 프로그램 단계와 논리 회로, 블록들 및 기능의 조합을 나타내는 것일 수도 있다.
메모리는 논리적 기술 환경에 적합한 모든 유형의 것일 수 있으며, 예컨대 반도체 기반 메모리 장치, 자기 메모리 장치 및 시스템, 광학 메모리 장치 및 시스템, 고정 메모리 및 제거 가능 메모리 등 모든 적당한 데이터 기억 기술을 이용하여 구현될 수 있을 것이다. 데이터 프로세서는 로컬 기술 환경에 적합한 모든 유형의 것일 수 있으며, 한정하는 것은 아니지만, 하나 이상의 범용 컴퓨터, 전용 컴퓨터, 마이크로프로세서, DSP 및 프로세서 기반 멀티 코어 프로세서 아키텍처를 포함할 수도 있다.
본 발명의 실시예들은 예컨대 IC 모듈처럼 다양한 성분들로 실행될 수 있을 것이다. IC의 설계는 대량의 고도로 자동화된 프로세스에 의한다. 복합적이고 강력한 소프트웨어 툴을 이용하여 논리 레벨 설계를 반도체 기판상에 에치 및 형성되기 쉬운 반도체 회로 설계로 바꾸는 것이 가능하다.
캘리포니아주 마운틴뷰의 시놉시스사(Synopsys, Inc)와 캘리포니아주 산 호세의 카덴스 디자인(Cadence Design)에 의해 공급되는 프로그램들은 전도체를 자동으로 경로를 따라 보내면서, 사전 기억된 설계 모듈의 라이브러와 함께 잘 설정된 설계 규칙을 이용해 반도체 칩상에 자동으로 성분들을 위치시킨다. 일단 반도체 회로의 설계가 완료되면, 최종 설계는 규격화된 전자 서식(예컨대 Opus, GDSII 등)으로 반도체 제조 시설 혹은 제조실(fab)로 전송될 것이다.
전술한 설명은 예를 든 것으로, 본 발명의 예시적인 실시예에 대한 완전한 정보를 주는 것이지 제한하려는 것은 아니다. 그러나, 본 기술분야에 통상의 지식을 가진 사람이 첨부된 특허청구범위와 도면을 참조하여 전술한 설명을 읽는다면 다양한 수정과 변형이 이루어질 수 있음을 명확히 알 수 있을 것이다. 그러나 본 발명의 사상에 대한 이러한 유사한 수정들은 첨부된 특허청구범위가 정의하는 본 발명의 범주 내에 여전히 있을 것이다.
Claims (47)
- 장치에 있어서,
픽셀 매크로블록(a macroblock of pixels)으로부터 제 1 픽셀 집합을 선택하고,
상기 제 1 픽셀 집합을 변환(transform)하며,
상기 변환된 제 1 픽셀 집합을 인코드하도록 구성된
장치.
- 제 1 항에 있어서,
상기 픽셀 매크로블록이 추가의 픽셀 블록과 연관되고,
상기 장치는 또한 상기 선택된 제 1 픽셀 집합과 상기 추가 픽셀 블록의 대응 픽셀 집합 사이의 상관관계(a correlation)를 결정하도록 더 구성되되, 상기 제 1 픽셀 집합의 선택이, 상기 선택된 제 1 픽셀 집합과 상기 추가 픽셀 블록의 상기 대응 픽셀 집합 사이의 상기 상관관계에 의존하는
장치.
- 제 1 항 또는 제 2 항에 있어서,
상기 장치는 또한 비용 함수―상기 비용 함수는 상기 선택된 제 1 픽셀 집합과 상기 추가 픽셀 블록의 상기 대응 픽셀 집합 사이의 상기 상관관계에 의존함―를 발생하고,
상기 비용 함수의 값을 최소화시키는
장치.
- 제 3 항에 있어서,
상기 제 1 픽셀 집합은 상기 픽셀 매크로블록의 다수의 픽셀 집합중 적어도 하나로부터 선택되고, 상기 비용 함수는 상기 다수의 픽셀 집합의 개수에 의존하는
장치.
- 제 1 항 내지 제 4 항 중 어느 한 항에 있어서,
상기 장치는 또한 선택되지 않은 매크로블록 픽셀에 대해 적어도 하나의 값을 할당하는
장치.
- 제 3 항에 종속된 제 5 항에 있어서,
상기 비용 함수값은 또한 선택되지 않은 매크로블록 픽셀에 할당된 값들의 개수에 의존하는
장치.
- 제 1 항 내지 제 6 항 중 어느 한 항에 있어서,
상기 장치는 또한 상기 픽셀 매크로블록에 적용되는 필터를 선택하는
장치.
- 제 3 항에 종속된 제 7 항에 있어서,
상기 비용 함수값은 상기 필터 선택에 추가로 의존하는
장치.
- 제 4 항 내지 제 8 항 중 어느 한 항에 있어서,
상기 픽셀 매크로블록의 상기 다수의 픽셀 집합들 각각은 상기 픽셀 매크로블록 내부의 다른 위치와 연관되는
장치.
- 제 9 항에 있어서,
상기 장치는 또한 상기 픽셀 매크로블록 내부의 상기 선택된 제 1 픽셀 집합의 위치를 나타내는 값을 할당하고,
상기 선택된 제 1 픽셀 집합의 상기 위치를 나타내는 상기 값을 인코드하는
장치.
- 제 10 항에 있어서,
상기 선택된 제 1 픽셀 집합의 상기 위치를 나타내는 상기 값을 인코드하는 장치는 또한,
상기 픽셀 매크로블록으로부터 유도된 정보에 기초하여, 상기 선택된 제 1 픽셀 집합의 상기 위치를 나타내는 상기 값을 인코드하는
장치.
- 제 10 항에 있어서,
상기 선택된 제 1 픽셀 집합의 상기 위치를 나타내는 상기 값을 인코드하는 장치는 또한
이웃하는 픽셀 매크로블록으로부터 유도된 정보에 기초하여, 상기 선택된 제 1 픽셀 집합의 상기 위치를 나타내는 상기 값을 인코드하는
장치.
- 제 2 항 내지 제 12 항 중 어느 한 항에 있어서,
상기 추가 블록 혹은 픽셀은, 상기 인코드되고 변환된 제 1 픽셀 집합과, 선택되지 않은 매크로블록 픽셀에 할당된 적어도 하나의 상기 값에 의존하는
장치.
- 장치에 있어서,
픽셀 매크로블록으로부터 제 1 픽셀값 집합을 나타내는 신호의 제 1 부분을 결정하고,
상기 신호의 상기 제 1 부분으로부터 상기 제 1 픽셀값 집합을 재발생(regenerate)하고,
상기 신호의 제 2 부분으로부터 상기 픽셀 매크로블록의 나머지 픽셀들을 재발생하며,
하나의 픽셀 매크로블록을 재발생하기 위해 상기 제 1 픽셀값 집합과 상기 나머지 픽셀들을 결합(combine)하는
장치.
- 제 14 항에 있어서,
상기 제 1 픽셀값 집합을 재발생하는 장치는 또한,
상기 신호의 상기 제 1 부분을 역양자화(dequantize)하며,
상기 신호의 상기 역양자화된 제 1 부분을 역변환하는
장치.
- 제 14 항 및 제 15 항 중 어느 한 항에 있어서,
상기 픽셀 매크로블록의 상기 나머지 픽셀들을 재발생하는 장치는 또한,
상기 신호의 상기 제 2 부분의 적어도 하나의 값을 각 픽셀에 할당하는
장치.
- 제 14 항 내지 제 16 항 중 어느 한 항에 있어서,
하나의 픽셀 매크로블록을 재발생하기 위해 상기 제 1 픽셀값 집합과 상기 나머지 픽셀들을 결합하는 장치는 또한,
상기 제 1 픽셀값 집합과 상기 나머지 픽셀들 사이의 경계(the boundary)를 필터링하는
장치.
- 제 14 항 내지 제 17 항 중 어느 한 항에 있어서,
상기 장치는 또한 상기 매크로블록의 상기 경계를 필터링하는
장치.
- 제 18 항에 있어서,
상기 필터가 디블로킹 필터(a de-blocking filter)를 포함하는
장치.
- 제 15 항 내지 제 19 항 중 어느 한 항에 있어서,
상기 신호의 상기 제 1 부분을 역양자화는 장치는 또한,
상기 신호의 상기 제 1 부분과 연관된 상기 위치값을 디코드하는
장치.
- 제 1 항 내지 제 13 항 중 어느 한 항에 있어서,
상기 장치는 인코더를 포함하는
장치.
- 제 14 항 내지 제 20 항 중 어느 한 항에 있어서,
상기 장치는 디코더를 포함하는
장치.
- 전자 디바이스(an electronic device)에 있어서,
청구항 제 1 항 내지 제 20 항의 장치를 포함하는
전자 디바이스.
- 칩세트(a chipset)에 있어서,
청구항 제 1 항 내지 제 20 항의 장치를 포함하는
칩세트.
- 방법에 있어서,
픽셀 매크로블록에서 제 1 픽셀 집합을 선택하는 단계와,
상기 제 1 픽셀 집합을 변환하는 단계와,
상기 변환된 제 1 픽셀 집합을 인코딩하는 단계를 포함하는
방법.
- 제 25 항에 있어서,
상기 픽셀 매크로블록이 추가의 픽셀 블록과 연관되고,
상기 방법은 상기 선택된 제 1 픽셀 집합과의 상관관계를 결정하는 단계를 더 포함하되, 상기 제 1 픽셀 집합의 선택은, 상기 선택된 제 1 픽셀 집합과 상기 추가 픽셀 블록의 대응 픽셀 집합 사이의 상기 상관관계에 의존하는
방법.
- 제 25 항 또는 제 26 항에 있어서,
상기 방법은 비용 함수―상기 비용 함수는 상기 선택된 제 1 픽셀 집합과 상기 추가 픽셀 블록의 상기 대응 픽셀 집합 사이의 상관관계에 의존함―를 발생하는 단계와,
상기 비용 함수의 값을 최소화하는 단계를 더 포함하는
방법.
- 제 27 항에 있어서,
상기 제 1 픽셀 집합이 픽셀 매크로블록의 다수의 픽셀 집합들 중 적어도 하나에서 선택되고, 상기 비용 함수는 상기 다수의 픽셀 집합의 개수에 의존하는
방법.
- 제 25 항 내지 제 28 항중 어느 한 항에 있어서,
선택되지 않은 매크로블록 픽셀에 적어도 하나의 값을 할당하는 단계를 더 포함하는
방법.
- 제 27 항에 종속된 제 29 항에 있어서,
상기 비용 함수 값이 선택되지 않은 매크로블록 픽셀에 할당되는 값들의 개수에 추가로 의존하는
방법.
- 제 25 항 내지 제 29 항 중 어느 한 항에 있어서,
상기 픽셀 매크로블록에 적용되는 필터를 선택하는 단계를 더 포함하는
방법.
- 제 27 항에 종속된 제 31 항에 있어서,
상기 비용 함수 값은 상기 필터 선택에 추가로 의존하는
방법.
- 제 28 항 내지 제 32 항 중 어느 한 항에 있어서,
상기 픽셀 매크로블록의 상기 다수의 픽셀 집합들 각각은 상기 픽셀 매크로블록 내부의 다른 위치와 연관되는
방법.
- 제 33 항에 있어서,
상기 픽셀 매크로블록 내부의 상기 선택된 제 1 픽셀 집합의 상기 위치를 나타내는 값을 할당하는 단계와,
상기 선택된 제 1 픽셀 집합의 상기 위치를 나타내는 상기 값을 인코드하는 단계를 더 포함하는
방법.
- 제 34 항에 있어서,
상기 선택된 제 1 픽셀 집합의 상기 위치를 나타내는 상기 값을 인코딩하는 상기 단계는,
상기 픽셀 매크로블록으로부터 유도된 정보에 기초하여, 상기 선택된 제 1 픽셀 집합의 상기 위치를 나타내는 상기 값을 인코딩하는 단계를 더 포함하는
방법.
- 제 34 항에 있어서,
상기 선택된 제 1 픽셀 집합의 상기 위치를 나타내는 상기 값을 인코딩하는 상기 단계는,
이웃하는 픽셀 매크로블록으로부터 유도된 정보에 기초하여, 상기 선택된 제 1 픽셀 집합의 상기 위치를 나타내는 상기 값을 인코딩하는 단계를 더 포함하는
방법.
- 제 26 항 내지 제 36 항 중 어느 한 항에 있어서,
상기 추가 블록 혹은 픽셀이, 상기 인코드되고 변환된 제 1 픽셀 집합과, 상기 선택되지 않은 매크로블록 픽셀에 할당된 상기 적어도 하나의 값에 의존하는
방법.
- 방법에 있어서,
픽셀 매크로블록으로부터 제 1 픽셀값 집합을 나타내는 신호의 제 1 부분을 결정하는 단계와,
상기 신호의 상기 제 1 부분으로부터 상기 제 1 픽셀값 집합을 재발생하는 단계와,
상기 신호의 제 2 부분으로부터 상기 픽셀 매크로블록의 나머지 픽셀들을 재발생하는 단계와,
하나의 픽셀 매크로블록을 재발생하기 위해 상기 제 1 픽셀값 집합과 상기 나머지 픽셀들을 결합하는 단계를 포함하는
방법.
- 제 38 항에 있어서,
상기 제 1 픽셀값 집합을 재발생하는 상기 단계는,
상기 신호의 상기 제 1 부분을 역양자화(dequantize)하는 단계와,
상기 신호의 상기 역양자화된 제 1 부분을 역변환하는 단계를 포함하는
방법.
- 제 38 항 또는 제 39 항에 있어서,
상기 픽셀 매크로블록으로부터 상기 나머지 픽셀들을 재발생하는 상기 단계는,
상기 신호의 상기 제 2 부분의 적어도 하나의 값을 각 픽셀에 할당하는 단계를 포함하는
방법.
- 제 38 항 내지 제 40 항중 어느 한 항에 있어서,
상기 픽셀 매크로블록을 재발생하기 위해 상기 제 1 픽셀값 집합과 상기 나머지 픽셀들을 결합하는 상기 단계는,
상기 제 1 픽셀값 집합과 상기 나머지 픽셀들 사이의 경계(the boundary)를 필터링하는 단계를 포함하는
방법.
- 제 38 항 내지 제 42 항중 어느 한 항에 있어서,
상기 매크로블록의 상기 경계를 필터링하는 단계를 더 포함하는
방법.
- 제 42 항에 있어서,
상기 필터링 단계는 디-블로킹 필터(a de-blocking filter)를 적용하는 단계를 포함하는
방법.
- 제 38 항 내지 제 43 항 중 어느 한 항에 있어서,
상기 신호의 상기 제 1 부분을 역양자화하는 상기 단계는,
상기 신호의 상기 제 1 부분과 연관된 상기 위치값을 디코딩하는 단계를 더 포함하는
방법.
- 컴퓨터 프로그램에 있어서,
상기 프로그램이 프로세서상에서 실행될 때 청구항 제 25 항 내지 제 44 항의 단계들 중 임의의 단계를 수행하는 컴퓨터 코드 수단을 포함하는
컴퓨터 프로그램.
- 장치에 있어서,
픽셀 매크로블록으로부터 제 1 픽셀 집합을 선택하는 수단과,
상기 제 1 픽셀 집합을 변환하는 수단과,
상기 변환된 제 1 픽셀 집합을 인코딩하는 수단을 포함하는
장치.
- 장치에 있어서,
픽셀 매크로블록으로부터 제 1 픽셀값 집합을 나타내는 신호의 제 1 부분을 결정하는 수단과,
상기 신호의 상기 제 1 부분으로부터 상기 제 1 픽셀값 집합을 재발생하는 수단과,
상기 신호의 제 2 부분으로부터 상기 픽셀 매크로블록의 나머지 픽셀들을 재발생하는 수단과,
하나의 픽셀 매크로블록을 재발생하기 위해 상기 제 1 픽셀값 집합과 상기 나머지 픽셀들을 결합하는 수단을 포함하는
장치.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/EP2008/060604 WO2010017837A1 (en) | 2008-08-12 | 2008-08-12 | Video coding using spatially varying transform |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20110044283A true KR20110044283A (ko) | 2011-04-28 |
KR101215682B1 KR101215682B1 (ko) | 2013-01-09 |
Family
ID=40394024
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020117005647A KR101215682B1 (ko) | 2008-08-12 | 2008-08-12 | 공간적으로 가변하는 변환을 이용하는 비디오 코딩 장치, 방법 및 컴퓨터 판독가능 저장 매체 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20120128074A1 (ko) |
EP (1) | EP2324641A1 (ko) |
KR (1) | KR101215682B1 (ko) |
CN (1) | CN102165771A (ko) |
WO (1) | WO2010017837A1 (ko) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011005303A1 (en) * | 2009-07-06 | 2011-01-13 | Thomson Licensing | Methods and apparatus for spatially varying residue coding |
CN104601996B (zh) * | 2009-10-20 | 2018-04-10 | 夏普株式会社 | 运动图像编码装置、运动图像解码装置、运动图像编码方法及运动图像解码方法 |
EP2398240A1 (en) * | 2010-06-16 | 2011-12-21 | Canon Kabushiki Kaisha | A method and device for encoding and decoding a video signal |
GB2518823A (en) * | 2013-09-25 | 2015-04-08 | Sony Corp | Data encoding and decoding |
CN105049089A (zh) * | 2015-06-15 | 2015-11-11 | 成都中微电微波技术有限公司 | 带蓝牙模块的电子通信装置 |
EP3677031B1 (en) * | 2017-10-16 | 2023-10-04 | Huawei Technologies Co., Ltd. | Spatial varying transforms for video coding |
WO2019076138A1 (en) | 2017-10-16 | 2019-04-25 | Huawei Technologies Co., Ltd. | METHOD AND APPARATUS FOR ENCODING |
JP7095288B2 (ja) * | 2018-01-24 | 2022-07-05 | 富士フイルムビジネスイノベーション株式会社 | 定着装置および画像形成装置 |
EP3750310A1 (en) | 2018-02-23 | 2020-12-16 | Huawei Technologies Co. Ltd. | Position dependent spatial varying transform for video coding |
WO2019189901A1 (ja) * | 2018-03-29 | 2019-10-03 | 日本放送協会 | 画像符号化装置、画像復号装置、及びプログラム |
EP3782361B1 (en) * | 2018-05-31 | 2023-09-20 | Huawei Technologies Co., Ltd. | Spatially varying transform with adaptive transform type |
US10516885B1 (en) * | 2018-07-11 | 2019-12-24 | Tencent America LLC | Method and apparatus for video coding |
CN116684591A (zh) * | 2018-12-04 | 2023-09-01 | 华为技术有限公司 | 视频编码器、视频解码器、及对应方法 |
WO2020177663A1 (en) | 2019-03-02 | 2020-09-10 | Beijing Bytedance Network Technology Co., Ltd. | Restrictions on partition structures |
CN115174908B (zh) * | 2022-06-30 | 2023-09-15 | 北京百度网讯科技有限公司 | 视频编码的变换量化方法、装置、设备以及存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7469070B2 (en) * | 2004-02-09 | 2008-12-23 | Lsi Corporation | Method for selection of contexts for arithmetic coding of reference picture and motion vector residual bitstream syntax elements |
US8116374B2 (en) | 2004-05-07 | 2012-02-14 | Broadcom Corporation | Method and system for generating a transform size syntax element for video decoding |
US8588304B2 (en) * | 2005-03-31 | 2013-11-19 | Panasonic Corporation | Video decoding device, video decoding method, video decoding program, and video decoding integrated circuit |
US7920628B2 (en) * | 2005-07-29 | 2011-04-05 | Broadcom Corporation | Noise filter for video compression |
-
2008
- 2008-08-12 CN CN2008801312639A patent/CN102165771A/zh active Pending
- 2008-08-12 KR KR1020117005647A patent/KR101215682B1/ko not_active IP Right Cessation
- 2008-08-12 WO PCT/EP2008/060604 patent/WO2010017837A1/en active Application Filing
- 2008-08-12 EP EP08787155A patent/EP2324641A1/en not_active Withdrawn
- 2008-08-12 US US13/058,972 patent/US20120128074A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
WO2010017837A1 (en) | 2010-02-18 |
KR101215682B1 (ko) | 2013-01-09 |
US20120128074A1 (en) | 2012-05-24 |
EP2324641A1 (en) | 2011-05-25 |
CN102165771A (zh) | 2011-08-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101215682B1 (ko) | 공간적으로 가변하는 변환을 이용하는 비디오 코딩 장치, 방법 및 컴퓨터 판독가능 저장 매체 | |
US11368700B2 (en) | Apparatus, a method and a computer program for video coding | |
EP2522144B1 (en) | Apparatus and method for video coding | |
AU2020201908A1 (en) | Method for video coding and an apparatus | |
KR101464423B1 (ko) | 비디오 프로세싱을 위한 장치, 방법 및 컴퓨터 프로그램 | |
US9280835B2 (en) | Method for coding and an apparatus based on a DC prediction value | |
US20120243606A1 (en) | Methods, apparatuses and computer programs for video coding | |
US9432699B2 (en) | Methods, apparatuses and computer programs for video coding | |
WO2010116268A1 (en) | Method and apparatus for encoding and decoding of image and video signals | |
WO2010051846A1 (en) | Fast block selection algorithm for video coding using spatially varying transform | |
WO2017178696A1 (en) | An apparatus and a computer program product for video encoding and decoding, and a method for the same |
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 | ||
LAPS | Lapse due to unpaid annual fee |