KR20200014948A - 움직임 벡터 산출 방법, 화상 부호화 방법, 화상 복호 방법, 움직임 벡터 산출 장치 및 화상 부호화 복호 장치 - Google Patents
움직임 벡터 산출 방법, 화상 부호화 방법, 화상 복호 방법, 움직임 벡터 산출 장치 및 화상 부호화 복호 장치 Download PDFInfo
- Publication number
- KR20200014948A KR20200014948A KR1020207003109A KR20207003109A KR20200014948A KR 20200014948 A KR20200014948 A KR 20200014948A KR 1020207003109 A KR1020207003109 A KR 1020207003109A KR 20207003109 A KR20207003109 A KR 20207003109A KR 20200014948 A KR20200014948 A KR 20200014948A
- Authority
- KR
- South Korea
- Prior art keywords
- motion vector
- block
- reference motion
- picture
- mvl1
- 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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
-
- 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/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection 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
-
- 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/137—Motion inside a coding unit, e.g. average field, frame or block difference
- H04N19/139—Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
-
- 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/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- 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/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
- H04N19/52—Processing of motion vectors by encoding by predictive encoding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
압축율을 향상시키는 움직임 벡터 산출 방법은, 참조 블록이 가지는 하나의 참조 움직임 벡터를 선택하는 선택 단계와, 그 선택 단계에서 선택된 하나의 참조 움직임 벡터를 이용하여, 처리 대상 블록의 움직임 벡터를 산출하는 산출 단계를 포함하고, 선택 단계에서는, 참조 블록이 2개의 참조 움직임 벡터를 가지고 있는 경우(S121)에는, 참조 블록이 처리 대상 블록보다 표시 시간 순서로 전방에 있는지 후방에 있는지에 기초하여, 2개의 참조 움직임 벡터로부터 하나의 참조 움직임 벡터를 선택하고(S123, S124), 참조 블록이 하나의 참조 움직임 벡터만을 가지고 있는 경우(S125, S127)에는, 그 하나의 참조 움직임 벡터를 선택한다(S126, S128).
Description
본 발명은, 움직임 벡터를 산출하는 방법, 그 움직임 벡터를 이용한 화상 부호화 방법 및 화상 복호 방법 등에 관한 것이다.
동화상의 부호화 처리에서는, 일반적으로, 동화상이 가지는 공간 방향 및 시간 방향의 용장성을 이용하여 정보량의 압축이 실시된다. 여기서 일반적으로, 공간 방향의 용장성을 이용하는 방법으로서는, 주파수 영역으로의 변환이 이용되며, 시간 방향의 용장성을 이용하는 방법으로서는, 픽쳐 간 예측(이후, 인터 예측이라 부른다)이 이용된다. 인터 예측을 이용한 부호화 처리(인터 예측 부호화 처리)에서는, 어떤 픽쳐를 부호화할 때에, 부호화 대상 픽쳐에 대해 표시 시간 순서로 전방 또는 후방에 있는 부호화를 마친 픽쳐를, 참조 픽쳐로서 이용한다. 그리고, 그 참조 픽쳐에 대한 부호화 대상 픽쳐의 움직임 벡터를 검출하고, 그 움직임 벡터에 기초하여 움직임 보상을 실시하여 얻어진 예측 화상 데이터와 부호화 대상 픽쳐의 화상 데이터의 차분을 취함으로써, 시간 방향의 용장성을 제거한다.
이미 표준화되어 있는, H.264로 불리는 동화상 부호화 방식에서는, 정보량의 압축을 위해, I픽쳐, P픽쳐, 및 B픽쳐라는 3종류의 픽쳐 타입을 이용하고 있다. I픽쳐는, 인터 예측 부호화 처리가 실시되지 않는 픽쳐, 즉, 픽쳐 내 예측(이후, 인트라 예측이라 부른다)을 이용한 부호화 처리(인트라 예측 부호화 처리)가 실시되는 픽쳐이다. P픽쳐는, 표시 시간 순서로, 부호화 대상 픽쳐의 전방 또는 후방에 있는 이미 부호화를 마친 1개의 픽쳐를 참조하여 인터 예측 부호화 처리가 실시되는 픽쳐이다. B픽쳐는, 표시 시간 순서로, 부호화 대상 픽쳐의 전방 또는 후방에 있는 이미 부호화를 마친 2개의 픽쳐를 참조하여 인터 예측 부호화 처리가 실시되는 픽쳐이다.
또, H.264로 불리는 동화상 부호화 방식에서는, B픽쳐의 부호화에서, 움직임 벡터를 도출할 때에, 시간 다이렉트라 부르는 부호화 모드를 선택할 수 있다(예를 들면, 비특허 문헌 1 참조). 시간 다이렉트에서의 인터 예측 부호화 처리를, 도 1을 이용하여 설명한다.
도 1은, 시간 다이렉트에서의 인터 예측 부호화 처리 및 움직임 벡터의 산출 방법을 나타내는 설명도이다.
이 도 1에 나타내는 바와 같이, 픽쳐(부호화 대상 픽쳐)(B2)의 블록(처리 대상 블록)(Ba)은, 시간 다이렉트에서의 인터 예측 부호화 처리에 의해 부호화된다. 이 경우, 픽쳐(B2)의 후방에 있는 참조 픽쳐인 픽쳐(P3) 중의, 블록(Ba)과 동일한 위치에 있는 블록(Bb)을 부호화했을 때에 이용한 움직임 벡터(a)가 이용된다. 이 움직임 벡터(a)는, 블록(Bb)이 부호화되었을 때에 이용된 움직임 벡터이며, 픽쳐(참조 픽쳐)(P1)를 참조하고 있다. 여기서, 블록(Ba)에 대해, 움직임 벡터(a)와 평행한 2개의 움직임 벡터(b, c)가 산출된다. 즉, 블록(Ba)보다 표시 시간 순서로 전방에 있는 참조 픽쳐(P1) 중의, 움직임 벡터(b)에 의해 나타나는 블록과, 블록(Ba)보다 표시 시간 순서로 후방에 있는 참조 픽쳐(P3) 중의, 움직임 벡터(c)에 의해 나타나는 블록이 취득되고, 취득된 블록을 이용한 2 방향 예측에 의해 블록(Ba)이 부호화된다. 또한, 블록(Ba)을 부호화할 때에 이용되는 움직임 벡터는, 참조 픽쳐(P1)를 나타내는 전방의 움직임 벡터(b)와 참조 픽쳐(P3)를 나타내는 후방의 움직임 벡터(c)이다.
ITU-T H.264 03/2010
그러나, 종래의 시간 다이렉트에서는, 시간 다이렉트 시에 이용되는 움직임 벡터, 즉, 처리 대상 블록의 움직임 벡터의 산출에 이용되는 움직임 벡터는, 표시 시간 순서로 처리 대상 블록의 후방에 있는 참조 픽쳐(구체적으로는, 참조 블록)의 움직임 벡터이며, 또한, 표시 시간 순서로 전방의 움직임 벡터에 한정되어 있다.
이와 같이, 시간 다이렉트 시에 이용되는 움직임 벡터가 한정됨으로써, 처리 대상 블록에 가장 적합한 움직임 벡터를 산출하는 것이 곤란해져, 압축율의 저하를 부른다는 과제가 발생하고 있다.
그래서, 본 발명은, 상기 과제를 해결하는 것을 목적으로 하는 것이며, 처리 대상 블록에 가장 적합한 움직임 벡터를 도출함과 함께, 압축율을 향상시키는 움직임 벡터 산출 방법, 화상 부호화 방법 및 화상 복호 방법 등을 제공하는 것을 목적으로 한다.
상기 목적을 달성하기 위해, 본 발명의 일 양태에 관련된 움직임 벡터 산출 방법은, 동화상에 포함되는 처리 대상 블록의 움직임 벡터를 산출하는 움직임 벡터 산출 방법으로서, 참조 블록이 가지는 1개의 참조 움직임 벡터를 선택하는 선택 단계와, 상기 선택 단계에서 선택된 1개의 참조 움직임 벡터를 이용하여, 상기 처리 대상 블록의 움직임 벡터를 산출하는 산출 단계를 포함하고, 상기 선택 단계에서는, 상기 참조 블록이 2개의 참조 움직임 벡터를 가지고 있는 경우에는, 상기 참조 블록이 상기 처리 대상 블록보다 표시 시간 순서로 전방에 있는지 후방에 있는지에 기초하여, 상기 2개의 참조 움직임 벡터로부터 1개의 참조 움직임 벡터를 선택하고, 상기 참조 블록이 1개의 참조 움직임 벡터만을 가지고 있는 경우에는, 상기 1개의 참조 움직임 벡터를 선택한다.
이것에 의해, 참조 블록이 처리 대상 블록보다 표시 시간 순서로 전방에 있는지 후방에 있는지에 기초하여, 2개의 참조 움직임 벡터로부터 1개의 참조 움직임 벡터가 선택된다. 예를 들면, 참조 블록은 co-located 블록이며, 처리 대상 블록은 부호화 대상 블록 또는 복호 대상 블록이다. 또, 참조 움직임 벡터는, 참조 블록의 부호화 또는 복호에 이용된 움직임 벡터이다. 따라서, 본 발명의 일 양태에 관련된 움직임 벡터 산출 방법에서는, 참조 블록이 2개의 참조 움직임 벡터를 가지고 있는 경우여도, 참조 블록의 위치에 따라 적절한 참조 움직임 벡터를 선택할 수 있어, 예를 들면, 그 선택된 참조 움직임 벡터를 스케일링함으로써, 처리 대상 블록에 대해, 가장 적합한 움직임 벡터를 산출 또는 도출할 수 있다. 그 결과, 그 처리 대상 블록의 압축율을 향상시킬 수 있다.
또, 상기 선택 단계에서는, 상기 참조 블록이 상기 2개의 참조 움직임 벡터로서, 전방을 향하고 있는 전방 참조 움직임 벡터와 후방을 향하고 있는 후방 참조 움직임 벡터를 가지는 경우에는, 상기 참조 블록이 상기 처리 대상 블록보다 후방에 있으면, 상기 2개의 참조 움직임 벡터로부터 상기 전방 참조 움직임 벡터를 선택하고, 상기 참조 블록이 상기 처리 대상 블록보다 전방에 있으면, 상기 2개의 참조 움직임 벡터로부터 상기 후방 참조 움직임 벡터를 선택해도 된다.
이것에 의해, 적절한 참조 움직임 벡터를 확실히 선택할 수 있다.
또, 상기 목적을 달성하기 위해, 본 발명의 다른 양태에 관련된 움직임 벡터 산출 방법은, 동화상에 포함되는 처리 대상 블록의 움직임 벡터를 산출하는 움직임 벡터 산출 방법으로서, 참조 블록이 가지는 1개의 참조 움직임 벡터를 선택하는 선택 단계와, 상기 선택 단계에서 선택된 1개의 참조 움직임 벡터를 이용하여, 상기 처리 대상 블록의 움직임 벡터를 산출하는 산출 단계를 포함하고, 상기 선택 단계에서는, 상기 참조 블록이 2개의 참조 움직임 벡터를 가지고 있는 경우에는, 상기 2개의 참조 움직임 벡터의 각각에 의해 지시되는 픽쳐와, 상기 참조 블록 사이의 시간적인 근접성에 기초하여, 상기 2개의 참조 움직임 벡터로부터 1개의 참조 움직임 벡터를 선택하고, 상기 참조 블록이 1개의 참조 움직임 벡터만을 가지고 있는 경우에는, 상기 1개의 참조 움직임 벡터를 선택한다.
이것에 의해, 2개의 참조 움직임 벡터의 각각에 의해 지시되는 픽쳐와, 참조 블록 사이의 시간적인 근접성에 기초하여, 2개의 참조 움직임 벡터로부터 1개의 참조 움직임 벡터가 선택된다. 따라서, 본 발명의 다른 양태에 관련된 움직임 벡터 산출 방법에서는, 참조 블록이 2개의 참조 움직임 벡터를 가지고 있는 경우여도, 픽쳐 간의 시간적인 근접성에 따라 적절한 참조 움직임 벡터를 선택할 수 있어, 예를 들면, 그 선택된 참조 움직임 벡터를 스케일링함으로써, 처리 대상 블록에 대해, 가장 적합한 움직임 벡터를 산출 또는 도출할 수 있다. 그 결과, 그 처리 대상 블록의 압축율을 향상시킬 수 있다.
또, 상기 목적을 달성하기 위해, 본 발명의 다른 양태에 관련된 움직임 벡터 산출 방법은, 동화상에 포함되는 처리 대상 블록의 움직임 벡터를 산출하는 움직임 벡터 산출 방법으로서, 참조 블록이 가지는 1개의 참조 움직임 벡터를 선택하는 선택 단계와, 상기 선택 단계에서 선택된 1개의 참조 움직임 벡터를 이용하여, 상기 처리 대상 블록의 움직임 벡터를 산출하는 산출 단계를 포함하고, 상기 선택 단계에서는, 상기 참조 블록이 2개의 참조 움직임 벡터를 가지고 있는 경우에는, 상기 2개의 참조 움직임 벡터의 각각의 크기에 기초하여, 상기 2개의 참조 움직임 벡터로부터 1개의 참조 움직임 벡터를 선택하고, 상기 참조 블록이 1개의 참조 움직임 벡터만을 가지고 있는 경우에는, 상기 1개의 참조 움직임 벡터를 선택한다.
이것에 의해, 2개의 참조 움직임 벡터의 각각의 크기에 기초하여, 2개의 참조 움직임 벡터로부터 1개의 참조 움직임 벡터가 선택된다. 따라서, 본 발명의 다른 양태에 관련된 움직임 벡터 산출 방법에서는, 참조 블록이 2개의 참조 움직임 벡터를 가지고 있는 경우여도, 2개의 참조 움직임 벡터의 크기에 따라 적절한 참조 움직임 벡터를 선택할 수 있어, 예를 들면, 그 선택된 참조 움직임 벡터를 스케일링함으로써, 처리 대상 블록에 대해, 가장 적합한 움직임 벡터를 산출 또는 도출할 수 있다. 그 결과, 그 처리 대상 블록의 압축율을 향상시킬 수 있다.
또, 상기 목적을 달성하기 위해, 본 발명의 일 양태에 관련된 화상 부호화 방법은, 동화상을 부호화하는 화상 부호화 방법으로서, 상기 서술한 움직임 벡터 산출 방법의 상기 선택 단계 및 상기 산출 단계와, 상기 산출 단계에 의해 산출된 움직임 벡터를 이용하여 상기 처리 대상 블록을 부호화하는 부호화 단계를 포함한다.
이것에 의해, 참조 블록이 2개의 참조 움직임 벡터를 가지고 있는 경우여도, 처리 대상 블록에 대해 산출된 가장 적합한 움직임 벡터를 이용하여 처리 대상 블록을 부호화할 수 있어, 압축율을 향상시킬 수 있다.
또, 상기 화상 부호화 방법은, 또한, 상기 처리 대상 블록보다 표시 시간 순서로 전방에 있는 블록 및 후방에 있는 블록으로부터, 상기 참조 블록을 결정하는 결정 단계와, 상기 결정 단계에서 결정된 상기 참조 블록이 상기 처리 대상 블록보다 전방에 있는지 후방에 있는지를 나타내는 위치 플래그를 생성하는 생성 단계와, 상기 생성 단계에서 생성된 상기 위치 플래그를, 상기 부호화 단계에 의해 부호화된 상기 처리 대상 블록을 포함하는 픽쳐에 부수시키는 부수 단계를 포함해도 된다.
이것에 의해, 부호화된 처리 대상 블록을 포함하는 픽쳐에는 위치 플래그가 부수하고 있기 때문에, 이 픽쳐를 취득한 화상 복호 장치는, 참조 블록이 처리 대상 블록보다 전방에 있는지 후방에 있는지를, 그 위치 플래그에 기초하여 용이하게 판단할 수 있다. 따라서, 화상 복호 장치는, 참조 블록이 2개의 참조 움직임 벡터를 가지고 있는 경우여도, 적절한 참조 움직임 벡터를 용이하게 선택할 수 있어, 예를 들면, 그 선택된 참조 움직임 벡터를 스케일링함으로써, 처리 대상(복호 대상) 블록에 대해, 가장 적합한 움직임 벡터를 산출 또는 도출할 수 있다. 그 결과, 그 높은 압축율로 부호화된 처리 대상 블록을 적절히 복호할 수 있다.
또, 상기 선택 단계에서는, 상기 참조 블록이 상기 2개의 참조 움직임 벡터로서, 전방을 향하고 있는 전방 참조 움직임 벡터와 후방을 향하고 있는 후방 참조 움직임 벡터를 가지는 경우에는, 상기 참조 블록이 상기 처리 대상 블록보다 후방에 있는 것을 상기 위치 플래그가 나타내고 있으면, 상기 2개의 참조 움직임 벡터로부터 상기 전방 참조 움직임 벡터를 선택하고, 상기 참조 블록이 상기 처리 대상 블록보다 전방에 있는 것을 상기 위치 플래그가 나타내고 있으면, 상기 2개의 참조 움직임 벡터로부터 상기 후방 참조 움직임 벡터를 선택해도 된다.
이것에 의해, 그 위치 플래그에 따라, 적절한 참조 움직임 벡터를 확실히 선택할 수 있다.
또, 상기 부호화 단계는, 상기 산출 단계에서 산출된 움직임 벡터에 따른 상기 처리 대상 블록의 부호화 효율과, 상기 처리 대상 블록에 대해 움직임 검출된 움직임 벡터에 따른 상기 처리 대상 블록의 부호화 효율을 비교하는 비교 단계와, 상기 비교 단계에 의한 비교의 결과에 기초하여, 상기 산출 단계에서 산출된 움직임 벡터와, 상기 움직임 검출된 움직임 벡터 중, 부호화 효율이 높은 움직임 벡터를 선택하는 움직임 벡터 선택 단계와, 움직임 벡터 선택 단계에서 선택된 움직임 벡터에 따라서 상기 처리 대상 블록을 부호화하는 블록 부호화 단계를 포함해도 된다.
이것에 의해, 처리 대상 블록에 대해 시간 다이렉트에 의해 산출된 움직임 벡터와, 처리 대상 블록에 대해 움직임 검출된 움직임 벡터 중, 부호화 효율이 높은 움직임 벡터가 선택되고, 그 선택된 움직임 벡터에 따라서 처리 대상 블록이 부호화되기 때문에, 압축율 또는 부호화 효율을 더 향상시킬 수 있다.
또, 상기 목적을 달성하기 위해, 본 발명의 일 양태에 관련된 화상 복호 방법은, 부호화 동화상을 복호하는 화상 복호 방법으로서, 상기 서술한 움직임 벡터 산출 방법의 상기 선택 단계 및 상기 산출 단계와, 상기 산출 단계에 의해 산출된 움직임 벡터를 이용하여, 상기 부호화 동화상에 포함되는 부호화된 상기 처리 대상 블록을 복호하는 복호 단계를 포함한다.
이것에 의해, 참조 블록이 2개의 참조 움직임 벡터를 가지고 있는 경우여도, 처리 대상 블록에 대해 산출된 가장 적합한 움직임 벡터를 이용하여 처리 대상 블록을 복호할 수 있어, 높은 압축율로 부호화된 처리 대상 블록을 적절히 복호할 수 있다.
또, 상기 화상 복호 방법은, 또한, 상기 처리 대상 블록을 포함하는 픽쳐에 부수되어 있는 위치 플래그를 취득하는 취득 단계를 포함하고, 상기 선택 단계에서는, 상기 참조 블록이 상기 2개의 참조 움직임 벡터로서, 전방을 향하고 있는 전방 참조 움직임 벡터와 후방을 향하고 있는 후방 참조 움직임 벡터를 가지는 경우에는, 상기 참조 블록이 상기 처리 대상 블록보다 후방에 있는 것을 상기 위치 플래그가 나타내고 있으면, 상기 2개의 참조 움직임 벡터로부터 상기 전방 참조 움직임 벡터를 선택하고, 상기 참조 블록이 상기 처리 대상 블록보다 전방에 있는 것을 상기 위치 플래그가 나타내고 있으면, 상기 2개의 참조 움직임 벡터로부터 상기 후방 참조 움직임 벡터를 선택해도 된다.
이것에 의해, 처리 대상 블록을 포함하는 픽쳐에는 위치 플래그가 부수하고 있기 때문에, 참조 블록이 처리 대상 블록보다 전방에 있는지 후방에 있는지를, 그 위치 플래그에 기초하여 용이하게 판단할 수 있다. 따라서, 참조 블록이 2개의 참조 움직임 벡터를 가지고 있는 경우여도, 그 위치 플래그에 따라 적절한 참조 움직임 벡터를 용이하게 선택할 수 있어, 예를 들면, 그 선택된 참조 움직임 벡터를 스케일링함으로써, 처리 대상(복호 대상) 블록에 대해, 가장 적합한 움직임 벡터를 산출 또는 도출할 수 있다.
그 결과, 그 높은 압축율로 부호화된 처리 대상 블록을 적절히 복호할 수 있다.
또한, 본 발명은, 이러한 움직임 벡터 산출 방법, 화상 부호화 방법 및 화상 복호 방법으로서 실현하는 것이 가능할 뿐만 아니라, 그들 방법에 따라서 동작하는 장치 및 집적회로, 그들 방법에 따른 동작을 컴퓨터에 실행시키는 프로그램, 및, 그 프로그램을 저장하는 기록 매체 등으로도 실현할 수 있다.
본 발명에 의하면, 시간 다이렉트 시에 이용하는 움직임 벡터를 선택하기 위한, 새로운 판단 기준을 이용함으로써, 처리 대상 블록에 가장 적합한 움직임 벡터를 도출하는 것이 가능해짐과 함께, 압축율을 향상시키는 것이 가능해진다.
도 1은, 시간 다이렉트에서의 인터 예측 부호화 처리 및 움직임 벡터의 산출 방법을 나타내는 설명도이다.
도 2는, 본 발명에 관련된 실시 형태 1에서의 화상 부호화 방법을 이용한 화상 부호화 장치의 구성을 나타내는 블럭도이다.
도 3은, 본 발명에 관련된 실시 형태 1에서의 화상 부호화 방법의 처리 흐름의 개요를 나타내는 도이다.
도 4는, 본 발명에 관련된 실시 형태 1에서의 인터 예측 제어부에서의 인터 예측 모드의 결정 흐름을 나타내는 도이다.
도 5는, 본 발명에 관련된 실시 형태 1에서의 도 3의 단계 S110의 상세한 처리 흐름을 나타내는 도이다.
도 6은, 본 발명에 관련된 실시 형태 1에서의 시간 다이렉트에 의해 움직임 벡터(시간 다이렉트 벡터)를 도출하는 방법의 일례를 나타내는 도이다.
도 7은, 본 발명에 관련된 실시 형태 1에서의 시간 다이렉트에 의해 움직임 벡터(시간 다이렉트 벡터)를 도출하는 방법의 다른 예를 나타내는 도이다.
도 8은, 본 발명에 관련된 실시 형태 1에서의 시간 다이렉트에 의해 움직임 벡터(시간 다이렉트 벡터)를 도출하는 방법의 다른 예를 나타내는 도이다.
도 9는, 본 발명에 관련된 실시 형태 1에서의 시간 다이렉트에 의해 움직임 벡터(시간 다이렉트 벡터)를 도출하는 방법의 다른 예를 나타내는 도이다.
도 10은, 본 발명에 관련된 실시 형태 2에서의 시간 다이렉트 벡터의 산출의 상세한 처리 흐름을 나타내는 도이다.
도 11은, 본 발명에 관련된 실시 형태 2에서의 시간 다이렉트에 의해 움직임 벡터(시간 다이렉트 벡터)를 도출하는 방법의 일례를 나타내는 도이다.
도 12는, 본 발명에 관련된 실시 형태 2에서의 시간 다이렉트에 의해 움직임 벡터(시간 다이렉트 벡터)를 도출하는 방법의 다른 예를 나타내는 도이다.
도 13은, 본 발명에 관련된 실시 형태 3에서의 시간 다이렉트 벡터의 산출의 상세한 처리 흐름을 나타내는 도이다.
도 14는, 본 발명에 관련된 실시 형태 4에서의 도 3의 단계 S110 및 S120의 상세한 처리 흐름을 나타내는 도이다.
도 15는, 본 발명에 관련된 실시 형태 5에서의 화상 복호 방법을 이용한 화상 복호 장치의 구성을 나타내는 블럭도이다.
도 16은, 본 발명에 관련된 실시 형태 5에서의 화상 복호 방법의 처리 흐름의 개요를 나타내는 도이다.
도 17은, 컨텐츠 전송 서비스를 실현하는 컨텐츠 공급 시스템의 전체 구성도이다.
도 18은, 디지털 방송용 시스템의 전체 구성도이다.
도 19는, 텔레비전의 구성예를 나타내는 블럭도이다.
도 20은, 광디스크인 기록 미디어에 정보를 읽고 쓰는 정보 재생/기록부의 구성예를 나타내는 블럭도이다.
도 21은, 광디스크인 기록 미디어의 구조예를 나타내는 도이다.
도 22a는, 휴대 전화의 일례를 나타내는 도이다.
도 22b는, 휴대 전화의 구성예를 나타내는 블럭도이다.
도 23은, 다중화 데이터의 구성을 나타내는 도이다.
도 24는, 각 스트림이 다중화 데이터에서 어떻게 다중화되고 있는지를 모식적으로 나타내는 도이다.
도 25는, PES 패킷 열에, 비디오 스트림이 어떻게 저장되는지를 더 상세하게 나타낸 도이다.
도 26은, 다중화 데이터에서의 TS 패킷과 소스 패킷의 구조를 나타내는 도이다.
도 27은, PMT의 데이터 구성을 나타내는 도이다.
도 28은, 다중화 데이터 정보의 내부 구성을 나타내는 도이다.
도 29는, 스트림 속성 정보의 내부 구성을 나타내는 도이다.
도 30은, 영상 데이터를 식별하는 단계를 나타내는 도이다.
도 31은, 각 실시 형태의 동화상 부호화 방법 및 동화상 복호화 방법을 실현하는 집적회로의 구성예를 나타내는 블럭도이다.
도 32는, 구동 주파수를 전환하는 구성을 나타내는 도이다.
도 33은, 영상 데이터를 식별하고, 구동 주파수를 전환하는 단계를 나타내는 도이다.
도 34는, 영상 데이터의 규격과 구동 주파수를 대응 지은 룩업 테이블의 일례를 나타내는 도이다.
도 35a는, 신호 처리부의 모듈을 공유화하는 구성의 일례를 나타내는 도이다.
도 35b는, 신호 처리부의 모듈을 공유화하는 구성의 다른 일례를 나타내는 도이다.
도 2는, 본 발명에 관련된 실시 형태 1에서의 화상 부호화 방법을 이용한 화상 부호화 장치의 구성을 나타내는 블럭도이다.
도 3은, 본 발명에 관련된 실시 형태 1에서의 화상 부호화 방법의 처리 흐름의 개요를 나타내는 도이다.
도 4는, 본 발명에 관련된 실시 형태 1에서의 인터 예측 제어부에서의 인터 예측 모드의 결정 흐름을 나타내는 도이다.
도 5는, 본 발명에 관련된 실시 형태 1에서의 도 3의 단계 S110의 상세한 처리 흐름을 나타내는 도이다.
도 6은, 본 발명에 관련된 실시 형태 1에서의 시간 다이렉트에 의해 움직임 벡터(시간 다이렉트 벡터)를 도출하는 방법의 일례를 나타내는 도이다.
도 7은, 본 발명에 관련된 실시 형태 1에서의 시간 다이렉트에 의해 움직임 벡터(시간 다이렉트 벡터)를 도출하는 방법의 다른 예를 나타내는 도이다.
도 8은, 본 발명에 관련된 실시 형태 1에서의 시간 다이렉트에 의해 움직임 벡터(시간 다이렉트 벡터)를 도출하는 방법의 다른 예를 나타내는 도이다.
도 9는, 본 발명에 관련된 실시 형태 1에서의 시간 다이렉트에 의해 움직임 벡터(시간 다이렉트 벡터)를 도출하는 방법의 다른 예를 나타내는 도이다.
도 10은, 본 발명에 관련된 실시 형태 2에서의 시간 다이렉트 벡터의 산출의 상세한 처리 흐름을 나타내는 도이다.
도 11은, 본 발명에 관련된 실시 형태 2에서의 시간 다이렉트에 의해 움직임 벡터(시간 다이렉트 벡터)를 도출하는 방법의 일례를 나타내는 도이다.
도 12는, 본 발명에 관련된 실시 형태 2에서의 시간 다이렉트에 의해 움직임 벡터(시간 다이렉트 벡터)를 도출하는 방법의 다른 예를 나타내는 도이다.
도 13은, 본 발명에 관련된 실시 형태 3에서의 시간 다이렉트 벡터의 산출의 상세한 처리 흐름을 나타내는 도이다.
도 14는, 본 발명에 관련된 실시 형태 4에서의 도 3의 단계 S110 및 S120의 상세한 처리 흐름을 나타내는 도이다.
도 15는, 본 발명에 관련된 실시 형태 5에서의 화상 복호 방법을 이용한 화상 복호 장치의 구성을 나타내는 블럭도이다.
도 16은, 본 발명에 관련된 실시 형태 5에서의 화상 복호 방법의 처리 흐름의 개요를 나타내는 도이다.
도 17은, 컨텐츠 전송 서비스를 실현하는 컨텐츠 공급 시스템의 전체 구성도이다.
도 18은, 디지털 방송용 시스템의 전체 구성도이다.
도 19는, 텔레비전의 구성예를 나타내는 블럭도이다.
도 20은, 광디스크인 기록 미디어에 정보를 읽고 쓰는 정보 재생/기록부의 구성예를 나타내는 블럭도이다.
도 21은, 광디스크인 기록 미디어의 구조예를 나타내는 도이다.
도 22a는, 휴대 전화의 일례를 나타내는 도이다.
도 22b는, 휴대 전화의 구성예를 나타내는 블럭도이다.
도 23은, 다중화 데이터의 구성을 나타내는 도이다.
도 24는, 각 스트림이 다중화 데이터에서 어떻게 다중화되고 있는지를 모식적으로 나타내는 도이다.
도 25는, PES 패킷 열에, 비디오 스트림이 어떻게 저장되는지를 더 상세하게 나타낸 도이다.
도 26은, 다중화 데이터에서의 TS 패킷과 소스 패킷의 구조를 나타내는 도이다.
도 27은, PMT의 데이터 구성을 나타내는 도이다.
도 28은, 다중화 데이터 정보의 내부 구성을 나타내는 도이다.
도 29는, 스트림 속성 정보의 내부 구성을 나타내는 도이다.
도 30은, 영상 데이터를 식별하는 단계를 나타내는 도이다.
도 31은, 각 실시 형태의 동화상 부호화 방법 및 동화상 복호화 방법을 실현하는 집적회로의 구성예를 나타내는 블럭도이다.
도 32는, 구동 주파수를 전환하는 구성을 나타내는 도이다.
도 33은, 영상 데이터를 식별하고, 구동 주파수를 전환하는 단계를 나타내는 도이다.
도 34는, 영상 데이터의 규격과 구동 주파수를 대응 지은 룩업 테이블의 일례를 나타내는 도이다.
도 35a는, 신호 처리부의 모듈을 공유화하는 구성의 일례를 나타내는 도이다.
도 35b는, 신호 처리부의 모듈을 공유화하는 구성의 다른 일례를 나타내는 도이다.
이하, 본 발명의 실시 형태에 대해서, 도면을 참조하면서 설명한다.
(실시 형태 1)
도 2는, 본 발명에 관련된 실시 형태 1에서의 화상 부호화 방법을 이용한 화상 부호화 장치의 구성을 나타내는 블럭도이다.
본 실시 형태에서의 화상 부호화 장치(100)는, 도 2에 나타내는 바와 같이, 감산기(101), 가산기(106), 직교변환부(102), 양자화부(103), 역양자화부(104), 역직교변환부(105), 블록 메모리(107), 프레임 메모리(108), 인트라 예측부(109), 인터 예측부(110), 인터 예측 제어부(111), 픽쳐 타입 결정부(112), 시간 다이렉트 벡터 산출부(113), co-located 참조 방향 결정부(114), 및 가변길이 부호화부(115)를 구비하고 있다.
감산기(101)는, 인트라 예측부(109) 또는 인터 예측부(110)에 의해 생성된 예측 화상 데이터를, 동화상인 입력 화상열로부터 감산함으로써, 예측 오차 화상 데이터를 생성한다.
직교변환부(102)는, 예측 오차 화상 데이터의 영역을, 화상 영역으로부터 주파수 영역으로 변환한다.
양자화부(103)는, 주파수 영역으로 변환된 예측 오차 화상 데이터인 계수열에 대해, 양자화 처리를 실시한다.
역양자화부(104)는, 양자화부(103)에 의해 양자화 처리된 계수열에 대해, 역양자화 처리를 실시한다.
역직교변환부(105)는, 역양자화 처리된 계수열의 영역을, 주파수 영역으로부터 화상 영역으로 변환한다.
가산기(106)는, 역직교변환부(105)에 의해 화상 영역으로 변환된 계수열인 예측 오차 화상 데이터를, 예측 화상 데이터에 가산함으로써, 재구성 화상 데이터를 생성한다.
블록 메모리(107)는, 재구성 화상 데이터를 블록 단위로 보존하고, 프레임 메모리(108)는, 재구성 화상 데이터를 프레임 단위로 보존한다.
픽쳐 타입 결정부(112)는, I픽쳐, B픽쳐, 및 P픽쳐 중 어느 픽쳐 타입으로 입력 화상열 중의 픽쳐를 부호화할지를 결정하고, 결정된 픽쳐 타입을 나타내는 픽쳐 타입 정보를 생성한다.
인트라 예측부(109)는, 블록 메모리(107)에 보존되어 있는 블록 단위의 재구성 화상 데이터를 이용하여, 부호화 대상(처리 대상) 블록을 인트라 예측함으로써, 예측 화상 데이터를 생성한다.
인터 예측부(110)는, 프레임 메모리(108)에 보존되어 있는 프레임 단위의 재구성 화상 데이터를 이용하여, 부호화 대상 블록을 인터 예측함으로써, 예측 화상 데이터를 생성한다.
co-located 참조 방향 결정부(114)는, 부호화 대상 픽쳐 또는 부호화 대상(처리 대상) 블록보다, 표시 시간 순서로, 전방에 위치하는 픽쳐에 포함되는 블록(이후, 전방 참조 블록이라 부른다), 및, 후방에 위치하는 픽쳐에 포함되는 블록(이후, 후방 참조 블록이라 부른다) 중 어느 하나를 co-located 블록으로 할지를 결정한다. co-located 블록은, 부호화 대상 블록이 참조하는 참조 블록이 된다. 그리고, co-located 참조 방향 결정부(114)는, co-located 참조 방향 플래그(위치 플래그)를 픽쳐마다 생성하여, 부호화 대상 픽쳐에 부수시킨다. 여기서, co-located 블록이란, 부호화 대상 블록을 포함하는 픽쳐와는 다른 픽쳐 내의 블록이며, 또한, 픽쳐 내에서의 위치가, 부호화 대상 블록과 동일한 위치가 되는 블록이다. 또한, co-located 블록은, 부호화 대상 블록을 포함하는 픽쳐와는 다른 픽쳐 내의 블록이면 되고, 픽쳐 내에서의 위치가, 부호화 대상 블록과 다른 위치여도 된다.
시간 다이렉트 벡터 산출부(113)는, co-located 블록이 2개 이상의 움직임 벡터를 가지는 전방 참조 블록인 경우에는, 그들 움직임 벡터 중, 표시 시간 순서로 후방을 향하고 있는 움직임 벡터(이후, 후방 참조 움직임 벡터라 부른다)를 이용하여, 시간 다이렉트에 의해, 부호화 대상 블록의 움직임 벡터를 도출한다. 한편, co-located 블록이 2개 이상의 움직임 벡터를 가지는 후방 참조 블록인 경우에는, 시간 다이렉트 벡터 산출부(113)는, 그들 움직임 벡터 중, 표시 시간 순서로 전방을 향하고 있는 움직임 벡터(이후, 전방 참조 움직임 벡터라 부른다)를 이용하여, 시간 다이렉트에 의해, 부호화 대상 블록의 움직임 벡터를 도출한다. 또한, co-located 블록의 전방 참조 움직임 벡터 및 후방 참조 움직임 벡터를 총칭하여, 이하, 참조 움직임 벡터라 한다. 또, 시간 다이렉트 벡터 산출부(113)는 움직임 벡터 산출 장치로서 구성된다.
또, co-located 블록이 1개의 참조 움직임 벡터만을 가지고 있는 경우에는, 시간 다이렉트 벡터 산출부(113)는, co-located 블록이 가지는 그 1개의 참조 움직임 벡터를 이용하여, 시간 다이렉트에 의해, 부호화 대상 블록의 움직임 벡터를 도출한다. 예를 들면, 시간 다이렉트 벡터 산출부(113)는, 그 1개의 참조 움직임 벡터가 전방 참조 움직임 벡터인지 아닌지를 판단하여, 전방 참조 움직임 벡터인 경우에는, 전방 참조 움직임 벡터를 이용하여, 시간 다이렉트에 의해, 부호화 대상 블록의 움직임 벡터를 도출한다. 한편, 그 1개의 참조 움직임 벡터가 전방 참조 움직임 벡터가 아닌 경우에는, 시간 다이렉트 벡터 산출부(113)는, 후방 참조 움직임 벡터를 이용하여, 시간 다이렉트에 의해, 부호화 대상 블록의 움직임 벡터를 도출한다. 또한, co-located 블록이 참조 움직임 벡터를 가지고 있지 않은 경우에는, 시간 다이렉트 벡터 산출부(113)는, 시간 다이렉트에 의한 움직임 벡터의 도출을 중지하거나, 참조 움직임 벡터를 0으로 하고, 부호화 대상 블록의 움직임 벡터를 도출한다.
인터 예측 제어부(111)는, 인터 예측 시에 이용하는 움직임 벡터를 결정한다. 구체적으로는, 인터 예측 제어부(111)는, 부호화 대상 블록에 대해, 움직임 검출된 움직임 벡터와, 시간 다이렉트에 의해 도출된 움직임 벡터를 비교하여, 보다 정밀도가 높은 움직임 벡터를 인터 예측 시에 이용하는 움직임 벡터로서 결정한다. 또, 인터 예측 제어부(111)는, 움직임 검출에 의해 움직임 벡터를 도출할지, 시간 다이렉트에 의해 움직임 벡터를 도출할지를 나타내는 인터 예측 모드 플래그를 블록마다 생성하여, 부호화 대상 블록에 부수시킨다.
가변길이 부호화부(115)는, 양자화 처리된 계수열과, 인터 예측 모드 플래그와, 픽쳐 타입 정보와, co-located 참조 방향 플래그에 대해, 가변길이 부호화 처리를 실시함으로써, 부호화 동화상인 비트 스트림을 생성한다.
도 3은, 본 실시 형태에서의 화상 부호화 방법의 처리 흐름의 개요를 나타내는 도이다.
시간 다이렉트 벡터 산출부(113)는, co-located 블록이 가지는 1개의 참조 움직임 벡터를 선택하고, 선택된 1개의 참조 움직임 벡터를 이용하여, 부호화 대상(처리 대상) 블록의 움직임 벡터를 산출한다(단계 S110). 또한, 단계 S110는, 본 발명의 움직임 벡터 산출 방법에 상당한다. 구체적으로는, co-located 블록이 2개의 참조 움직임 벡터를 가지고 있는 경우에는, co-located 블록이 부호화 대상(처리 대상) 블록보다 표시 시간 순서로 전방에 있는(즉, 전방 참조 블록인)지 후방에 있는(즉, 후방 참조 블록인)지에 기초하여, 2개의 참조 움직임 벡터로부터 1개의 참조 움직임 벡터를 선택하고, co-located 블록이 1개의 참조 움직임 벡터만을 가지고 있는 경우에는, 상기 1개의 참조 움직임 벡터를 선택한다. 예를 들면, co-located 블록이 2개 이상의 참조 움직임 벡터를 가지는 전방 참조 블록인 경우는, 후방 참조 움직임 벡터를 이용하여, 시간 다이렉트에 의해, 부호화 대상 블록의 움직임 벡터를 도출한다. 한편, co-located 블록이 2개 이상의 참조 움직임 벡터를 가지는 후방 참조 블록인 경우는, 시간 다이렉트 벡터 산출부(113)는, 전방 참조 움직임 벡터를 이용하여, 시간 다이렉트에 의해, 부호화 대상 블록의 움직임 벡터를 도출한다. 또한, 시간 다이렉트에 의해 도출되는 움직임 벡터를 시간 다이렉트 벡터라 한다.
여기서, co-located 블록은 이하와 같이 결정되는 것이 가능하다. 즉, co-located 참조 방향 결정부(114)는, 부호화 대상 블록의 움직임 벡터를 시간 다이렉트로 도출할 때에, 전방 참조 블록 및 후방 참조 블록 중 어느 하나를 co-located 블록으로 할지 결정한다. 또, 예를 들면, co-located 참조 방향 결정부(114)는, co-located 블록이 전방 참조 블록인지 후방 참조 블록인지를 나타내는 co-located 참조 방향 플래그를 픽쳐마다 생성하여, 픽쳐에 부수시켜도 된다. 또한, co-located 참조 방향 플래그를, 픽쳐 단위로 부수시키는 경우에 한정하지 않고, 픽쳐를 구성하는 슬라이스 단위로 부수시켜도 상관없다.
다음으로, 화상 부호화 장치(100)는, 시간 다이렉트 벡터 산출부(113)에서 산출된 움직임 벡터를 이용하여 부호화 대상(처리 대상) 블록을 부호화한다(단계 S120). 구체적으로는, 인터 예측부(110)는, 시간 다이렉트 벡터 산출부(113)에서 산출된 움직임 벡터를 이용하여 예측 화상 데이터를 생성한다. 예를 들면, 인터 예측 제어부(111)는, 움직임 검출된 움직임 벡터와, 시간 다이렉트에 의해 도출된 움직임 벡터를 비교하여, 보다 정밀도가 좋은 움직임 벡터를 선택한다. 또한, 인터 예측부(110)는, 그 선택된 움직임 벡터를 이용하여 부호화 대상 블록에 대해 인터 예측을 실시함으로써, 예측 화상 데이터를 생성한다. 여기서, 인터 예측 제어부(111)는, 움직임 검출에 의해 움직임 벡터를 도출할지, 시간 다이렉트에 의해 움직임 벡터를 도출할지를 인터 예측 모드로서 결정하고, 그 인터 예측 모드를 나타내는 인터 예측 모드 플래그를 블록마다 생성하여, 부호화 대상 블록에 부수시킨다. 또한, 움직임 검출된 움직임 벡터를, 움직임 검출 결과 벡터라 한다. 이와 같이 생성된 예측 화상 데이터를 이용하여, 부호화 대상(처리 대상) 블록이 부호화된다.
도 4는, 인터 예측 제어부(111)에서의 인터 예측 모드의 결정 흐름을 나타내는 도이다.
인터 예측 제어부(111)는, 움직임 검출된 움직임 벡터를 이용하여 생성한 예측 화상 데이터와, 원화상(부호화 대상 블록)의 차분 정보인 SADinter를 산출한다(단계 S131). 여기서, SAD(Sum of Absolute Difference)는, 예측 화상 데이터와 원화상의 각 화소의 차분 절대치 합을 나타낸다. 또, SADinter는, 움직임 검출된 움직임 벡터를 이용하여 생성한 예측 화상 데이터와 원화상의 SAD를 나타낸다. 인터 예측 제어부(111)는, 시간 다이렉트에 의해 도출된 움직임 벡터를 이용하여 생성한 예측 화상 데이터와, 원화상의 차분 정보인 SADdirect를 산출한다(단계 S132). 여기서, SADdirect는, 시간 다이렉트에 의해 도출된 움직임 벡터를 이용하여 생성한 예측 화상 데이터와 원화상의 SAD를 나타낸다.
다음으로, 인터 예측 제어부(111)는, SADinter와 SADdirect를 비교한다(단계 S133). 여기서, SADinter가 작은, 즉 움직임 검출 결과 벡터가 정밀도가 좋은 경우에는(단계 S133의 Yes), 인터 예측 제어부(111)는, 인터 예측 모드로서 움직임 검출 모드를 이용하는 것으로 결정한다(단계 S134). 한편, SADdirect가 작은, 즉 시간 다이렉트 벡터가 정밀도가 좋은 경우에는(단계 S133의 No), 인터 예측 제어부(111)는, 인터 예측 모드로서 시간 다이렉트 모드를 이용하는 것으로 결정한다(단계 S135).
마지막으로, 인터 예측 제어부(111)는, 결정한 인터 예측 모드를 나타내는 인터 예측 모드 플래그를 블록마다 생성하여, 부호화 대상 블록에 부수시킨다.
또한, 본 실시 형태에서는, SAD를 이용하여 시간 다이렉트 모드를 이용하는지 어떤지 판정했지만, 예측 화상 데이터와 원화상의 각 화소의 차분 2승 합인 SSD(Sum of Square Difference) 등을 이용해도 상관없다.
도 5는, 도 3의 단계 S110의 상세한 처리 흐름을 나타내는 도이다. 이하, 도 5에 대해서 설명한다. 또한, 도 5는 본 발명의 움직임 벡터 산출 방법의 일례이다.
우선, 시간 다이렉트 벡터 산출부(113)는, co-located 블록이, 2개 이상의 참조 움직임 벡터를 가지고 있는지, 즉, 적어도 전방 참조 움직임 벡터(mvL0)와 후방 참조 움직임 벡터(mvL1)를 가지고 있는지 아닌지를 판단한다(단계 S121). 단계 S121에서, co-located 블록이 2개 이상의 참조 움직임 벡터를 가지고 있다고 판단된 경우(단계 S121의 Yes), 시간 다이렉트 벡터 산출부(113)는, co-located 블록의 위치가 후방인지 아닌지, 즉 co-located 블록이 후방 참조 블록인지 아닌지를 판단한다(단계 S122). co-located 블록이 후방 참조 블록인 경우(단계 S122의 Yes)에는, 시간 다이렉트 벡터 산출부(113)는, co-located 블록의 전방 참조 움직임 벡터(mvL0)를 이용하여, 시간 다이렉트에 의해, 부호화 대상 블록의 움직임 벡터를 도출한다(단계 S123). 한편, co-located 블록이 전방 참조 블록인 경우(단계 S122의 No)에는, 시간 다이렉트 벡터 산출부(113)는, co-located 블록의 후방 참조 움직임 벡터(mvL1)를 이용하여, 시간 다이렉트에 의해, 부호화 대상 블록의 움직임 벡터를 도출한다(단계 S124).
또, 단계 S121에서, co-located 블록이, 전방 참조 움직임 벡터(mvL0) 및 후방 참조 움직임 벡터(mvL1) 중 어느 한쪽만을 가지고 있다고 판단된 경우(단계 S121의 No), 시간 다이렉트 벡터 산출부(113)는, co-located 블록이 전방 참조 움직임 벡터(mvL0)를 가지고 있는지 아닌지를 판단한다(단계 S125). 단계 S125에서, co-located 블록이 전방 참조 움직임 벡터(mvL0)를 가지고 있다고 판단된 경우(단계 S125의 Yes), 시간 다이렉트 벡터 산출부(113)는, co-located 블록의 전방 참조 움직임 벡터(mvL0)를 이용하여, 시간 다이렉트에 의해, 부호화 대상 블록의 움직임 벡터를 도출한다(단계 S126). 한편, 단계 S125에서, co-located 블록이 전방 참조 움직임 벡터(mvL0)를 가지고 있지 않다고 판단된 경우(단계 S125의 No), 시간 다이렉트 벡터 산출부(113)는, co-located 블록이 후방 참조 움직임 벡터(mvL1)를 가지고 있는지 아닌지를 판단한다(단계 S127).
여기서, 단계 S127에서, co-located 블록이 후방 참조 움직임 벡터(mvL1)를 가지고 있다고 판단된 경우(단계 S127의 Yes), 시간 다이렉트 벡터 산출부(113)는, co-located 블록의 후방 참조 움직임 벡터(mvL1)를 이용하여, 시간 다이렉트에 의해, 부호화 대상 블록의 움직임 벡터를 도출한다(단계 S128). 한편, 단계 S127에서, co-located 블록이 후방 참조 움직임 벡터(mvL1)를 가지고 있지 않다고 판단된 경우(단계 S127의 No)에는, 시간 다이렉트 벡터 산출부(113)는, 시간 다이렉트에 의해, 부호화 대상 블록의 움직임 벡터를 도출하는 것을 중지한다. 또는, 시간 다이렉트 벡터 산출부(113)는, co-located 블록의 참조 움직임 벡터를 0으로 하고, 시간 다이렉트에 의해, 부호화 대상 블록의 움직임 벡터를 도출한다(단계 S129).
도 5의 처리 흐름에서는, 단계 S125에서, co-located 블록이 전방 참조 움직임 벡터(mvL0)를 가지고 있는지 아닌지가 판단되고, 단계 S127에서, co-located 블록이 후방 참조 움직임 벡터(mvL1)를 가지고 있는지 아닌지가 판단되고 있지만, 본 발명은 이 흐름에 한정되지 않는다. 예를 들면, co-located 블록이 후방 참조 움직임 벡터(mvL1)를 가지고 있는지 아닌지가 판단되고, 그 후, co-located 블록이 전방 참조 움직임 벡터(mvL0)를 가지고 있는지 아닌지가 판단되어도 된다. 또, 상기 서술한 바와 같이, 시간 다이렉트 벡터 산출부(113)는, co-located 블록이 2개의 참조 움직임 벡터를 가지는 경우에는, co-located 블록의 위치에 따라, 그 2개의 참조 움직임 벡터 중에서 시간 다이렉트에 이용하는 1개의 참조 움직임 벡터를 선택하고, co-located 블록이 1개의 참조 움직임 벡터만을 가지고 있는 경우에는, 그 1개의 참조 움직임 벡터를, 시간 다이렉트에 이용하는 움직임 벡터로서 선택하고, co-located 블록이 참조 움직임 벡터를 가지고 있지 않은 경우에는, 시간 다이렉트에 의한 움직임 벡터의 도출을 중지한다. 따라서, 시간 다이렉트 벡터 산출부(113)는, 상기 각 경우에 따라, 그 경우에 따른 처리를 실시하면 되며, co-located 블록 상태가 그들 경우에 있는지 아닌지의 판단(예를 들면, 단계 S121, S122, S125, S127)을, 어떠한 순서로 실시해도 된다.
다음으로, 시간 다이렉트에 의해, 움직임 벡터를 도출하는 방법에 대해서, 상세하게 설명한다.
도 6은, 본 실시 형태에서의 시간 다이렉트에 의해 움직임 벡터(시간 다이렉트 벡터)를 도출하는 방법의 일례를 나타내는 도이다. co-located 블록은, 후방 참조 블록이며, 전방 참조 움직임 벡터(mvL0)와 후방 참조 움직임 벡터(mvL1)를 가진다. 이 경우, 시간 다이렉트 벡터 산출부(113)는, 전방 참조 움직임 벡터(mvL0)를 이용하여, 이하의 계산식(식 1)에 의해, 부호화 대상 블록의 움직임 벡터(TMV)를 도출한다.
(식 1)
TMV=mvL0×(B2-B0)/(B4-B0)
여기서, (B2-B0)는, 픽쳐(B2)와 픽쳐(B0)의 표시 시간에서의 시간차 정보를 나타내고, (B4-B0)는, 픽쳐(B4)와 픽쳐(B0)의 표시 시간에서의 시간차 정보를 나타낸다.
도 7은, 본 실시 형태에서의 시간 다이렉트에 의해 움직임 벡터(시간 다이렉트 벡터)를 도출하는 방법의 다른 예를 나타내는 도이다. co-located 블록은, 후방 참조 블록이며, 후방 참조 움직임 벡터(mvL1)만을 가진다. 이 경우, 시간 다이렉트 벡터 산출부(113)는, 후방 참조 움직임 벡터(mvL1)를 이용하여, 이하의 계산식(식 2)에 의해, 부호화 대상 블록의 움직임 벡터(TMV)를 도출한다.
(식 2)
TMV=mvL1×(B2-B0)/(B4-B8)
도 8은, 본 실시 형태에서의 시간 다이렉트에 의해 움직임 벡터(시간 다이렉트 벡터)를 도출하는 방법의 다른 예를 나타내는 도이다. co-located 블록은, 전방 참조 블록이며, 전방 참조 움직임 벡터(mvL0)와 후방 참조 움직임 벡터(mvL1)를 가진다. 이 경우, 시간 다이렉트 벡터 산출부(113)는, 후방 참조 움직임 벡터(mvL1)를 이용하여, 이하의 계산식(식 3)에 의해, 부호화 대상 블록의 움직임 벡터(TMV)를 도출한다.
(식 3)
TMV=mvL1×(B6-B8)/(B4-B8)
도 9는, 본 실시 형태에서의 시간 다이렉트에 의해 움직임 벡터(시간 다이렉트 벡터)를 도출하는 방법의 다른 예를 나타내는 도이다. co-located 블록은, 전방 참조 블록이며, 전방 참조 움직임 벡터(mvL0)만을 가진다. 이 경우, 시간 다이렉트 벡터 산출부(113)는, 전방 참조 움직임 벡터(mvL0)를 이용하여, 이하의 계산식(식 4)에 의해, 부호화 대상 블록의 움직임 벡터(TMV)를 도출한다.
(식 4)
TMV=mvL0×(B6-B8)/(B4-B0)
이와 같이, 본 실시 형태에 의하면, co-located 블록이 2개 이상의 참조 움직임 벡터를 가지고 있을 때에, 부호화 대상 블록에 최적의 움직임 벡터를 도출할 수 있기 때문에, 압축 효율을 향상시키는 것이 가능해진다. 특히, co-located 블록이 전방 참조 블록인 경우에, 후방 참조 움직임 벡터를 이용함으로써, 예측 오차를 작게 할 수 있다. 이 경우, 후방 참조 움직임 벡터는, co-located 블록을 포함하는 픽쳐에서, 부호화 대상 블록을 포함하는 픽쳐를 향하는 방향의 움직임 벡터이다. 따라서, 후방 참조 움직임 벡터로부터 도출되는 움직임 벡터가 최적의 움직임 벡터에 가까워질 확률이 높아지기 때문에, 예측 오차가 작아진다. 한편, 전방 참조 움직임 벡터는, co-located 블록을 포함하는 픽쳐에서, 부호화 대상 블록을 포함하는 픽쳐를 향하는 방향과는 역방향의 움직임 벡터이다. 따라서, 전방 참조 움직임 벡터로부터 도출되는 움직임 벡터가 최적의 움직임 벡터에 가까워질 확률이 낮아지기 때문에, 예측 오차가 커진다. 또, co-located 블록이 후방 참조 블록인 경우도 마찬가지로, 전방 참조 움직임 벡터로부터 도출되는 움직임 벡터가 최적의 움직임 벡터에 가까워질 확률이 높아지기 때문에, 그 전방 참조 움직임 벡터를 이용함으로써, 예측 오차를 작게 할 수 있다.
(실시 형태 2)
본 실시 형태에서는, co-located 블록이 2개 이상의 참조 움직임 벡터를 가지고 있을 때에, co-located 블록을 포함하는 픽쳐로부터 시간적으로 가까운 픽쳐를 참조하는 참조 움직임 벡터, 즉, 시간적인 거리가 짧은 참조 움직임 벡터를, 시간 다이렉트에 이용하는 것으로 결정한다. 이 점에 있어서, 본 실시 형태는 다른 실시 형태와 구성이 다르다. 여기서, 시간적인 거리란, 표시 시간 순서로, co-located 블록을 포함하는 픽쳐와, co-located 블록이 참조 움직임 벡터에 의해 참조하는 참조 픽쳐 사이의 픽쳐수에 따라 결정되는 거리이다. 즉, 본 실시 형태에서는, 도 3에 나타내는 처리 흐름 중 단계 S110의 처리가 실시 형태 1과 다르다.
도 10은, 본 실시 형태에서의 시간 다이렉트 벡터의 산출의 상세한 처리 흐름을 나타내는 도이다. 이하, 도 10에 대해서 설명한다.
우선, 시간 다이렉트 벡터 산출부(113)는, co-located 블록이, 2개 이상의 참조 움직임 벡터를 가지고 있는지, 즉, 적어도 전방 참조 움직임 벡터(mvL0)와 후방 참조 움직임 벡터(mvL1)를 가지고 있는지 아닌지를 판단한다(단계 S121). 단계 S121에서, co-located 블록이 2개 이상의 참조 움직임 벡터를 가지고 있다고 판단된 경우(단계 S121의 Yes), 시간 다이렉트 벡터 산출부(113)는, 전방 참조 움직임 벡터(mvL0)가 참조하는 참조 픽쳐가, 후방 참조 움직임 벡터(mvL1)가 참조하는 참조 픽쳐보다, co-located 블록을 포함하는 픽쳐(co-located 픽쳐)에 시간적으로 가까운지 아닌지를 판단한다(단계 S122a). 즉, 시간 다이렉트 벡터 산출부(113)는, 전방 참조 움직임 벡터(mvL0)와 후방 참조 움직임 벡터(mvL1) 중 어느 것이 시간적인 거리가 짧은지를 판단한다. 단계 S122a에서, 전방 참조 움직임 벡터(mvL0)가 참조하는 참조 픽쳐가, co-located 블록을 포함하는 픽쳐에 시간적으로 가깝다고 판단된 경우(단계 S122a의 Yes)에는, 시간 다이렉트 벡터 산출부(113)는, co-located 블록의 전방 참조 움직임 벡터(mvL0)를 이용하여, 시간 다이렉트에 의해, 부호화 대상 블록의 움직임 벡터를 도출한다(단계 S123). 한편, 단계 S122a에서, 후방 참조 움직임 벡터(mvL1)가 참조하는 참조 픽쳐가, co-located 블록을 포함하는 픽쳐에 시간적으로 가깝다고 판단된 경우(단계 S122a의 No)에는, 시간 다이렉트 벡터 산출부(113)는, co-located 블록의 후방 참조 움직임 벡터(mvL1)를 이용하여, 시간 다이렉트에 의해, 부호화 대상 블록의 움직임 벡터를 도출한다(단계 S124).
또, 단계 S121에서, co-located 블록이, 전방 참조 움직임 벡터(mvL0) 및 후방 참조 움직임 벡터(mvL1) 중 어느 한쪽만을 가지고 있다고 판단된 경우(단계 S121의 No), 시간 다이렉트 벡터 산출부(113)는, co-located 블록이 전방 참조 움직임 벡터를 가지고 있는지 아닌지를 판단한다(단계 S125). 단계 S125에서, co-located 블록이 전방 참조 움직임 벡터를 가지고 있다고 판단된 경우(단계 S125의 Yes), 시간 다이렉트 벡터 산출부(113)는, co-located 블록의 전방 참조 움직임 벡터(mvL0)를 이용하여, 시간 다이렉트에 의해, 부호화 대상 블록의 움직임 벡터를 도출한다(단계 S126). 한편, 단계 S125에서, co-located 블록이 전방 참조 움직임 벡터(mvL0)를 가지고 있지 않다고 판단된 경우(단계 S125의 No), 시간 다이렉트 벡터 산출부(113)는, co-located 블록이 후방 참조 움직임 벡터(mvL1)를 가지고 있는지 아닌지를 판단한다(단계 S127).
여기서, 단계 S127에서, co-located 블록이 후방 참조 움직임 벡터(mvL1)를 가지고 있다고 판단된 경우(단계 S127의 Yes), 시간 다이렉트 벡터 산출부(113)는, co-located 블록의 후방 참조 움직임 벡터(mvL1)를 이용하여, 시간 다이렉트에 의해, 부호화 대상 블록의 움직임 벡터를 도출한다(단계 S128). 한편, 단계 S127에서, co-located 블록이 후방 참조 움직임 벡터(mvL1)를 가지고 있지 않다고 판단된 경우(단계 S127의 No)에는, 시간 다이렉트 벡터 산출부(113)는, 시간 다이렉트에 의해, 부호화 대상 블록의 움직임 벡터를 도출하는 것을 중지한다. 또는, 시간 다이렉트 벡터 산출부(113)는, co-located 블록의 참조 움직임 벡터를 0으로 하고, 시간 다이렉트에 의해, 부호화 대상 블록의 움직임 벡터를 도출한다(단계 S129). 즉, 부호화 대상 블록의 움직임 벡터를 0으로 한다.
다음으로, 본 실시 형태에서의 시간 다이렉트에 의해, 움직임 벡터를 도출하는 방법으로 대해서, 상세하게 설명한다.
도 11은, 본 실시 형태에서의 시간 다이렉트에 의해 움직임 벡터(시간 다이렉트 벡터)를 도출하는 방법의 일례를 나타내는 도이다. co-located 블록은, 전방 참조 움직임 벡터(mvL0)와 후방 참조 움직임 벡터(mvL1)를 가지고 있다. 그리고, 전방 참조 움직임 벡터(mvL0)가 참조하는 참조 픽쳐가, 후방 참조 움직임 벡터(mvL1)가 참조하는 참조 픽쳐보다, co-located 블록을 포함하는 픽쳐에 시간적으로 가깝다. 이 경우, 시간 다이렉트 벡터 산출부(113)는, 전방 참조 움직임 벡터(mvL0)를 이용하여, 이하의 계산식(식 5)에 의해, 부호화 대상 블록의 움직임 벡터(TMV)를 도출한다.
(식 5)
TMV=mvL0×(B2-B0)/(B4-B0)
도 12는, 본 실시 형태에서의 시간 다이렉트에 의해 움직임 벡터(시간 다이렉트 벡터)를 도출하는 방법의 다른 예를 나타내는 도이다. co-located 블록은, 전방 참조 움직임 벡터(mvL0)와 후방 참조 움직임 벡터(mvL1)를 가지고 있다. 그리고, 후방 참조 움직임 벡터(mvL1)가 참조하는 참조 픽쳐가, 전방 참조 움직임 벡터(mvL0)가 참조하는 참조 픽쳐보다, co-located 블록을 포함하는 픽쳐에 시간적으로 가깝다. 이 경우, 시간 다이렉트 벡터 산출부(113)는, 후방 참조 움직임 벡터(mvL1)를 이용하여, 이하의 계산식(식 6)에 의해, 부호화 대상 블록의 움직임 벡터(TMV)를 도출한다.
(식 6)
TMV=mvL1×(B2-B0)/(B4-B8)
이와 같이, 본 실시 형태에 의하면, co-located 블록이 2개 이상의 참조 움직임 벡터를 가지고 있을 때에, 부호화 대상 블록에 최적의 움직임 벡터를 도출할 수 있기 때문에, 압축 효율을 향상시키는 것이 가능해진다. 즉, co-located 블록을 포함하는 픽쳐로부터 시간적으로 가까운 픽쳐를 참조하는 참조 움직임 벡터를 이용함으로써, 그 참조 움직임 벡터로부터 도출되는 움직임 벡터가 최적의 움직임 벡터에 가까워질 확률이 높아지기 때문에, 예측 오차를 작게 하는 것이 가능해진다.
또한, 본 실시 형태를 다른 실시 형태와 조합하는 것도 가능하다. 예를 들면, 실시 형태 1의 도 5에 나타내는 단계 S122와, 본 실시 형태의 도 10에 나타내는 단계 S122a를 조합해도 된다. 이 경우에는, 실시 형태 1의 도 5에 나타내는 단계 S122보다, 본 실시 형태의 도 10에 나타내는 단계 S122a가 우선된다. 구체적으로는, 우선, 2개 이상의 참조 움직임 벡터의 시간적인 거리를 판단하여, 시간적인 거리가 짧은 참조 움직임 벡터를 선택한다. 여기서, 2개 이상의 참조 움직임 벡터의 시간적인 거리가 동등한 경우에는, co-located 블록이 전방 참조 블록인지 후방 참조 블록인지에 기초하여, 참조 움직임 벡터를 선택한다. 본 실시 형태의 단계 S122a가, 움직임 벡터에 대한 영향이 크기 때문에, 참조 움직임 벡터의 시간적인 거리를 우선함으로써, 보다 최적의 참조 움직임 벡터를 선택할 수 있다.
(실시 형태 3)
본 실시 형태에서는, co-located 블록이 2개 이상의 참조 움직임 벡터를 가지고 있을 때에, 크기가 작은 참조 움직임 벡터를, 시간 다이렉트에 이용하는 것으로 결정한다. 이 점에 있어서, 본 실시 형태는 다른 실시 형태와 구성이 다르다. 여기서, 움직임 벡터의 크기란, 움직임 벡터의 절대치를 의미한다. 즉, 본 실시 형태에서는, 도 3에 나타내는 처리 흐름 중 단계 S110의 처리가 실시 형태 1과 다르다.
도 13은, 본 실시 형태에서의 시간 다이렉트 벡터의 산출의 상세한 처리 흐름을 나타내는 도이다. 이하, 도 13에 대해서 설명한다.
우선, 시간 다이렉트 벡터 산출부(113)는, co-located 블록이, 2개 이상의 참조 움직임 벡터를 가지고 있는지, 즉, 적어도 전방 참조 움직임 벡터(mvL0)와 후방 참조 움직임 벡터(mvL1)를 가지고 있는지 아닌지를 판단한다(단계 S121). 단계 S121에서, co-located 블록이 2개 이상의 참조 움직임 벡터를 가지고 있다고 판단된 경우(단계 S121의 Yes), 시간 다이렉트 벡터 산출부(113)는, 전방 참조 움직임 벡터(mvL0)의 크기가, 후방 참조 움직임 벡터(mvL1)의 크기보다 작은지 아닌지 판단한다(단계 S122b). 단계 S122b에서, 전방 참조 움직임 벡터(mvL0)의 크기가 작다고 판단된 경우(단계 S122b의 Yes)에는, 시간 다이렉트 벡터 산출부(113)는, co-located 블록의 전방 참조 움직임 벡터(mvL0)를 이용하여, 시간 다이렉트에 의해, 부호화 대상 블록의 움직임 벡터를 도출한다(단계 S123). 한편, 단계 S122b에서, 후방 참조 움직임 벡터(mvL1)의 크기가 작다고 판단된 경우(단계 S122b의 No)에는, 시간 다이렉트 벡터 산출부(113)는, co-located 블록의 후방 참조 움직임 벡터(mvL1)를 이용하여, 시간 다이렉트에 의해, 부호화 대상 블록의 움직임 벡터를 도출한다(단계 S124).
또, 단계 S121에서, co-located 블록이, 전방 참조 움직임 벡터(mvL0) 및 후방 참조 움직임 벡터(mvL1) 중 어느 한쪽만을 가지고 있다고 판단된 경우(단계 S121의 No), 시간 다이렉트 벡터 산출부(113)는, co-located 블록이 전방 참조 움직임 벡터를 가지고 있는지 아닌지를 판단한다(단계 S125). 단계 S125에서, co-located 블록이 전방 참조 움직임 벡터를 가지고 있다고 판단된 경우(단계 S125의 Yes), 시간 다이렉트 벡터 산출부(113)는, co-located 블록의 전방 참조 움직임 벡터(mvL0)를 이용하여, 시간 다이렉트에 의해, 부호화 대상 블록의 움직임 벡터를 도출한다(단계 S126). 한편, 단계 S125에서, co-located 블록이 전방 참조 움직임 벡터(mvL0)를 가지고 있지 않다고 판단된 경우(단계 S125의 No), 시간 다이렉트 벡터 산출부(113)는, co-located 블록이 후방 참조 움직임 벡터(mvL1)를 가지고 있는지 아닌지를 판단한다(단계 S127).
여기서, 단계 S127에서, co-located 블록이 후방 참조 움직임 벡터(mvL1)를 가지고 있다고 판단된 경우(단계 S127의 Yes), 시간 다이렉트 벡터 산출부(113)는, co-located 블록의 후방 참조 움직임 벡터(mvL1)를 이용하여, 시간 다이렉트에 의해, 부호화 대상 블록의 움직임 벡터를 도출한다(단계 S128). 한편, 단계 S127에서, co-located 블록이 후방 참조 움직임 벡터(mvL1)를 가지고 있지 않다고 판단된 경우(단계 S127의 No)에는, 시간 다이렉트 벡터 산출부(113)는, 시간 다이렉트에 의해, 부호화 대상 블록의 움직임 벡터를 도출하는 것을 중지한다. 또는, 시간 다이렉트 벡터 산출부(113)는, co-located 블록의 참조 움직임 벡터를 0으로 하고, 시간 다이렉트에 의해, 부호화 대상 블록의 움직임 벡터를 도출한다(단계 S129). 즉, 부호화 대상 블록의 움직임 벡터를 0으로 한다.
이와 같이, 본 실시 형태에 의하면, co-located 블록이 2개 이상의 참조 움직임 벡터를 가지고 있을 때에, 부호화 대상 블록에 최적의 움직임 벡터를 도출할 수 있기 때문에, 압축 효율을 향상시키는 것이 가능해진다.
또한, 본 실시 형태를 다른 실시 형태와 조합하는 것도 가능하다. 예를 들면, 실시 형태 1의 도 5에 나타내는 단계 S122와, 본 실시 형태의 도 13에 나타내는 단계 S122b를 조합해도 된다. 이 경우에는, 실시 형태 1의 도 5에 나타내는 단계 S122보다, 본 실시 형태의 도 13에 나타내는 단계 S122b가 우선된다. 구체적으로는, 우선, 2개 이상의 참조 움직임 벡터의 크기를 판단하여, 크기가 작은 참조 움직임 벡터를 선택한다. 여기서, 2개 이상의 참조 움직임 벡터의 크기가 동등한 경우에는, co-located 블록이 전방 참조 블록인지 후방 참조 블록인지에 기초하여, 참조 움직임 벡터를 선택한다. 본 실시 형태의 단계 S122b가, 움직임 벡터에 대한 영향이 크기 때문에, 참조 움직임 벡터의 크기를 우선함으로써, 보다 최적의 참조 움직임 벡터를 선택할 수 있다.
(실시 형태 4)
본 실시 형태에서는, co-located 참조 방향 플래그에 의해 나타나는 co-located 블록이 참조 움직임 벡터를 가지지 않고, 시간 다이렉트에 의해, 부호화 대상 블록의 움직임 벡터를 도출할 수 없는 경우, 즉, 움직임 벡터가 0이 되는 경우, co-located 블록을 변경하고, 부호화 대상 블록의 움직임 벡터를 산출하여, 인터 예측을 실시한다.
우선, co-located 참조 방향 결정부(114)는, 도 3의 단계 S110에서, 전방 참조 블록을 co-located 블록으로 할지, 후방 참조 블록을 co-located 블록으로 할지를 결정한다. 전방 참조 블록을 co-located 블록으로 한 경우에는, co-located 참조 방향 결정부(114)는, co-located 후방 참조 우선 플래그(co-located 참조 방향 플래그)를 0으로 한다. 한편, 후방 참조 블록을 co-located 블록으로 한 경우에는, co-located 참조 방향 결정부(114)는, co-located 후방 참조 우선 플래그를 1로 한다. 여기서, co-located 참조 방향 결정부(114)는, co-located 후방 참조 우선 플래그를 픽쳐마다 생성하여, 부호화 픽쳐에 부수시킨다.
co-located 후방 참조 우선 플래그는, 픽쳐 단위로 생성되기 때문에, 부호화 대상 픽쳐 내의, 어떤 블록에 대응하는 co-located 블록이 전방 참조 움직임 벡터 및 후방 참조 움직임 벡터를 모두 가지고 있지 않은 경우가 발생할 수 있다. 이 경우에서, 시간 다이렉트 벡터 산출부(113)는, co-located 블록을 변경함으로써, 보다 적절한 움직임 벡터를 도출한다.
도 14는, 본 실시 형태에서의 도 3의 단계 S110 및 S120의 상세한 처리 흐름을 나타내는 도이다. 이하, 도 14를 이용하여 설명한다.
시간 다이렉트 벡터 산출부(113)는, co-located 후방 참조 우선 플래그가 1인지 아닌지, 즉, 후방 참조 블록을 우선하는지 아닌지 판단한다(단계 S141). co-located 후방 참조 우선 플래그가 1인 경우(단계 S141의 Yes)에는, 시간 다이렉트 벡터 산출부(113)는, 후방 참조 블록인 co-located 블록을 이용하여, 시간 다이렉트에 의해, 부호화 대상 블록의 움직임 벡터의 도출을 시도한다(단계 S142). 시간 다이렉트 벡터 산출부(113)는, 단계 S142에서 부호화 대상 블록의 움직임 벡터가 도출되어 있지 않은지 아닌지, 즉, 움직임 벡터가 0인지 아닌지 판단한다(단계 S143). 움직임 벡터가 도출되어 있지 않은 경우(단계 S143의 Yes)에는, 시간 다이렉트 벡터 산출부(113)는, 전방 참조 블록인 co-located 블록을 이용하여, 시간 다이렉트에 의해, 부호화 대상 블록의 움직임 벡터를 도출한다(단계 S144).
한편, 단계 S141에서, co-located 후방 참조 우선 플래그가 0인 경우(단계 S141의 No)에는, 시간 다이렉트 벡터 산출부(113)는, 전방 참조 블록인 co-located 블록을 이용하여, 시간 다이렉트에 의해, 부호화 대상 블록의 움직임 벡터의 도출을 시도한다(단계 S146). 시간 다이렉트 벡터 산출부(113)는, 단계 S146에서 부호화 대상 블록의 움직임 벡터가 도출되어 있지 않은지 아닌지, 즉, 움직임 벡터가 0인지 아닌지 판단한다(단계 S147). 움직임 벡터가 도출되어 있지 않은 경우(단계 S147의 Yes)에는, 시간 다이렉트 벡터 산출부(113)는, 후방 참조 블록인 co-located 블록을 이용하여, 시간 다이렉트에 의해, 부호화 대상 블록의 움직임 벡터를 도출한다(단계 S148).
마지막으로, 인터 예측 제어부(111)는, 움직임 검출된 움직임 벡터와, 시간 다이렉트에 의해 도출한 움직임 벡터를 비교하여, 보다 정밀도가 좋은 움직임 벡터를, 부호화 대상 블록의 움직임 벡터로서 결정한다. 즉, 인터 예측 제어부(111)는, 인터 예측 모드를 결정한다. 또한, 인터 예측부(110)는, 그 결정한 움직임 벡터를 이용하여 인터 예측함으로써, 예측 화상 데이터를 생성한다(단계 S145). 이 때, 인터 예측 제어부(111)는, 인터 예측 모드를 나타내는 인터 예측 모드 플래그를 블록마다 생성하여, 부호화 대상 블록에 부수시킨다.
이와 같이, 본 실시 형태에 의하면, co-located 후방 참조 우선 플래그에 의해 나타나는 co-located 블록이 참조 움직임 벡터를 가지지 않는 경우에, 다른 픽쳐의 블록을 co-located 블록으로 함으로써, 움직임 벡터를 도출하는 것을 가능하게 하고 있다. 예를 들면, 후방 참조 블록을 co-located 블록으로 하고 있어, co-located 블록이 참조 움직임 벡터를 가지지 않는 경우에는, 전방 참조 블록을 co-located 블록으로 함으로써, 움직임 벡터의 도출을 가능하게 하고 있다. 이것에 의해, 보다 정밀도가 높은 움직임 벡터를 도출하는 것이 가능해진다.
또한, 본 실시 형태를 다른 실시 형태와 조합하는 것도 가능하다. 예를 들면, 실시 형태 1에서의 도 5의 단계 S129 대신에, co-located 블록이 후방 참조 블록인지 아닌지를 판단하는 단계를 설치한다. 즉, co-located 블록이 후방 참조 블록인 경우에는, 본 실시 형태에서의 도 14의 단계 S144의 처리를 실시하고, co-located 블록이 전방 참조 블록인 경우에는, 본 실시 형태에서의 도 14의 단계 S148의 처리를 실시한다. 이것에 의해, 보다 적절한 움직임 벡터를 도출하는 것이 가능해진다. 또, 실시 형태 2에서의 도 10의 단계 S129, 및 실시 형태 3에서의 도 13의 단계 S129에 대해서도 마찬가지로, 이들 단계 대신에, co-located 블록이 후방 참조 블록인지 아닌지를 판단하는 단계를 설치해도 된다. 즉, co-located 블록이 후방 참조 블록인 경우에는, 본 실시 형태에서의 도 14의 단계 S144의 처리를 실시하고, co-located 블록이 전방 참조 블록인 경우에는, 본 실시 형태에서의 도 14의 단계 S148의 처리를 실시한다. 이것에 의해, 보다 적절한 움직임 벡터를 도출하는 것이 가능해진다.
또한, 새롭게 선택한 co-located 블록이 2개 이상의 참조 움직임 벡터를 가지고 있는 경우에는, 실시 형태 1, 2, 또는 3에서의 방법에 의해, 움직임 벡터를 도출한다. 이것에 의해, 보다 정밀도가 높은 움직임 벡터를 도출하는 것이 가능해진다.
(실시 형태 5)
도 15는, 본 발명에 관련된 실시 형태 5에서의 화상 복호 방법을 이용한 화상 복호 장치의 구성을 나타내는 블럭도이다.
본 실시 형태에서는, 복호 대상 픽쳐 또는 복호 대상(처리 대상) 블록보다, 표시 시간 순서로, 전방에 위치하는 픽쳐에 포함되는 블록을, 전방 참조 블록이라 부른다. 또, 복호 대상 픽쳐 또는 복호 대상(처리 대상) 블록보다, 표시 시간 순서로, 후방에 위치하는 픽쳐에 포함되는 블록을, 후방 참조 블록이라 부른다.
본 실시 형태에서의 화상 복호 장치(200)는, 도 15에 나타내는 바와 같이, 가변길이 복호부(215), 역양자화부(204), 역직교변환부(205), 블록 메모리(207), 프레임 메모리(208), 인트라 예측부(209), 인터 예측부(210), 인터 예측 제어부(211), 시간 다이렉트 벡터 산출부(213), 및 가산기(206)를 구비하고 있다.
가변길이 복호부(215)는, 입력된 비트 스트림에 대해 가변길이 복호 처리를 실시하고, 픽쳐 타입 정보, 인터 예측 모드 플래그, co-located 참조 방향 플래그, 및 가변길이 복호 처리된 비트 스트림(양자화 처리된 계수열)을 생성한다.
역양자화부(204)는, 가변길이 복호 처리된 비트 스트림에 대해 역양자화 처리를 실시한다. 역직교변환부(205)는, 역양자화 처리된 비트 스트림인 계수열의 영역을 주파수 영역으로부터 화상 영역으로 변환함으로써, 예측 오차 화상 데이터를 생성한다.
가산기(206)는, 인트라 예측부(209) 또는 인터 예측부(210)에 의해 생성된 예측 화상 데이터에, 예측 오차 화상 데이터를 가산함으로써, 재구성 화상 데이터인 복호 화상열을 생성한다.
블록 메모리(207)는, 재구성 화상 데이터를 블록 단위로 보존하고, 프레임 메모리(208)는, 재구성 화상 데이터를 프레임 단위로 보존한다.
인트라 예측부(209)는, 블록 메모리(207)에 보존되어 있는 블록 단위의 재구성 화상 데이터를 이용하여, 인트라 예측함으로써, 복호 대상(처리 대상) 블록의 예측 오차 화상 데이터를 생성한다. 인터 예측부(210)는, 프레임 메모리(208)에 보존되어 있는 프레임 단위의 재구성 화상 데이터를 이용하여, 인터 예측함으로써, 복호 대상 블록의 예측 오차 화상 데이터를 생성한다.
인터 예측 제어부(211)는, 인터 예측 모드 플래그에 따라, 인터 예측에서의 움직임 벡터의 도출 방법을 제어한다. 인터 예측 모드 플래그가, 시간 다이렉트에 의해 움직임 벡터를 도출하는 것(시간 다이렉트 모드)을 나타내고 있는 경우에는, 인터 예측 제어부(211)는, 시간 다이렉트에 의해 도출된 움직임 벡터(시간 다이렉트 벡터)를 이용하여 그 움직임 벡터에 따른 인터 예측을 인터 예측부(210)에 지시한다.
시간 다이렉트 벡터 산출부(213)는, 시간 다이렉트에 의해 움직임 벡터를 도출하는 경우에, co-located 참조 방향 플래그를 이용하여 co-located 블록을 결정하고, 시간 다이렉트에 의해 움직임 벡터를 도출한다. 시간 다이렉트 벡터 산출부(213)는, co-located 참조 방향 플래그에 의해, co-located 블록이 후방 참조 블록인 것이 나타나 있는 경우에는, 그 후방 참조 블록을 co-located 블록으로 한다. 한편, co-located 참조 방향 플래그에 의해, co-located 블록이 전방 참조 블록인 것이 나타나 있는 경우에는, 시간 다이렉트 벡터 산출부(213)는, 그 전방 참조 블록을 co-located 블록으로 한다. 시간 다이렉트 벡터 산출부(213)는, co-located 블록이 2 이상의 참조 움직임 벡터를 가지고 있는 경우에는, co-located 블록이 전방 참조 블록인지 후방 참조 블록인지에 기초하여, 시간 다이렉트에서 이용하는 참조 움직임 벡터를 선택한다.
예를 들면, co-located 블록이 후방 참조 블록인 경우에는, 시간 다이렉트 벡터 산출부(213)는, co-located 블록의 2개 이상의 참조 움직임 벡터 중 전방 참조 움직임 벡터를 이용한다. 한편, co-located 블록이 전방 참조 블록인 경우에는, 시간 다이렉트 벡터 산출부(213)는, co-located 블록의 2개 이상의 참조 움직임 벡터 중 후방 참조 움직임 벡터를 이용한다. co-located 블록이 전방 참조 움직임 벡터 및 후방 참조 움직임 벡터 중 어느 한쪽만을 가지는 경우에는, 시간 다이렉트 벡터 산출부(213)는, 우선, 전방 참조 움직임 벡터를 가지는지 아닌지를 검색하고, 전방 참조 움직임 벡터를 가지는 경우에는, 전방 참조 움직임 벡터를 이용하여, 시간 다이렉트에 의해, 부호화 대상 블록의 움직임 벡터를 도출한다. 한편, co-located 블록이 전방 참조 움직임 벡터를 가지고 있지 않은 경우에는, 시간 다이렉트 벡터 산출부(213)는, 후방 참조 움직임 벡터를 이용하여, 시간 다이렉트에 의해, 부호화 대상 블록의 움직임 벡터를 도출한다.
도 16은, 본 실시 형태에서의 화상 복호 방법의 처리 흐름의 개요를 나타내는 도이다.
시간 다이렉트 벡터 산출부(213)는, co-located 블록이 가지는 1개의 참조 움직임 벡터를 선택하고, 선택된 1개의 참조 움직임 벡터를 이용하여, 복호 대상(처리 대상) 블록의 움직임 벡터를 산출한다(단계 S210). 또한, 단계 S210는, 본 발명의 움직임 벡터 산출 방법에 상당한다. 구체적으로는, co-located 블록이 2개의 참조 움직임 벡터를 가지고 있는 경우에는, co-located 블록이 복호 대상(처리 대상) 블록보다 표시 시간 순서로 전방에 있는(즉, 전방 참조 블록인)지 후방에 있는(즉, 후방 참조 블록인)지에 기초하여, 2개의 참조 움직임 벡터로부터 1개의 참조 움직임 벡터를 선택하고, co-located 블록이 1개의 참조 움직임 벡터만을 가지고 있는 경우에는, 상기 1개의 참조 움직임 벡터를 선택한다. 예를 들면, co-located 블록이 2개 이상의 참조 움직임 벡터를 가지고 있는 경우에는, co-located 참조 방향 플래그에 기초하여, 어느 참조 움직임 벡터를 이용할지를 결정한다. co-located 참조 방향 플래그가 co-located 블록으로서 후방 참조 블록을 나타내고 있는 경우, 즉, co-located 블록이 후방 참조 블록인 경우, 시간 다이렉트 벡터 산출부(213)는, 2개 이상의 참조 움직임 벡터 중 전방 참조 움직임 벡터를 이용하는 것으로 결정한다. 한편, co-located 참조 방향 플래그가 co-located 블록으로서 전방 참조 블록을 나타내고 있는 경우, 즉, co-located 블록이 전방 참조 블록인 경우, 시간 다이렉트 벡터 산출부(213)는, 2개 이상의 참조 움직임 벡터 중 후방 참조 움직임 벡터를 이용하는 것으로 결정한다. 그리고, 시간 다이렉트 벡터 산출부(213)는, 그 결정된 참조 움직임 벡터(전방 참조 움직임 벡터 또는 후방 참조 움직임 벡터)를 이용하여, 시간 다이렉트에 의해, 복호 대상 블록의 움직임 벡터를 도출한다.
여기서, co-located 블록은 이하와 같이 결정되는 것이 가능하다. 즉, 가변길이 복호부(215)는, 픽쳐 단위로, co-located 참조 방향 플래그를 복호한다. 이 때, 시간 다이렉트 벡터 산출부(213)는, co-located 참조 방향 플래그에 기초하여, 전방 참조 블록을 co-located 블록으로 할지, 후방 참조 블록을 co-located 블록으로 할지를 결정한다.
다음으로, 화상 복호 장치(200)는, 시간 다이렉트 벡터 산출부(213)에서 산출된 움직임 벡터를 이용하여, 부호화 동화상에 포함되는 부호화된 복호 대상(처리 대상) 블록을 복호한다(단계 S220). 구체적으로는, 인터 예측부(210)는, 시간 다이렉트 벡터 산출부(213)에서 산출된 움직임 벡터를 이용하여, 예측 화상 데이터를 생성한다. 예를 들면, 인터 예측 제어부(211)는, 블록 단위로 복호된 인터 예측 모드 플래그가, 시간 다이렉트로 복호하는 것(시간 다이렉트 모드)을 나타내고 있는 경우에, 시간 다이렉트에 의한 인터 예측을 인터 예측부(210)에 지시해도 된다. 그 결과, 인터 예측부(210)는, 시간 다이렉트에 의해 도출된 움직임 벡터를 이용하여 복호 대상 블록에 대해 인터 예측을 실시함으로써, 예측 화상 데이터를 생성한다. 이와 같이 생성된 예측 화상 데이터를 이용하여 복호 대상 블록이 복호된다.
또한, 본 실시 형태에서는, 참조 블록(전방 참조 블록 또는 후방 참조 블록)이 2개 이상의 참조 움직임 벡터를 가지고 있는 경우에, co-located 참조 방향 플래그에 기초하여, 어느 참조 움직임 벡터를 이용할지를 결정했다. 그러나, 본 발명에서는, co-located 참조 방향 플래그에 기초하여 결정하는 것에 한정되지 않는다. 예를 들면, co-located 블록이 2개 이상의 참조 움직임 벡터를 가지고 있는 경우에, 참조 움직임 벡터의 시간적인 거리를 산출하여, 시간적인 거리가 짧은 참조 움직임 벡터를 선택해도 된다. 여기서, 시간적인 거리는, 표시 시간에서, 참조 블록을 포함하는 참조 픽쳐와, 참조 픽쳐가 참조하는 픽쳐 사이의 픽쳐수에 기초하여 산출된다. 또, 우선, 2개 이상의 참조 움직임 벡터의 시간적인 거리를 산출하고, 그들 시간적인 거리가 다른 경우에는, 시간적인 거리가 짧은 참조 움직임 벡터를 선택하고, 그들의 시간적인 거리가 동등한 경우에는, co-located 참조 방향 플래그에 기초하여, 참조 움직임 벡터를 선택해도 된다. 복호 대상 블록의 적절한 움직임 벡터를 도출할 때에, 시간적인 거리에 의한 영향이, 참조 블록의 위치에 의한 영향보다 크기 때문에, 시간적인 거리를 우선하여 판단함으로써, 보다 적절한 움직임 벡터를 도출하는 것이 가능해진다.
또, 예를 들면, co-located 블록이 2개 이상의 참조 움직임 벡터를 가지고 있는 경우에, 참조 움직임 벡터의 크기를 산출하여, 크기가 작은 참조 움직임 벡터를 선택해도 된다. 여기서, 참조 움직임 벡터의 크기란, 움직임 벡터의 절대치를 의미한다. 또, 우선, 2개 이상의 참조 움직임 벡터의 크기를 산출하고, 그들 크기가 다른 경우에는, 크기가 작은 참조 움직임 벡터를 선택하고, 그들 크기가 동등한 경우에는, co-located 참조 방향 플래그에 기초하여, 참조 움직임 벡터를 선택해도 된다. 복호 대상 블록의 적절한 움직임 벡터를 도출할 때에, 참조 움직임 벡터의 크기에 의한 영향이, 참조 블록의 위치에 의한 영향보다 크기 때문에, 참조 움직임 벡터의 크기를 우선하여 판단함으로써, 보다 적절한 움직임 벡터를 도출하는 것이 가능해진다.
또, co-located 블록이 참조 움직임 벡터를 가지고 있지 않은 경우에는, 새로운 참조 픽쳐의 블록을 co-located 블록으로 함으로써, 복호 대상 블록에 대해 보다 적절한 움직임 벡터를 도출하는 것도 가능하다. 예를 들면, co-located 블록을 포함하는 참조 픽쳐가, 복호 대상 픽쳐보다, 표시 순서로 후방인 경우에는, 복호 대상 픽쳐보다, 표시 순서로 전방의 참조 픽쳐에 포함되는 co-located 블록을 선택한다. 또, co-located 블록을 포함하는 참조 픽쳐가, 복호 대상 픽쳐보다, 표시 순서로 전방인 경우에는, 복호 대상 픽쳐보다, 표시 순서로 후방의 참조 픽쳐에 포함되는 co-located 블록을 선택한다. 이와 같이, co-located 블록이 참조 움직임 벡터를 가지고 있지 않은 경우에, 새로운 참조 픽쳐에 포함되는 블록을 co-located 블록으로서 선택함으로써, 복호 대상 블록에 대해 보다 정밀도가 높은 움직임 벡터를 도출하는 것이 가능해진다. 또한, 새롭게 선택한 co-located 블록이 2개 이상의 참조 움직임 벡터를 가지고 있는 경우에는, 상기 서술한 바와 같이, co-located 블록이 전방 참조 블록인지, 후방 참조 블록인지 아닌지, 혹은, co-located 블록의 참조 움직임 벡터의 시간적인 거리, 혹은, co-located 블록의 참조 움직임 벡터의 크기에 기초하여, 참조 움직임 벡터를 선택함으로써, 보다 정밀도가 높은 움직임 벡터를 도출하는 것이 가능해진다.
이와 같이, 본 실시 형태에 의하면, co-located 블록이 2개 이상의 참조 움직임 벡터를 가지고 있을 때에, 복호 대상 블록에 최적의 움직임 벡터를 도출할 수 있기 때문에, 고효율로 압축한 비트 스트림을 적절히 복호하는 것이 가능해진다.
(실시 형태 6)
상기 각 실시 형태에서 나타낸 동화상 부호화 방법(화상 부호화 방법) 또는 동화상 복호화 방법(화상 복호 방법)의 구성을 실현하기 위한 프로그램을 기억 미디어에 기록함으로써, 상기 각 실시 형태에서 나타낸 처리를 독립된 컴퓨터 시스템에서 간단하게 실시하는 것이 가능해진다. 기억 미디어는, 자기 디스크, 광디스크, 광자기 디스크, IC카드, 반도체 메모리 등, 프로그램을 기록할 수 있는 것이면 된다.
또한, 여기서, 상기 각 실시 형태에서 나타낸 동화상 부호화 방법(화상 부호화 방법)이나 동화상 복호화 방법(화상 복호 방법)의 응용예와 그것을 이용한 시스템을 설명한다. 상기 시스템은, 화상 부호화 방법을 이용한 화상 부호화 장치, 및 화상 복호 방법을 이용한 화상 복호 장치로 이루어지는 화상 부호화 복호 장치를 가지는 것을 특징으로 한다. 시스템에서의 다른 구성에 대해서, 경우에 따라 적절히 변경할 수 있다.
도 17은, 컨텐츠 전송 서비스를 실현하는 컨텐츠 공급 시스템(ex100)의 전체 구성을 나타내는 도이다. 통신 서비스의 제공 에리어를 원하는 크기로 분할하고, 각 셀 내에 각각 고정 무선국인 기지국(ex106, ex107, ex108, ex109, ex110)이 설치되어 있다.
이 컨텐츠 공급 시스템(ex100)은, 인터넷(ex101)에 인터넷 서비스 프로바이더(ex102) 및 전화망(ex104), 및 기지국(ex106~ex110)을 통하여, 컴퓨터(ex111), PDA(Personal Digital Assistant)(ex112), 카메라(ex113), 휴대 전화(ex114), 게임기(ex115) 등의 각 기기가 접속된다.
그러나, 컨텐츠 공급 시스템(ex100)은 도 17과 같은 구성에 한정되지 않고, 어느 하나의 요소를 조합하여 접속하도록 해도 된다. 또, 고정 무선국인 기지국(ex106~ex110)을 통하지 않고, 각 기기가 전화망(ex104)에 직접 접속되어도 된다. 또, 각 기기가 근거리 무선 등을 통해 직접 서로 접속되어 있어도 된다.
카메라(ex113)는 디지털 비디오 카메라 등의 동영상 촬영이 가능한 기기이며, 카메라(ex116)는 디지털 카메라 등의 정지화상 촬영, 동영상 촬영이 가능한 기기이다. 또, 휴대 전화(ex114)는, GSM(Global System for Mobile Communications) 방식, CDMA(Code Division Multiple Access) 방식, W-CDMA(Wideband-Code Division Multiple Access) 방식, 혹은 LTE(Long Term Evolution) 방식, HSPA(High Speed Packet Access)의 휴대 전화기, 또는 PHS(Personal Handyphone System) 등이며, 어느 하나여도 상관없다.
컨텐츠 공급 시스템(ex100)에서는, 카메라(ex113) 등이 기지국(ex109), 전화망(ex104)을 통해서 스트리밍 서버(ex103)에 접속됨으로써, 라이브 전송 등이 가능해진다. 라이브 전송에서는, 사용자가 카메라(ex113)를 이용하여 촬영하는 컨텐츠(예를 들면, 음악 라이브의 영상 등)에 대해 상기 각 실시 형태에서 설명한 바와 같이 부호화 처리를 실시하고(즉, 본 발명의 화상 부호화 장치로서 기능한다), 스트리밍 서버(ex103)에 송신한다. 한편, 스트리밍 서버(ex103)는 요구가 있던 클라이언트에 대해 송신된 컨텐츠 데이터를 스트림 전송한다. 클라이언트로서는, 상기 부호화 처리된 데이터를 복호화하는 것이 가능한, 컴퓨터(ex111), PDA(ex112), 카메라(ex113), 휴대 전화(ex114), 게임기(ex115) 등이 있다. 전송된 데이터를 수신한 각 기기에서는, 수신한 데이터를 복호화 처리하여 재생한다(즉, 본 발명의 화상 복호 장치로서 기능한다).
또한, 촬영한 데이터의 부호화 처리는 카메라(ex113)로 실시해도, 데이터의 송신 처리를 하는 스트리밍 서버(ex103)로 실시해도 되고, 서로 분담해서 실시해도 된다. 마찬가지로 전송된 데이터의 복호화 처리는 클라이언트로 실시해도, 스트리밍 서버(ex103)로 실시해도 되고, 서로 분담해서 실시해도 된다. 또, 카메라(ex113)에 한정하지 않고, 카메라(ex116)로 촬영한 정지화상 및/또는 동화상 데이터를, 컴퓨터(ex111)를 통해 스트리밍 서버(ex103)에 송신해도 된다. 이 경우의 부호화 처리는 카메라(ex116), 컴퓨터(ex111), 스트리밍 서버(ex103) 중 어느 것으로 실시해도 되고, 서로 분담해서 실시해도 된다.
또, 이들 부호화·복호화 처리는, 일반적으로 컴퓨터(ex111)나 각 기기가 가지는 LSI(ex500)에서 처리한다. LSI(ex500)는, 원 칩이어도 복수 칩으로 이루어지는 구성이어도 된다. 또한, 동화상 부호화·복호화용의 소프트웨어를 컴퓨터(ex111) 등으로 판독 가능한 어떠한 기록 미디어(CD-ROM, 플렉시블 디스크, 하드 디스크 등)에 넣고, 그 소프트웨어를 이용하여 부호화·복호화 처리를 실시해도 된다. 또한, 휴대 전화(ex114)가 카메라 부착된 경우에는, 그 카메라로 취득한 동영상 데이터를 송신해도 된다. 이 때의 동영상 데이터는 휴대 전화(ex114)가 가지는 LSI(ex500)에서 부호화 처리된 데이터이다.
또, 스트리밍 서버(ex103)는 복수의 서버나 복수의 컴퓨터이며, 데이터를 분산하여 처리하거나 기록하거나 전송하는 것이어도 된다.
이상과 같이 하여, 컨텐츠 공급 시스템(ex100)에서는, 부호화된 데이터를 클라이언트가 수신하여 재생할 수 있다. 마찬가지로 컨텐츠 공급 시스템(ex100)에서는, 사용자가 송신한 정보를 실시간으로 클라이언트가 수신하여 복호화하여, 재생할 수 있어, 특별한 권리나 설비를 가지지 않는 사용자라도 개인 방송을 실현할 수 있다.
또한, 컨텐츠 공급 시스템(ex100)의 예에 한정하지 않고, 도 18에 나타내는 바와 같이, 디지털 방송용 시스템(ex200)에도, 상기 각 실시 형태의 적어도 동화상 부호화 장치(화상 부호화 장치) 또는 동화상 복호화 장치(화상 복호 장치) 중 어느 하나를 넣을 수 있다. 구체적으로는, 방송국(ex201)에서는 영상 데이터에 음악 데이터 등이 다중화된 다중화 데이터가 전파를 통해 통신 또는 위성(ex202)에 전송된다. 이 영상 데이터는 상기 각 실시 형태에서 설명한 동화상 부호화 방법에 의해 부호화된 데이터이다(즉, 본 발명의 화상 부호화 장치에 의해 부호화된 데이터이다). 이것을 받은 방송위성(ex202)은, 방송용의 전파를 발신하고, 이 전파를 위성방송의 수신이 가능한 가정의 안테나(ex204)가 수신한다. 수신한 다중화 데이터를, 텔레비전(수신기)(ex300) 또는 셋탑 박스(STB)(ex217) 등의 장치가 복호화하여 재생한다(즉, 본 발명의 화상 복호 장치로서 기능한다).
또, DVD, BD 등의 기록 미디어(ex215)에 기록한 다중화 데이터를 판독하여 복호화하는, 또는 기록 미디어(ex215)에 영상 신호를 부호화하고, 또 경우에 따라서는 음악 신호와 다중화하여 기입하는 리더/리코더(ex218)에도 상기 각 실시 형태에서 나타낸 동화상 복호화 장치 또는 동화상 부호화 장치를 실장하는 것이 가능하다. 이 경우, 재생된 영상 신호는 모니터(ex219)에 표시되고, 다중화 데이터가 기록된 기록 미디어(ex215)에 의해 다른 장치나 시스템에서 영상 신호를 재생할 수 있다. 또, 케이블 텔레비전용의 케이블(ex203) 또는 위성/지상파 방송의 안테나(ex204)에 접속된 셋탑 박스(ex217) 내에 동화상 복호화 장치를 실장하고, 이것을 텔레비전의 모니터(ex219)로 표시해도 된다. 이 때 셋탑 박스가 아니라, 텔레비전 내에 동화상 복호화 장치를 넣어도 된다.
도 19는, 상기 각 실시 형태에서 설명한 동화상 복호화 방법 및 동화상 부호화 방법을 이용한 텔레비전(수신기)(ex300)을 나타내는 도이다. 텔레비전(ex300)은, 상기 방송을 수신하는 안테나(ex204) 또는 케이블(ex203) 등을 통해 영상 데이터에 음성 데이터가 다중화된 다중화 데이터를 취득, 또는 출력하는 튜너(ex301)와, 수신한 다중화 데이터를 복조하는, 또는 외부에 송신하는 다중화 데이터로 변조하는 변조/복조부(ex302)와, 복조한 다중화 데이터를 영상 데이터와, 음성 데이터로 분리하는, 또는 신호 처리부(ex306)에서 부호화된 영상 데이터, 음성 데이터를 다중화하는 다중/분리부(ex303)를 구비한다.
또, 텔레비전(ex300)은, 음성 데이터, 영상 데이터 각각을 복호화하는, 또는 각각의 정보를 부호화하는 음성 신호 처리부(ex304), 영상 신호 처리부(ex305)(본 발명의 화상 부호화 장치 또는 화상 복호 장치로서 기능한다)를 가지는 신호 처리부(ex306)와, 복호화한 음성 신호를 출력하는 스피커(ex307), 복호화한 영상 신호를 표시하는 디스플레이 등의 표시부(ex308)를 가지는 출력부(ex309)를 가진다. 또한, 텔레비전(ex300)은, 사용자 조작의 입력을 받아들이는 조작 입력부(ex312) 등을 가지는 인터페이스부(ex317)를 가진다. 또한, 텔레비전(ex300)은, 각 부를 통괄적으로 제어하는 제어부(ex310), 각 부에 전력을 공급하는 전원 회로부(ex311)를 가진다. 인터페이스부(ex317)는, 조작 입력부(ex312) 이외에, 리더/리코더(ex218) 등의 외부 기기와 접속되는 브리지(ex313), SD카드 등의 기록 미디어(ex216)를 장착 가능하게 하기 위한 슬롯부(ex314), 하드 디스크 등의 외부 기록 미디어와 접속하기 위한 드라이버(ex315), 전화망과 접속하는 모뎀(ex316) 등을 가지고 있어도 된다. 또한, 기록 미디어(ex216)는, 저장하는 불휘발성/휘발성의 반도체 메모리 소자에 의해 전기적으로 정보의 기록을 가능하게 한 것이다. 텔레비전(ex300)의 각 부는 동기 버스를 통해 서로 접속되어 있다.
우선, 텔레비전(ex300)이 안테나(ex204) 등에 의해 외부로부터 취득한 다중화 데이터를 복호화하여, 재생하는 구성에 대해서 설명한다. 텔레비전(ex300)은, 리모트 콘트롤러(ex220) 등으로부터의 사용자 조작을 받아, CPU 등을 가지는 제어부(ex310)의 제어에 기초하여, 변조/복조부(ex302)에서 복조한 다중화 데이터를 다중/분리부(ex303)에서 분리한다. 또한 텔레비전(ex300)은, 분리한 음성 데이터를 음성 신호 처리부(ex304)에서 복호화하고, 분리한 영상 데이터를 영상 신호 처리부(ex305)에서 상기 각 실시 형태에서 설명한 복호화 방법을 이용하여 복호화한다. 복호화한 음성 신호, 영상 신호는, 각각 출력부(ex309)로부터 외부를 향해 출력된다. 출력할 때에는, 음성 신호와 영상 신호가 동기하여 재생하도록, 버퍼(ex318, ex319) 등에 일단 이들 신호를 축적하면 된다. 또, 텔레비전(ex300)은, 방송 등으로부터가 아니라, 자기/광디스크, SD카드 등의 기록 미디어(ex215, ex216)로부터 다중화 데이터를 독출해도 된다. 다음으로, 텔레비전(ex300)이 음성 신호나 영상 신호를 부호화하고, 외부에 송신 또는 기록 미디어 등에 기입하는 구성에 대해서 설명한다. 텔레비전(ex300)은, 리모트 콘트롤러(ex220) 등으로부터의 사용자 조작을 받아, 제어부(ex310)의 제어에 기초하여, 음성 신호 처리부(ex304)에서 음성 신호를 부호화하고, 영상 신호 처리부(ex305)에서 영상 신호를 상기 각 실시 형태에서 설명한 부호화 방법을 이용하여 부호화한다. 부호화한 음성 신호, 영상 신호는 다중/분리부(ex303)에서 다중화되어 외부로 출력된다. 다중화할 때에는, 음성 신호와 영상 신호가 동기하도록, 버퍼(ex320, ex321) 등에 일단 이들 신호를 축적하면 된다. 또한, 버퍼(ex318, ex319, ex320, ex321)는 도시하고 있는 바와 같이 복수 구비하고 있어도 되고, 1개 이상의 버퍼를 공유하는 구성이어도 된다. 또한, 도시한 이외에, 예를 들면 변조/복조부(ex302)나 다중/분리부(ex303)의 사이 등에서도 시스템의 오버 플로우, 언더 플로우를 피하는 완충재로서 버퍼에 데이터를 축적하는 것으로 해도 된다.
또, 텔레비전(ex300)은, 방송 등이나 기록 미디어 등으로부터 음성 데이터, 영상 데이터를 취득하는 이외에, 마이크나 카메라의 AV입력을 받아들이는 구성을 구비하고, 그들로부터 취득한 데이터에 대해 부호화 처리를 실시해도 된다. 또한, 여기에서는 텔레비전(ex300)은 상기의 부호화 처리, 다중화, 및 외부 출력을 할 수 있는 구성으로서 설명했지만, 이들 처리를 실시하지는 못하고, 상기 수신, 복호화 처리, 외부 출력만이 가능한 구성이어도 된다.
또, 리더/리코더(ex218)에서 기록 미디어로부터 다중화 데이터를 독출하는, 또는 기입하는 경우에는, 상기 복호화 처리 또는 부호화 처리는 텔레비전(ex300), 리더/리코더(ex218) 중 어느 것으로 실시해도 되고, 텔레비전(ex300)과 리더/리코더(ex218)가 서로 분담해서 실시해도 된다.
일례로, 광디스크로부터 데이터의 읽어들임 또는 기입을 하는 경우의 정보 재생/기록부(ex400)의 구성을 도 20에 나타낸다. 정보 재생/기록부(ex400)는, 이하에 설명하는 요소(ex401, ex402, ex403, ex404, ex405, ex406, ex407)를 구비한다. 광헤드(ex401)는, 광디스크인 기록 미디어(ex215)의 기록면에 레이저 스폿을 조사하여 정보를 기입하고, 기록 미디어(ex215)의 기록면으로부터의 반사광을 검출하여 정보를 읽어들인다. 변조 기록부(ex402)는, 광헤드(ex401)에 내장된 반도체 레이저를 전기적으로 구동하여 기록 데이터에 따라 레이저광의 변조를 실시한다. 재생 복조부(ex403)는, 광헤드(ex401)에 내장된 포토디텍터에 의해 기록면으로부터의 반사광을 전기적으로 검출한 재생 신호를 증폭하고, 기록 미디어(ex215)에 기록된 신호 성분을 분리하고 복조하여, 필요한 정보를 재생한다. 버퍼(ex404)는, 기록 미디어(ex215)에 기록하기 위한 정보 및 기록 미디어(ex215)로부터 재생한 정보를 일시적으로 유지한다. 디스크 모터(ex405)는 기록 미디어(ex215)를 회전시킨다. 서보 제어부(ex406)는, 디스크 모터(ex405)의 회전 구동을 제어하면서 광헤드(ex401)를 소정의 정보 트랙으로 이동시키고, 레이저 스폿의 추종 처리를 실시한다. 시스템 제어부(ex407)는, 정보 재생/기록부(ex400) 전체의 제어를 실시한다. 상기의 독출이나 기입의 처리는 시스템 제어부(ex407)가, 버퍼(ex404)에 유지된 각종 정보를 이용하고, 또 필요에 따라 새로운 정보의 생성·추가를 실시함과 함께, 변조 기록부(ex402), 재생 복조부(ex403), 서보 제어부(ex406)를 협조 동작시키면서, 광헤드(ex401)를 통하여, 정보의 기록 재생을 실시함으로써 실현된다. 시스템 제어부(ex407)는 예를 들면 마이크로 프로세서로 구성되고, 독출 기입의 프로그램을 실행함으로써 그들 처리를 실행한다.
이상에서는, 광헤드(ex401)는 레이저 스폿을 조사하는 것으로서 설명했지만, 근접장광을 이용하여 보다 고밀도의 기록을 실시하는 구성이어도 된다.
도 21에 광디스크인 기록 미디어(ex215)의 모식도를 나타낸다. 기록 미디어(ex215)의 기록면에는 안내 홈(그루브)이 나선 모양으로 형성되고, 정보 트랙(ex230)에는, 미리 그루브의 형상의 변화에 따라 디스크 상의 절대 위치를 나타내는 번지 정보가 기록되어 있다. 이 번지 정보는 데이터를 기록하는 단위인 기록 블록(ex231)의 위치를 특정하기 위한 정보를 포함하고, 기록이나 재생을 실시하는 장치에서 정보 트랙(ex230)을 재생하여 번지 정보를 판독함으로써 기록 블록을 특정할 수 있다. 또, 기록 미디어(ex215)는, 데이터 기록 영역(ex233), 내주 영역(ex232), 외주 영역(ex234)을 포함하고 있다. 사용자 데이터를 기록하기 위해 이용하는 영역이 데이터 기록 영역(ex233)이고, 데이터 기록 영역(ex233)보다 내주 또는 외주에 배치되어 있는 내주 영역(ex232)과 외주 영역(ex234)은, 사용자 데이터의 기록 이외의 특정 용도로 이용된다. 정보 재생/기록부(ex400)는, 이와 같은 기록 미디어(ex215)의 데이터 기록 영역(ex233)에 대해, 부호화된 음성 데이터, 영상 데이터 또는 그들 데이터를 다중화한 다중화 데이터의 읽고 쓰기를 실시한다.
이상에서는, 1층의 DVD, BD 등의 광디스크를 예로 들어 설명했지만, 이들에 한정한 것이 아니라, 다층 구조로 표면 이외에도 기록 가능한 광디스크여도 된다. 또, 디스크의 동일한 장소에 다양한 다른 파장의 색 광을 이용하여 정보를 기록하거나, 다양한 각도로부터 다른 정보의 층을 기록하거나, 다차원적인 기록/재생을 실시하는 구조의 광디스크여도 된다.
또, 디지털 방송용 시스템(ex200)에서, 안테나(ex205)를 가지는 차(ex210)로 위성(ex202) 등으로부터 데이터를 수신하여, 차(ex210)가 가지는 카 내비게이션(ex211) 등의 표시장치에 동영상을 재생하는 것도 가능하다. 또한, 카 내비게이션(ex211)의 구성은 예를 들면 도 19에 나타내는 구성 중, GPS 수신부를 더한 구성을 생각할 수 있으며, 동일한 것을 컴퓨터(ex111)나 휴대 전화(ex114) 등에서도 생각할 수 있다.
도 22a는, 상기 실시 형태에서 설명한 동화상 복호화 방법 및 동화상 부호화 방법을 이용한 휴대 전화(ex114)를 나타내는 도이다. 휴대 전화(ex114)는, 기지국(ex110)과의 사이에서 전파를 송수신하기 위한 안테나(ex350), 영상, 정지화상을 찍는 것이 가능한 카메라부(ex365), 카메라부(ex365)에서 촬상한 영상, 안테나(ex350)로 수신한 영상 등이 복호화된 데이터를 표시하는 액정 디스플레이 등의 표시부(ex358)를 구비한다. 휴대 전화(ex114)는, 조작키부(ex366)를 가지는 본체부, 음성을 출력하기 위한 스피커 등인 음성 출력부(ex357), 음성을 입력하기 위한 마이크 등인 음성 입력부(ex356), 촬영한 영상, 정지화상, 녹음한 음성, 또는 수신한 영상, 정지화상, 메일 등의 부호화된 데이터 혹은 복호화된 데이터를 보존하는 메모리부(ex367), 또는 마찬가지로 데이터를 보존하는 기록 미디어와의 인터페이스부인 슬롯부(ex364)를 더 구비한다.
또한, 휴대 전화(ex114)의 구성예에 대해서, 도 22b를 이용하여 설명한다. 휴대 전화(ex114)는, 표시부(ex358) 및 조작키부(ex366)를 구비한 본체부의 각 부를 통괄적으로 제어하는 주제어부(ex360)에 대해, 전원 회로부(ex361), 조작 입력 제어부(ex362), 영상 신호 처리부(ex355), 카메라 인터페이스부(ex363), LCD(Liquid Crystal Display) 제어부(ex359), 변조/복조부(ex352), 다중/분리부(ex353), 음성 신호 처리부(ex354), 슬롯부(ex364), 메모리부(ex367)가 버스(ex370)를 통해 서로 접속되어 있다.
전원 회로부(ex361)는, 사용자의 조작에 의해 종화 및 전원 키가 온 상태가 되면, 배터리 팩으로부터 각 부에 대해 전력을 공급함으로써 휴대 전화(ex114)를 동작 가능한 상태로 기동한다.
휴대 전화(ex114)는, CPU, ROM, RAM 등을 가지는 주제어부(ex360)의 제어에 기초하여, 음성 통화 모드시에 음성 입력부(ex356)에서 수음한 음성 신호를 음성 신호 처리부(ex354)에서 디지털 음성 신호로 변환하고, 이것을 변조/복조부(ex352)에서 스펙트럼 확산 처리하여, 송신/수신부(ex351)에서 디지털 아날로그 변환 처리 및 주파수 변환 처리를 실시한 후에 안테나(ex350)를 통해 송신한다. 또 휴대 전화(ex114)는, 음성 통화 모드시에 안테나(ex350)를 통해 수신한 수신 데이터를 증폭하여 주파수 변환 처리 및 아날로그 디지털 변환 처리를 실시하고, 변조/복조부(ex352)에서 스펙트럼 역확산 처리하여, 음성 신호 처리부(ex354)에서 아날로그 음성 신호로 변환한 후, 이것을 음성 출력부(ex357)로부터 출력한다.
또한 데이터 통신 모드시에 전자 메일을 송신하는 경우, 본체부의 조작키부(ex366) 등의 조작에 의해 입력된 전자 메일의 텍스트 데이터는 조작 입력 제어부(ex362)를 통해 주제어부(ex360)로 송출된다. 주제어부(ex360)는, 텍스트 데이터를 변조/복조부(ex352)에서 스펙트럼 확산 처리를 하고, 송신/수신부(ex351)에서 디지털 아날로그 변환 처리 및 주파수 변환 처리를 실시한 후에 안테나(ex350)를 통해 기지국(ex110)으로 송신한다. 전자 메일을 수신하는 경우는, 수신한 데이터에 대해 이 거의 반대의 처리가 실시되고, 표시부(ex358)에 출력된다.
데이터 통신 모드시에 영상, 정지화상, 또는 영상과 음성을 송신하는 경우, 영상 신호 처리부(ex355)는, 카메라부(ex365)로부터 공급된 영상 신호를 상기 각 실시 형태에서 나타낸 동화상 부호화 방법에 따라 압축 부호화하고(즉, 본 발명의 화상 부호화 장치로서 기능한다), 부호화된 영상 데이터를 다중/분리부(ex353)에 송출한다. 또, 음성 신호 처리부(ex354)는, 영상, 정지화상 등을 카메라부(ex365)로 촬상 중에 음성 입력부(ex356)에서 수음한 음성 신호를 부호화하고, 부호화된 음성 데이터를 다중/분리부(ex353)에 송출한다.
다중/분리부(ex353)는, 영상 신호 처리부(ex355)로부터 공급된 부호화된 영상 데이터와 음성 신호 처리부(ex354)로부터 공급된 부호화된 음성 데이터를 소정의 방식으로 다중화하고, 그 결과 얻어지는 다중화 데이터를 변조/복조부(변조/복조 회로부)(ex352)에서 스펙트럼 확산 처리를 하고, 송신/수신부(ex351)에서 디지털 아날로그 변환 처리 및 주파수 변환 처리를 실시한 뒤에 안테나(ex350)를 통해 송신한다.
데이터 통신 모드시에 홈페이지 등에 링크된 동화상 파일의 데이터를 수신하는 경우, 또는 영상 및 혹은 음성이 첨부된 전자 메일을 수신하는 경우, 안테나(ex350)를 통해 수신된 다중화 데이터를 복호화하기 위해, 다중/분리부(ex353)는, 다중화 데이터를 분리함으로써 영상 데이터의 비트 스트림과 음성 데이터의 비트 스트림으로 나누고, 동기 버스(ex370)를 통해 부호화된 영상 데이터를 영상 신호 처리부(ex355)에 공급함과 함께, 부호화된 음성 데이터를 음성 신호 처리부(ex354)에 공급한다. 영상 신호 처리부(ex355)는, 상기 각 실시 형태에서 나타낸 동화상 부호화 방법에 대응한 동화상 복호화 방법에 따라 복호화함으로써 영상 신호를 복호하고(즉, 본 발명의 화상 복호 장치로서 기능한다), LCD 제어부(ex359)를 통해 표시부(ex358)로부터, 예를 들면 홈페이지에 링크된 동화상 파일에 포함되는 영상, 정지화상이 표시된다. 또 음성 신호 처리부(ex354)는, 음성 신호를 복호하여, 음성 출력부(ex357)로부터 음성이 출력된다.
또, 상기 휴대 전화(ex114) 등의 단말은, 텔레비전(ex300)과 마찬가지로, 부호화기·복호화기를 모두 가지는 송수신형 단말 외에, 부호화기뿐인 송신 단말, 복호화기뿐인 수신 단말이라는 세가지의 실장 형식을 생각할 수 있다. 또한, 디지털 방송용 시스템(ex200)에서, 영상 데이터에 음악 데이터 등이 다중화된 다중화 데이터를 수신, 송신하는 것으로서 설명했지만, 음성 데이터 이외에 영상에 관련한 문자 데이터 등이 다중화된 데이터여도 되고, 다중화 데이터가 아니라 영상 데이터 자체여도 된다.
이와 같이, 상기 각 실시 형태에서 나타낸 동화상 부호화 방법 혹은 동화상 복호화 방법을 상기 서술한 모든 기기·시스템에 이용하는 것은 가능하고, 그렇게 함으로써, 상기 각 실시 형태에서 설명한 효과를 얻을 수 있다.
또, 본 발명은 이러한 상기 실시 형태에 한정되는 것이 아니라, 본 발명의 범위를 벗어나는 일 없이 여러 변형 또는 수정이 가능하다.
(실시 형태 7)
상기 각 실시 형태에서 나타낸 동화상 부호화 방법 또는 장치와, MPEG-2, MPEG4-AVC, VC-1 등 다른 규격에 준거한 동화상 부호화 방법 또는 장치를, 필요에 따라 적절히 전환함으로써, 영상 데이터를 생성하는 것도 가능하다.
여기서, 각각 다른 규격에 준거하는 복수의 영상 데이터를 생성한 경우, 복호할 때에, 각각의 규격에 대응한 복호 방법을 선택할 필요가 있다. 그러나, 복호하는 영상 데이터가, 어느 규격에 준거하는 것인지 식별할 수 없기 때문에, 적절한 복호 방법을 선택할 수 없다는 과제가 발생한다.
이 과제를 해결하기 위해, 영상 데이터에 음성 데이터 등을 다중화한 다중화 데이터는, 영상 데이터가 어느 규격에 준거하는 것인지를 나타내는 식별 정보를 포함하는 구성으로 한다. 상기 각 실시 형태에서 나타내는 동화상 부호화 방법 또는 장치에 의해 생성된 영상 데이터를 포함하는 다중화 데이터의 구체적인 구성을 이하 설명한다. 다중화 데이터는, MPEG-2 트랜스포트 스트림 형식의 디지털 스트림이다.
도 23은, 다중화 데이터의 구성을 나타내는 도이다. 도 23에 나타내는 바와 같이 다중화 데이터는, 비디오 스트림, 오디오 스트림, 프리젠테이션 그래픽스 스트림(PG), 인터랙티브 그래픽스 스트림 중, 하나 이상을 다중화함으로써 얻어진다. 비디오 스트림은 영화의 주영상 및 부영상을, 오디오 스트림(IG)은 영화의 주음성 부분과 그 주음성과 믹싱하는 부음성을, 프리젠테이션 그래픽스 스트림은, 영화의 자막을 각각 나타내고 있다. 여기서 주영상이란 화면에 표시되는 통상의 영상을 나타내고, 부영상이란 주영상 중에 작은 화면으로 표시하는 영상을 말한다. 또, 인터랙티브 그래픽스 스트림은, 화면 상에 GUI 부품을 배치함으로써 작성되는 대화 화면을 나타내고 있다. 비디오 스트림은, 상기 각 실시 형태에서 나타낸 동화상 부호화 방법 또는 장치, 종래의 MPEG-2, MPEG4-AVC, VC-1 등의 규격에 준거한 동화상 부호화 방법 또는 장치에 의해 부호화되어 있다. 오디오 스트림은, 돌비 AC-3, Dolby Digital Plus, MLP, DTS, DTS-HD, 또는, 리니어 PCM 등의 방식으로 부호화되어 있다.
다중화 데이터에 포함되는 각 스트림은 PID에 의해 식별된다. 예를 들면, 영화의 영상에 이용하는 비디오 스트림에는 0x1011가, 오디오 스트림에는 0x1100에서 0x111F까지가, 프리젠테이션 그래픽스에는 0x1200에서 0x121F까지가, 인터랙티브 그래픽스 스트림에는 0x1400에서 0x141F까지가, 영화의 부영상에 이용하는 비디오 스트림에는 0x1B00에서 0x1B1F까지, 주음성과 믹싱하는 부음성에 이용하는 오디오 스트림에는 0x1A00에서 0x1A1F가, 각각 할당되어 있다.
도 24는, 다중화 데이터가 어떻게 다중화되는지를 모식적으로 나타내는 도이다. 우선, 복수의 비디오 프레임으로 이루어지는 비디오 스트림(ex235), 복수의 오디오 프레임으로 이루어지는 오디오 스트림(ex238)을, 각각 PES 패킷 열(ex236 및 ex239)로 변환하고, TS 패킷(ex237 및 ex240)으로 변환한다. 동일하게 프리젠테이션 그래픽스 스트림(ex241) 및 인터랙티브 그래픽스(ex244)의 데이터를 각각 PES 패킷(ex242 및 ex245)으로 변환하고, 또한 TS 패킷(ex243 및 ex246)으로 변환한다. 다중화 데이터(ex247)는 이들 TS 패킷을 하나의 스트림으로 다중화함으로써 구성된다.
도 25는, PES 패킷 열에, 비디오 스트림이 어떻게 저장되는지를 더 상세하게 나타내고 있다. 도 25에서의 제1단은 비디오 스트림의 비디오 프레임열을 나타낸다. 제2단은, PES 패킷 열을 나타낸다. 도 25의 화살표(yy1, yy2, yy3, yy4)로 나타내는 바와 같이, 비디오 스트림에서의 복수의 Video Presentation Unit인 I픽쳐, B픽쳐, P픽쳐는, 픽쳐마다 분할되어, PES 패킷의 페이로드에 저장된다. 각 PES 패킷은 PES 헤더를 갖고, PES 헤더에는, 픽쳐의 표시 시각인 PTS(Presentation Time-Stamp)나 픽쳐의 복호 시각인 DTS(Decoding Time-Stamp)가 저장된다.
도 26은, 다중화 데이터에 최종적으로 기입되는 TS 패킷의 형식을 나타내고 있다. TS 패킷은, 스트림을 식별하는 PID 등의 정보를 가지는 4Byte의 TS헤더와 데이터를 저장하는 184Byte의 TS 페이로드로 구성되는 188Byte 고정 길이의 패킷이며, 상기 PES 패킷은 분할되어 TS 페이로드에 저장된다. BD-ROM의 경우, TS 패킷에는, 4Byte의 TP_Extra_Header가 부여되어, 192Byte의 소스 패킷을 구성하고, 다중화 데이터에 기입된다. TP_Extra_Header에는 ATS(Arrival_Time_Stamp) 등의 정보가 기재된다. ATS는 상기 TS 패킷의 디코더의 PID 필터에 대한 전송 개시시각을 나타낸다. 다중화 데이터에는 도 26 하단에 나타내는 바와 같이 소스 패킷이 늘어서게 되고, 다중화 데이터의 선두로부터 증가하는 번호는 SPN(소스 패킷 넘버)이라 불린다.
또, 다중화 데이터에 포함되는 TS 패킷에는, 영상·음성·자막 등의 각 스트림 이외에도 PAT(Program Association Table), PMT(Program Map Table), PCR(Program Clock Reference) 등이 있다. PAT는 다중화 데이터 중에 이용되는 PMT의 PID가 무엇인지를 나타내고, PAT 자신의 PID는 0으로 등록된다. PMT는, 다중화 데이터 중에 포함되는 영상·음성·자막 등의 각 스트림의 PID와 각 PID에 대응하는 스트림의 속성 정보를 가지며, 또 다중화 데이터에 관한 각종 디스크립터를 가진다. 디스크립터에는 다중화 데이터의 카피를 허가·불허가를 지시하는 카피 컨트롤 정보 등이 있다. PCR는, ATS의 시간축인 ATC(Arrival Time Clock)와 PTS·DTS의 시간축인 STC(System Time Clock)의 동기를 취하기 위해, 그 PCR 패킷이 디코더에 전송되는 ATS에 대응하는 STC 시간의 정보를 가진다.
도 27은 PMT의 데이터 구조를 상세하게 설명하는 도이다. PMT의 선두에는, 그 PMT에 포함되는 데이터의 길이 등을 기록한 PMT 헤더가 배치된다. 그 뒤에는, 다중화 데이터에 관한 디스크립터가 복수 배치된다. 상기 카피 컨트롤 정보 등이, 디스크립터로서 기재된다. 디스크립터의 뒤에는, 다중화 데이터에 포함되는 각 스트림에 관한 스트림 정보가 복수 배치된다. 스트림 정보는, 스트림의 압축 코덱 등을 식별하기 위해 스트림 타입, 스트림의 PID, 스트림의 속성 정보(프레임 레이트, 종횡비 등)가 기재된 스트림 디스크립터로 구성된다. 스트림 디스크립터는 다중화 데이터에 존재하는 스트림의 수만큼 존재한다.
기록 매체 등에 기록하는 경우에는, 상기 다중화 데이터는, 다중화 데이터 정보 파일과 함께 기록된다.
다중화 데이터 정보 파일은, 도 28에 나타내는 바와 같이 다중화 데이터의 관리 정보이고, 다중화 데이터와 1대 1로 대응하며, 다중화 데이터 정보, 스트림 속성 정보와 엔트리 맵으로 구성된다.
다중화 데이터 정보는 도 28에 나타내는 바와 같이 시스템 레이트, 재생 개시시각, 재생 종료시각으로 구성되어 있다. 시스템 레이트는 다중화 데이터의, 후술하는 시스템 타겟 디코더의 PID 필터에 대한 최대 전송 레이트를 나타낸다. 다중화 데이터 중에 포함되는 ATS의 간격은 시스템 레이트 이하가 되도록 설정되어 있다. 재생 개시시각은 다중화 데이터의 선두의 비디오 프레임의 PTS이며, 재생 종료시각은 다중화 데이터의 종단의 비디오 프레임의 PTS에 1 프레임 분의 재생 간격을 더한 것이 설정된다.
스트림 속성 정보는 도 29에 나타내는 바와 같이, 다중화 데이터에 포함되는 각 스트림에 대한 속성 정보가, PID마다 등록된다. 속성 정보는 비디오 스트림, 오디오 스트림, 프리젠테이션 그래픽스 스트림, 인터랙티브 그래픽스 스트림마다 다른 정보를 가진다. 비디오 스트림 속성 정보는, 그 비디오 스트림이 어떠한 압축 코덱으로 압축되었는지, 비디오 스트림을 구성하는 개개의 픽쳐 데이터의 해상도가 어느 정도인지, 종횡비는 어느 정도인지, 프레임 레이트는 어느 정도인지 등의 정보를 가진다. 오디오 스트림 속성 정보는, 그 오디오 스트림이 어떠한 압축 코덱으로 압축되었는지, 그 오디오 스트림에 포함되는 채널수는 몇인지, 무슨 언어에 대응하는지, 샘플링 주파수가 어느 정도인지 등의 정보를 가진다. 이들 정보는, 플레이어가 재생하기 전의 디코더의 초기화 등에 이용된다.
본 실시 형태에서는, 상기 다중화 데이터 중, PMT에 포함되는 스트림 타입을 이용한다. 또, 기록 매체에 다중화 데이터가 기록되어 있는 경우에는, 다중화 데이터 정보에 포함되는, 비디오 스트림 속성 정보를 이용한다. 구체적으로는, 상기 각 실시 형태에서 나타낸 동화상 부호화 방법 또는 장치에서, PMT에 포함되는 스트림 타입, 또는, 비디오 스트림 속성 정보에 대해, 상기 각 실시 형태에서 나타낸 동화상 부호화 방법 또는 장치에 의해 생성된 영상 데이터임을 나타내는 고유의 정보를 설정하는 단계 또는 수단을 설치한다. 이 구성에 의해, 상기 각 실시 형태에서 나타낸 동화상 부호화 방법 또는 장치에 의해 생성한 영상 데이터와, 다른 규격에 준거하는 영상 데이터를 식별하는 것이 가능해진다.
또, 본 실시 형태에서의 동화상 복호화 방법의 단계를 도 30에 나타낸다. 단계 exS100에서, 다중화 데이터로부터 PMT에 포함되는 스트림 타입, 또는, 다중화 데이터 정보에 포함되는 비디오 스트림 속성 정보를 취득한다. 다음으로, 단계 exS101에서, 스트림 타입, 또는, 비디오 스트림 속성 정보가 상기 각 실시 형태에서 나타낸 동화상 부호화 방법 또는 장치에 의해 생성된 다중화 데이터임을 나타내고 있는지 아닌지를 판단한다. 그리고, 스트림 타입, 또는, 비디오 스트림 속성 정보가 상기 각 실시 형태에서 나타낸 동화상 부호화 방법 또는 장치에 의해 생성된 것이라고 판단된 경우에는, 단계 exS102에서, 상기 각 실시 형태에서 나타낸 동화상 복호 방법에 의해 복호를 실시한다. 또, 스트림 타입, 또는, 비디오 스트림 속성 정보가, 종래의 MPEG-2, MPEG4-AVC, VC-1 등의 규격에 준거하는 것임을 나타내고 있는 경우에는, 단계 exS103에서, 종래의 규격에 준거한 동화상 복호 방법에 의해 복호를 실시한다.
이와 같이, 스트림 타입, 또는, 비디오 스트림 속성 정보에 새로운 고유치를 설정함으로써, 복호할 때에, 상기 각 실시 형태에서 나타낸 동화상 복호화 방법 또는 장치에서 복호 가능한지를 판단할 수 있다. 따라서, 다른 규격에 준거하는 다중화 데이터가 입력된 경우여도, 적절한 복호화 방법 또는 장치를 선택할 수 있기 때문에, 에러를 일으키는 일 없이 복호하는 것이 가능해진다. 또, 본 실시 형태에서 나타낸 동화상 부호화 방법 또는 장치, 또는, 동화상 복호 방법 또는 장치를, 상기 서술한 모든 기기·시스템에 이용하는 것도 가능하다.
(실시 형태 8)
상기 각 실시 형태에서 나타낸 동화상 부호화 방법 및 장치, 동화상 복호화 방법 및 장치는, 전형적으로는 집적회로인 LSI에서 실현된다. 일례로, 도 31에 1 칩화된 LSI(ex500)의 구성을 나타낸다. LSI(ex500)는, 이하에 설명하는 요소(ex501, ex502, ex503, ex504, ex505, ex506, ex507, ex508, ex509)를 구비하고, 각 요소는 버스(ex510)를 통해 접속해 있다. 전원 회로부(ex505)는 전원이 온 상태인 경우에 각 부에 대해 전력을 공급함으로써 동작 가능한 상태로 기동한다.
예를 들면 부호화 처리를 실시하는 경우에는, LSI(ex500)는, CPU(ex502), 메모리 콘트롤러(ex503), 스트림 콘트롤러(ex504), 구동 주파수 제어부(ex512) 등을 가지는 제어부(ex501)의 제어에 기초하여, AVI/O(ex509)에 의해 마이크(ex117)나 카메라(ex113) 등으로부터 AV신호를 입력한다. 입력된 AV신호는, 일단 SDRAM 등의 외부의 메모리(ex511)에 축적된다. 제어부(ex501)의 제어에 기초하여, 축적한 데이터는 처리량이나 처리 속도에 따라 적절히 복수회로 나누어져 신호 처리부(ex507)에 보내지고, 신호 처리부(ex507)에서 음성 신호의 부호화 및/또는 영상 신호의 부호화가 실시된다. 여기서 영상 신호의 부호화 처리는 상기 각 실시 형태에서 설명한 부호화 처리이다. 신호 처리부(ex507)에서는 또한, 경우에 따라 부호화된 음성 데이터와 부호화된 영상 데이터를 다중화하는 등의 처리를 실시하고, 스트림 I/O(ex506)으로부터 외부로 출력한다. 이 출력된 다중화 데이터는, 기지국(ex107)을 향해 송신되거나, 또는 기록 미디어(ex215)에 기입된다. 또한, 다중화할 때에는 동기하도록, 일단 버퍼(ex508)에 데이터를 축적하면 된다.
또한, 상기에서는, 메모리(ex511)가 LSI(ex500)의 외부 구성으로서 설명했지만, LSI(ex500)의 내부에 포함되는 구성이어도 된다. 버퍼(ex508)도 하나에 한정한 것이 아니라, 복수의 버퍼를 구비하고 있어도 된다. 또, LSI(ex500)는 1 칩화되어도 되고, 복수 칩화되어도 된다.
또, 상기에서는, 제어부(ex510)가, CPU(ex502), 메모리 콘트롤러(ex503), 스트림 콘트롤러(ex504), 구동 주파수 제어부(ex512) 등을 가지는 것으로 하고 있지만, 제어부(ex510)의 구성은, 이 구성에 한정되지 않는다. 예를 들면, 신호 처리부(ex507)가 CPU를 더 구비하는 구성이어도 된다. 신호 처리부(ex507)의 내부에도 CPU를 설치함으로써, 처리 속도를 보다 향상시키는 것이 가능해진다. 또, 다른 예로, CPU(ex502)가 신호 처리부(ex507), 또는 신호 처리부(ex507)의 일부인 예를 들면 음성 신호 처리부를 구비하는 구성이어도 된다. 이러한 경우에는, 제어부(ex501)는, 신호 처리부(ex507), 또는 그 일부를 가지는 CPU(ex502)를 구비하는 구성이 된다.
또한, 여기에서는, LSI라 했지만, 집적도의 차이에 따라, IC, 시스템 LSI, 슈퍼 LSI, 울트라 LSI라 호칭되는 경우도 있다.
또, 집적회로화의 수법은 LSI에 한정하는 것이 아니라, 전용 회로 또는 범용 프로세서로 실현해도 된다. LSI 제조 후에, 프로그램하는 것이 가능한 FPGA(Field Programmable Gate Array)나, LSI 내부의 회로 셀의 접속이나 설정을 재구성 가능한 리컨피규라불·프로세서를 이용해도 된다.
또한, 반도체 기술의 진보 또는 파생하는 다른 기술에 의해 LSI로 치환되는 집적회로화의 기술이 등장하면, 당연히, 그 기술을 이용하여 기능 블록의 집적화를 실시해도 된다. 바이오 기술의 적응 등을 가능성으로서 있을 수 있다.
(실시 형태 9)
상기 각 실시 형태에서 나타낸 동화상 부호화 방법 또는 장치에 의해 생성된 영상 데이터를 복호하는 경우, 종래의 MPEG-2, MPEG4-AVC, VC-1 등의 규격에 준거하는 영상 데이터를 복호하는 경우에 비해, 처리량이 증가하는 것을 생각할 수 있다. 그 때문에, LSI(ex500)에서, 종래의 규격에 준거하는 영상 데이터를 복호할 때의 CPU(ex502)의 구동 주파수보다 높은 구동 주파수로 설정할 필요가 있다. 그러나, 구동 주파수를 높게 하면, 소비 전력이 높아진다는 과제가 발생한다.
이 과제를 해결하기 위해, 텔레비전(ex300), LSI(ex500) 등의 동화상 복호화 장치는, 영상 데이터가 어느 규격에 준거하는 것인지를 식별하고, 규격에 따라 구동 주파수를 전환하는 구성으로 한다. 도 32는, 본 실시 형태에서의 구성(ex800)을 나타내고 있다. 구동 주파수 변환부(ex803)는, 영상 데이터가, 상기 각 실시 형태에서 나타낸 동화상 부호화 방법 또는 장치에 의해 생성된 것인 경우에는, 구동 주파수를 높게 설정한다. 그리고, 상기 각 실시 형태에서 나타낸 동화상 복호화 방법을 실행하는 복호 처리부(ex801)에 대해, 영상 데이터를 복호하도록 지시한다. 한편, 영상 데이터가, 종래의 규격에 준거하는 영상 데이터인 경우에는, 영상 데이터가, 상기 각 실시 형태에서 나타낸 동화상 부호화 방법 또는 장치에 의해 생성된 것인 경우에 비해, 구동 주파수를 낮게 설정한다. 그리고, 종래의 규격에 준거하는 복호 처리부(ex802)에 대해, 영상 데이터를 복호하도록 지시한다.
보다 구체적으로는, 구동 주파수 변환부(ex803)는, 도 31의 CPU(ex502)와 구동 주파수 제어부(ex512)로 구성된다. 또, 상기 각 실시 형태에서 나타낸 동화상 복호화 방법을 실행하는 복호 처리부(ex801), 및, 종래의 규격에 준거하는 복호 처리부(ex802)는, 도 29의 신호 처리부(ex507)에 해당한다. CPU(ex502)는, 영상 데이터가 어느 규격에 준거하는 것인지를 식별한다. 그리고, CPU(ex502)로부터의 신호에 기초하여, 구동 주파수 제어부(ex512)는, 구동 주파수를 설정한다. 또, CPU(ex502)로부터의 신호에 기초하여, 신호 처리부(ex507)는, 영상 데이터의 복호를 실시한다. 여기서, 영상 데이터의 식별에는, 예를 들면, 실시 형태 7에서 기재한 식별 정보를 이용하는 것을 생각할 수 있다. 식별 정보에 관해서는, 실시 형태 7에서 기재한 것에 한정되지 않고, 영상 데이터가 어느 규격에 준거하는지 식별할 수 있는 정보이면 된다. 예를 들면, 영상 데이터가 텔레비전에 이용되는 것인지, 디스크에 이용되는 것인지 등을 식별하는 외부 신호에 기초하여, 영상 데이터가 어느 규격에 준거하는 것인지 식별 가능한 경우에는, 이들 외부 신호에 기초하여 식별해도 된다. 또, CPU(ex502)에서의 구동 주파수의 선택은, 예를 들면, 도 34와 같은 영상 데이터의 규격과, 구동 주파수를 대응 지은 룩업 테이블에 기초하여 실시하는 것을 생각할 수 있다. 룩업 테이블을, 버퍼(ex508)나, LSI의 내부 메모리에 저장해 두고, CPU(ex502)가 이 룩업 테이블을 참조함으로써, 구동 주파수를 선택하는 것이 가능하다.
도 33은, 본 실시 형태의 방법을 실시하는 단계를 나타내고 있다. 우선, 단계 exS200에서는, 신호 처리부(ex507)에서, 다중화 데이터로부터 식별 정보를 취득한다. 다음으로, 단계 exS201에서는, CPU(ex502)에서, 식별 정보에 기초하여 영상 데이터가 상기 각 실시 형태에서 나타낸 부호화 방법 또는 장치에 의해 생성된 것인지 아닌지를 식별한다. 영상 데이터가 상기 각 실시 형태에서 나타낸 부호화 방법 또는 장치에 의해 생성된 것인 경우에는, 단계 exS202에서, 구동 주파수를 높게 설정하는 신호를, CPU(ex502)가 구동 주파수 제어부(ex512)에 보낸다. 그리고, 구동 주파수 제어부(ex512)에서, 높은 구동 주파수로 설정된다. 한편, 종래의 MPEG-2, MPEG4-AVC, VC-1 등의 규격에 준거하는 영상 데이터임을 나타내고 있는 경우에는, 단계 exS203에서, 구동 주파수를 낮게 설정하는 신호를, CPU(ex502)가 구동 주파수 제어부(ex512)에 보낸다. 그리고, 구동 주파수 제어부(ex512)에서, 영상 데이터가 상기 각 실시 형태에서 나타낸 부호화 방법 또는 장치에 의해 생성된 것인 경우에 비해, 낮은 구동 주파수로 설정된다.
또한, 구동 주파수의 전환에 연동하여, LSI(ex500) 또는 LSI(ex500)를 포함하는 장치에 부여하는 전압을 변경함으로써, 전력 절약 효과를 보다 높이는 것이 가능하다. 예를 들면, 구동 주파수를 낮게 설정하는 경우에는, 이에 따라, 구동 주파수를 높게 설정하고 있는 경우에 비해, LSI(ex500) 또는 LSI(ex500)를 포함하는 장치에 부여하는 전압을 낮게 설정하는 것을 생각할 수 있다.
또, 구동 주파수의 설정 방법은, 복호할 때의 처리량이 큰 경우에, 구동 주파수를 높게 설정하고, 복호할 때의 처리량이 작은 경우에, 구동 주파수를 낮게 설정하면 되며, 상기 서술한 설정 방법에 한정되지 않는다. 예를 들면, MPEG4-AVC 규격에 준거하는 영상 데이터를 복호하는 처리량이, 상기 각 실시 형태에서 나타낸 동화상 부호화 방법 또는 장치에 의해 생성된 영상 데이터를 복호하는 처리량보다 큰 경우에는, 구동 주파수의 설정을 상기 서술한 경우의 반대로 하는 것을 생각할 수 있다.
또한, 구동 주파수의 설정 방법은, 구동 주파수를 낮게 하는 구성에 한정되지 않는다. 예를 들면, 식별 정보가, 상기 각 실시 형태에서 나타낸 동화상 부호화 방법 또는 장치에 의해 생성된 영상 데이터임을 나타내고 있는 경우에는, LSI(ex500) 또는 LSI(ex500)를 포함하는 장치에 부여하는 전압을 높게 설정하고, 종래의 MPEG-2, MPEG4-AVC, VC-1 등의 규격에 준거하는 영상 데이터임을 나타내고 있는 경우에는, LSI(ex500) 또는 LSI(ex500)를 포함하는 장치에 부여하는 전압을 낮게 설정하는 것도 생각할 수 있다. 또, 다른 예로는, 식별 정보가, 상기 각 실시 형태에서 나타낸 동화상 부호화 방법 또는 장치에 의해 생성된 영상 데이터임을 나타내고 있는 경우에는, CPU(ex502)의 구동을 정지시키지 않고, 종래의 MPEG-2, MPEG4-AVC, VC-1 등의 규격에 준거하는 영상 데이터임을 나타내고 있는 경우에는, 처리에 여유가 있기 때문에, CPU(ex502)의 구동을 일시 정지시키는 것도 생각할 수 있다. 식별 정보가, 상기 각 실시 형태에서 나타낸 동화상 부호화 방법 또는 장치에 의해 생성된 영상 데이터임을 나타내고 있는 경우여도, 처리에 여유가 있으면, CPU(ex502)의 구동을 일시 정지시키는 것도 생각할 수 있다. 이 경우는, 종래의 MPEG-2, MPEG4-AVC, VC-1 등의 규격에 준거하는 영상 데이터임을 나타내고 있는 경우에 비해, 정지시간을 짧게 설정하는 것을 생각할 수 있다.
이와 같이, 영상 데이터가 준거하는 규격에 따라, 구동 주파수를 전환함으로써, 전력 절약화를 도모하는 것이 가능해진다. 또, 전지를 이용하여 LSI(ex500) 또는 LSI(ex500)를 포함하는 장치를 구동하고 있는 경우에는, 전력 절약화에 따라, 전지의 수명을 길게 하는 것이 가능하다.
(실시 형태 10)
텔레비전이나, 휴대 전화 등, 상기 서술한 기기·시스템에는, 다른 규격에 준거하는 복수의 영상 데이터가 입력되는 경우가 있다. 이와 같이, 다른 규격에 준거하는 복수의 영상 데이터가 입력된 경우에도 복호할 수 있도록 하기 위해, LSI(ex500)의 신호 처리부(ex507)가 복수의 규격에 대응하고 있을 필요가 있다. 그러나, 각각의 규격에 대응하는 신호 처리부(ex507)를 개별적으로 이용하면, LSI(ex500)의 회로 규모가 커지고, 또, 비용이 증가한다는 과제가 발생한다.
이 과제를 해결하기 위해, 상기 각 실시 형태에서 나타낸 동화상 복호 방법을 실행하기 위한 복호 처리부와, 종래의 MPEG-2, MPEG4-AVC, VC-1 등의 규격에 준거하는 복호 처리부를 일부 공유화하는 구성으로 한다. 이 구성예를 도 35a의 ex900에 나타낸다. 예를 들면, 상기 각 실시 형태에서 나타낸 동화상 복호 방법과, MPEG4-AVC 규격에 준거하는 동화상 복호 방법은, 엔트로피 부호화, 역양자화, 디블로킹·필터, 움직임 보상 등의 처리에서 처리 내용이 일부 공통된다. 공통되는 처리 내용에 대해서는, MPEG4-AVC 규격에 대응하는 복호 처리부(ex902)를 공유하고, MPEG4-AVC 규격에 대응하지 않는, 본 발명 특유의 다른 처리 내용에 대해서는, 전용 복호 처리부(ex901)를 이용한다는 구성을 생각할 수 있다. 특히, 본 발명은, 역양자화에 특징을 가지고 있기 때문에, 예를 들면, 역양자화에 대해서는 전용 복호 처리부(ex901)를 이용하고, 그 이외의 엔트로피 부호화, 디블로킹·필터, 움직임 보상 중 어느 하나, 또는, 모든 처리에 대해서는, 복호 처리부를 공유하는 것을 생각할 수 있다. 복호 처리부의 공유화에 관해서는, 공통되는 처리 내용에 대해서는, 상기 각 실시 형태에서 나타낸 동화상 복호화 방법을 실행하기 위한 복호 처리부를 공유하고, MPEG4-AVC 규격에 특유의 처리 내용에 대해서는, 전용 복호 처리부를 이용하는 구성이어도 된다.
또, 처리를 일부 공유화하는 다른 예를 도 35b의 ex1000에 나타낸다. 이 예에서는, 본 발명에 특유의 처리 내용에 대응한 전용 복호 처리부(ex1001)와, 다른 종래 규격에 특유의 처리 내용에 대응한 전용 복호 처리부(ex1002)와, 본 발명의 동화상 복호 방법과 다른 종래 규격의 동화상 복호 방법에 공통되는 처리 내용에 대응한 공용의 복호 처리부(ex1003)를 이용하는 구성으로 하고 있다. 여기서, 전용 복호 처리부(ex1001, ex1002)는, 반드시 본 발명, 또는, 다른 종래 규격에 특유의 처리 내용에 특화한 것이 아니라, 다른 범용 처리를 실행할 수 있는 것이어도 된다. 또, 본 실시 형태의 구성을, LSI(ex500)에서 실장하는 것도 가능하다.
이와 같이, 본 발명의 동화상 복호 방법과, 종래의 규격의 동화상 복호 방법으로 공통되는 처리 내용에 대해서, 복호 처리부를 공유함으로써, LSI의 회로 규모를 작게 하고, 또한, 비용을 저감하는 것이 가능하다.
<산업상의 이용 가능성>
본 발명에 관련된 움직임 벡터 산출 방법, 화상 부호화 방법 및 화상 복호 방법은, 압축율을 향상시킬 수 있다는 효과를 나타내며, 예를 들면, 비디오 카메라, 동영상의 촬영 및 재생 기능을 가지는 휴대 전화, 퍼스널 컴퓨터, 또는 녹화 재생장치 등에 적용할 수 있다.
100 화상 부호화 장치
101 감산기
102 직교변환부 103 양자화부
104 역양자화부 105 역직교변환부
106 가산기 107 블록 메모리
108 프레임 메모리 109 인트라 예측부
110 인터 예측부 111 인터 예측 제어부
112 픽쳐 타입 결정부 113 시간 다이렉트 벡터 산출부
114 co-located 참조 방향 결정부 115 가변길이 부호화부
200 화상 복호 장치 204 역양자화부
205 역직교변환부 206 가산기
207 블록 메모리 208 프레임 메모리
209 인트라 예측부 210 인터 예측부
211 인터 예측 제어부 213 시간 다이렉트 벡터 산출부
215 가변길이 복호부
102 직교변환부 103 양자화부
104 역양자화부 105 역직교변환부
106 가산기 107 블록 메모리
108 프레임 메모리 109 인트라 예측부
110 인터 예측부 111 인터 예측 제어부
112 픽쳐 타입 결정부 113 시간 다이렉트 벡터 산출부
114 co-located 참조 방향 결정부 115 가변길이 부호화부
200 화상 복호 장치 204 역양자화부
205 역직교변환부 206 가산기
207 블록 메모리 208 프레임 메모리
209 인트라 예측부 210 인터 예측부
211 인터 예측 제어부 213 시간 다이렉트 벡터 산출부
215 가변길이 복호부
Claims (6)
- 현재 픽쳐에 포함된 현재 블록의 시간 움직임 벡터(temporal motion vector)를 도출하는 방법에 있어서,
인코딩된 비디오 데이터의 비트스트림을 수신하는 단계;
상기 비트스트림으로부터, 참조 방향 플래그 - 상기 참조 방향 플래그는 상기 현재 블록에 대한 코로케이티드(co-located) 블록이 전방 참조 블록인지 아니면 후방 참조 블록인지를 표시함 - 를 디코딩하는 단계;
상기 참조 방향 플래그에 기초하여 상기 코로케이티드 블록을 결정하는 단계로서,
(i) 상기 참조 방향 플래그가 상기 코로케이티드 블록이 전방 참조 블록이라고 표시하는 경우, 상기 코로케이티드 블록이 디스플레이 순서에서 상기 현재 픽쳐 앞에 위치한 참조 픽쳐 내에 있다고 결정하는 단계, 및
(ii) 상기 참조 방향 플래그가 상기 코로케이티드 블록이 후방 참조 블록이라고 표시하는 경우, 상기 코로케이티드 블록이 디스플레이 순서에서 상기 현재 픽쳐 뒤에 위치한 참조 픽쳐 내에 있다고 결정하는 단계
를 포함하는 것인, 상기 코로케이티드 블록을 결정하는 단계;
상기 결정된 코로케이티드 블록과 연관된 참조 움직임 벡터를 선택하는 단계로서,
(A) 상기 코로케이티드 블록이 제1 방향 참조 움직임 벡터(mvL0) 및 제2 방향 참조 움직임 벡터(mvL1) 모두를 갖는 경우(S121의 Yes),
(i) 상기 참조 방향 플래그가 상기 코로케이티드 블록이 상기 전방 참조 블록이라고 표시하는 경우(S122의 No), 상기 제2 방향 참조 움직임 벡터(mvL1)를 선택하는 단계, 및
(ii) 상기 참조 방향 플래그가 상기 코로케이티드 블록이 상기 후방 참조 블록이라고 표시하는 경우(S122의 Yes), 상기 제1 방향 참조 움직임 벡터(mvL0)를 선택하는 단계;
(B) 상기 코로케이티드 블록이 상기 제1 방향 참조 움직임 벡터(mvL0)(S125) 및 상기 제2 방향 참조 움직임 벡터(mvL1)(S127) 중 하나만을 갖는 경우, 상기 하나의 참조 움직임 벡터를 선택하는 단계; 및
(C) 상기 코로케이티드 블록이 상기 제1 방향 참조 움직임 벡터(mvL0) 및 상기 제2 방향 참조 움직임 벡터(mvL1) 중 어느 것도 갖지 않는 경우, 제로 참조 움직임 벡터를 선택하는 단계
를 포함하는 것인, 상기 참조 움직임 벡터를 선택하는 단계;
상기 선택된 참조 움직임 벡터를 사용하여 상기 현재 블록의 시간 움직임 벡터를 도출하는 단계로서,
(i) 상기 선택된 참조 움직임 벡터가 상기 제1 방향 참조 움직임 벡터(mvL0) 및 상기 제2 방향 참조 움직임 벡터(mvL1) 중 하나인 경우, 상기 선택된 참조 움직임 벡터(mvL0, mvL1)에 기초하여 상기 현재 블록의 시간 움직임 벡터를 계산하는 단계, 및
(ii) 상기 선택된 참조 움직임 벡터가 상기 제로 참조 움직임 벡터인 경우, 상기 현재 블록의 시간 움직임 벡터를 상기 제로 참조 움직임 벡터와 같도록 설정하는 단계
를 포함하는 시간 움직임 벡터를 도출하는 방법. - 제1항에 있어서,
상기 현재 블록의 시간 움직임 벡터가 상기 선택된 참조 움직임 벡터(mvL0, mvL1)를 사용하여 계산되는 경우, 상기 계산된 시간 움직임 벡터를 사용하여 상기 현재 픽쳐에 포함된 상기 현재 블록을 디코딩하는 단계를 더 포함하는 시간 움직임 벡터를 도출하는 방법. - 제1항에 있어서,
상기 선택된 참조 움직임 벡터가 상기 제1 방향 참조 움직임 벡터(mvL0) 및 상기 제2 방향 참조 움직임 벡터(mvL1) 중 하나인 경우, 상기 현재 블록의 시간 움직임 벡터의 계산은 상기 코로케이티드 블록을 포함하는 참조 픽쳐 및 상기 선택된 참조 움직임 벡터에 의해 참조되는 픽쳐 사이의 시간 거리(temporal distance)에 또한, 기초하는 것인 시간 움직임 벡터를 도출하는 방법. - 현재 픽쳐에 포함된 현재 블록의 시간 움직임 벡터(temporal motion vector)를 도출하는 장치에 있어서,
상기 장치는 프로세서 및 실행가능한 명령어를 포함하는 메모리를 포함하고,
상기 명령어는, 상기 프로세서에 의해 실행될 때, 상기 프로세서로 하여금:
인코딩된 비디오 데이터의 비트스트림을 수신하는 것;
상기 비트스트림으로부터, 참조 방향 플래그 - 상기 참조 방향 플래그는 상기 현재 블록에 대한 코로케이티드(co-located) 블록이 전방 참조 블록인지 아니면 후방 참조 블록인지를 표시함 - 를 디코딩하는 것;
상기 참조 방향 플래그에 기초하여 상기 코로케이티드 블록을 결정하는 것으로서,
(i) 상기 참조 방향 플래그가 상기 코로케이티드 블록이 전방 참조 블록이라고 표시하는 경우, 상기 코로케이티드 블록이 디스플레이 순서에서 상기 현재 픽쳐 앞에 위치한 참조 픽쳐 내에 있다고 결정하는 것, 및
(ii) 상기 참조 방향 플래그가 상기 코로케이티드 블록이 후방 참조 블록이라고 표시하는 경우, 상기 코로케이티드 블록이 디스플레이 순서에서 상기 현재 픽쳐 뒤에 위치한 참조 픽쳐 내에 있다고 결정하는 것
을 포함하는 것인, 상기 코로케이티드 블록을 결정하는 것;
상기 결정된 코로케이티드 블록과 연관된 참조 움직임 벡터를 선택하는 것으로서,
(A) 상기 코로케이티드 블록이 제1 방향 참조 움직임 벡터(mvL0) 및 제2 방향 참조 움직임 벡터(mvL1) 모두를 갖는 경우(S121의 Yes),
(i) 상기 참조 방향 플래그가 상기 코로케이티드 블록이 상기 전방 참조 블록이라고 표시하는 경우(S122의 No), 상기 제2 방향 참조 움직임 벡터(mvL1)를 선택하는 것, 및
(ii) 상기 참조 방향 플래그가 상기 코로케이티드 블록이 상기 후방 참조 블록이라고 표시하는 경우(S122의 Yes), 상기 제1 방향 참조 움직임 벡터(mvL0)를 선택하는 것;
(B) 상기 코로케이티드 블록이 상기 제1 방향 참조 움직임 벡터(mvL0)(S125) 및 상기 제2 방향 참조 움직임 벡터(mvL1)(S127) 중 하나만을 갖는 경우, 상기 하나의 참조 움직임 벡터를 선택하는 것; 및
(C) 상기 코로케이티드 블록이 상기 제1 방향 참조 움직임 벡터(mvL0) 및 상기 제2 방향 참조 움직임 벡터(mvL1) 중 어느 것도 갖지 않는 경우, 제로 참조 움직임 벡터를 선택하는 것
을 포함하는 것인, 상기 참조 움직임 벡터를 선택하는 것;
상기 선택된 참조 움직임 벡터를 사용하여 상기 현재 블록의 시간 움직임 벡터를 도출하는 것으로서,
(i) 상기 선택된 참조 움직임 벡터가 상기 제1 방향 참조 움직임 벡터(mvL0) 및 상기 제2 방향 참조 움직임 벡터(mvL1) 중 하나인 경우, 상기 선택된 참조 움직임 벡터(mvL0, mvL1)에 기초하여 상기 현재 블록의 시간 움직임 벡터를 계산하는 것, 및
(ii) 상기 선택된 참조 움직임 벡터가 상기 제로 참조 움직임 벡터인 경우, 상기 현재 블록의 시간 움직임 벡터를 상기 제로 참조 움직임 벡터와 같도록 설정하는 것
을 하도록 야기하는 것인 시간 움직임 벡터를 도출하는 장치. - 제4항에 있어서,
상기 메모리는, 상기 프로세서에 의해 실행될 때, 상기 프로세서로 하여금:
상기 현재 블록의 시간 움직임 벡터가 상기 선택된 참조 움직임 벡터(mvL0, mvL1)를 사용하여 계산되는 경우, 상기 계산된 시간 움직임 벡터를 사용하여 상기 현재 픽쳐에 포함된 상기 현재 블록을 디코딩하도록 또한, 야기하는 실행가능한 명령어를 포함하는 것인 시간 움직임 벡터를 도출하는 장치. - 제4항에 있어서,
상기 선택된 참조 움직임 벡터가 상기 제1 방향 참조 움직임 벡터(mvL0) 및 상기 제2 방향 참조 움직임 벡터(mvL1) 중 하나인 경우, 상기 현재 블록의 시간 움직임 벡터의 계산은 상기 코로케이티드 블록을 포함하는 참조 픽쳐 및 상기 선택된 참조 움직임 벡터에 의해 참조되는 픽쳐 사이의 시간 거리(temporal distance)에 또한, 기초하는 것인 시간 움직임 벡터를 도출하는 장치.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US41682210P | 2010-11-24 | 2010-11-24 | |
US61/416,822 | 2010-11-24 | ||
PCT/JP2011/006517 WO2012070235A1 (ja) | 2010-11-24 | 2011-11-22 | 動きベクトル算出方法、画像符号化方法、画像復号方法、動きベクトル算出装置および画像符号化復号装置 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020197004454A Division KR102080449B1 (ko) | 2010-11-24 | 2011-11-22 | 움직임 벡터 산출 방법, 화상 부호화 방법, 화상 복호 방법, 움직임 벡터 산출 장치 및 화상 부호화 복호 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20200014948A true KR20200014948A (ko) | 2020-02-11 |
KR102221331B1 KR102221331B1 (ko) | 2021-03-03 |
Family
ID=46145600
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020187002497A KR101950419B1 (ko) | 2010-11-24 | 2011-11-22 | 움직임 벡터 산출 방법, 화상 부호화 방법, 화상 복호 방법, 움직임 벡터 산출 장치 및 화상 부호화 복호 장치 |
KR1020137003046A KR101825768B1 (ko) | 2010-11-24 | 2011-11-22 | 움직임 벡터 산출 방법, 화상 부호화 방법, 화상 복호 방법, 움직임 벡터 산출 장치 및 화상 부호화 복호 장치 |
KR1020207003109A KR102221331B1 (ko) | 2010-11-24 | 2011-11-22 | 움직임 벡터 산출 방법, 화상 부호화 방법, 화상 복호 방법, 움직임 벡터 산출 장치 및 화상 부호화 복호 장치 |
KR1020197004454A KR102080449B1 (ko) | 2010-11-24 | 2011-11-22 | 움직임 벡터 산출 방법, 화상 부호화 방법, 화상 복호 방법, 움직임 벡터 산출 장치 및 화상 부호화 복호 장치 |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020187002497A KR101950419B1 (ko) | 2010-11-24 | 2011-11-22 | 움직임 벡터 산출 방법, 화상 부호화 방법, 화상 복호 방법, 움직임 벡터 산출 장치 및 화상 부호화 복호 장치 |
KR1020137003046A KR101825768B1 (ko) | 2010-11-24 | 2011-11-22 | 움직임 벡터 산출 방법, 화상 부호화 방법, 화상 복호 방법, 움직임 벡터 산출 장치 및 화상 부호화 복호 장치 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020197004454A KR102080449B1 (ko) | 2010-11-24 | 2011-11-22 | 움직임 벡터 산출 방법, 화상 부호화 방법, 화상 복호 방법, 움직임 벡터 산출 장치 및 화상 부호화 복호 장치 |
Country Status (8)
Country | Link |
---|---|
US (4) | US9300961B2 (ko) |
EP (3) | EP2645716A4 (ko) |
JP (3) | JP5755243B2 (ko) |
KR (4) | KR101950419B1 (ko) |
CN (1) | CN103069804B (ko) |
AR (1) | AR083954A1 (ko) |
TW (1) | TWI566584B (ko) |
WO (1) | WO2012070235A1 (ko) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9300961B2 (en) | 2010-11-24 | 2016-03-29 | Panasonic Intellectual Property Corporation Of America | Motion vector calculation method, picture coding method, picture decoding method, motion vector calculation apparatus, and picture coding and decoding apparatus |
US9106793B2 (en) * | 2013-01-03 | 2015-08-11 | Cisco Technology, Inc. | Method and apparatus for motion based participant switching in multipoint video conferences |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20040099100A (ko) * | 2002-04-19 | 2004-11-26 | 마쯔시다덴기산교 가부시키가이샤 | 움직임 벡터 계산 방법 |
Family Cites Families (60)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5020829B1 (ko) | 1970-08-28 | 1975-07-17 | ||
CN1243635A (zh) | 1997-01-10 | 2000-02-02 | 松下电器产业株式会社 | 图像处理方法、图像处理装置及数据记录媒体 |
US7170932B2 (en) | 2001-05-11 | 2007-01-30 | Mitsubishi Electric Research Laboratories, Inc. | Video transcoder with spatial resolution reduction and drift compensation |
KR100642043B1 (ko) * | 2001-09-14 | 2006-11-03 | 가부시키가이샤 엔티티 도코모 | 부호화 방법, 복호 방법, 부호화 장치, 복호 장치, 화상 처리 시스템, 및 저장 매체 |
ES2602575T3 (es) * | 2001-11-06 | 2017-02-21 | Panasonic Intellectual Property Corporation Of America | Método de codificación de imágenes en movimiento y método de decodificación de imágenes en movimiento |
US6980596B2 (en) | 2001-11-27 | 2005-12-27 | General Instrument Corporation | Macroblock level adaptive frame/field coding for digital video content |
JP2004088722A (ja) | 2002-03-04 | 2004-03-18 | Matsushita Electric Ind Co Ltd | 動画像符号化方法および動画像復号化方法 |
KR100508798B1 (ko) | 2002-04-09 | 2005-08-19 | 엘지전자 주식회사 | 쌍방향 예측 블록 예측 방법 |
JP2004208258A (ja) | 2002-04-19 | 2004-07-22 | Matsushita Electric Ind Co Ltd | 動きベクトル計算方法 |
JP2004208259A (ja) * | 2002-04-19 | 2004-07-22 | Matsushita Electric Ind Co Ltd | 動きベクトル計算方法 |
KR101031423B1 (ko) * | 2002-04-19 | 2011-04-26 | 파나소닉 주식회사 | 움직임 벡터 계산방법 |
JP4130783B2 (ja) | 2002-04-23 | 2008-08-06 | 松下電器産業株式会社 | 動きベクトル符号化方法および動きベクトル復号化方法 |
JP2003333600A (ja) | 2002-05-09 | 2003-11-21 | Matsushita Electric Ind Co Ltd | 画像符号化方法および画像復号方法 |
US20040190615A1 (en) | 2002-05-22 | 2004-09-30 | Kiyofumi Abe | Moving image encoding method, moving image decoding method, and data recording medium |
US20040001546A1 (en) * | 2002-06-03 | 2004-01-01 | Alexandros Tourapis | Spatiotemporal prediction for bidirectionally predictive (B) pictures and motion vector prediction for multi-picture reference motion compensation |
JP2004023458A (ja) | 2002-06-17 | 2004-01-22 | Toshiba Corp | 動画像符号化/復号化方法及び装置 |
US20040234143A1 (en) | 2002-07-02 | 2004-11-25 | Makoto Hagai | Image encoding method and picture decoding method |
CN100553339C (zh) | 2002-07-15 | 2009-10-21 | 株式会社日立制作所 | 动态图像解码方法 |
KR100506864B1 (ko) | 2002-10-04 | 2005-08-05 | 엘지전자 주식회사 | 모션벡터 결정방법 |
WO2004040915A1 (ja) | 2002-11-01 | 2004-05-13 | Matsushita Electric Industrial Co., Ltd. | 動画像符号化方法および動画像復号化方法 |
JP2006524000A (ja) | 2003-04-17 | 2006-10-19 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | ビデオトランスコーディング |
US7882434B2 (en) | 2003-06-27 | 2011-02-01 | Benjamin Slotznick | User prompting when potentially mistaken actions occur during user interaction with content on a display screen |
US7426308B2 (en) | 2003-07-18 | 2008-09-16 | Microsoft Corporation | Intraframe and interframe interlace coding and decoding |
KR100579542B1 (ko) | 2003-07-29 | 2006-05-15 | 삼성전자주식회사 | 블럭 간의 상관성을 고려한 움직임 추정 장치 및 방법 |
US8064520B2 (en) | 2003-09-07 | 2011-11-22 | Microsoft Corporation | Advanced bi-directional predictive coding of interlaced video |
KR100999091B1 (ko) | 2003-11-17 | 2010-12-07 | 삼성전자주식회사 | 임의 크기의 가변 블록을 이용한 영상 압축 방법 및 장치 |
US8036271B2 (en) | 2004-02-24 | 2011-10-11 | Lsi Corporation | Method and apparatus for determining a second picture for temporal direct-mode block prediction |
US7580456B2 (en) | 2005-03-01 | 2009-08-25 | Microsoft Corporation | Prediction-based directional fractional pixel motion estimation for video coding |
JP2007043651A (ja) | 2005-07-05 | 2007-02-15 | Ntt Docomo Inc | 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、動画像復号装置、動画像復号方法及び動画像復号プログラム |
US20070025444A1 (en) | 2005-07-28 | 2007-02-01 | Shigeyuki Okada | Coding Method |
KR101276720B1 (ko) | 2005-09-29 | 2013-06-19 | 삼성전자주식회사 | 카메라 파라미터를 이용하여 시차 벡터를 예측하는 방법,그 방법을 이용하여 다시점 영상을 부호화 및 복호화하는장치 및 이를 수행하기 위한 프로그램이 기록된 기록 매체 |
EP1931141A4 (en) | 2005-09-30 | 2010-11-03 | Sharp Kk | IMAGE DISPLAY DEVICE AND METHOD |
KR100727989B1 (ko) | 2005-10-01 | 2007-06-14 | 삼성전자주식회사 | 동영상 부호화시의 인터 모드 결정 방법 및 장치 |
JP5020829B2 (ja) | 2005-12-27 | 2012-09-05 | シャープ株式会社 | 動画像復号装置および動画像符号化装置 |
KR101366242B1 (ko) | 2007-03-29 | 2014-02-20 | 삼성전자주식회사 | 움직임 모델 파라메터의 부호화, 복호화 방법 및 움직임모델 파라메터를 이용한 영상의 부호화, 복호화 방법 및장치 |
KR100955396B1 (ko) * | 2007-06-15 | 2010-04-29 | 성균관대학교산학협력단 | 양-예측 부호화 방법 및 장치, 양-예측 복호화 방법 및장치 및 기록매체 |
WO2009041215A1 (ja) | 2007-09-25 | 2009-04-02 | Sharp Kabushiki Kaisha | 動画像符号化装置及び動画像復号装置 |
KR101560182B1 (ko) | 2008-01-07 | 2015-10-15 | 삼성전자주식회사 | 다시점 비디오 부호화 방법과 그 장치 및 다시점 비디오 복호화 방법과 그 장치 |
JP2009182623A (ja) | 2008-01-30 | 2009-08-13 | Panasonic Corp | 画像符号化方法 |
KR101505195B1 (ko) | 2008-02-20 | 2015-03-24 | 삼성전자주식회사 | 직접 모드 부호화 및 복호화 방법 |
US20100079605A1 (en) | 2008-09-29 | 2010-04-01 | William Marsh Rice University | Sensor-Assisted Motion Estimation for Efficient Video Encoding |
KR101377660B1 (ko) | 2008-09-30 | 2014-03-26 | 에스케이텔레콤 주식회사 | 복수 개의 움직임 벡터 추정을 이용한 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치 |
US8620883B2 (en) | 2009-03-02 | 2013-12-31 | Qualcomm, Incorporated | Apparatus and methods of reconciling different versions of an ordered list |
EP2424247B1 (en) | 2009-04-21 | 2016-08-24 | LG Electronics Inc. | Method and apparatus for processing multi-view video signal |
US8917769B2 (en) | 2009-07-03 | 2014-12-23 | Intel Corporation | Methods and systems to estimate motion based on reconstructed reference frames at a video decoder |
US8462852B2 (en) | 2009-10-20 | 2013-06-11 | Intel Corporation | Methods and apparatus for adaptively choosing a search range for motion estimation |
KR101452859B1 (ko) | 2009-08-13 | 2014-10-23 | 삼성전자주식회사 | 움직임 벡터를 부호화 및 복호화하는 방법 및 장치 |
KR101671460B1 (ko) | 2009-09-10 | 2016-11-02 | 에스케이 텔레콤주식회사 | 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치 |
US9060176B2 (en) | 2009-10-01 | 2015-06-16 | Ntt Docomo, Inc. | Motion vector prediction in video coding |
KR101348613B1 (ko) | 2009-12-23 | 2014-01-10 | 한국전자통신연구원 | 영상의 부호화/복호화 장치 및 그 방법 |
KR101522850B1 (ko) | 2010-01-14 | 2015-05-26 | 삼성전자주식회사 | 움직임 벡터를 부호화, 복호화하는 방법 및 장치 |
US9161058B2 (en) * | 2010-03-27 | 2015-10-13 | Texas Instruments Incorporated | Method and system for detecting global brightness change for weighted prediction in video encoding |
US9124898B2 (en) | 2010-07-12 | 2015-09-01 | Mediatek Inc. | Method and apparatus of temporal motion vector prediction |
US9300961B2 (en) | 2010-11-24 | 2016-03-29 | Panasonic Intellectual Property Corporation Of America | Motion vector calculation method, picture coding method, picture decoding method, motion vector calculation apparatus, and picture coding and decoding apparatus |
US9532066B2 (en) | 2011-01-21 | 2016-12-27 | Qualcomm Incorporated | Motion vector prediction |
US9008181B2 (en) | 2011-01-24 | 2015-04-14 | Qualcomm Incorporated | Single reference picture list utilization for interprediction video coding |
US9319716B2 (en) | 2011-01-27 | 2016-04-19 | Qualcomm Incorporated | Performing motion vector prediction for video coding |
JP2012169763A (ja) | 2011-02-10 | 2012-09-06 | Sony Corp | 画像符号化装置と画像符号化方法およびプログラム |
US9386326B2 (en) * | 2012-10-05 | 2016-07-05 | Nvidia Corporation | Video decoding error concealment techniques |
US10785501B2 (en) * | 2012-11-27 | 2020-09-22 | Squid Design Systems Pvt Ltd | System and method of performing motion estimation in multiple reference frame |
-
2011
- 2011-11-22 US US13/814,564 patent/US9300961B2/en active Active
- 2011-11-22 WO PCT/JP2011/006517 patent/WO2012070235A1/ja active Application Filing
- 2011-11-22 EP EP11843582.5A patent/EP2645716A4/en not_active Ceased
- 2011-11-22 AR ARP110104346A patent/AR083954A1/es active IP Right Grant
- 2011-11-22 JP JP2012545618A patent/JP5755243B2/ja active Active
- 2011-11-22 EP EP22187282.3A patent/EP4102835A1/en active Pending
- 2011-11-22 KR KR1020187002497A patent/KR101950419B1/ko active IP Right Grant
- 2011-11-22 KR KR1020137003046A patent/KR101825768B1/ko active Application Filing
- 2011-11-22 KR KR1020207003109A patent/KR102221331B1/ko active IP Right Grant
- 2011-11-22 KR KR1020197004454A patent/KR102080449B1/ko active IP Right Grant
- 2011-11-22 EP EP19183303.7A patent/EP3570542B1/en active Active
- 2011-11-22 CN CN201180038555.XA patent/CN103069804B/zh active Active
- 2011-11-23 TW TW100142928A patent/TWI566584B/zh active
-
2014
- 2014-04-22 JP JP2014088582A patent/JP5958943B2/ja active Active
-
2015
- 2015-12-03 US US14/957,886 patent/US9877038B2/en active Active
-
2016
- 2016-06-14 JP JP2016118388A patent/JP6187887B2/ja active Active
-
2017
- 2017-12-22 US US15/851,870 patent/US10218997B2/en active Active
-
2019
- 2019-01-08 US US16/242,289 patent/US10778996B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20040099100A (ko) * | 2002-04-19 | 2004-11-26 | 마쯔시다덴기산교 가부시키가이샤 | 움직임 벡터 계산 방법 |
Non-Patent Citations (1)
Title |
---|
ITU-T H.264 03/2010 |
Also Published As
Publication number | Publication date |
---|---|
AR083954A1 (es) | 2013-04-10 |
TW201234865A (en) | 2012-08-16 |
KR20140004059A (ko) | 2014-01-10 |
EP4102835A1 (en) | 2022-12-14 |
CN103069804A (zh) | 2013-04-24 |
US9300961B2 (en) | 2016-03-29 |
KR101950419B1 (ko) | 2019-02-21 |
KR102221331B1 (ko) | 2021-03-03 |
JP6187887B2 (ja) | 2017-08-30 |
TWI566584B (zh) | 2017-01-11 |
KR102080449B1 (ko) | 2020-02-21 |
JP2014140255A (ja) | 2014-07-31 |
US20160088312A1 (en) | 2016-03-24 |
US9877038B2 (en) | 2018-01-23 |
JP5958943B2 (ja) | 2016-08-02 |
US20130136170A1 (en) | 2013-05-30 |
JP2016187206A (ja) | 2016-10-27 |
JP5755243B2 (ja) | 2015-07-29 |
JPWO2012070235A1 (ja) | 2014-05-19 |
CN103069804B (zh) | 2017-05-03 |
KR101825768B1 (ko) | 2018-02-05 |
US20190141345A1 (en) | 2019-05-09 |
EP3570542A1 (en) | 2019-11-20 |
KR20180014198A (ko) | 2018-02-07 |
EP2645716A1 (en) | 2013-10-02 |
KR20190018761A (ko) | 2019-02-25 |
US20180124421A1 (en) | 2018-05-03 |
WO2012070235A1 (ja) | 2012-05-31 |
US10218997B2 (en) | 2019-02-26 |
US10778996B2 (en) | 2020-09-15 |
EP2645716A4 (en) | 2016-04-13 |
EP3570542B1 (en) | 2022-09-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6167409B2 (ja) | 画像復号化方法および画像復号化装置 | |
JP6478133B2 (ja) | 動画像復号方法、動画像復号装置、動画像符号化方法、および動画像符号化装置 | |
JP6112320B2 (ja) | 動画像復号化方法および動画像符号化方法 | |
JP5414942B1 (ja) | カメラデバイスおよび送信方法 | |
JP5393924B2 (ja) | 動画像復号方法、動画像復号装置及びプログラム | |
JP6108309B2 (ja) | 動画像符号化方法、動画像符号化装置、動画像復号方法、および、動画像復号装置 | |
JP6551894B2 (ja) | 動画像復号化方法および動画像復号化装置 | |
JP5331944B2 (ja) | 画像復号化方法および画像復号化装置 | |
WO2012114712A1 (ja) | 画像符号化方法および画像復号化方法 | |
JP6187887B2 (ja) | 符号化方法および符号化装置 | |
WO2012096157A1 (ja) | 画像符号化方法、画像復号方法、画像符号化装置および画像復号装置 | |
WO2012073481A1 (ja) | 動画像符号化方法および動画像復号化方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A107 | Divisional application of patent | ||
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |