KR20130102527A - 화상 처리 장치와 화상 처리 방법 - Google Patents

화상 처리 장치와 화상 처리 방법 Download PDF

Info

Publication number
KR20130102527A
KR20130102527A KR1020137001925A KR20137001925A KR20130102527A KR 20130102527 A KR20130102527 A KR 20130102527A KR 1020137001925 A KR1020137001925 A KR 1020137001925A KR 20137001925 A KR20137001925 A KR 20137001925A KR 20130102527 A KR20130102527 A KR 20130102527A
Authority
KR
South Korea
Prior art keywords
unit
motion
upper limit
block
size
Prior art date
Application number
KR1020137001925A
Other languages
English (en)
Inventor
가즈시 사토
Original Assignee
소니 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 소니 주식회사 filed Critical 소니 주식회사
Publication of KR20130102527A publication Critical patent/KR20130102527A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

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

움직임 벡터 개수 제한 설정부(35)는, 매크로 블록의 크기에 따라서 움직임 벡터 개수의 상한값을 설정한다. 움직임 예측·보상부(32)는, 움직임 벡터 개수가 상한값을 초과하지 않는 최적 예측 모드를 검출하여, 검출한 최적 예측 모드의 움직임 벡터를 이용해서 참조 화상의 움직임 보상을 행하고 예측 화상을 생성한다. 매크로 블록의 크기에 따라서 움직임 벡터 개수의 상한값을 설정함으로써, 확장된 매크로 블록을 이용한 경우에, 움직임 벡터 개수가 필요 이상으로 제한되게 되는 일이 없어, 화질의 열화 등을 방지할 수 있다.

Description

화상 처리 장치와 화상 처리 방법{IMAGE PROCESSING DEVICE AND IMAGE PROCESSING METHOD}
본 발명은, 화상 처리 장치와 화상 처리 방법에 관한 것이다. 상세하게는, 확장된 매크로 블록에 대응한 화상 처리를 행할 수 있는 화상 처리 장치와 화상 처리 방법을 제공한다.
최근, 화상 정보를 디지털로서 취급하고, 그 때, 효율이 높은 정보의 전송, 축적을 행하는 장치, 예를 들면 이산 코사인 변환 등의 직교 변환과 움직임 보상에 의해 압축하는 MPEG 등의 방식에 준거한 장치가, 방송국이나 일반가정에 보급되고 있다.
특히, MPEG2(ISO/IEC13818-2)는, 범용 화상 부호화 방식으로서 정의되어 있고, 프로페셔널 용도 및 컨슈머 용도의 광범위한 어플리케이션에 현재 널리 이용되고 있다.
또한, 텔레비전 회의용 등의 화상 부호화를 목적으로 하여, H.26L(ITU-T Q6/16 VCEG)이라고 하는 표준의 규격화가 진행되고 있다. H.26L은 MPEG2나 MPEG4와 같은 종래의 부호화 방식에 비해, 그 부호화, 복호화에 보다 많은 연산량이 요구되기는 하지만, 보다 높은 부호화 효율이 실현되는 것이 알려져 있다. 또한, 현재, MPEG4의 활동의 일환으로서, 이 H.26L을 베이스로, 보다 높은 부호화 효율을 실현하는 표준화가 Joint Model of Enhanced-Compression Video Coding으로서 행해지고 있고, H.264 및 MPEG-4 Part10(이하 「H.264/AVC(Advanced Video Coding)」라고 기록함)이라는 이름 하에 국제표준으로 되었다.
또한, 최근, 4000×2000 화소 정도의 화상을 압축하고 싶다거나, 또는 인터넷과 같은 한정된 전송 용량의 환경에서, 하이비젼 화상을 배신(配信)하고 싶다고 하는, 더욱 고압축율 부호화에 대한 요구가 높아지고 있다. 이 때문에, 비특허 문헌 1과 같이, 매크로 블록의 크기를, MPEG2나 H.264/AVC보다도 큰, 예를 들면 32 화소×32 화소와 같은 크기로 확장하는 것이 제안되어 있다. 즉, 비특허 문헌 1에서는, 매크로 블록에 대해서 계층 구조를 채용함으로써, 16×16 화소 블록 이하에 관해서는, H.264/AVC에 있어서의 매크로 블록과 호환성을 유지하고, 그 슈퍼세트로서, 보다 큰 블록이 정의되어 있다.
"Video Coding Using Extended Block Sizes"(Study Group16, Contribution 123, ITU, 2009년 1월)
그런데, H.264/AVC 방식에서는, 16×16 화소에 의해 구성되는 매크로 블록은, 16×16, 16×8, 8×16 혹은 8×8 중 어느 하나의 파티션으로 분할하여, 각각 독립된 움직임 벡터 정보를 가질 수 있다. 또한, 8×8 파티션은, 8×8, 8×4, 4×8, 4×4 중 어느 하나의 서브 파티션으로 분할하여, 각각 독립된 움직임 벡터 정보를 가질 수 있다. 이러한 움직임 예측·보상 처리가 행해지고, 매크로 블록 내의 파티션의 수가 증가하면 움직임 벡터 정보는, 정보량이 방대하게 되어 움직임 벡터 정보를 이대로 부호화하는 것은, 부호화 효율의 저하를 초래한다. 따라서, H.264/AVC 방식에서는, 연속하는 2개의 매크로 블록에 있어서의 움직임 벡터의 수의 합계가, 정해진 상한값을 초과하지 않도록 움직임 보상 블록의 블록 사이즈를 설정하는 것이 행해지고 있다. 이 때문에, 매크로 블록의 크기를 확장한 경우에 H.264/AVC 방식으로 정해진 상한값을 이용하면, 움직임 벡터의 수의 제한에 의해 블록 사이즈를 작게 할 수 없게 되어, 화질의 열화 등을 초래하게 될 우려가 있다.
그래서, 본 발명에서는, 확장된 매크로 블록에 대응한 화상 처리를 행할 수 있는 화상 처리 장치와 화상 처리 방법을 제공하는 것을 목적으로 한다.
본 발명의 제1 측면은, 상 데이터를 부호화 처리할 때의 부호화 처리 단위인 블록의 블록 사이즈에 따라서, 움직임 벡터의 수의 상한값을 설정하는 설정부와, 상기 블록의 움직임 벡터의 수가 상기 설정부에 의해 설정된 상한값 이하인 상태에서 예측 모드를 검출하고, 그 검출한 예측 모드의 움직임 벡터를 이용해서 참조 화상의 움직임 보상을 행하여, 예측 화상을 생성하는 움직임 예측·보상부와, 상기 움직임 예측·보상부에 의해 생성된 예측 화상을 이용하여, 상기 화상 데이터를 부호화해서 부호화 스트림을 생성하는 부호화부를 구비하는 화상 처리 장치에 있다.
본 발명에 있어서, 움직임 벡터 개수 제한 설정부에서는, 매크로 블록의 크기에 따라서 움직임 벡터의 수의 상한값이 설정된다. 매크로 블록이 소정 사이즈, 예를 들면 16×16 화소보다도 확장된 사이즈인 경우, 상한값은 16×16 화소의 매크로 블록에 있어서의 상한값보다도 큰 값으로 설정된다. 여기서, 16×16 화소 매크로 블록에 대한 움직임 벡터의 수의 상한값을 p개로 했을 때, 확장된 매크로 블록의 크기가 (16×m)×(16×n) 화소인 경우, 상한값은 (p×m×n)개로 설정된다. 움직임 예측·보상부에서는, 움직임 벡터의 수가 상한값을 초과하는 예측 모드를 최적 예측 모드의 후보로부터 제외해서 최적 예측 모드의 검출을 행하고, 검출한 최적 예측 모드의 움직임 벡터를 이용해서 참조 화상의 움직임 보상을 행하고, 예측 화상이 생성된다. 또한, 움직임 예측·보상부에서는, 움직임 벡터의 수가 상한값을 초과하지 않게 하기 위한 제어 횟수를 프레임마다 감시하여, 제어 횟수가 미리 설정된 소정 횟수를 초과한 경우, 다음 프레임에 있어서의 매크로 블록을 크게 하여, 씬 체인지 검출부에서 씬 체인지가 검출된 경우에는, 매크로 블록을 미리 설정한 소정의 크기로 한다. 또한, 움직임 예측·보상부에서는, 움직임 벡터의 수에 관계없이 최적 예측 모드를 검출하여, 그 검출한 최적 예측 모드의 움직임 벡터를 이용해서 참조 화상의 움직임 보상을 행하고 예측 화상을 생성하는 동작 모드가 설치되어 있는 경우, 이 동작 모드에 있어서, 최적 예측 모드에 있어서의 움직임 벡터의 수가 상한값을 초과하는 경우, 예측 화상을 이용해서 생성된 화상 압축 정보에, 움직임 벡터의 수가 상한값을 초과하는 것을 나타내는 판별 정보가 포함되도록 한다. 또한, 소정 사이즈보다도 큰 사이즈의 블록은, 해상 구조(解像構造)를 갖는 부호화 단위에 있어서, 예를 들면 최대 사이즈를 갖는 최대 부호화 단위로 한다.
본 발명의 제2 측면은, 화상 데이터를 부호화 처리할 때의 부호화 처리 단위인 블록의 블록 사이즈에 따라서, 움직임 벡터의 수의 상한값을 설정하는 공정과, 상기 설정된 상한값 이하의 상태에서 예측 모드를 검출하고, 그 검출한 예측 모드의 움직임 벡터를 이용해서 참조 화상의 움직임 보상을 행하여, 예측 화상을 생성하는 공정과, 상기 생성된 예측 화상을 이용하여, 상기 화상 데이터를 부호화해서 부호화 스트림을 생성하는 공정을 포함하는 화상 처리 방법에 있다.
본 발명의 제3 측면은, 화상 데이터를 부호화한 부호화 스트림을 복호화 처리할 때의 복호화 처리 단위인 블록의 블록 사이즈에 따라서, 움직임 벡터의 수의 상한값을 설정하는 설정부와, 상기 블록의 움직임 벡터의 수가 상기 설정부에 의해 설정된 상한값 이하인 상태에서 예측 모드를 검출하고, 그 검출한 예측 모드의 움직임 벡터를 이용해서 참조 화상의 움직임 보상을 행하여, 예측 화상을 생성하는 움직임 보상부와, 상기 움직임 보상부에 의해 생성된 예측 화상을 이용하여, 상기 부호화 스트림을 복호화하는 복호화부를 구비하는 화상 처리 장치에 있다.
본 발명에 있어서, 화상 데이터를 부호화한 부호화 스트림을 복호화 처리할 때, 움직임 벡터 개수 제한 설정부에서는, 매크로 블록의 크기에 따라서 움직임 벡터의 수의 상한값이 설정된다. 매크로 블록이 소정 사이즈, 예를 들면 16×16 화소의 매크로 블록보다도 확장된 사이즈인 경우, 상한값은 16×16 화소의 매크로 블록에 있어서의 상한값보다도 큰 값으로 설정된다. 여기서, 16×16 화소 매크로 블록에 대한 움직임 벡터수의 상한값을 p개로 했을 때, 확장된 매크로 블록의 크기가 (16×m)×(16×n) 화소인 경우, 상한값은 (p×m×n)개로 설정된다. 움임 보상부에서는, 화상 압축 정보에 포함되어 있는 움직임 벡터 정보에 기초해서 참조 화상의 움직임 보상을 행하고 예측 화상을 생성하는 경우에, 움직임 벡터의 수가 설정된 상한값 이하의 상태에서 예측 모드를 검출하고, 검출한 예측 모드의 움직임 벡터를 이용해서 참조 화상의 움직임 보상을 행하여 예측 화상이 생성된다. 이 생성된 예측 화상을 이용하여, 복호화부에서 부호화 스트림이 복호화된다. 또한, 움직임 보상부에서는, 예측 모드를 검출할 때, 움직임 벡터의 수가 상한값을 초과하는 예측 모드를, 검출 대상으로 되는 예측 모드의 후보로부터 제외한다. 또한, 움직임 보상부에서는, 움직임 벡터의 수가 상한값을 초과하지 않게 하기 위한 제어 횟수를 프레임마다 감시하여, 제어 횟수가 미리 설정된 소정 횟수를 초과한 경우, 다음 프레임에 있어서의 블록의 블록 사이즈를 크게 설정한다. 또한 화상 데이터에 있어서의 씬 체인지가 검출된 경우, 블록 사이즈가 미리 설정한 소정의 사이즈로 설정된다. 또한 움직임 벡터의 수에 관계없이 최적 예측 모드를 검출하여, 검출한 최적 예측 모드의 움직임 벡터를 이용해서 참조 화상의 움직임 보상을 행하고 예측 화상을 생성하는 동작 모드에서는, 부호화 스트림으로부터 움직임 벡터의 수가 상한값을 초과하는 것을 나타내는 판별 정보를 취득한다. 부호화 스트림으로부터, 상한값이 설정되는 블록의 블록 사이즈를 식별하는 사이즈 식별 정보를 취득하는 것도 행해진다.
본 발명의 제4 측면은, 화상 데이터를 부호화한 부호화 스트림을 복호화 처리할 때의 복호화 처리 단위인 블록의 블록 사이즈에 따라서, 움직임 벡터의 수의 상한값을 설정하는 공정과, 상기 블록의 움직임 벡터의 수가 상기 설정부에 의해 설정된 상한값 이하인 상태에서 예측 모드를 검출하고, 그 검출한 예측 모드의 움직임 벡터를 이용해서 참조 화상의 움직임 보상을 행하여, 예측 화상을 생성하는 공정과, 상기 생성된 예측 화상을 이용하여, 상기 부호화 스트림을 복호화하는 공정을 포함하는 화상 처리 방법에 있다.
본 발명에서는, 매크로 블록의 크기에 따라서 움직임 벡터의 수의 상한값이 설정된다. 또한, 움직임 벡터의 수가 상한값을 초과하지 않는 최적 예측 모드가 검출되어, 검출한 최적 예측 모드의 움직임 벡터를 이용해서 참조 화상의 움직임 보상을 행하고, 예측 화상이 생성된다. 이 때문에, 확장된 크기의 매크로 블록이 이용된 경우에, 움직임 벡터의 수가 필요 이상으로 제한되게 되는 일이 없어, 확장된 매크로 블록에 대응한 화상 처리를 행할 수 있다.
도 1은 화상 부호화 장치의 구성을 도시하는 도면.
도 2는 H.264/AVC 방식에 있어서의 매크로 블록을 도시하는 도면.
도 3은 움직임 보상 블록과 인접 블록을 도시하는 도면.
도 4는 Multi-Reference Frame을 설명하기 위한 도면.
도 5는 시간 다이렉트 모드를 설명하기 위한 도면.
도 6은 1/4 화소 정밀도의 움직임 예측·보상 처리를 설명하기 위한 도면.
도 7은 6탭의 FIR 필터를 이용한 1/4 화소 정밀도의 움직임 예측·보상 처리에서 이용하는 화소를 도시하는 도면.
도 8은 움직임 벡터 개수의 상한값을 설명하기 위한 도면.
도 9는 매크로 블록의 크기를 확장한 경우의 계층 구조를 도시하는 도면.
도 10은 움직임 예측·보상부의 구성과 움직임 벡터 개수 제한 설정부를 도시한 도면.
도 11은 화상 부호화 장치의 동작을 도시하는 플로우차트.
도 12는 예측 처리를 도시하는 플로우차트.
도 13은 인트라 예측 처리를 도시하는 플로우차트.
도 14는 인터 예측 처리를 도시하는 플로우차트.
도 15는 움직임 벡터 개수의 상한값 설정을 도시하는 플로우차트.
도 16은 화상 부호화 장치의 다른 구성을 도시하는 도면.
도 17은 움직임 예측·보상부의 다른 구성과 움직임 벡터 개수 제한 설정부를 도시하는 도면.
도 18은 화상 복호화 장치의 구성을 도시하는 도면.
도 19는 움직임 보상부의 구성과 움직임 벡터 개수 제한 설정부를 도시하는 도면.
도 20은 화상 복호화 장치의 동작을 도시하는 플로우차트.
도 21은 예측 화상 생성 처리를 도시하는 플로우차트.
도 22는 인터 예측 화상 생성 처리를 도시하는 플로우차트.
도 23은 슬라이스 헤더를 예시한 도면.
도 24는 텔레비전 장치의 개략적인 구성을 예시한 도면.
도 25는 휴대 전화기의 개략적인 구성을 예시한 도면.
도 26은 기록 재생 장치의 개략적인 구성을 예시한 도면.
도 27은 촬상 장치의 개략적인 구성을 예시한 도면.
이하, 실시 형태에 대해서 설명한다. 본 발명에서는, 매크로 블록의 크기를 확장한 경우, H.264/AVC 방식과 같이 레벨에 따른 설정되어 있는 상한값을 이용하면, 움직임 벡터의 수가 필요 이상으로 제한되어 화질의 열화를 초래하게 될 우려가 있다. 따라서, 확장된 사이즈의 매크로 블록을 이용하는 경우, 매크로 블록의 크기에 따라서 상한값을 설정함으로써, 움직임 벡터의 수를 필요 이상으로 제한하지 않고 리얼타임 동작을 메모리 밴드 폭의 관점으로부터 보증한다. 또한, 움직임 벡터의 수가 필요 이상으로 제한되어 화질이 열화하게 되는 것을 방지한다. 또한, 설명은 이하의 순서로 행한다.
1. 화상 부호화 장치의 구성
2. 화상 부호화 장치의 동작
3. 화상 부호화 장치의 다른 구성
4. 화상 부호화 장치의 다른 동작
5. 화상 복호화 장치의 구성
6. 화상 복호화 장치의 동작
7. 소프트웨어 처리의 경우
8. 전자 기기에 적용한 경우
<1. 화상 부호화 장치의 구성>
도 1은 화상 부호화를 행하는 화상 처리 장치인 화상 부호화 장치의 구성을 나타내고 있다. 화상 부호화 장치(10)는, 아날로그/디지털 변환부(A/D 변환부)(11), 화면 재배열 버퍼(12), 감산부(13), 직교 변환부(14), 양자화부(15), 가역 부호화부(16), 축적 버퍼(17), 레이트 제어부(18)를 구비하고 있다. 또한, 화상 부호화 장치(10)는, 역양자화부(21), 역직교 변환부(22), 가산부(23), 디블록킹 필터(24), 프레임 메모리(25), 인트라 예측부(31), 움직임 예측·보상부(32), 예측 화상·최적 모드 선택부(33)를 구비하고 있다.
A/D 변환부(11)는, 아날로그 화상 신호를 디지털 화상 데이터로 변환해서 화면 재배열 버퍼(12)에 출력한다.
화면 재배열 버퍼(12)는, A/D 변환부(11)로부터 출력된 화상 데이터에 대하여 프레임의 재배열을 행한다. 화면 재배열 버퍼(12)는, 부호화 처리에 따른 GOP(Group of Pictures) 구조에 따라서 프레임의 재배열을 행하고, 재배열 후의 화상 데이터를 감산부(13)와 인트라 예측부(31)와 움직임 예측·보상부(32)에 출력한다.
감산부(13)에는, 화면 재배열 버퍼(12)로부터 출력된 화상 데이터와, 후술하는 예측 화상·최적 모드 선택부(33)에서 선택된 예측 화상 데이터가 공급된다. 감산부(13)는, 화면 재배열 버퍼(12)로부터 출력된 화상 데이터와 예측 화상·최적 모드 선택부(33)로부터 공급된 예측 화상 데이터의 차분인 예측 오차 데이터를 산출하여, 직교 변환부(14)에 출력한다.
직교 변환부(14)는, 감산부(13)로부터 출력된 예측 오차 데이터에 대하여, 이산 코사인 변환(DCT;Discrete Cosine Transform), 카루넨 루베 변환 등의 직교 변환 처리를 행한다. 직교 변환부(14)는, 직교 변환 처리를 행함으로써 얻어진 변환 계수 데이터를 양자화부(15)에 출력한다.
양자화부(15)에는, 직교 변환부(14)로부터 출력된 변환 계수 데이터와, 후술하는 레이트 제어부(18)로부터 레이트 제어 신호가 공급되고 있다. 양자화부(15)는 변환 계수 데이터의 양자화를 행하고, 양자화 데이터를 가역 부호화부(16)와 역양자화부(21)에 출력한다. 또한, 양자화부(15)는, 레이트 제어부(18)로부터의 레이트 제어 신호에 기초하여 양자화 파라미터(양자화 스케일)를 전환하고, 양자화 데이터의 비트 레이트를 변화시킨다.
가역 부호화부(16)에는, 양자화부(15)로부터 출력된 양자화 데이터와, 후술하는 인트라 예측부(31)와 움직임 예측·보상부(32) 및 예측 화상·최적 모드 선택부(33)로부터 예측 모드 정보가 공급된다. 또한, 예측 모드 정보에는, 인트라 예측 또는 인터 예측에 따라서, 예측 모드, 매크로 블록의 크기, 매크로 블록 타입, 움직임 벡터 정보 등이 포함된다. 또한, 예측 모드 정보에는, 후술하는 판별 정보나 사이즈 식별 정보 등도 포함해도 된다. 또한, 가역 부호화부(16)는, 양자화 데이터에 대하여, 예를 들면 가변 길이 부호화 또는 산술 부호화 등에 의해 가역 부호화 처리를 행하고, 화상 압축 정보를 생성해서 축적 버퍼(17)에 출력한다. 또한, 가역 부호화부(16)는, 예측 모드 정보를 가역 부호화하여, 화상 압축 정보에 포함시킨다. 예를 들면 가역 부호화부(16)는, 화상 압축 정보인 부호화 스트림의 헤더 정보에 부가한다.
축적 버퍼(17)는, 가역 부호화부(16)로부터의 화상 압축 정보를 축적한다. 또한, 축적 버퍼(17)는, 축적한 화상 압축 정보를 전송로에 따른 전송 속도로 출력한다.
레이트 제어부(18)는, 축적 버퍼(17)의 빈 용량의 감시를 행하고, 빈 용량에 따라서 레이트 제어 신호를 생성해서 양자화부(15)에 출력한다. 레이트 제어부(18)는, 예를 들면 축적 버퍼(17)로부터 빈 용량을 나타내는 정보를 취득한다. 레이트 제어부(18)는 빈 용량이 적게 되어 있는 경우, 레이트 제어 신호에 의해 양자화 데이터의 비트 레이트를 저하시킨다. 또한, 레이트 제어부(18)는 축적 버퍼(17)의 빈 용량이 충분히 큰 경우, 레이트 제어 신호에 의해 양자화 데이터의 비트 레이트를 높게 한다.
역양자화부(21)는, 양자화부(15)로부터 공급된 양자화 데이터의 역양자화 처리를 행한다. 역양자화부(21)는, 역양자화 처리를 행함으로써 얻어진 변환 계수 데이터를 역직교 변환부(22)에 출력한다.
역직교 변환부(22)는, 역양자화부(21)로부터 공급된 변환 계수 데이터의 역직교 변환 처리를 행함으로써 얻어진 데이터를 가산부(23)에 출력한다.
가산부(23)는, 역직교 변환부(22)로부터 공급된 데이터와 예측 화상·최적 모드 선택부(33)로부터 공급된 예측 화상 데이터를 가산해서 복호 화상 데이터를 생성하고, 디블록킹 필터(24)와 프레임 메모리(25)에 출력한다. 또한, 복호 화상 데이터는 참조 화상의 화상 데이터로서 이용된다.
디블록킹 필터(24)는, 화상의 부호화 시에 생기는 블록 왜곡을 감소시키기 위한 필터 처리를 행한다. 디블록킹 필터(24)는, 가산부(23)로부터 공급된 복호 화상 데이터로부터 블록 왜곡을 제거하는 필터 처리를 행하고, 필터 처리 후의 복호 화상 데이터를 프레임 메모리(25)에 출력한다.
프레임 메모리(25)는, 디블록킹 필터(24)로부터 공급된 필터 처리 후의 복호 화상 데이터를 유지한다. 이 프레임 메모리(25)에 유지된 복호 화상 데이터는, 참조 화상 데이터로서 움직임 예측·보상부(32)에서 이용된다.
인트라 예측부(31)는, 화면 재배열 버퍼(12)로부터 출력된 부호화 대상 화상의 화상 데이터와 가산부(23)로부터 공급된 복호 화상 데이터를 이용하여, 후보로 되는 모든 인트라 예측 모드의 인트라 예측 처리를 행한다. 또한, 인트라 예측부(31)는, 각 인트라 예측 모드에 대하여 코스트 함수값을 산출하여, 산출한 코스트 함수값이 최소로 되는 인트라 예측 모드, 즉 부호화 효율이 최량으로 되는 인트라 예측 모드를, 최적 인트라 예측 모드로서 선택한다. 인트라 예측부(31)는, 최적 인트라 예측 모드에서 생성된 예측 화상 데이터와 최적 인트라 예측 모드에 관한 예측 모드 정보, 및 최적 인트라 예측 모드에서의 코스트 함수값을 예측 화상·최적 모드 선택부(33)에 출력한다.
움직임 예측·보상부(32)는, 각 움직임 보상 블록 사이즈로 움직임 예측·보상 처리를 행한다. 움직임 예측·보상부(32)는, 화면 재배열 버퍼(12)로부터 읽어내어진 부호화 대상 화상에 대해서 예측 모드마다, 즉 각 움직임 보상 블록에서 모드마다, 프레임 메모리(25)로부터 읽어내어진 참조 화상 데이터를 이용해서 움직임 벡터를 검출한다. 또한, 움직임 예측·보상부(32)는, 검출한 움직임 벡터에 기초해서 복호 화상에 움직임 보상 처리를 실시해서 예측 화상 데이터의 생성을 행한다.
또한, 움직임 예측·보상부(32)는, 예측 모드마다 코스트 함수값을 산출한다. 움직임 예측·보상부(32)는, 산출한 코스트 함수값이 최소이고, 연속하는 2개의 매크로 블록의 움직임 벡터의 합계 개수가 후술하는 움직임 벡터 개수 제한 설정부(35)에서 설정된 상한값을 초과하지 않는 움직임 보상 블록 사이즈를, 최적 인터 예측 모드로서 선택한다. 움직임 예측·보상부(32)는, 최적 인터 예측 모드에서 생성된 예측 화상 데이터와 최적 인터 예측 모드에 관한 예측 모드 정보, 및 최적 인터 예측 모드에서의 코스트 함수값이나 움직임 벡터 정보를 예측 화상·최적 모드 선택부(33)에 출력한다. 또한, 움직임 예측·보상부(32)는, 인터 예측 모드로서, 스킵드 매크로 블록이나 다이렉트 모드에서의 예측도 행한다.
예측 화상·최적 모드 선택부(33)는, 인트라 예측부(31)로부터 공급된 코스트 함수값과 움직임 예측·보상부(32)로부터 공급된 코스트 함수값을 비교하여, 코스트 함수값이 적은 쪽을, 부호화 효율이 최량으로 되는 최적 모드로서 선택한다. 또한, 예측 화상·최적 모드 선택부(33)는, 최적 모드에서 생성한 예측 화상 데이터를 감산부(13)와 가산부(23)에 출력한다. 또한, 예측 화상·최적 모드 선택부(33)는, 최적 모드의 예측 모드 정보를 가역 부호화부(16)에 출력한다. 또한, 예측 화상·최적 모드 선택부(33)는, 슬라이스 단위로 인트라 예측 또는 인터 예측을 행한다.
움직임 벡터 개수 제한 설정부(35)는, H.264/AVC 방식과는 상이하고, 매크로 블록의 크기에 따라서 움직임 벡터의 수의 상한값을 설정하고, 움직임 예측·보상부(32)에 출력한다. 여기서, H.264/AVC 방식에 있어서의 움직임 벡터의 수의 제한에 대해서 설명해 둔다.
H.264/AVC 방식에서는, 도 2의 (A)에 도시하는 바와 같이, 16×16 화소에 의해 구성되는 매크로 블록은, 16×16, 16×8, 8×16 혹은 8×8 중 어느 하나의 파티션으로 분할하여, 각각 독립된 움직임 벡터 정보를 가질 수 있다. 또한, 8×8 파티션은, 도 2의 (B)에 도시하는 바와 같이, 8×8, 8×4, 4×8, 4×4 중 어느 하나의 서브 파티션으로 분할하여, 각각 독립된 움직임 벡터 정보를 가질 수 있다. 이러한 움직임 예측·보상 처리가 행해지면, 움직임 벡터 정보는, 정보량이 방대하게 되어 움직임 벡터 정보를 이대로 부호화하는 것은, 부호화 효율의 저하를 초래한다. 따라서, H.264/AVC 방식에서는, 이하와 같은 방법에 의해, 움직임 벡터 정보의 정보량의 저감이 실현되어 있다.
도 3에 있어서, 블록 「E」는 이제부터 부호화되려고 하고 있는 해당 움직임 보상 블록, 블록 「A」∼「D」는, 이미 부호화필로서 블록 「E」에 인접하는 블록이다.
여기서, x=A, B, C, D, E로서, x에 대한 움직임 벡터 정보를, mvx로 나타내는 것으로 한다. 우선, 블록 A, B, C에 관한 움직임 벡터 정보를 이용하고, 움직임 보상 블록 E에 대한 예측 움직임 벡터 정보 pmvE를, 메디안 오퍼레이션에 의해, 수학식 1로부터 생성한다.
Figure pct00001
또한, 블록 「C」에 관한 정보가, 화상 틀의 단부라는 등의 이유에 의해 「unavailable」인 경우에는, 블록 「D」에 관한 정보로 대용한다.
화상 압축 정보에, 움직임 보상 블록 「E」에 대한 움직임 벡터 정보로서 부호화되는 데이터 mvdE는, pmvE를 이용해서 수학식 2와 같이 생성된다.
Figure pct00002
또한, 실제의 처리는, 움직임 벡터 정보의 수평 방향, 수직 방향의 각각의 성분에 대하여, 독립적으로 처리가 행해진다.
이와 같이, 움직임 벡터 정보로서 예측 움직임 벡터 정보 pmvE와의 차분인 데이터 mvdE를 이용함으로써, 움직임 벡터 정보의 정보량의 저감이 실현되어 있다.
또한, H.264/AVC 방식에 있어서는, Multi-Reference Frame이라고 하는, MPEG-2나 H.263 등의 화상 정보 부호화 방식에서는 규정되어 있지 않았던 방식이 규정되어 있다. 도 4는, Multi-Reference Frame을 설명하기 위한 도면이다. H.264/AVC 방식에서는, 복수의 참조 프레임을 메모리에 저장하고, 도 4에 도시하는 바와 같이, 움직임 보상 블록마다 상이한 프레임을 참조하는 것이 가능하게 되어 있다.
또한, H.264/AVC 방식에 있어서의 B픽쳐에 대해서는, 다이렉트 모드(Direct Mode)가 설치되어 있다. 다이렉트 모드에서는, 움직임 벡터 정보는, 화상 압축 정보 중에는 저장되지 않고, 화상 복호화 장치에 있어서, 주변 혹은 Co-Located 블록의 움직임 벡터 정보로부터, 움직임 보상 블록의 움직임 벡터 정보가 추출된다.
다이렉트 모드에서는, 공간 다이렉트 모드(Spatial Direct Mode)와 시간 다이렉트 모드(Temporal Direct Mode)가 설치되어 있고, 어느 쪽을 이용할지는, 슬라이스마다 전환하는 것이 가능하게 되어 있다.
공간 다이렉트 모드에서는, 수학식 3에 나타내는 바와 같이, 메디안 예측에 의해 생성된 움직임 벡터 정보를, 움직임 보상 블록에 적용한다.
Figure pct00003
도 5는, 시간 다이렉트 모드를 설명하기 위한 도면이다. 도 5에 있어서, L0 참조 픽쳐에 있어서의, 움직임 보상 블록과, 동일한 공간 상의 어드레스에 있는 블록을, Co-Located 블록이라 하고, Co-Located Block에 있어서의 움직임 벡터 정보를 mvcol이라 한다. 또한, 해당 픽쳐와 L0 참조 픽쳐의 시간축 상의 거리를 TDB라 하고, L0 참조 픽쳐와 L1 참조 픽쳐의 시간축 상의 거리를 TDD라 한다.
이때, 해당 픽쳐에 있어서의 L0 움직임 벡터 정보 mvL0 및 L1 움직임 벡터 정보 mvL1을, 수학식 4, 5에 나타내는 바와 같이 생성한다.
Figure pct00004
Figure pct00005
또한, 화상 압축 정보에 있어서는, 시간축 상의 거리를 나타내는 정보가 존재하지 않기 때문에, POC(Picture Order Count)를 이용해서 연산을 행한다.
H.264/AVC 방식에서는, 6탭의 FIR(Finite Impulse Response) 필터를 이용한 1/4 화소 정밀도의 움직임 예측·보상 처리를 행함으로써, 부호화 효율의 향상이 도모되고 있다. 도 6은 1/4 화소 정밀도의 움직임 예측·보상 처리를 설명하기 위한 도면이다.
도 6에 있어서, 「A」는 프레임 메모리에 저장되어 있는 정수 정밀도 화소의 위치, 「b」, 「c」, 「d」는 1/2 화소 정밀도의 위치, 「e1」, 「e2」, 「e3」은 1/4 화소 정밀도의 위치이다.
Clip1()는, 수학식 6과 같이 정의한다.
Figure pct00006
또한, 수학식 6에 있어서, max_pix의 값은, 입력 화상이 8비트 정밀도인 경우, 255로 된다.
위치 「b」 「d」에 있어서의 화소값은, 6탭의 FIR 필터를 이용하여, 수학식 7, 8과 같이 생성된다.
Figure pct00007
Figure pct00008
위치 「c」에 있어서의 화소값은, 6탭의 FIR 필터를 이용하여, 수학식 9 또는 수학식 10 중 어느 하나와 수학식 11과 같이 생성된다.
Figure pct00009
Figure pct00010
Figure pct00011
또한, Clip1 처리는, 수평 방향 및 수직 방향의 곱합 처리의 양방을 행한 후, 마지막으로 한번만 행한다.
위치 「e1」∼「e3」에 있어서의 화소값은, 선형 내삽에 의해 수학식 12 내지 14와 같이 생성된다.
Figure pct00012
Figure pct00013
Figure pct00014
이러한 1/4 화소 정밀도의 움직임 예측·보상 처리에서는, 움직임 보상 블록의 사이즈가 16×16 화소인 경우, 도 7의 (A)에 도시하는 21×21 화소의 블록의 화소값이 이용된다. 또한, 움직임 보상 블록의 사이즈가 4×4 화소인 경우, 도 7의 (B)에 도시하는 9×9 화소의 블록의 화소값이 이용된다. 이렇게, 6탭의 FIR 필터를 이용한 1/4 화소 정밀도의 움직임 예측·보상 처리에서는, 블록 사이즈에 대하여 수평 방향 및 수직 방향의 각각에서 5 화소분의 오버헤드가 필요로 된다. 따라서, 블록 사이즈가 16×16 화소인 경우에는 ((21×21)/(16×16))배의 화소의 화소값이 필요로 되고, 블록 사이즈가 4×4 화소인 경우에는 ((9×9)/(4×4))배의 화소의 화소값이 필요로 된다. 즉, 작은 블록 사이즈가 화상 부호화 장치에 있어서 보다 많이 선택되면, 보다 많은 화소의 화소값이 필요로 되어 큰 메모리 밴드 폭이 필요로 된다.
이 때문에, H.264/AVC 방식에서는, 도 8에 도시하는 바와 같이, 연속하는 2개의 매크로 블록에 있어서의 움직임 벡터의 수의 합계가, 정해진 상한값을 초과하지 않도록 움직임 보상 블록의 블록 사이즈를 설정함으로써, 메모리 밴드 폭의 증가가 방지되어 있다. 즉, 매크로 블록 MB(a)의 움직임 벡터 개수 N(a)과 매크로 블록 MB(a+1)의 움직임 벡터 개수 N(a+1)의 합계는, 상한값 NHL(레벨4(HDTV의 해상도)의 경우에는 16개)을 초과하지 않도록 제한된다. 마찬가지로, 매크로 블록 MB(a+1)의 움직임 벡터 개수 N(a+1)과 매크로 블록 MB(a+2)의 움직임 벡터 개수 N(a+2)의 합계는, 상한값 NHL을 초과하지 않도록 제한된다. 이렇게, 연속하는 2개의 매크로 블록에 있어서의 움직임 벡터의 수의 합계는, 정해진 상한값 NHL을 초과하지 않도록 제한한다. 예를 들면, B픽쳐에서 매크로 블록의 크기가 16×16 화소이며, 움직임 보상 블록 사이즈를 4×4 화로 한다. 이 경우, 1매크로 블록에 16개의 움직임 보상 블록이 포함되게 되고, 움직임 벡터 개수는 16×2개로 되어 상한값 NHL(=16)을 초과해버린다. 따라서, 움직임 벡터 개수가 상한값을 초과하지 않도록 움직임 보상 블록의 사이즈가 설정된다.
도 9는, 매크로 블록의 크기를 확장한 경우의 계층 구조를 나타내고 있다. 도 9에 있어서, 도 9의 (C)(D)는, H.264/AVC 방식으로 규정되어 있는 16×16 화소의 매크로 블록과 8×8 화소의 서브 매크로 블록을 나타내고 있다. 또한, H.264/AVC 방식보다도 확장된 크기의 매크로 블록으로서, 도 9의 (A)에 도시하는 64×64 화소나 도 9의 (B)에 도시하는 32×32 화소의 매크로 블록이 규정된다. 또한, 도 9에 있어서, 「Skip/direct」는, 스킵드 매크로 블록이나 다이렉트 모드를 선택한 경우의 블록 사이즈인 것을 나타내고 있다. 또한, 「ME」는 움직임 보상 블록 사이즈인 것을 나타내고 있다. 또한, 「P8×8」은, 블록 사이즈를 작게 한 하위의 계층으로 더 분할할 수 있는 것을 나타내고 있다.
이와 같이, 매크로 블록의 크기를 확장한 경우에 H.264/AVC 방식으로 정해진 상한값을 이용하면, 움직임 벡터 개수는, 필요 이상으로 제한되어 화질의 열화를 초래하게 될 우려가 있다. 예를 들면, 매크로 블록이 16×16 화소인 경우의 상한값을, 64×64 화소의 매크로 블록에서도 이용하면, 블록 사이즈가 4배이어도 상한값은 동일하기 때문에, 움직임 벡터 개수는 필요 이상으로 제한되게 된다. 따라서, 움직임 보상 블록의 블록 사이즈는, 작은 블록 사이즈로 할 수 없게 되어, 화질의 열화 등을 초래하게 될 우려가 있다.
따라서, 움직임 벡터 개수 제한 설정부(35)는, 매크로 블록의 크기에 따라서 움직임 벡터 개수의 상한값을 설정한다. 움직임 벡터 개수 제한 설정부(35)는, 소정 사이즈(N)의 매크로 블록보다도 확장된 사이즈인 경우, 상한값을 소정 사이즈(N)의 매크로 블록에 있어서의 상한값보다도 크게 하여, 움직임 벡터 개수가 필요 이상으로 제한되지 않고 리얼타임 동작을 메모리 밴드 폭의 관점으로부터 보증한다. 예를 들면, 움직임 벡터 개수 제한 설정부(35)는, 매크로 블록의 크기가 16×16 화소(N=16)일 때의 움직임 벡터 개수의 상한값이 p개이며, 매크로 블록의 크기가 (16×m)×(16×n) 화소인 경우, 상한값을 (m×n×p)개로 하여, 매크로 블록의 크기에 대한 상한값을 소정의 비율로 함으로써, 움직임 벡터 개수가 필요 이상으로 제한되지 않고 리얼타임 동작을 메모리 밴드 폭의 관점으로부터 보증한다.
도 10은, 움직임 예측·보상부의 구성과 움직임 벡터 개수 제한 설정부를 나타내고 있다.
움직임 예측·보상부(32)는 움직임 탐색부(321), 모드 판정부(322), 움직임 보상 처리부(323), 움직임 벡터 버퍼(324)를 구비하고 있다.
움직임 탐색부(321)에는, 화면 재배열 버퍼(12)로부터 공급된 재배열 후의 화상 데이터와, 프레임 메모리(25)로부터 읽어낸 참조 화상 데이터가 공급된다.
움직임 탐색부(321)는, 후보로 되는 모든 인터 예측 모드에서 움직임 탐색 처리를 행하고, 움직임 탐색 처리에 의해 검출한 움직임 벡터를 나타내는 움직임 벡터 정보를 모드 판정부(322)에 출력한다. 또한, 움직임 탐색부(321)는, 검출한 움직임 벡터에 기초하여 참조 화상 데이터의 움직임 보상을 행하고 예측 화상 데이터를 생성해서 모드 판정부(322)에 출력한다. 또한, 움직임 탐색부(321)는, 매크로 블록의 크기를 나타내는 정보, 즉 상한값이 설정되는 블록의 블록 사이즈를 식별하는 사이즈 식별 정보를 움직임 벡터 개수 제한 설정부(35)에 출력한다.
움직임 벡터 개수 제한 설정부(35)는, 사이즈 식별 정보에 기초하여 블록 사이즈에 따라서 움직임 벡터 개수의 상한값을 설정하여, 설정한 상한값을 모드 판정부(322)에 통지한다.
모드 판정부(322)에는, 움직임 탐색부(321)로부터, 후보로 되는 모든 인터 예측 모드에 관한 움직임 벡터 정보 및 예측 화상 데이터가 공급된다. 또한, 모드 판정부(322)에는, 후술하는 움직임 벡터 버퍼(324)로부터 부호화필의 인접 블록에서 생성된 움직임 벡터 정보가 공급된다. 또한, 모드 판정부(322)에는, 코스트 함수를 산출하기 위해서, 화면 재배열 버퍼(12)로부터 공급된 재배열 후의 화상 데이터가 공급된다.
모드 판정부(322)는, 최적 인터 예측 모드의 후보 모드마다, 화면 재배열 버퍼(12)로부터 공급된 화상 데이터와 움직임 탐색부(321)로부터 공급된 예측 화상 데이터를 이용해서 코스트 함수값을 산출한다. 모드 판정부(322)는, 코스트 함수값이 최소로 되는 모드를 부호화 대상의 매크로 블록에 대한 최적 인터 예측 모드로서 선택한다. 또한, 모드 판정부(322)는, 움직임 벡터 버퍼(324)로부터 공급된 인접하는 매크로 블록의 움직임 벡터 정보를 이용하여, 연속하는 2개의 매크로 블록의 움직임 벡터의 합계 수를 산출한다. 모드 판정부(322)는, 산출한 수가 움직임 벡터 개수 제한 설정부(35)에서 설정된 상한값을 초과하는 모드에 관해서는, 후보 모드로부터 제외해서 최적 인터 예측 모드의 판정을 행한다.
또한, 모드 판정부(322)는, 최적이라고 판정된 모드에 관한 예측 모드 정보 및 움직임 벡터 정보나 코스트 함수값을 움직임 보상 처리부(323)에 출력한다. 또한, 예측 모드 정보에는 상한값이 설정되는 블록의 블록 사이즈를 식별하는 사이즈 식별 정보를 포함시키도록 해도 된다. 또한, 모드 판정부(322)는, 움직임 벡터 버퍼(324)로부터 공급된 움직임 벡터 정보에 기초하여 예측 움직임 벡터를 산출한다. 모드 판정부(322)는, 산출한 예측 움직임 벡터와 움직임 탐색부(321)에서 검출된 움직임 벡터의 차분인 차분 움직임 벡터를 산출하여, 이 차분 움직임 벡터를 나타내는 차분 움직임 벡터 정보를 움직임 벡터 정보에 포함시켜서 움직임 보상 처리부(323)에 출력한다.
움직임 보상 처리부(323)는, 프레임 메모리(25)로부터 공급된 참조 화상의 화상 데이터를 이용하여, 모드 판정부(322)로부터 공급된 움직임 벡터 정보에 기초하여 움직임 보상을 행하고, 예측 화상 데이터를 생성한다. 움직임 보상 처리부(323)는, 생성된 예측 화상 데이터와 코스트 함수값이나 예측 모드 정보(예를 들면 매크로 블록의 크기나 매크로 블록 타입, 예측 모드, 차분 움직임 벡터 정보 등을 포함함)와 예측 화상·최적 모드 선택부(33)에 출력한다. 또한, 움직임 보상 처리부(323)는, 움직임 벡터 정보를 움직임 벡터 버퍼(324)에 출력한다.
움직임 벡터 버퍼(324)는, 움직임 보상 처리부(323)로부터 공급된 움직임 벡터 정보를 일시 기억한다. 또한, 움직임 벡터 버퍼(324)는, 기억하고 있는 움직임 벡터 정보를 모드 판정부(322)에 공급하여, 연속하는 2개의 매크로 블록의 움직임 벡터의 합계 개수나 예측 움직임 벡터의 산출을 가능하게 한다.
<2. 화상 부호화 장치의 동작>
도 11은 화상 부호화 장치의 동작을 도시하는 플로우차트이다. 스텝 ST11에 있어서, A/D 변환부(11)는 입력된 화상 신호를 A/D 변환한다.
스텝 ST12에 있어서 화면 재배열 버퍼(12)는, 화상 재배열을 행한다. 화면 재배열 버퍼(12)는, A/D 변환부(11)로부터 공급된 화상 데이터를 기억하고, 각 픽쳐가 표시하는 순번으로부터 부호화하는 순번으로의 재배열을 행한다.
스텝 ST13에 있어서 감산부(13)는, 예측 오차 데이터의 생성을 행한다. 감산부(13)는, 스텝 ST12에서 재배열된 화상의 화상 데이터와 예측 화상·최적 모드 선택부(33)에서 선택된 예측 화상 데이터의 차분을 산출해서 예측 오차 데이터를 생성한다. 예측 오차 데이터는, 원의 화상 데이터에 비해서 데이터량이 작다. 따라서, 화상을 그대로 부호화하는 경우에 비해, 데이터량을 압축할 수 있다.
스텝 ST14에 있어서 직교 변환부(14)는, 직교 변환 처리를 행한다. 직교 변환부(14)는, 감산부(13)로부터 공급된 예측 오차 데이터를 직교 변환한다. 구체적으로는, 예측 오차 데이터에 대하여 이산 코사인 변환, 카루넨 루베 변환 등의 직교 변환이 행해지고, 변환 계수 데이터를 출력한다.
스텝 ST15에 있어서 양자화부(15)는, 양자화 처리를 행한다. 양자화부(15)는, 변환 계수 데이터를 양자화한다. 양자화 시에는, 후술하는 스텝 ST25의 처리에서 설명되는 바와 같이, 레이트 제어가 행해진다.
스텝 ST16에 있어서 역양자화부(21)는, 역양자화 처리를 행한다. 역양자화부(21)는, 양자화부(15)에 의해 양자화된 변환 계수 데이터를 양자화부(15)의 특성에 대응하는 특성으로 역양자화한다.
스텝 ST17에 있어서 역직교 변환부(22)는, 역직교 변환 처리를 행한다. 역직교 변환부(22)는, 역양자화부(21)에 의해 역양자화된 변환 계수 데이터를 직교 변환부(14)의 특성에 대응하는 특성으로 역직교 변환한다.
스텝 ST18에 있어서 가산부(23)는, 참조 화상 데이터의 생성을 행한다. 가산부(23)는, 예측 화상·최적 모드 선택부(33)로부터 공급된 예측 화상 데이터와, 이 예측 화상과 대응하는 위치의 역직교 변환 후의 데이터를 가산하여, 참조 화상 데이터(복호 화상 데이터)를 생성한다.
스텝 ST19에 있어서 디블록킹 필터(24)는, 필터 처리를 행한다. 디블록킹 필터(24)는, 가산부(23)로부터 출력된 복호 화상 데이터를 필터링해서 블록 왜곡을 제거한다.
스텝 ST20에 있어서 프레임 메모리(25)는, 참조 화상 데이터를 기억한다. 프레임 메모리(25)는 필터 처리 후의 참조 화상 데이터(복호 화상 데이터)를 기억한다.
스텝 ST21에 있어서 인트라 예측부(31)와 움직임 예측·보상부(32)는, 각각 예측 처리를 행한다. 즉, 인트라 예측부(31)는, 인트라 예측 모드의 인트라 예측 처리를 행하고, 움직임 예측·보상부(32)는, 인터 예측 모드의 움직임 예측·보상 처리를 행한다. 예측 처리의 상세 내용은, 도 12를 참조해서 후술하지만, 이 처리에 의해, 후보로 되는 모든 예측 모드에서의 예측 처리가 각각 행해지고, 후보로 되는 모든 예측 모드에서의 코스트 함수값이 각각 산출된다. 그리고, 산출된 코스트 함수값에 기초하여, 최적 인트라 예측 모드와 최적 인터 예측 모드가 선택되고, 선택된 예측 모드에서 생성된 예측 화상과 그 코스트 함수 및 예측 모드 정보가 예측 화상·최적 모드 선택부(33)에 공급된다.
스텝 ST22에 있어서 예측 화상·최적 모드 선택부(33)는, 예측 화상 데이터의 선택을 행한다. 예측 화상·최적 모드 선택부(33)는, 인트라 예측부(31) 및 움직임 예측·보상부(32)로부터 출력된 각 코스트 함수값에 기초하여, 부호화 효율이 최량으로 되는 최적 모드로 결정한다. 또한, 예측 화상·최적 모드 선택부(33)는, 결정한 최적 모드의 예측 화상 데이터를 선택하여, 감산부(13)와 가산부(23)에 출력한다. 이 예측 화상이, 상술한 바와 같이, 스텝 ST13, ST18의 연산에 이용된다. 또한, 선택한 예측 화상 데이터에 대응하는 예측 모드 정보는, 가역 부호화부(16)에 출력된다.
스텝 ST23에 있어서 가역 부호화부(16)는, 가역 부호화 처리를 행한다. 가역 부호화부(16)는, 양자화부(15)로부터 출력된 양자화 데이터를 가역 부호화한다. 즉, 양자화 데이터에 대하여 가변 길이 부호화나 산술 부호화 등의 가역 부호화가 행해지고, 데이터 압축된다. 이때, 상술한 스텝 ST22에 있어서 가역 부호화부(16)에 입력된 예측 모드 정보도 가역 부호화된다. 또한, 양자화 데이터를 가역 부호화해서 생성된 화상 압축 정보에, 예측 모드 정보의 가역 부호화 데이터를 포함시킬 수 있다.
스텝 ST24에 있어서 축적 버퍼(17)는, 축적 처리를 행한다. 축적 버퍼(17)는, 가역 부호화부(16)로부터 출력되는 화상 압축 정보를 축적한다. 이 축적 버퍼(17)에 축적된 화상 압축 정보는, 적절히 읽어내어져 전송로를 거쳐서 복호측에 전송된다.
스텝 ST25에 있어서 레이트 제어부(18)는, 레이트 제어를 행한다. 레이트 제어부(18)는, 축적 버퍼(17)에서 화상 압축 정보를 축적할 때, 오버플로 또는 언더플로가 축적 버퍼(17)에서 발생하지 않도록, 양자화부(15)의 양자화 동작의 레이트를 제어한다.
다음으로, 도 12의 플로우차트를 참조하여, 도 11의 스텝 ST21에 있어서의 예측 처리를 설명한다.
스텝 ST31에 있어서, 인트라 예측부(31)는 인트라 예측 처리를 행한다. 인트라 예측부(31)는 처리 대상의 블록의 화상을, 후보로 되는 모든 인트라 예측 모드에서 인트라 예측한다. 또한, 인트라 예측에 있어서 참조되는 복호 화상의 화상 데이터는, 디블록킹 필터(24)에서 블로킹 필터 처리가 행해지기 전의 복호 화상 데이터가 이용된다. 이 인트라 예측 처리에 의해, 후보로 되는 모든 인트라 예측 모드에서 인트라 예측이 행해지고, 후보로 되는 모든 인트라 예측 모드에 대하여 코스트 함수값이 산출된다. 그리고, 산출된 코스트 함수값에 기초하여, 모두의 인트라 예측 모드 중에서, 부호화 효율이 최량으로 되는 하나의 인트라 예측 모드가 선택된다.
스텝 ST32에 있어서, 움직임 예측·보상부(32)는 인터 예측 처리를 행한다. 움직임 예측·보상부(32)는, 프레임 메모리(25)에 기억되어 있는 디블록킹 필터 처리 후의 복호 화상 데이터를 이용하여, 후보로 되는 인터 예측 모드의 인터 예측 처리를 행한다. 이 인터 예측 처리에 의해, 후보로 되는 모든 인터 예측 모드에서 예측 처리가 행해지고, 후보로 되는 모든 인터 예측 모드에 대하여 코스트 함수값이 산출된다. 그리고, 산출된 코스트 함수값에 기초하여, 모두의 인터 예측 모드 중에서, 부호화 효율이 최량으로 되는 하나의 인터 예측 모드가 선택된다.
다음으로, 도 11의 스텝 ST31에 있어서의 인트라 예측 처리에 대해서 도 13의 플로우차트를 참조하여 설명한다.
스텝 ST41로 인트라 예측부(31)는, 각 예측 모드의 인트라 예측을 행한다. 인트라 예측부(31)는, 블로킹 필터 처리 전의 복호 화상 데이터를 이용하여, 인트라 예측 모드마다 예측 화상 데이터를 생성한다.
스텝 ST42에서 인트라 예측부(31)는, 각 예측 모드에서의 코스트 함수값을 산출한다. 코스트 함수값으로서는, H.264/AVC 방식에 있어서의 참조 소프트웨어인 JM(Joint Model)에서 정해져 있는 바와 같이, High Complexity 모드나, Low Complexity 모드 중 어느 하나의 방법에 기초해서 행한다.
즉, High Complexity 모드에 있어서는, 스텝 ST42의 처리로서, 후보로 되는 모든 예측 모드에 대하여, 가령 가역 부호화 처리까지를 행하고, 다음의 수학식 15로 나타내는 코스트 함수값을 각 예측 모드에 대하여 산출한다.
Figure pct00015
Ω은, 해당 블록 내지 매크로 블록을 부호화하기 위한 후보로 되는 예측 모드의 전체 집합을 나타내고 있다. D는, 예측 모드에서 부호화를 행한 경우의 복호 화상과 입력 화상의 차분 에너지(왜곡)를 나타내고 있다. R은, 직교 변환 계수나 예측 모드 정보 등을 포함한 발생 부호량, λ는, 양자화 파라미터 QP의 함수로서 공급되는 라그랑쥬 승수이다.
즉, High Complexity 모드에서의 부호화를 행하기 위해서는, 상기 파라미터 D 및 R을 산출하기 위해서, 후보로 되는 모든 예측 모드에 의해, 한번, 가인코드 처리를 행할 필요가 있어, 보다 높은 연산량을 요한다.
한편, Low Complexity 모드에 있어서는, 스텝 ST42의 처리로서, 후보로 되는 모든 예측 모드에 대하여, 예측 화상의 생성, 및, 움직임 벡터 정보나 예측 모드 정보 등의 헤더 비트까지를 산출하고, 다음의 수학식 16으로 나타내는 코스트 함수값을 각 예측 모드에 대하여 산출한다.
Figure pct00016
Ω은, 해당 블록 내지 매크로 블록을 부호화하기 위한 후보로 되는 예측 모드의 전체 집합을 나타내고 있다. D는, 예측 모드에서 부호화를 행한 경우의 복호 화상과 입력 화상의 차분 에너지(왜곡)를 나타내고 있다. Header_Bit는, 예측 모드에 대한 헤더 비트, QP2Quant는, 양자화 파라미터 QP의 함수로서 공급되는 함수이다.
즉, Low Complexity 모드에 있어서는, 각각의 예측 모드에 관해서, 예측 처리를 행할 필요가 있지만, 복호화 화상까지는 필요없기 때문에, High Complexity 모드보다 낮은 연산량에서의 실현이 가능하다.
스텝 ST43에서 인트라 예측부(31)는, 최적 인트라 예측 모드를 결정한다. 인트라 예측부(31)는, 스텝 ST42에 있어서 산출된 코스트 함수값에 기초하여, 이들 중에서, 코스트 함수값이 최소값인 하나의 인트라 예측 모드를 선택해서 최적 인트라 예측 모드로 결정한다.
다음으로, 도 14의 플로우차트를 참조하여, 도 11의 스텝 ST32의 인터 예측 처리에 대해서 설명한다. 스텝 ST51에서 움직임 벡터 개수 제한 설정부(35)는, 움직임 벡터 개수의 상한값 설정을 행한다.
도 15는, 움직임 벡터 개수의 상한값 설정을 도시하는 플로우차트이다. 스텝 ST61에서 움직임 벡터 개수 제한 설정부(35)는, 매크로 블록의 크기를 판별한다. 움직임 벡터 개수 제한 설정부(35)는, 움직임 탐색부(321)로부터 인터 예측을 행하는 경우의 매크로 블록의 크기를 나타내는 사이즈 식별 정보를 취득하여, 매크로 블록의 크기를 판별해서 스텝 ST62로 진행한다.
스텝 ST62에서 움직임 벡터 개수 제한 설정부(35)는, 움직임 벡터 개수의 상한값을 산출한다. 움직임 벡터 개수 제한 설정부(35)는, 매크로 블록의 크기에 따라서, 개수의 상한값을 산출한다. 여기서, 매크로 블록이 16×16 화소의 매크로 블록보다도 확장된 사이즈인 경우, 움직임 벡터 개수 제한 설정부(35)는, 상한값을 16×16 화소의 매크로 블록에 있어서의 상한값보다도 크게 하여, 움직임 벡터 개수가 필요 이상으로 제한되지 않고 리얼타임 동작을 메모리 밴드 폭의 관점으로부터 보증한다. 예를 들면, 움직임 벡터 개수 제한 설정부(35)는, 매크로 블록의 크기가 16×16 화소일 때의 움직임 벡터 개수의 상한값이 p개이며, 매크로 블록의 크기가 (16×m)×(16×n) 화소인 경우, 상한값을 (m×n×p)개로 해서, 도 14의 스텝 ST52로 복귀된다.
스텝 ST52에서 움직임 예측·보상부(32)는, 움직임 예측 처리를 행한다. 움직임 예측·보상부(32)는, 예측 모드마다 움직임 예측을 행해서 움직임 벡터를 검출해서 스텝 ST53으로 진행한다.
스텝 ST53에서 움직임 예측·보상부(32)는, 움직임 벡터 부호화 처리를 행한다. 움직임 예측·보상부(32)는, 각 예측 모드에서 검출된 움직임 벡터와 부호화필의 블록의 움직임 벡터로부터 생성한 예측 움직임 벡터의 차분인 차분 움직임 벡터를 나타내는 움직임 벡터 정보를 생성한다. 움직임 예측·보상부(32)는, 생성된 움직임 벡터 정보를 가역 부호화해서 스텝 ST54로 진행한다.
스텝 ST54에서 움직임 예측·보상부(32)는, 각 예측 모드에 대해서 움직임 벡터와 참조 화상을 결정한다. 움직임 예측·보상부(32)는, 각 움직임 보상 블록 사이즈에 대해서 모드마다 움직임 벡터와, 그 움직임 벡터의 검출에 이용한 참조 화상을 결정해서 스텝 ST55로 진행한다. 또한, 움직임 예측·보상부(32)는, 연속하는 2개의 매크로 블록의 움직임 벡터의 합계 개수가 상한값을 초과하는 예측 모드를, 최적 인터 예측 모드의 후보로부터 제외한다.
스텝 ST55에서 움직임 예측·보상부(32)는, 각 예측 모드에서의 코스트 함수값을 산출한다. 움직임 예측·보상부(32)는, 상술한 수학식 (15) 또는 수학식 (16)을 이용해서 코스트 함수값의 산출을 행한다. 또한, 인터 예측 모드에 대한 코스트 함수값의 산출에는, H.264/AVC 방식에 있어서 정해져 있는 스킵드 매크로 블록이나 다이렉트 모드의 코스트 함수값의 평가도 포함된다.
스텝 ST56에서 움직임 예측·보상부(32)는, 최적 인터 예측 모드를 결정한다. 움직임 예측·보상부(32)는, 스텝 ST55에 있어서 산출된 코스트 함수값에 기초하여, 이들 중에서, 코스트 함수값이 최소값인 하나의 예측 모드를 선택해서 최적 인터 예측 모드로 결정한다.
이와 같이, 도 1에 도시하는 화상 처리 장치나 도 11에 도시하는 화상 처리 방법에 따르면, 움직임 벡터 개수의 상한값이 매크로 블록의 크기에 따라서 설정된다. 따라서, 상한값을 초과하지 않도록 움직임 벡터 개수를 제한해도, 움직임 벡터 개수를 필요 이상으로 제한하지 않고 리얼타임 동작을 메모리 밴드 폭의 관점으로부터 보증할 수 있다. 또한, 움직임 벡터 개수가 필요 이상으로 제한되어 화질이 열화되어 버리는 것을 방지할 수 있다. 즉, 확장된 매크로 블록에 대응한 화상 처리를 행할 수 있다.
<3. 화상 부호화 장치의 다른 구성>
다음으로, 화상 부호화 장치의 다른 구성으로서, 움직임 벡터 개수가 상한값을 초과하지 않게 하기 위한 제어 횟수를 프레임마다 감시함으로써, 부호화 처리를 보다 효율 좋게 행할 수 있도록 하는 경우에 대해서 설명한다.
도 16은 화상 부호화 장치의 다른 구성을 나타내고 있다. 화상 부호화 장치(10a)는, 화상 부호화 장치(10)와 마찬가지로, 아날로그/디지털 변환부(A/D 변환부)(11), 화면 재배열 버퍼(12), 감산부(13), 직교 변환부(14), 양자화부(15), 가역 부호화부(16), 축적 버퍼(17), 레이트 제어부(18)를 구비하고 있다. 또한, 화상 부호화 장치(10a)는, 화상 부호화 장치(10)와 마찬가지로, 역양자화부(21), 역직교 변환부(22), 가산부(23), 디블록킹 필터(24), 프레임 메모리(25), 인트라 예측부(31), 움직임 예측·보상부(32a), 예측 화상·최적 모드 선택부(33), 움직임 벡터 개수 제한 설정부(35)를 구비하고 있다. 또한, 화상 부호화 장치(10a)는, 씬 체인지 검출부(29)를 구비하고 있다. 또한, 이하의 설명에서는, 화상 부호화 장치(10)와 상위한 부분에 대해서만 설명을 행한다.
씬 체인지 검출부(29)는, 화상 재배열 버퍼(12)로부터 출력된 입력 화상 데이터를 이용해서 씬의 전환을 검출하여, 씬 체인지 검출 결과를 움직임 예측·보상부(32a)에 출력한다.
도 17은, 움직임 예측·보상부의 다른 구성과 움직임 벡터 개수 제한 설정부를 나타내고 있다.
움직임 예측·보상부(32a)는 움직임 탐색부(321a), 모드 판정부(322a), 움직임 보상 처리부(323), 움직임 벡터 버퍼(324)를 구비하고 있다.
움직임 탐색부(321a)에는, 화면 재배열 버퍼(12)로부터 공급된 재배열 후의 화상 데이터와, 프레임 메모리(25)로부터 읽어낸 참조 화상 데이터가 공급된다. 또한, 움직임 탐색부(321a)에는, 씬 체인지 검출부(29)로부터 씬 체인지 검출 결과와 모드 판정부(322a)로부터 움직임 벡터 개수가 상한값을 초과하지 않게 하기 위한 제어 횟수가 공급된다.
움직임 탐색부(321a)는, 후보로 되는 모든 인터 예측 모드에서 움직임 탐색 처리를 행하고, 움직임 탐색 처리에 의해 검출한 움직임 벡터를 나타내는 움직임 벡터 정보를 모드 판정부(322a)에 출력한다. 또한, 움직임 탐색부(321a)는, 검출한 움직임 벡터에 기초하여 참조 화상 데이터의 움직임 보상을 행하고 예측 화상 데이터를 생성해서 모드 판정부(322a)에 출력한다. 또한, 움직임 탐색부(321a)는, 상한값이 설정되는 블록의 블록 사이즈를 식별하기 위한 사이즈 식별 정보를 움직임 벡터 개수 제한 설정부(35)에 출력한다. 또한, 움직임 탐색부(321a)는, 움직임 벡터 개수가 상한값을 초과하지 않게 하기 위한 제어 횟수가 소정 횟수보다도 커진 경우, 다음의 프레임에서 매크로 블록을 크게 한다. 또한, 움직임 탐색부(321a)는, 씬 체인지 검출 결과에 의해 씬 체인지가 검출된 것이 나타내진 경우, 매크로 블록의 크기를 소정 사이즈로 복귀시키는 처리를 행한다.
모드 판정부(322a)에는, 움직임 탐색부(321a)로부터, 후보로 되는 모든 인터 예측 모드에 관한 움직임 벡터 정보 및 예측 화상 데이터가 공급된다. 또한, 모드 판정부(322a)에는, 움직임 벡터 버퍼(324)로부터 부호화필의 인접 블록에서 생성된 움직임 벡터 정보가 공급된다. 또한, 모드 판정부(322a)에는, 코스트 함수를 산출하기 위해서, 화면 재배열 버퍼(12)로부터 공급된 재배열 후의 화상 데이터가 공급된다.
모드 판정부(322a)는, 최적 인터 예측 모드의 후보 모드마다, 화면 재배열 버퍼(12)로부터 공급된 화상 데이터와 움직임 탐색부(321a)로부터 공급된 예측 화상 데이터를 이용해서 코스트 함수값을 산출한다. 모드 판정부(322a)는, 코스트 함수값이 최소로 되는 모드를 부호화 대상의 매크로 블록에 대한 최적 인터 예측 모드로서 선택한다.
또한, 모드 판정부(322a)는, 움직임 벡터 버퍼(324)로부터 공급된 인접하는 매크로 블록의 움직임 벡터 정보를 이용하여, 연속하는 2개의 매크로 블록의 움직임 벡터의 합계 개수를 산출한다. 모드 판정부(322a)는, 코스트 함수값이 최소로 되는 모드에 있어서의 움직임 벡터의 합계 개수가 상한값을 초과하는 경우, 합계값이 상한값을 초과하는 일없이 코스트 함수값이 최소로 되는 모드를 최적 인터 예측 모드로 하는 제어, 예를 들면 연속하는 2개의 매크로 블록의 움직임 벡터의 합계 개수가 상한값을 초과하는 예측 모드를, 최적 인터 예측 모드의 후보로부터 제외하는 제어를 행하고, 프레임마다의 제어 횟수(매크로 블록수)를 프레임마다 움직임 탐색부(321a)에 출력한다.
또한, 모드 판정부(322a)는, 최적이라고 판정된 모드에 관한 예측 모드 정보 및 움직임 벡터 정보나 코스트 함수값을 움직임 보상 처리부(323)에 출력한다. 또한, 모드 판정부(322a)는, 움직임 벡터 버퍼(324)로부터 공급된 움직임 벡터 정보에 기초하여 예측 움직임 벡터를 산출한다. 모드 판정부(322a)는, 산출한 예측 움직임 벡터와 움직임 탐색부(321a)에서 검출된 움직임 벡터의 차분인 차분 움직임 벡터를 산출하여, 이 차분 움직임 벡터를 나타내는 차분 움직임 벡터 정보를 움직임 벡터 정보에 포함시켜서 움직임 보상 처리부(323)에 출력한다.
이와 같이, 움직임 벡터 개수가 상한값을 초과하지 않게 하기 위한 제어 횟수를 프레임마다 감시하여, 제어 횟수가 소정 횟수보다도 커진 경우, 다음 프레임에서 매크로 블록을 크게 하면, 상한값이 커져 움직임 벡터 개수의 제한이 완만해진다. 따라서, 움직임 벡터 개수가 상한값을 초과하지 않게 하기 위한 제어 횟수를 적게 하는 것이 가능해져, 효율이 좋은 부호화 처리를 행할 수 있다. 또한, 씬 체인지가 검출되었을 때에는 매크로 블록이 미리 설정된 사이즈로 복귀되므로, 씬 체인지가 행해져서 화상의 연속성이 없어졌을 때, 미리 설정된 매크로 블록의 크기로 부호화 처리를 행할 수 있다.
<4. 화상 부호화 장치의 다른 동작>
다음으로, 화상 부호화 장치의 다른 동작으로서, 화상 부호화 장치는, 상한값을 초과하는 움직임 벡터 개수를 허용하는 동작 모드를 갖고 있는 경우를 설명한다. 또한, 이 경우의 화상 부호화 장치의 구성은, 도 1, 도 10과 마찬가지이다.
움직임 벡터 개수의 제한은, 상술한 바와 같이 리얼타임 동작을 메모리 밴드 폭의 관점으로부터 보증하기 위해서 마련되어 있다. 따라서, 리얼타임 동작을 보증할 필요가 없는 동작 모드를 마련하여, 상한값을 초과한 움직임 벡터 개수를 허용할 수 있게 해도 된다. 이 경우, 움직임 벡터 개수는 상한값에 제한받지 않기 때문에, 보다 최적인 예측 화상을 생성하는 것이 가능하게 된다.
또한, 이러한 동작 모드를 이용하는 경우, 화상 압축 정보에 있어서의 시퀀스 파라미터 세트 등에 있어서, 리얼타임 복호화 처리를 보증하지 않는 것을 나타내는 정보, 즉 움직임 벡터의 수가 상한값을 초과하는 것을 나타내는 판별 정보(예를 들면 플래그)를 마련한다. 이러한 플래그를 마련함으로써, 화상 압축 정보의 복호화를 행하는 화상 복호화 장치는, 플래그의 검출을 행함으로써 움직임 벡터 개수가 상한값을 초과하는 것을 용이하게 판별할 수 있다. 따라서, 리얼타임 동작의 복호화 처리가 보증되지 않는 것을 유저 등에 대하여 용이하게 통지하는 것이 가능하게 된다.
<5. 화상 복호화 장치의 구성>
입력 화상을 부호화해서 생성된 화상 압축 정보는, 소정의 전송로나 기록 매체 등을 거쳐서 화상 복호화 장치에 공급되어 복호된다.
도 18은, 화상 압축 정보의 복호화를 행하는 화상 처리 장치인 화상 복호화 장치의 구성을 나타내고 있다. 화상 복호화 장치(50)은, 축적 버퍼(51), 가역 복호화부(52), 역양자화부(53), 역직교 변환부(54), 가산부(55), 디블록킹 필터(56), 화면 재배열 버퍼(57), 디지털/아날로그 변환부(D/A 변환부)(58)를 구비하고 있다. 또한, 화상 복호화 장치(50)는, 프레임 메모리(61), 인트라 예측부(62), 움직임 보상부(63), 셀렉터(64), 움직임 벡터 개수 제한 설정부(65)를 구비하고 있다.
축적 버퍼(51)는, 전송되어 온 화상 압축 정보를 축적한다. 가역 복호화부(52)는, 축적 버퍼(51)로부터 공급된 화상 압축 정보를, 도 1의 가역 부호화부(16)의 부호화 방식에 대응하는 방식으로 복호화한다.
가역 복호화부(52)는, 화상 압축 정보를 복호해서 얻어진 예측 모드 정보를 인트라 예측부(62)나 움직임 보상부(63)에 출력한다.
역양자화부(53)는, 가역 복호화부(52)에서 복호된 양자화 데이터를, 도 1의 양자화부(15)의 양자화 방식에 대응하는 방식으로 역양자화한다. 역직교 변환부(54)는, 도 1의 직교 변환부(14)의 직교 변환 방식에 대응하는 방식으로 역양자화부(53)의 출력을 역직교 변환해서 가산부(55)에 출력한다.
가산부(55)는, 역직교 변환 후의 데이터와 셀렉터(64)로부터 공급되는 예측 화상 데이터를 가산해서 복호 화상 데이터를 생성해서 디블록킹 필터(56)와 인트라 예측부(62)에 출력한다.
디블록킹 필터(56)는, 가산부(55)로부터 공급된 복호 화상 데이터에 대하여 디블록킹 필터 처리를 행하고, 블록 왜곡을 제거하고나서 프레임 메모리(61)에 공급하고 축적시킴과 함께, 화면 재배열 버퍼(57)에 출력한다.
화면 재배열 버퍼(57)는, 화상의 재배열을 행한다. 즉, 도 1의 화면 재배열 버퍼(12)에 의해 부호화의 순번을 위해 재배열된 프레임의 순번이, 원래의 표시의 순번대로 재배열되어, D/A 변환부(58)에 출력된다.
D/A 변환부(58)는, 화면 재배열 버퍼(57)로부터 공급된 화상 데이터를 D/A 변환하고, 도시하지 않는 디스플레이에 출력함으로써 화상을 표시시킨다.
프레임 메모리(61)는, 디블록킹 필터(24)로부터 공급된 필터 처리 후의 복호 화상 데이터를 기억한다.
인트라 예측부(62)는, 가역 복호화부(52)로부터 공급된 예측 모드 정보에 기초하여, 가산부(55)로부터 공급된 복호 화상 데이터로부터 예측 화상의 생성을 행하고, 생성한 예측 화상 데이터를 셀렉터(64)에 출력한다.
움직임 보상부(63)는, 가역 복호화부(52)로부터 공급된 예측 모드 정보나 움직임 벡터에 기초하여, 프레임 메모리(61)로부터 참조 화상의 화상 데이터를 읽어내어 움직임 보상을 행하고, 예측 화상 데이터를 생성해서 셀렉터(64)에 출력한다. 또한, 움직임 보상부(63)는, 예측 모드 정보로 나타내져 있는 매크로 블록의 크기를 움직임 벡터 개수 제한 설정부(65)에 출력한다. 또한, 움직임 보상부(63)는, 연속하는 2개의 매크로 블록이 움직이는 벡터의 합계 개수가, 움직임 벡터 개수 제한 설정부(65)로부터 통지된 상한값을 초과하는지 판별하고, 판별 결과를, 예를 들면 시스템 컨트롤러 등에 출력한다.
셀렉터(64)는, 인트라 예측부(62)에서 생성된 예측 화상 데이터를 가산부(55)에 출력한다. 또한, 셀렉터(64)는, 움직임 보상부(63)에서 생성된 예측 화상 데이터를 가산부(55)에 출력한다.
움직임 벡터 개수 제한 설정부(65)는, 움직임 보상부(63)로부터 통지된 매크로 블록의 크기에 따라서 움직임 벡터 개수의 상한값을 설정하여, 설정한 상한값을 움직임 보상부(63)에 통지한다. 여기서, 매크로 블록이 16×16 화소의 매크로 블록보다도 확장된 사이즈인 경우, 움직임 벡터 개수 제한 설정부(65)는, 상한값을 16×16 화소의 매크로 블록에 있어서의 상한값보다도 크게 하여, 움직임 벡터 개수가 필요 이상으로 제한되지 않고 리얼타임 동작이 메모리 밴드 폭의 관점으로부터 보증 가능한지 판별할 수 있게 한다. 예를 들면, 움직임 벡터 개수 제한 설정부(65)는, 매크로 블록의 크기가 16×16 화소일 때의 움직임 벡터 개수의 상한값이 p개이며, 매크로 블록의 크기가 (16×m)×(16×n) 화소인 경우, 상한값을 (m×n×p)개로 해서, 매크로 블록의 크기에 대한 상한값을 소정의 비율로 함으로써, 움직임 벡터 개수가 필요 이상으로 제한되지 않고 리얼타임 동작이 메모리 밴드 폭의 관점으로부터 보증 가능한지 판별할 수 있게 한다.
도 19는, 움직임 보상부의 구성과 움직임 벡터 개수 제한 설정부를 나타내고 있다.
움직임 보상부(63)는, 매크로 블록 사이즈 버퍼(631), 움직임 벡터 생성부(632), 모드 버퍼(633), 움직임 보상 처리부(634)를 구비하고 있다.
매크로 블록 사이즈 버퍼(631)는, 가역 복호화부(52)로부터 공급된 사이즈 식별 정보를 기억한다. 또한,매크로 블록 사이즈 버퍼(631)는, 기억하고 있는 사이즈 식별 정보를 움직임 벡터 개수 제한 설정부(65)에 출력한다.
움직임 벡터 개수 제한 설정부(65)는, 매크로 블록의 크기에 따라서 움직임 벡터 개수의 상한값을 결정하여, 이 상한값을 움직임 벡터 생성부(632)에 통지한다.
움직임 벡터 생성부(632)는, 움직임 벡터 정보를 재구축하기 위해서, 시공간에서 인접하는 블록에 관한 움직임 벡터 정보를 저장하는 버퍼를 구비하고 있다. 움직임 벡터 생성부(632)는, 인접 블록의 움직임 벡터 정보와 가역 복호화부로부터 공급된 예측 모드 정보로 나타내진 차분 움직임 벡터 정보를 이용하여, 해당 블록에 관한 움직임 벡터 정보를 재구축한다. 또한, 움직임 벡터 생성부(632)는, 재구축된 움직임 벡터 개수가 움직임 벡터 개수 제한 설정부(65)에서 결정된 상한값을 초과하는지의 여부의 판정을 행하고, 판정 결과를 시스템 컨트롤러 등(도시 생략)에 출력한다.
모드 버퍼(633)는, 가역 복호화부(52)로부터 공급된 예측 모드를 나타내는 예측 모드 정보를 기억한다. 또한, 모드 버퍼(633)는, 기억하고 있는 예측 모드 정보를 움직임 보상 처리부(634)에 출력한다.
움직임 보상 처리부(634)는, 예측 모드 정보에 기초해서 프레임 메모리(61)로부터 참조 화상의 화상 데이터를 읽어내고, 움직임 벡터 생성부(632)에서 생성된 움직임 벡터 정보에 기초하여 움직임 보상을 행하고, 예측 화상 데이터를 생성한다. 움직임 보상 처리부(634)는, 생성한 예측 화상 데이터를 셀렉터(64)에 출력한다.
<6. 화상 복호화 장치의 동작>
다음으로, 도 20의 플로우차트를 참조하여, 화상 복호화 장치(50)에서 행해지는 화상 복호 처리 동작에 대해서 설명한다.
스텝 ST81에서 축적 버퍼(51)는, 전송되어 온 화상 압축 정보를 축적한다. 스텝 ST82에서 가역 복호화부(52)는, 가역 복호화 처리를 행한다. 가역 복호화부(52)는, 축적 버퍼(51)로부터 공급되는 화상 압축 정보를 복호화한다. 즉, 도 1의 가역 부호화부(16)에 의해 부호화된 각 픽쳐의 양자화 데이터가 얻어진다. 또한, 가역 복호화부(52), 화상 압축 정보에 포함되어 있는 예측 모드 정보의 가역 복호화를 행하고, 얻어진 예측 모드 정보가 인트라 예측 모드에 관한 정보인 경우, 예측 모드 정보를 인트라 예측부(62)에 출력한다. 또한, 가역 복호화부(52)는, 예측 모드 정보가 인터 예측 모드에 관한 정보인 경우, 예측 모드 정보를 움직임 보상부(63)에 출력한다.
스텝 ST83에 있어서 역양자화부(53)는, 역양자화 처리를 행한다. 역양자화부(53)는, 가역 복호화부(52)에 의해 복호된 양자화 데이터를, 도 1의 양자화부(15)의 특성에 대응하는 특성으로 역양자화한다.
스텝 ST84에 있어서 역직교 변환부(54)는, 역직교 변환 처리를 행한다. 역직교 변환부(54)는, 역양자화부(53)에 의해 역양자화된 변환 계수 데이터를, 도 1의 직교 변환부(14)의 특성에 대응하는 특성으로 역직교 변환한다.
스텝 ST85에 있어서 가산부(55)는, 복호 화상 데이터의 생성을 행한다. 가산부(55)는, 역직교 변환 처리를 행함으로써 얻어진 데이터와, 후술하는 스텝 ST89에서 선택된 예측 화상 데이터를 가산해서 복호 화상 데이터를 생성한다. 이에 의해 원래의 화상이 복호된다.
스텝 ST86에 있어서 디블록킹 필터(56)는, 필터 처리를 행한다. 디블록킹 필터(56)는, 가산부(55)로부터 출력된 복호 화상 데이터의 디블록킹 필터 처리를 행하고, 복호 화상에 포함되어 있는 블록 왜곡을 제거한다.
스텝 ST87에 있어서 프레임 메모리(61)는, 복호 화상 데이터의 기억 처리를 행한다.
스텝 ST88에 있어서 인트라 예측부(62)와 움직임 보상부(63)는, 예측 화상 생성 처리를 행한다. 인트라 예측부(62)와 움직임 보상부(63)는, 가역 복호화부(52)로부터 공급되는 예측 모드 정보에 대응해서 각각 예측 화상 생성 처리를 행한다.
즉, 가역 복호화부(52)로부터 인트라 예측의 예측 모드 정보가 공급된 경우, 인트라 예측부(62)는, 예측 모드 정보에 기초해서 예측 화상 데이터를 생성한다. 또한, 가역 복호화부(52)로부터 인터 예측의 예측 모드 정보가 공급된 경우, 움직임 보상부(63)는, 예측 모드 정보에 기초하여 움직임 보상을 행하고 예측 화상 데이터를 생성한다.
스텝 ST89에 있어서, 셀렉터(64)는 예측 화상 데이터의 선택을 행한다. 셀렉터(64)는, 인트라 예측부(62)로부터 공급된 예측 화상과 움직임 보상부(63)에서 생성된 예측 화상 데이터를 선택해서 가산부(55)에 공급하여, 상술한 바와 같이, 스텝 ST85에 있어서 역직교 변환부(54)의 출력과 가산시킨다.
스텝 ST90에 있어서 화면 재배열 버퍼(57)는, 화상 재배열을 행한다. 즉 화면 재배열 버퍼(57)는, 도 1의 화상 부호화 장치(10)의 화면 재배열 버퍼(12)에 의해 부호화를 위해 재배열된 프레임의 순서가, 원래의 표시의 순서로 재배열된다.
스텝 ST91에 있어서, D/A 변환부(58)는, 화면 재배열 버퍼(57)로부터의 화상 데이터를 D/A 변환한다. 이 화상이 도시하지 않는 디스플레이에 출력되고, 화상이 표시된다.
다음으로, 도 21의 플로우차트를 참조하여, 도 20의 스텝 ST88의 예측 화상 생성 처리에 대해서 설명한다.
스텝 ST101에서 가역 복호화부(52)는, 대상 블록이 인트라 부호화되어 있는지의 여부를 판정한다. 가역 복호화부(52)는, 가역 복호화를 행함으로써 얻어진 예측 모드 정보가 인트라 예측의 예측 모드 정보인 경우, 예측 모드 정보를 인트라 예측부(62)에 공급해서 스텝 ST102로 진행한다. 또한, 가역 복호화부(52)는, 예측 모드 정보가 인터 예측의 예측 모드 정보인 경우, 예측 모드 정보를 움직임 보상부(63)에 공급해서 스텝 ST103으로 진행한다.
스텝 ST102에서 인트라 예측부(62)는, 인트라 예측 화상 생성 처리를 행한다. 인트라 예측부(62)는, 가산부(55)로부터 공급된 복호 화상 데이터와 예측 모드 정보를 이용해서 인트라 예측을 행하고, 예측 화상 데이터를 생성한다.
스텝 ST103에서 움직임 보상부(63)는, 인터 예측 화상 생성 처리를 행한다. 움직임 보상부(63)는, 가역 복호화부(52)로부터의 예측 모드 정보나 움직임 벡터에 기초하여, 프레임 메모리(61)로부터 읽어낸 참조 화상의 움직임 보상을 행하고, 예측 화상 데이터를 생성한다.
도 22는, 스텝 ST103의 인터 예측 화상 생성 처리를 도시하는 플로우차트이다. 스텝 ST111에서 움직임 벡터 개수 제한 설정부(65)는, 도 15와 마찬가지의 처리를 행하고, 움직임 벡터 개수의 상한값 설정을 행한다. 움직임 벡터 개수 제한 설정부(65)는, 매크로 블록의 크기에 따라서, 움직임 벡터 개수의 상한값을 설정한다. 여기서, 매크로 블록이 16×16 화소의 매크로 블록보다도 확장된 사이즈인 경우, 움직임 벡터 개수 제한 설정부(65)는, 상한값을 16×16 화소의 매크로 블록에 있어서의 상한값보다도 크게 하여, 움직임 벡터 개수가 필요 이상으로 제한되지 않고 리얼타임 동작을 메모리 밴드 폭의 관점으로부터 보증 가능한지 판별할 수 있게 한다. 예를 들면, 움직임 벡터 개수 제한 설정부(65)는, 매크로 블록의 크기가 16×16 화소일 때의 움직임 벡터 개수의 상한값이 p개이며, 매크로 블록의 크기가 (16×m)×(16×n) 화소인 경우, 상한값을 (m×n×p)개로 해서 스텝 ST112로 진행한다.
스텝 ST112에서 움직임 보상부(63)는, 예측 모드 정보를 취득한다. 움직임 보상부(63)는, 예측 화상 데이터를 생성하기 위해서, 예측 모드 정보를 가역 복호화부(52)로부터 취득해서 스텝 ST113으로 진행한다.
스텝 ST113에서 움직임 보상부(63)는, 움직임 벡터 정보를 재구축한다. 움직임 보상부(63)는, 예를 들면 복호화필의 인접 블록의 움직임 벡터로부터 예측 움직임 벡터 정보를 생성하여, 이 예측 움직임 벡터 정보와 예측 모드 정보로 나타내진 차분 움직임 벡터 정보로부터 움직임 벡터 정보를 재구축해서 스텝 ST114로 진행한다.
스텝 ST114에서 움직임 보상부(63)는, 움직임 벡터 개수의 감시를 행한다. 움직임 보상부(63)는, 인접하는 2개의 매크로 블록의 움직임 벡터의 합계 개수가, 스텝 ST111에서 결정된 상한값을 초과하는지 감시한다. 움직임 보상부(63)는, 움직임 벡터 개수가 상한값을 초과한 경우, 예를 들면 시스템 컨트롤러 등에 그 취지를 통지해서 스텝 ST115로 진행한다.
스텝 ST115에서 움직임 보상부(63)는, 예측 화상 데이터의 생성을 행한다. 움직임 보상부(63)는 스텝 ST112에서 취득한 예측 모드 정보나, 스텝 ST113에서 재구축한 움직임 벡터 정보에 기초하여, 프레임 메모리(61)로부터 참조 화상 데이터를 읽어내어 움직임 보상을 행하고, 예측 화상 데이터를 생성해서 셀렉터(64)에 출력한다.
이와 같이, 도 18에 도시하는 화상 처리 장치나 도 20에 도시하는 화상 처리 방법에 따르면, 움직임 벡터 개수의 상한값이 매크로 블록의 크기에 따라서 설정되어, 움직임 벡터 개수가 설정된 상한값을 초과하는지의 여부의 감시 결과가 출력된다. 따라서, 감시 결과에 기초하여, 리얼타임 동작이 보증되는지 용이하게 판별하는 것이 가능해지고, 움직임 벡터 개수가 상한값을 초과해서 리얼타임 동작이 보증되지 않는 경우, 그 취지를 표시나 음성 등으로 유저에게 통지할 수 있다.
또한, 화상 압축 정보에 움직임 벡터 개수가 상한값을 초과하는 것을 나타내는 판별 정보가 포함되는 경우, 이 판별 정보에 기초하여 움직임 벡터 개수가 상한값을 초과하는지를 나타내는 판별 결과를 출력함으로써, 리얼타임 동작이 보증되지 않는 경우에는 표시나 음성 등으로 유저에게 그 취지를 통지하는 것이 가능하게 된다.
또한, 매크로 블록의 사이즈는, 상술한 실시 형태에 한정되지 않고, 다른 사이즈이어도 된다. 현재, H.264/AVC 방식보다 한층 더한 부호화 효율의 향상을 목적으로 하여, ITU-T와 ISO/IEC의 공동의 표준화 단체인 JCTVC(Joint Collaboration Team-Video Coding)에 의해, HEVC(High Efficiency Video Coding)라고 불리는 화상 부호화 방식의 표준화가 진행되고 있다.
HEVC에 있어서, 부호화 단위(CU:Coding Unit)의 사이즈는 시퀀스마다 동적으로 지정될 수 있다. HEVC의 부호화 단위는 부호화 트리 블록(Coding Tree Block)이라고도 불리며, 최대의 사이즈를 갖는 부호화 단위를 최대 부호화 단위(LCU:Largest Coding Unit), 최소의 사이즈를 갖는 부호화 단위를 최소부호화 단위(SCU:Smallest Coding Unit)라고 한다. 화상 압축 정보의 일부인 시퀀스 파라미터 세트에 있어서 이들 LCU 및 SCU의 사이즈를 지정함으로써, 사용 가능한 부호화 단위의 사이즈의 범위가 정의된다. 또한, split_flag의 값을 지정함으로써, 개개의 시퀀스에 있어서 사용되는 부호화 단위의 사이즈가 특정된다.
또한, 부호화 단위의 형상은 통상은 정사각형이며, 1변의 사이즈가 2의 누승으로 표현된다. 또한, 부호화 단위는, 인트라 예측 또는 인터 예측의 처리 단위인 예측 단위(PU:Prediction Unit)로 분할될 수 있다. 또한, 부호화 단위는, 직교 변환의 처리 단위인 변환 단위(TU:Transform Unit)로도 분할될 수 있다. HEVC에서는, 4×4 화소 및 8×8 화소 외에, 16×16 화소 및 32×32 화소의 사이즈를 갖는 변환 단위를 사용할 수 있다. 이 때문에, 본 명세서에서는 블록으로서, 매크로 블록뿐만 아니라, 부호화 단위, 최대 부호화 단위 등 유닛의 개념을 포함한다. 또한, 상술한 움직임 벡터 개수의 상한값은, 예를 들면 모든 CU에 설정할 필요는 없고, 기준으로 되는 상한값과 상이한 값을 설정하고 싶은 블록만 설정하는 것도 가능하다. 이 경우, 기준으로 되는 상한값과 상이한 값을 설정하고 싶은 블록만 설정하기 위한 식별 정보를 부호화 스트림에 포함시킨다. 도 23은, 식별 정보를 슬라이스 헤더(SliceHeader)에 포함시키는 경우의 신택스를 예시하고 있다. 또한, 도 23에 있어서, 각 행의 좌단의 숫자는 설명을 위해 붙인 행 번호이다.
제22행째의 신택스 「MinUnitForNumMV」는, 상한값을 설정하는 최소의 CU 사이즈를 지정(식별)하기 위한 정보이다. 예를 들면, CU의 최소 사이즈가 8×8 화소이었다고 해도, 「MinUnitForNumMV =16」이라고 지정되어 있는 경우, 16×16 화소 이상의 사이즈의 CU만 상한값을 설정하고, 8×8 화소의 CU에는 상한값을 설정하지 않도록 한다.
또한, 다른 처리 방식으로서, 플래그로서 설정하는 것도 가능하다. 예를 들면 「MinUnitForNumMV」를 플래그로서 0으로 설정한 경우에는 128×128 화소 사이즈의 레벨에서는 상한값을 설정하고, 64×64 화소 사이즈 이하의 레벨에서는 상한값을 설정하지 않는다. 「MinUnitForNumMV」를 플래그로서 1로 설정한 경우에는 64×64 화소 사이즈의 레벨에서는 상한값을 설정하고, 32×32 화소 사이즈 이하의 레벨에서는 상한값을 설정하지 않는다. 「MinUnitForNumMV」를 플래그로서 2로 설정한 경우에는 32×32 화소 사이즈의 레벨에서는 상한값을 설정하고, 16×16 화소 사이즈 이하의 레벨에서는 상한값을 설정하지 않는다.
이와 같이 하면, 예를 들면, 16×16 화소 사이즈 이상에 있어서 상한값 설정의 제어밖에 원하고 있지 않으면, 8×8 화소 사이즈의 CU에서는 상한값을 설정하지 않고 움직임 예측·보상을 행한다. 이러한 신택스 「MinUnitForNumMV」를 설정함으로써, 이 경우에는 8×8 화소 사이즈의 CU의 제어를 생략할 수 있어, 상한값의 설정과 움직임 예측·보상의 컨트롤을 유연하게 설정할 수 있다.
또한, 도 23은, 신택스 「MinUnitForNumMV」를 슬라이스 헤더에 설정한 경우를 예시했지만, 이 신택스는, 슬라이스 헤더 이외에 저장하도록 해도 된다. 예를 들면, 픽쳐 파라미터 세트(Picture Parameter Set)에 저장하도록 해도 된다. 이렇게, 슬라이스 헤더 또는 픽쳐 파라미터 세트에 저장하면, 예를 들면 씬 체인지 후에 이 값을 변경하는 등의 조작에 대응할 수 있다. 또한, 「MinUnitForNumMV」를, 슬라이스 헤더에 저장하면, 픽쳐를 멀티 슬라이스화해서 슬라이스마다 병렬 처리하는 경우에 대응할 수 있다.
<7. 소프트웨어 처리의 경우>
또한, 명세서 중에서 설명한 일련의 처리는 하드웨어, 또는 소프트웨어, 또는 양자의 복합 구성에 의해 실행하는 것이 가능하다. 소프트웨어에 의한 처리를 실행하는 경우는, 처리 시퀀스를 기록한 프로그램을, 전용의 하드웨어에 조립된 컴퓨터 내의 메모리에 인스톨해서 실행시킨다. 또는, 각종 처리를 실행 가능한 범용 컴퓨터에 프로그램을 인스톨해서 실행시키는 것도 가능하다.
예를 들면, 프로그램은 기록 매체로서의 하드디스크나 ROM(Read Only Memory)에 미리 기록해 둘 수 있다. 또는, 프로그램은 플렉시블 디스크, CD-ROM(Compact Disc Read Only Memory), MO(Magneto optical) 디스크, DVD(Digital Versatile Disc), 자기 디스크, 반도체 메모리 등의 리무버블 기록 매체에, 일시적 또는 영구적으로 저장(기록)해 둘 수 있다. 이러한 리무버블 기록 매체는, 소위 패키지 소프트 웨어로서 제공할 수 있다.
또한, 프로그램은, 상술한 바와 같은 리무버블 기록 매체로부터 컴퓨터에 인스톨하는 것 외에, 다운로드 사이트로부터, 컴퓨터에 무선 전송하거나, LAN(Local Area Network), 인터넷과 같은 네트워크를 통해, 컴퓨터에 유선으로 전송하고, 컴퓨터에서는, 그와 같이 하여 전송되어 오는 프로그램을 수신하고, 내장된 하드디스크 등의 기록 매체에 인스톨할 수 있다.
프로그램을 기술하는 스텝은, 기재된 순서에 따라 시계열적으로 행해지는 처리는 물론, 반드시 시계열적으로 처리되지 않더라도, 병렬적 혹은 개별로 실행되는 처리도 포함하는 것이다.
<8. 전자 기기에 적용한 경우>
또한, 이상에서는, 부호화 방식/복호 방식으로서 H.264/AVC 방식이 이용되었지만, 본 발명은, 그밖의 움직임 예측·보상 처리를 행하는 부호화 방식/복호 방식을 이용하는 화상 부호화 장치/화상 복호 장치에 적용할 수도 있다.
또한, 본 발명은, 예를 들면, MPEG, H.26x 등과 같이, 이산 코사인 변환 등의 직교 변환과 움직임 보상에 의해 압축된 화상 정보(비트스트림)를, 위성방송, 케이블 티브이(텔레비전), 인터넷, 및 휴대 전화기 등의 네트워크 미디어를 통해 수신할 때, 혹은, 광, 자기 디스크, 및 플래시 메모리와 같은 기억 미디어 상에서 처리할 때 이용되는 화상 부호화 장치 및 화상 복호 장치에 적용할 수 있다.
상술한 화상 부호화 장치(10)나 화상 복호화 장치(50)는 임의의 전자 기기에 적용할 수 있다. 이하에 그 예에 대해서 설명한다.
도 24는, 본 발명을 적용한 텔레비전 장치의 개략적인 구성을 예시하고 있다. 텔레비전 장치(90)은, 안테나(901), 튜너(902), 디멀티플렉서(903), 디코더(904), 영상 신호 처리부(905), 표시부(906), 음성 신호 처리부(907), 스피커(908), 외부 인터페이스부(909)를 갖고 있다. 또한, 텔레비전 장치(90)는, 제어부(910), 유저 인터페이스부(911) 등을 갖고 있다.
튜너(902)는, 안테나(901)에서 수신된 방송파 신호로부터 원하는 채널을 선국해서 복조를 행하고, 얻어진 스트림을 디멀티플렉서(903)에 출력한다.
디멀티플렉서(903)는, 스트림으로부터 시청 대상인 프로그램의 영상이나 음성의 패킷을 추출하고, 추출한 패킷의 데이터를 디코더(904)에 출력한다. 또한, 디멀티플렉서(903)는, EPG(Electronic Program Guide) 등의 데이터의 패킷을 제어부(910)에 출력한다. 또한, 스크램블이 행해지고 있는 경우, 디멀티플렉서 등에서 스크램블의 해제를 행한다.
디코더(904)는, 패킷의 복호화 처리를 행하고, 복호 처리화에 의해 생성된 영상 데이터를 영상 신호 처리부(905), 음성 데이터를 음성 신호 처리부(907)에 출력한다.
영상 신호 처리부(905)는, 영상 데이터에 대하여, 노이즈 제거나 유저 설정에 따른 영상 처리 등을 행한다. 영상 신호 처리부(905)는, 표시부(906)에 표시시키는 프로그램의 영상 데이터나, 네트워크를 통해 공급되는 어플리케이션에 기초하는 처리에 의한 화상 데이터 등을 생성한다. 또한, 영상 신호 처리부(905)는, 항목의 선택 등의 메뉴 화면 등을 표시하기 위한 영상 데이터를 생성하고, 그것을 프로그램의 영상 데이터에 중첩한다. 영상 신호 처리부(905)는, 이렇게 해서 생성한 영상 데이터에 기초해서 구동 신호를 생성해서 표시부(906)를 구동한다.
표시부(906)는, 영상 신호 처리부(905)로부터의 구동 신호에 기초하여 표시 디바이스(예를 들면 액정 표시 소자 등)를 구동하여, 프로그램의 영상 등을 표시시킨다.
음성 신호 처리부(907)는, 음성 데이터에 대하여 노이즈 제거 등의 소정의 처리를 실시하고, 처리 후의 음성 데이터의 D/A 변환 처리나 증폭 처리를 행하고, 스피커(908)에 공급함으로써 음성 출력을 행한다.
외부 인터페이스부(909)는, 외부기기나 네트워크와 접속하기 위한 인터페이스이며, 영상 데이터나 음성 데이터 등의 데이터 송수신을 행한다.
제어부(910)에는 유저 인터페이스부(911)가 접속되어 있다. 유저 인터페이스부(911)는, 조작 스위치나 리모트 컨트롤 신호 수신부 등으로 구성되어 있고, 유저 조작에 따른 조작 신호를 제어부(910)에 공급한다.
제어부(910)는, CPU(Central Processing Unit)나 메모리 등을 이용해서 구성되어 있다. 메모리는, CPU에 의해 실행되는 프로그램이나 CPU가 처리를 행함에 있어서 필요한 각종 데이터, EPG 데이터, 네트워크를 통해 취득된 데이터 등을 기억한다. 메모리에 기억되어 있는 프로그램은, 텔레비전 장치(90)의 기동시 등의 소정 타이밍에서 CPU에 의해 읽어내어져 실행된다. CPU는, 프로그램을 실행함으로써, 텔레비전 장치(90)가 유저 조작에 따른 동작으로 되도록 각 부를 제어한다.
또한, 텔레비전 장치(90)에서는, 튜너(902), 디멀티플렉서(903), 영상 신호 처리부(905), 음성 신호 처리부(907), 외부 인터페이스부(909) 등과 제어부(910)를 접속하기 위해서 버스(912)가 설치되어 있다.
이와 같이 구성된 텔레비전 장치에서는, 디코더(904)에 본원의 화상 복호화 장치(화상 복호화 방법)의 기능이 마련된다. 이 때문에, 확장된 매크로 블록이 이용되어도, 확장된 매크로 블록에 대응한 화상 부호화 처리를 행할 수 있다. 예를 들면, 확장된 매크로 블록이 이용되고 있는 화상 압축 정보의 재생시에 움직임 벡터 개수가 상한값을 초과해서 리얼타임 동작이 보증되지 않는 경우, 그 취지를 유저에게 통지할 수 있다.
도 25는, 본 발명을 적용한 휴대 전화기의 개략적인 구성을 예시하고 있다. 휴대 전화기(92)는, 통신부(922), 음성 코덱(923), 카메라부(926), 화상 처리부(927), 다중 분리부(928), 기록 재생부(929), 표시부(930), 제어부(931)를 갖고 있다. 이들은, 버스(933)를 통해 서로 접속되어 있다.
또한, 통신부(922)에는 안테나(921)가 접속되어 있고, 음성 코덱(923)에는, 스피커(924)와 마이크로폰(925)이 접속되어 있다. 또한 제어부(931)에는, 조작부(932)가 접속되어 있다.
휴대 전화기(92)는, 음성 통화 모드나 데이터 통신 모드 등의 각종 모드에서, 음성 신호의 송수신, 전자 메일이나 화상 데이터의 송수신, 화상 촬영, 또는 데이터 기록 등의 각종 동작을 행한다.
음성 통화 모드에 있어서, 마이크로폰(925)에서 생성된 음성 신호는, 음성 코덱(923)에서 음성 데이터로의 변환이나 데이터 압축이 행해져서 통신부(922)에 공급된다. 통신부(922)는, 음성 데이터의 변조 처리나 주파수 변환 처리 등을 행하고, 송신 신호를 생성한다. 또한, 통신부(922)는, 송신 신호를 안테나(921)에 공급해서 도시하지 않는 기지국에 송신한다. 또한, 통신부(922)는, 안테나(921)에서 수신한 수신 신호의 증폭이나 주파수 변환 처리 및 복조 처리 등을 행하고, 얻어진 음성 데이터를 음성 코덱(923)에 공급한다. 음성 코덱(923)은, 음성 데이터의 데이터 신장이나 아날로그 음성 신호에의 변환을 행하고, 스피커(924)에 출력한다.
또한, 데이터 통신 모드에 있어서, 메일 송신을 행하는 경우, 제어부(931)는, 조작부(932)의 조작에 의해 입력된 문자 데이터를 접수하여, 입력된 문자를 표시부(930)에 표시한다. 또한, 제어부(931)는, 조작부(932)에 있어서의 유저 지시 등에 기초해서 메일 데이터를 생성해서 통신부(922)에 공급한다. 통신부(922)는, 메일 데이터의 변조 처리나 주파수 변환 처리 등을 행하고, 얻어진 송신 신호를 안테나(921)로부터 송신한다. 또한, 통신부(922)는, 안테나(921)에서 수신한 수신 신호의 증폭이나 주파수 변환 처리 및 복조 처리 등을 행하고, 메일 데이터를 복원한다. 이 메일 데이터를, 표시부(930)에 공급하고, 메일 내용의 표시를 행한다.
또한, 휴대 전화기(92)는, 수신한 메일 데이터를, 기록 재생부(929)에서 기억 매체에 기억시키는 것도 가능하다. 기억 매체는, 재기입 가능한 임의의 기억 매체이다. 예를 들면, 기억 매체는, RAM이나 내장형 플래시 메모리 등의 반도체 메모리, 하드디스크, 자기 디스크, 광 자기 디스크, 광 디스크, USB 메모리, 또는 메모리 카드 등의 리무버블 미디어이다.
데이터 통신 모드에 있어서 화상 데이터를 송신하는 경우, 카메라부(926)에서 생성된 화상 데이터를, 화상 처리부(927)에 공급한다. 화상 처리부(927)는, 화상 데이터의 부호화 처리를 행하고, 부호화 데이터를 생성한다.
다중 분리부(928)는, 화상 처리부(927)에서 생성된 부호화 데이터와, 음성 코덱(923)으로부터 공급된 음성 데이터를 소정의 방식으로 다중화하고, 통신부(922)에 공급한다. 통신부(922)는, 다중화 데이터의 변조 처리나 주파수 변환 처리 등을 행하고, 얻어진 송신 신호를 안테나(921)로부터 송신한다. 또한, 통신부(922)는, 안테나(921)에서 수신한 수신 신호의 증폭이나 주파수 변환 처리 및 복조 처리 등을 행하고, 다중화 데이터를 복원한다. 이 다중화 데이터를 다중 분리부(928)에 공급한다. 다중 분리부(928)는, 다중화 데이터의 분리를 행하고, 부호화 데이터를 화상 처리부(927), 음성 데이터를 음성 코덱(923)에 공급한다.
화상 처리부(927)는, 부호화 데이터의 복호화 처리를 행하고, 화상 데이터를 생성한다. 이 화상 데이터를 표시부(930)에 공급하고, 수신한 화상의 표시를 행한다. 음성 코덱(923)은, 음성 데이터를 아날로그 음성 신호로 변환해서 스피커(924)에 공급하고, 수신한 음성을 출력한다.
이와 같이 구성된 휴대 전화 장치에서는, 화상 처리부(927)에 본원의 화상 부호화 장치(화상 부호화 방법)나 화상 복호화 장치(화상 복호화 방법)의 기능이 마련된다. 따라서, 확장된 매크로 블록이 이용되어도, 확장된 매크로 블록에 대응한 화상 부호화 처리나 화상 복호화 처리를 행할 수 있다.
도 26은, 본 발명을 적용한 기록 재생 장치의 개략적인 구성을 예시하고 있다. 기록 재생 장치(94)는, 예를 들면 수신한 방송프로의 오디오 데이터와 비디오 데이터를, 기록 매체에 기록하고, 그 기록된 데이터를 유저의 지시에 따른 타이밍에서 유저에게 제공한다. 또한, 기록 재생 장치(94)는, 예를 들면 다른 장치로부터 오디오 데이터나 비디오 데이터를 취득하고, 그들을 기록 매체에 기록시킬 수도 있다. 또한, 기록 재생 장치(94)는, 기록 매체에 기록되어 있는 오디오 데이터나 비디오 데이터를 복호해서 출력함으로써, 모니터 장치 등에 있어서 화상 표시나 음성 출력을 행할 수 있도록 한다.
기록 재생 장치(94)는, 튜너(941), 외부 인터페이스부(942), 인코더(943), HDD(Hard Disk Drive)부(944), 디스크드라이브(945), 셀렉터(946), 디코더(947), OSD(On-Screen Display)부(948), 제어부(949), 유저 인터페이스부(950)를 갖고 있다.
튜너(941)는, 도시하지 않은 안테나에서 수신된 방송 신호로부터 원하는 채널을 선국한다. 튜너(941)는, 원하는 채널의 수신 신호를 복조해서 얻어진 화상 압축 정보를 셀렉터(946)에 출력한다.
외부 인터페이스부(942)는, IEEE1394 인터페이스, 네트워크 인터페이스부, USB인터페이스, 플래시 메모리 인터페이스 등의 적어도 어느 하나로 구성되어 있다. 외부 인터페이스부(942)는, 외부기기나 네트워크, 메모리 카드 등과 접속하기 위한 인터페이스이며, 기록하는 영상 데이터나 음성 데이터 등의 데이터 수신을 행한다.
인코더(943)는, 외부 인터페이스부(942)로부터 공급된 영상 데이터나 음성 데이터가 부호화되어 있지 않을 때 소정의 방식으로 부호화를 행하고, 화상 압축 정보를 셀렉터(946)에 출력한다.
HDD부(944)는, 영상이나 음성 등의 콘텐츠 데이터, 각종 프로그램이나 그 밖의 데이터 등을 내장 하드디스크에 기록하고, 또한 재생시 등에 그들을 해당 하드디스크로부터 읽어낸다.
디스크드라이브(945)는, 장착되어 있는 광 디스크에 대한 신호의 기록 및 재생을 행한다. 광 디스크, 예를 들면 DVD디스크(DVD-Video, DVD-RAM, DVD-R, DVD-RW, DVD+R, DVD+RW 등)나 Blu-ray 디스크 등이다.
셀렉터(946)는, 영상이나 음성의 기록 시에는, 튜너(941) 또는 인코더(943)로부터의 어느 하나의 스트림을 선택하고, HDD부(944)나 디스크드라이브(945)의 어느 하나에 공급한다. 또한, 셀렉터(946)는, 영상이나 음성의 재생시에, HDD부(944) 또는 디스크드라이브(945)로부터 출력된 스트림을 디코더(947)에 공급한다.
디코더(947)는, 스트림의 복호화 처리를 행한다. 디코더(947)는, 복호 처리화를 행함으로써 생성된 영상 데이터를 OSD부(948)에 공급한다. 또한, 디코더(947)는, 복호 처리화를 행함으로써 생성된 음성 데이터를 출력한다.
OSD부(948)는, 항목의 선택 등의 메뉴 화면 등을 표시하기 위한 영상 데이터를 생성하고, 그것을 디코더(947)로부터 출력된 영상 데이터에 중첩해서 출력한다.
제어부(949)에는, 유저 인터페이스부(950)가 접속되어 있다. 유저 인터페이스부(950)는, 조작 스위치나 리모트 컨트롤 신호 수신부 등으로 구성되어 있고, 유저 조작에 따른 조작 신호를 제어부(949)에 공급한다.
제어부(949)는, CPU나 메모리 등을 이용해서 구성되어 있다. 메모리는, CPU에 의해 실행되는 프로그램이나 CPU가 처리를 행함에 있어서 필요한 각종 데이터를 기억한다. 메모리에 기억되어 있는 프로그램은, 기록 재생 장치(94)의 기동시 등의 소정 타이밍에서 CPU에 의해 읽어내어져 실행된다. CPU는, 프로그램을 실행함으로써, 기록 재생 장치(94)가 유저 조작에 따른 동작으로 되도록 각 부를 제어한다.
이와 같이 구성된 기록 재생 장치에서는, 인코더(943)에 본원의 화상 부호화 장치(화상 부호화 방법)의 기능, 디코더(947)에 화상 복호화 장치(화상 복호화 방법)의 기능이 설치되어, 확장된 매크로 블록이 이용되어도, 확장된 매크로 블록에 대응한 화상 부호화 처리나 화상 복호화 처리를 행할 수 있다.
도 27은, 본 발명을 적용한 촬상 장치의 개략적인 구성을 예시하고 있다. 촬상 장치(96)는, 피사체를 촬상하고, 피사체의 화상을 표시부에 표시시키거나, 그것을 화상 데이터로서, 기록 매체에 기록한다.
촬상 장치(96)는, 광학 블록(961), 촬상부(962) 카메라 신호 처리부(963), 화상 데이터 처리부(964), 표시부(965), 외부 인터페이스부(966), 메모리부(967), 미디어 드라이브(968), OSD부(969), 제어부(970)를 갖고 있다. 또한, 제어부(970)에는, 유저 인터페이스부(971)가 접속되어 있다. 또한, 화상 데이터 처리부(964)나 외부 인터페이스부(966), 메모리부(967), 미디어 드라이브(968), OSD부(969), 제어부(970) 등은, 버스(972)를 통해 접속되어 있다.
광학 블록(961)은, 포커스 렌즈나 조리개 기구 등을 이용해서 구성되어 있다. 광학 블록(961)은, 피사체의 광학상을 촬상부(962)의 촬상면에 결상시킨다. 촬상부(962)는, CCD 또는 CMOS 이미지 센서를 이용해서 구성되어 있고, 광전 변환에 의해 광학상에 따른 전기 신호를 생성해서 카메라 신호 처리부(963)에 공급한다.
카메라 신호 처리부(963)는, 촬상부(962)로부터 공급된 전기 신호에 대하여 니(knee) 보정이나 감마(gamma) 보정, 색 보정 등의 여러 가지의 카메라 신호 처리를 행한다. 카메라 신호 처리부(963)는 카메라 신호 처리 후의 화상 데이터를 화상 데이터 처리부(964)에 공급한다.
화상 데이터 처리부(964)는, 카메라 신호 처리부(963)로부터 공급된 화상 데이터의 부호화 처리를 행한다. 화상 데이터 처리부(964)는, 부호화 처리를 행함으로써 생성된 부호화 데이터를 외부 인터페이스부(966)나 미디어 드라이브(968)에 공급한다. 또한, 화상 데이터 처리부(964)는, 외부 인터페이스부(966)나 미디어 드라이브(968)로부터 공급된 부호화 데이터의 복호화 처리를 행한다. 화상 데이터 처리부(964)는, 복호화 처리를 행함으로써 생성된 화상 데이터를 표시부(965)에 공급한다. 또한, 화상 데이터 처리부(964)는, 카메라 신호 처리부(963)로부터 공급된 화상 데이터를 표시부(965)에 공급하는 처리나, OSD부(969)로부터 취득한 표시용 데이터를, 화상 데이터에 중첩시켜서 표시부(965)에 공급한다.
OSD부(969)는, 기호, 문자, 또는 도형으로 이루어지는 메뉴 화면이나 아이콘 등의 표시용 데이터를 생성해서 화상 데이터 처리부(964)에 출력한다.
외부 인터페이스부(966)는, 예를 들면, USB입출력 단자 등으로 구성되며, 화상의 인쇄를 행하는 경우에, 프린터와 접속된다. 또한, 외부 인터페이스부(966)에는, 필요에 따라서 드라이브가 접속되고, 자기 디스크, 광 디스크 등의 리무버블 미디어가 적절히 장착되며, 그들로부터 읽어내어진 컴퓨터 프로그램이, 필요에 따라서, 인스톨된다. 또한, 외부 인터페이스부(966)는, LAN이나 인터넷 등의 소정의 네트워크에 접속되는 네트워크 인터페이스를 갖는다. 제어부(970)는, 예를 들면, 유저 인터페이스부(971)로부터의 지시에 따라서, 메모리부(967)로부터 부호화 데이터를 읽어내고, 그것을 외부 인터페이스부(966)로부터, 네트워크를 통해 접속되는 다른 장치에 공급시킬 수 있다. 또한, 제어부(970)는, 네트워크를 통해 다른 장치로부터 공급되는 부호화 데이터나 화상 데이터를, 외부 인터페이스부(966)를 통해 취득하고, 그것을 화상 데이터 처리부(964)에 공급하거나 할 수 있다.
미디어 드라이브(968)에서 구동되는 기록 미디어로서는, 예를 들면, 자기 디스크, 광 자기 디스크, 광 디스크, 또는 반도체 메모리 등의, 읽기쓰기 가능한 임의의 리무버블 미디어가 이용된다. 또한, 기록 미디어는, 리무버블 미디어로서의 종류도 임의이며, 테이프 디바이스이어도 되고, 디스크이어도 되고, 메모리 카드이어도 된다. 물론, 비접촉 IC 카드 등이어도 된다.
또한, 미디어 드라이브(968)와 기록 미디어를 일체화하고, 예를 들면, 내장형 하드디스크 드라이브나 SSD(Solid State Drive) 등과 같이, 비가반성의 기억 매체에 의해 구성되도록 해도 된다.
제어부(970)는, CPU나 메모리 등을 이용해서 구성되어 있다. 메모리는, CPU에 의해 실행되는 프로그램이나 CPU가 처리를 행함에 있어서 필요한 각종 데이터 등을 기억한다. 메모리에 기억되어 있는 프로그램은, 촬상 장치(96)의 기동시 등의 소정 타이밍에서 CPU에 의해 읽어내어져 실행된다. CPU는, 프로그램을 실행함으로써, 촬상 장치(96)가 유저 조작에 따른 동작으로 되도록 각 부를 제어한다.
이와 같이 구성된 촬상 장치에서는, 화상 데이터 처리부(964)에 본원의 화상 부호화 장치(화상 부호화 방법)나 화상 복호화 장치(화상 복호화 방법)의 기능이 마련된다. 따라서, 촬상 화상을 메모리부(967)나 기록 미디어 등에 기록할 때, 확장된 매크로 블록이 이용되어도, 확장된 매크로 블록에 대응한 화상 부호화 처리나 화상 복호화 처리를 행할 수 있다.
또한, 본 발명은, 상술한 실시 형태에 한정해서 해석되어서는 안된다. 이 실시 형태는, 예시라고 하는 형태로 본 발명을 개시하고 있고, 본 발명의 요지를 일탈하지 않는 범위에서 당업자가 실시 형태의 수정이나 대용을 할 수 있는 것은 자명하다. 즉, 본 발명의 요지를 판단하기 위해서는, 청구의 범위를 참작해야 한다.
또한, 본 발명은 이하와 같은 구성도 취할 수 있다.
(1) 화상 데이터를 부호화 처리할 때의 부호화 처리 단위인 블록의 블록 사이즈에 따라서, 움직임 벡터의 수의 상한값을 설정하는 설정부와,
상기 블록의 움직임 벡터의 수가 상기 설정부에 의해 설정된 상한값 이하인 상태에서 예측 모드를 검출하고, 그 검출한 예측 모드의 움직임 벡터를 이용해서 참조 화상의 움직임 보상을 행하여, 예측 화상을 생성하는 움직임 예측·보상부와,
상기 움직임 예측·보상부에 의해 생성된 예측 화상을 이용하여, 상기 화상 데이터를 부호화해서 부호화 스트림을 생성하는 부호화부를 구비하는 화상 처리 장치.
(2) 상기 설정부는, 상기 블록의 블록 사이즈가 소정 사이즈보다도 큰 사이즈인 경우, 상기 상한값을 상기 소정 사이즈의 블록에 있어서의 상한값보다도 크게 설정하는 (1)에 기재된 화상 처리 장치.
(3) 상기 설정부는, 소정 사이즈(N)의 블록에 대한 움직임 벡터수의 상한값이 p이며, 상기 소정 사이즈보다도 큰 블록 사이즈가 (N×m)×(N×n) 화소인 경우, 상기 상한값을 (p×m×n)으로 설정하는 (2)에 기재된 화상 처리 장치.
(4) 상기 소정 사이즈는, 16×16 화소인 (2) 또는 (3)에 기재된 화상 처리 장치.
(5) 상기 소정 사이즈보다도 큰 사이즈의 블록은, 계층 구조를 갖는 부호화 단위에 있어서 최대 사이즈를 갖는 최대 부호화 단위인 (2) 내지 (4) 중 어느 하나에 기재된 화상 처리 장치.
(6) 상기 움직임 예측·보상부는, 상기 예측 모드를 검출할 때, 움직임 벡터의 수가 상기 상한값을 초과하는 예측 모드를, 검출 대상으로 되는 예측 모드의 후보로부터 제외하는 (2) 내지 (5) 중 어느 하나에 기재된 화상 처리 장치.
(7) 상기 움직임 예측·보상부는, 상기 움직임 벡터의 수가 상기 상한값을 초과하지 않게 하기 위한 제어 횟수를 프레임마다 감시하여, 그 제어 횟수가 미리 설정된 소정 횟수를 초과한 경우, 다음 프레임에 있어서의 블록의 블록 사이즈를 크게 설정하는 (2) 내지 (6) 중 어느 하나에 기재된 화상 처리 장치.
(8) 상기 화상 데이터에 있어서의 씬 체인지를 검출하는 씬 체인지 검출부를 갖고,
상기 움직임 예측·보상부는, 상기 씬 체인지 검출부에서 씬 체인지가 검출된 경우, 블록의 블록 사이즈를 미리 설정한 소정의 사이즈로 설정하는 (1) 내지 (7) 중 어느 하나에 기재된 화상 처리 장치.
(9) 상기 부호화부는, 상기 움직임 벡터의 수에 관계없이 최적 예측 모드를 검출하여, 그 검출한 최적 예측 모드의 움직임 벡터를 이용해서 참조 화상의 움직임 보상을 행하고 예측 화상을 생성하는 동작 모드에 있어서, 예측 모드에 있어서의 움직임 벡터의 수가 상기 상한값을 초과하는 경우에는, 상기 부호화 스트림과, 상기 움직임 벡터의 수가 상한값을 초과하는 것을 나타내는 판별 정보를 전송하는 (1) 내지 (8) 중 어느 하나에 기재된 화상 처리 장치.
(10) 상기 설정부에 의해 상한값이 설정되는 블록의 블록 사이즈를 식별하는 사이즈 식별 정보를 생성하는 생성부를 더 구비하고,
상기 부호화부는, 상기 부호화 스트림과 상기 사이즈 식별 정보를 전송하는 (1) 내지 (9) 중 어느 하나에 기재된 화상 처리 장치.
(11) 화상 데이터를 부호화한 부호화 스트림을 복호화 처리할 때의 복호화 처리 단위인 블록의 블록 사이즈에 따라서, 움직임 벡터의 수의 상한값을 설정하는 설정부와,
상기 블록의 움직임 벡터의 수가 상기 설정부에 의해 설정된 상한값 이하인 상태에서 예측 모드를 검출하고, 그 검출한 예측 모드의 움직임 벡터를 이용해서 참조 화상의 움직임 보상을 행하여, 예측 화상을 생성하는 움직임 보상부와,
상기 움직임 보상부에 의해 생성된 예측 화상을 이용하여, 상기 부호화 스트림을 복호화하는 복호화부를 구비하는 화상 처리 장치.
(12) 상기 설정부는, 상기 블록의 블록 사이즈가 소정 사이즈보다도 큰 사이즈인 경우, 상기 상한값을 상기 소정 사이즈의 블록에 있어서의 상한값보다도 크게 설정하는 (11)에 기재된 화상 처리 장치.
(13) 상기 설정부는, 소정 사이즈(N)의 블록에 대한 움직임 벡터수의 상한값이 p이며, 상기 소정 사이즈보다도 큰 블록 사이즈가 (N×m)×(N×n) 화소인 경우, 상기 상한값을 (p×m×n)으로 설정하는 (12)에 기재된 화상 처리 장치.
(14) 상기 소정 사이즈는, 16×16 화소인 (12) 또는 (13)에 기재된 화상 처리 장치.
(15) 상기 소정 사이즈보다도 큰 사이즈의 블록은, 계층 구조를 갖는 부호화 단위에 있어서 최대 사이즈를 갖는 최대 부호화 단위인 (12) 내지 (14) 중 어느 하나에 기재된 화상 처리 장치.
(16) 상기 움직임 보상부는, 상기 예측 모드를 검출할 때, 움직임 벡터의 수가 상기 상한값을 초과하는 예측 모드를, 검출 대상으로 되는 예측 모드의 후보로부터 제외하는 (12) 내지 (15) 중 어느 하나에 기재된 화상 처리 장치.
(17) 상기 움직임 보상부는, 상기 움직임 벡터의 수가 상기 상한값을 초과하지 않게 하기 위한 제어 횟수를 프레임마다 감시하여, 그 제어 횟수가 미리 설정된 소정 횟수를 초과한 경우, 다음 프레임에 있어서의 블록의 블록 사이즈를 크게 설정하는 (12) 내지 (16) 중 어느 하나에 기재된 화상 처리 장치.
(18) 상기 화상 데이터에 있어서의 씬 체인지를 검출하는 씬 체인지 검출부를 갖고,
상기 움직임 보상부는, 상기 씬 체인지 검출부에서 씬 체인지가 검출된 경우, 블록의 블록 사이즈를 미리 설정한 소정의 사이즈로 설정하는 (11) 내지 (17) 중 어느 하나에 기재된 화상 처리 장치.
(19) 상기 복호부는, 상기 움직임 벡터의 수에 관계없이 최적 예측 모드를 검출하여, 그 검출한 최적 예측 모드의 움직임 벡터를 이용해서 참조 화상의 움직임 보상을 행하고 예측 화상을 생성하는 동작 모드에 있어서, 상기 부호화 스트림으로부터 상기 움직임 벡터의 수가 상한값을 초과하는 것을 나타내는 판별 정보를 취득하는 (11) 내지 (18) 중 어느 하나에 기재된 화상 처리 장치.
(20) 상기 복호화부는, 상한값이 설정되는 블록의 블록 사이즈를 식별하는 사이즈 식별 정보를 상기 부호화 스트림으로부터 취득하는 (11) 내지 (19) 중 어느 하나에 기재된 화상 처리 장치.
<산업상의 이용 가능성>
본 발명의 화상 처리 장치와 화상 처리 방법에서는, 매크로 블록의 크기에 따라서 움직임 벡터의 수의 상한값이 설정된다. 또한, 움직임 벡터의 수가 상한값을 초과하지 않는 최적 예측 모드가 검출되어, 검출한 최적 예측 모드의 움직임 벡터를 이용해서 참조 화상의 움직임 보상을 행하고, 예측 화상이 생성된다. 이 때문에, 확장된 크기의 매크로 블록이 이용된 경우에, 움직임 벡터의 수가 필요 이상으로 제한되게 되는 일이 없어, 확장된 매크로 블록에 대응한 화상 처리를 행할 수 있다.
따라서, 블록 단위로 부호화를 행함으로써 얻어진 화상 압축 정보(비트스트림)를, 위성방송, 케이블 티브이, 인터넷, 휴대 전화 등의 네트워크 미디어를 통해 송수신할 때, 혹은 광, 자기 디스크, 플래시 메모리와 같은 기억 미디어 상에서 처리할 때 이용되는 화상 부호화 장치나 화상 복호화 장치 등에 적합하다.
10, 10a : 화상 부호화 장치
11 : A/D 변환부
12, 57 : 화면 재배열 버퍼
13 : 감산부
14 : 직교 변환부
15 : 양자화부
16 : 가역양자화부
17 : 축적 버퍼
18 : 레이트 제어부
21, 53 : 역양자화부
22, 54 : 역직교 변환부
23, 55 : 가산부
24, 56 : 디블록킹 필터
25 : 프레임 메모리
29 : 씬 체인지 검출부
31 : 인트라 예측부
32, 32a : 움직임 예측·보상부
33 : 예측 화상·최적 모드 선택부
35, 65 : 움직임 벡터 개수 제한 설정부
50 : 화상 복호화 장치
51 : 축적 버퍼
52 : 가역 복호화부
58 : D/A 변환부
61 : 프레임 메모리
62 : 인트라 예측부
63 : 움직임 보상부
64 : 셀렉터
90 : 텔레비전 장치
92 : 휴대 전화기
94 : 기록 재생 장치
96 : 촬상 장치
321, 321a : 움직임 탐색부
322, 322a : 모드 판정부
323, 634 : 움직임 보상 처리부
324 : 움직임 벡터 버퍼
631 : 매크로 블록 사이즈 버퍼
632 : 움직임 벡터 생성부
633 : 모드 버퍼

Claims (22)

  1. 화상 처리 장치로서,
    화상 데이터를 부호화 처리할 때의 부호화 처리 단위인 블록의 블록 사이즈에 따라서, 움직임 벡터의 수의 상한값을 설정하는 설정부와,
    상기 블록의 움직임 벡터의 수가 상기 설정부에 의해 설정된 상기 상한값 이하인 상태에서 예측 모드를 검출하고, 검출한 상기 예측 모드의 움직임 벡터를 이용해서 참조 화상의 움직임 보상을 행하여, 예측 화상을 생성하는 움직임 예측·보상부와,
    상기 움직임 예측·보상부에 의해 생성된 상기 예측 화상을 이용하여, 상기 화상 데이터를 부호화해서 부호화 스트림을 생성하는 부호화부를 구비하는, 화상 처리 장치.
  2. 제1항에 있어서,
    상기 설정부는, 상기 블록의 블록 사이즈가 소정 사이즈보다도 큰 사이즈인 경우, 상기 상한값을 상기 소정 사이즈의 블록에 있어서의 상한값보다도 크게 설정하는, 화상 처리 장치.
  3. 제2항에 있어서,
    상기 설정부는, 소정 사이즈(N)의 블록에 대한 움직임 벡터수의 상한값이 p이며, 상기 소정 사이즈보다도 큰 블록 사이즈가 (N×m)×(N×n) 화소인 경우, 상기 상한값을 (p×m×n)으로 설정하는, 화상 처리 장치.
  4. 제3항에 있어서,
    상기 소정 사이즈는, 16×16 화소인, 화상 처리 장치.
  5. 제2항에 있어서,
    상기 소정 사이즈보다도 큰 사이즈의 블록은, 계층 구조를 갖는 부호화 단위에 있어서 최대 사이즈를 갖는 최대 부호화 단위인, 화상 처리 장치.
  6. 제2항에 있어서,
    상기 움직임 예측·보상부는, 상기 예측 모드를 검출할 때, 움직임 벡터의 수가 상기 상한값을 초과하는 예측 모드를, 검출 대상으로 되는 예측 모드의 후보로부터 제외하는, 화상 처리 장치.
  7. 제2항에 있어서,
    상기 움직임 예측·보상부는, 상기 움직임 벡터의 수가 상기 상한값을 초과하지 않게 하기 위한 제어 횟수를 프레임마다 감시하여, 상기 제어 횟수가 미리 설정된 소정 횟수를 초과한 경우, 다음 프레임에 있어서의 블록의 블록 사이즈를 크게 설정하는, 화상 처리 장치.
  8. 제7항에 있어서,
    상기 화상 데이터에 있어서의 씬 체인지를 검출하는 씬 체인지 검출부를 갖고,
    상기 움직임 예측·보상부는, 상기 씬 체인지 검출부에서 씬 체인지가 검출된 경우, 블록의 블록 사이즈를 미리 설정한 소정의 사이즈로 설정하는, 화상 처리 장치.
  9. 제1항에 있어서,
    상기 부호화부는, 상기 움직임 벡터의 수에 관계없이 최적 예측 모드를 검출하여, 검출한 상기 최적 예측 모드의 움직임 벡터를 이용해서 참조 화상의 움직임 보상을 행하고 예측 화상을 생성하는 동작 모드에 있어서, 예측 모드에 있어서의 움직임 벡터의 수가 상기 상한값을 초과하는 경우에는, 상기 부호화 스트림과, 상기 움직임 벡터의 수가 상한값을 초과하는 것을 나타내는 판별 정보를 전송하는, 화상 처리 장치.
  10. 제1항에 있어서,
    상기 설정부에 의해 상한값이 설정되는 블록의 블록 사이즈를 식별하는 사이즈 식별 정보를 생성하는 생성부를 더 구비하고,
    상기 부호화부는, 상기 부호화 스트림과 상기 사이즈 식별 정보를 전송하는, 화상 처리 장치.
  11. 화상 처리 방법으로서,
    화상 데이터를 부호화 처리할 때의 부호화 처리 단위인 블록의 블록 사이즈에 따라서, 움직임 벡터의 수의 상한값을 설정하는 공정과,
    설정된 상기 상한값 이하의 상태에서 예측 모드를 검출하고, 검출한 상기 예측 모드의 움직임 벡터를 이용해서 참조 화상의 움직임 보상을 행하여, 예측 화상을 생성하는 공정과,
    생성된 상기 예측 화상을 이용하여, 상기 화상 데이터를 부호화해서 부호화 스트림을 생성하는 공정을 포함하는, 화상 처리 방법.
  12. 화상 처리 장치로서,
    화상 데이터를 부호화한 부호화 스트림을 복호화 처리할 때의 복호화 처리 단위인 블록의 블록 사이즈에 따라서, 움직임 벡터의 수의 상한값을 설정하는 설정부와,
    상기 블록의 움직임 벡터의 수가 상기 설정부에 의해 설정된 상기 상한값 이하인 상태에서 예측 모드를 검출하고, 검출한 상기 예측 모드의 움직임 벡터를 이용해서 참조 화상의 움직임 보상을 행하여, 예측 화상을 생성하는 움직임 보상부와,
    상기 움직임 보상부에 의해 생성된 상기 예측 화상을 이용하여, 상기 부호화 스트림을 복호화하는 복호화부를 구비하는, 화상 처리 장치.
  13. 제12항에 있어서,
    상기 설정부는, 상기 블록의 블록 사이즈가 소정 사이즈보다도 큰 사이즈인 경우, 상기 상한값을 상기 소정 사이즈의 블록에 있어서의 상한값보다도 크게 설정하는, 화상 처리 장치.
  14. 제13항에 있어서,
    상기 설정부는, 소정 사이즈(N)의 블록에 대한 움직임 벡터수의 상한값이 p이며, 상기 소정 사이즈보다도 큰 블록 사이즈가 (N×m)×(N×n) 화소인 경우, 상기 상한값을 (p×m×n)으로 설정하는, 화상 처리 장치.
  15. 제14항에 있어서,
    상기 소정 사이즈는, 16×16 화소인, 화상 처리 장치.
  16. 제13항에 있어서,
    상기 소정 사이즈보다도 큰 사이즈의 블록은, 계층 구조를 갖는 부호화 단위에 있어서 최대 사이즈를 갖는 최대 부호화 단위인, 화상 처리 장치.
  17. 제13항에 있어서,
    상기 움직임 보상부는, 상기 예측 모드를 검출할 때, 움직임 벡터의 수가 상기 상한값을 초과하는 예측 모드를, 검출 대상으로 되는 예측 모드의 후보로부터 제외하는, 화상 처리 장치.
  18. 제13항에 있어서,
    상기 움직임 보상부는, 상기 움직임 벡터의 수가 상기 상한값을 초과하지 않게 하기 위한 제어 횟수를 프레임마다 감시하여, 그 제어 횟수가 미리 설정된 소정 횟수를 초과한 경우, 다음 프레임에 있어서의 블록의 블록 사이즈를 크게 설정하는, 화상 처리 장치.
  19. 제18항에 있어서,
    상기 화상 데이터에 있어서의 씬 체인지를 검출하는 씬 체인지 검출부를 갖고,
    상기 움직임 보상부는, 상기 씬 체인지 검출부에서 씬 체인지가 검출된 경우, 블록의 블록 사이즈를 미리 설정한 소정의 사이즈로 설정하는, 화상 처리 장치.
  20. 제12항에 있어서,
    상기 복호부는, 상기 움직임 벡터의 수에 관계없이 최적 예측 모드를 검출하여, 검출한 상기 최적 예측 모드의 움직임 벡터를 이용해서 참조 화상의 움직임 보상을 행하고 예측 화상을 생성하는 동작 모드에 있어서, 상기 부호화 스트림으로부터 상기 움직임 벡터의 수가 상한값을 초과하는 것을 나타내는 판별 정보를 취득하는, 화상 처리 장치.
  21. 제12항에 있어서,
    상기 복호화부는, 상한값이 설정되는 블록의 블록 사이즈를 식별하는 사이즈 식별 정보를 상기 부호화 스트림으로부터 취득하는, 화상 처리 장치.
  22. 화상 처리 방법으로서,
    화상 데이터를 부호화한 부호화 스트림을 복호화 처리할 때의 복호화 처리 단위인 블록의 블록 사이즈에 따라서, 움직임 벡터의 수의 상한값을 설정하는 공정과,
    상기 블록의 움직임 벡터의 수가 상기 설정부에 의해 설정된 상기 상한값 이하인 상태에서 예측 모드를 검출하고, 검출한 상기 예측 모드의 움직임 벡터를 이용해서 참조 화상의 움직임 보상을 행하여, 예측 화상을 생성하는 공정과,
    상기 생성된 예측 화상을 이용하여, 상기 부호화 스트림을 복호화하는 공정을 포함하는, 화상 처리 방법.
KR1020137001925A 2010-08-03 2011-07-26 화상 처리 장치와 화상 처리 방법 KR20130102527A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2010174706 2010-08-03
JPJP-P-2010-174706 2010-08-03
PCT/JP2011/066920 WO2012017858A1 (ja) 2010-08-03 2011-07-26 画像処理装置と画像処理方法

Publications (1)

Publication Number Publication Date
KR20130102527A true KR20130102527A (ko) 2013-09-17

Family

ID=45559361

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020137001925A KR20130102527A (ko) 2010-08-03 2011-07-26 화상 처리 장치와 화상 처리 방법

Country Status (11)

Country Link
US (1) US20130114727A1 (ko)
EP (1) EP2603002A4 (ko)
JP (1) JPWO2012017858A1 (ko)
KR (1) KR20130102527A (ko)
CN (1) CN103026710A (ko)
AU (1) AU2011286922A1 (ko)
BR (1) BR112013001948A2 (ko)
CA (1) CA2804517A1 (ko)
MX (1) MX2013001034A (ko)
RU (1) RU2013103518A (ko)
WO (1) WO2012017858A1 (ko)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2900775T3 (es) 2011-01-13 2022-03-18 Nec Corp Dispositivo de descodificación de vídeo, método de descodificación de vídeo y programa
BR122015017257B1 (pt) * 2011-01-13 2022-08-02 Nec Corporation Dispositivo de codificação de vídeo, dispositivo de decodificação de vídeo, método de codificação de vídeo e método de decodificação de vídeo
TWI526056B (zh) 2011-04-27 2016-03-11 Jvc Kenwood Corp A moving picture coding apparatus, a motion picture coding method, a motion picture coding program, a transmission apparatus, a transmission method, a transmission program, a video decoding apparatus, a video decoding method, a video decoding program, a reception device, a reception method, Receiving program
WO2012147344A1 (ja) 2011-04-27 2012-11-01 株式会社Jvcケンウッド 動画像復号装置、動画像復号方法、及び動画像復号プログラム
CN107968945B (zh) * 2011-09-14 2021-09-14 三星电子株式会社 对视频进行解码的方法和对视频进行编码的方法
US9544592B2 (en) * 2012-02-10 2017-01-10 Texas Instruments Incorporated Methods and systems for encoding pictures associated with video data
EP2870753B1 (en) * 2012-07-04 2018-04-25 Thomson Licensing Spatial prediction with increased number of possible coding modes
EP3579562B1 (en) 2012-09-28 2021-09-08 Sony Group Corporation Image processing device and method
US20150085915A1 (en) * 2013-09-25 2015-03-26 Jay C.-C. Kuo Method and system for automatically encoding video with uniform throughput
JP5979512B2 (ja) * 2014-04-02 2016-08-24 コニカミノルタ株式会社 画像形成装置及びフラッシュメモリの制御方法
CN104581173A (zh) * 2015-01-13 2015-04-29 中国电子科技集团公司第三十二研究所 软解码验证模型平台
CN106375699A (zh) * 2016-08-29 2017-02-01 合肥康胜达智能科技有限公司 一种高清网络摄像机
CN106254832A (zh) * 2016-08-29 2016-12-21 合肥康胜达智能科技有限公司 一种闭路监控系统
CN106303450A (zh) * 2016-08-29 2017-01-04 合肥康胜达智能科技有限公司 一种视频图像处理方法
CN106331626A (zh) * 2016-08-29 2017-01-11 合肥康胜达智能科技有限公司 一种楼宇监控系统
CN106331629A (zh) * 2016-08-29 2017-01-11 合肥康胜达智能科技有限公司 一种安全监控系统
CN110447227A (zh) * 2017-03-10 2019-11-12 索尼公司 图像处理装置和方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100586882B1 (ko) * 2004-04-13 2006-06-08 삼성전자주식회사 모션 스케일러빌리티를 지원하는 코딩 방법 및 장치
CN100534193C (zh) * 2004-08-04 2009-08-26 松下电器产业株式会社 图像解码装置
JP2008193410A (ja) * 2007-02-05 2008-08-21 Matsushita Electric Ind Co Ltd 画像符号化装置、録画装置、動画像符号化方法、動画像符号化プログラム
JP4840440B2 (ja) * 2008-12-24 2011-12-21 ソニー株式会社 画像処理装置およびその方法、並びにプログラム

Also Published As

Publication number Publication date
EP2603002A1 (en) 2013-06-12
BR112013001948A2 (pt) 2018-05-15
MX2013001034A (es) 2013-03-08
JPWO2012017858A1 (ja) 2013-10-03
RU2013103518A (ru) 2014-07-27
WO2012017858A1 (ja) 2012-02-09
CN103026710A (zh) 2013-04-03
AU2011286922A2 (en) 2013-02-14
EP2603002A4 (en) 2014-12-31
CA2804517A1 (en) 2012-02-09
US20130114727A1 (en) 2013-05-09
AU2011286922A1 (en) 2013-02-07

Similar Documents

Publication Publication Date Title
KR20130102527A (ko) 화상 처리 장치와 화상 처리 방법
KR102477475B1 (ko) 화상 처리 장치 및 화상 처리 방법
JP6057140B2 (ja) 画像処理装置および方法、プログラム、並びに、記録媒体
KR20130118727A (ko) 화상 복호화 장치와 화상 부호화 장치 및 그 방법과 프로그램
WO2012063878A1 (ja) 画像処理装置と画像処理方法
KR20130070597A (ko) 화상 처리 장치와 화상 처리 방법
WO2011086964A1 (ja) 画像処理装置および方法、並びにプログラム
KR20120058521A (ko) 화상 처리 장치 및 방법
WO2012063604A1 (ja) 画像処理装置と画像処理方法
KR20120123326A (ko) 화상 처리 장치 및 방법
US20120288004A1 (en) Image processing apparatus and image processing method
JP2013150164A (ja) 符号化装置および符号化方法、並びに、復号装置および復号方法
WO2012056924A1 (ja) 画像処理装置と画像処理方法
JP5387520B2 (ja) 情報処理装置と情報処理方法
WO2012077533A1 (ja) 画像復号化装置と動きベクトル復号化方法、画像符号化装置と動きベクトル符号化方法
US20130034162A1 (en) Image processing apparatus and image processing method

Legal Events

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