본 발명의 바람직한 실시예들은 도면들에 따라 아래에 설명되었다.
(실시예 1)
첫째로, 제 1실시예가 설명되었다. 도 1은 본 발명에 관하여 동영상 레코딩 장치(디지털 카메라)의 전기적 구성의 개요를 나타내는 블럭도이다. 동영상 레코딩 장치는 레코딩 기능과 동영상의 재생기능을 포함하고 다음의 구성으로 제공된다.
바꾸어 말하면, 동영상 레코딩 장치는 동영상을 캡쳐하기 위한 화상캡쳐부(장치)(1)를 가진다. 화상캡쳐부(1)는 광학 시스템으로부터 전기적 신호로 물체광(L) 입력을 통하여 광학 이미지를 변환하기 위한 CCD, CMOS 등과 같은 영상센서 와 영상센서로부터 디지털 신호로 출력신호를 변환하기 위한 A/D변환기 등으로 구성되는 화상캡쳐부분이다. 화상캡쳐부(1)는 예를 들어, 화상캡쳐 신호들을, 화상발생부(2)로, 변환한 후에 디지털 신호를 출력한다.
화상발생부(장치)(2)는 연속적으로 소정의 프레임 비율에서 화상캡쳐부(1)로부터 출력되는 화상캡쳐 신호들로부터의 화상 데이터를 발생한다. 여기에 발생된 화상데이터는 색차성분 Cb 및 Cr뿐만 아니라 휘도성분 Y로 구성된다. 화상 데이터는 동영상을 구성하는 일련의 프레임 데이터로서 메모리 버스(3)를 통하여 메모리(4)에 연속적으로 저장된다. 메모리(4)에 일단 저장된 화상 데이터는 레코딩의 시간에서 코덱(5)으로 순차적으로 입력된다. 더욱이, 복수의 프레임들에 등가인 화상 데이터는 메모리(4)에 저장된다.
코덱(5)은 모션보상을 통하여 인터프레임 예측기술을 사용한 인코딩 시스템에 의해 동영상을 인코딩하고 인코딩된 데이터를 디코딩하기 위한 디코딩부뿐만 아니라 인코딩부이다. 더욱 상세하게는, 코덱(5)은 P화상(인터프레임 예측부호화 화상)뿐만 아니라 MPEG 포맷(MPEG-1, MPEG-2, MPEG-4, H.264, 등)에서의 I화상(인트라프레임 부호화 화상)으로서 동영상을 구성하는 일련의 프레임들(화상 데이터)을 인코딩하고 인코딩된 데이터를 디코딩하기 위한, 직교변환회로, 양자화회로, 모션검출회로, 순방향 예측회로, 인코딩회로, 디코딩회로, 역직교변환회로, 프레임메모리, 등으로 구성된다.
레코딩의 시간에, 코덱(5)은 메모리(4)로부터 질렬적으로 입력된 화상 데이터(일련의 프레임 데이터)를 인코딩한다. 코덱(5)이 I화상을 인코딩할 때, 오직 프 레임의 정보를 사용하여 인코딩(인트라프레임 인코딩) 과정을 수행하고 그것을 메모리(4)로 출력한다. 거기에, 코덱(5)은 다음의 프레임의 P화상을 인코딩하는데 사용되기 위한 화상 데이터(참조화상)로서 메모리(4)에 화상 데이터를 저장한다.
더욱이, 코덱(5)이 P화상을 인코딩할 때, 이전의 프레임을 인코딩할 때 참고의 목적을 위해 메모리(4)에 저장된 화상 데이터(참조화상)를 읽어내고 그것을 메모리(4)로 출력하기 위해 관련 프레임의 화상뿐만 아니라 참조화상을 사용하여 인코딩(인터프레임 예측코딩) 과정을 수행한다. 더욱이, 여기에 인코딩된 데이터 출력은 모션벡터(MV)를 포함한다. 게다가, 나중에 언급될 것으로서, 관련된 인코딩된 데이터로, 인코딩된 데이터가 I화상 또는 P화상인지와 같은 화상을 나타내는 화상형식 정보 및 디코딩의 시간에 참조프레임을 나타내는 참조프레임정보와 같은 속성정보가 부가된다.
더욱이, 코덱(5)이 P화상을 인코딩할 때, 프레임의 화상 데이터는 다음의 프레임의 P화상을 인코딩하는데 사용되기 위한 참조화상의 데이터로서 메모리(4)에 저장된다. 더욱 상세하게, 코덱(5)은 인코딩된 P화상을 위한 로컬 디코딩을 수행하고 참조화상의 데이터로서 메모리(4)에 로컬 디코딩된 화상을 저장한다. 더욱이, 이전에 기술된 I화상과 P화상(인코딩된 데이터) 및 참조화상(화상 데이터)은 메모리(4)에 획득되기 위한 소정의 영역에 각각 개별적으로 저장된다.
상기와 같이, 코덱(5)에 의해 발생되고 메모리(4)에 저장된 인코딩된 데이터 는 속성정보가 CPU(8)에 의해 부가되고 메모리카드 제어부(제어기)(9)에 의해 메모리카드(10)에 기록될 때 동영상 파일이 된다.
더욱이, 레코딩의 시간에 화상발생부(2)에 의해 발생되고 메모리(4)에 저장된 화상 데이터는 디스플레이 제어부(6)에 의해 읽혀지고 또한 LCD(LCD)에서 화면에 디스플레이되기 위한 LCD(액정 디스플레이)(7)로 보내진다.
다른 한편으로는, 메모리카드(10)에 기록된 동영상 파일은 재생시간에 메모리카드 제어부(9)에 의해 읽혀지고 인코딩된 데이터부분이 CPU(8)에 의해 취해진 후에 코덱(5)으로 전송된다. 전송된 인코딩된 데이터(동영상 데이터)는 나중에 기술되기 위한 세 가지 형식의 재생모드(표준속도 재생모드, 느린 재생모드, 및 가변 속도 재생모드)에 따른 실행을 통하여 이전에 기술된 코덱(5)에 의해 디코딩된다. 디코딩된 동영상은 디스플레이 제어부(6)에 의해 모든 프레임을 위해 직렬로 읽혀지는 동안, 메모리(4)에 저장되고, 또한 동영상으로서 화면에 디스플레이되는 LCD(7)로 보내진다.
CPU(8)는 소정의 키 동작에 따라, 동영상 레코딩 장치와 제어들을 조작하도록 사용자를 위해 배열된 다양한 형식의 동작 키들을 포함하는 키 입력부(12)에서의 키 동작상태를 연속적으로 검출하는 동안 프로그램 메모리(11)에 저장된 소정의 프로그램에 따라 상기 설명된 각 구성요소를 제어한다.
CPU(8)는 화상캡쳐부(1), 화상발생부(2), 및 코덱(5)을 레코딩할 때 240 fps의 프레임 비율에서 실행하도록 하고, 디스플레이 제어부(6)를 60 fps의 일정한 프레임비율(이하, 디스플레이 프레임 비율로서 참조)에서 실행하도록 할 뿐만 아니라 고속 화상캡쳐를 수행하도록 한다. 더욱이, 메모리카드(10)에 기록된 동영상의 재생시간의 동영상 레코딩 장치에서, CPU(8)는, 코덱(5)을, 디스플레이 프레임비율과 동일한, 60 fps의 프레임비율에서 실행하도록 함에 의하고 나중에 설명될 세 가지 형식의 재생모드(표준속도 재생모드, 느린 재생모드, 및 가변 속도 재생모도)에 따른 제어로서 디코딩 제어부로서 동작한다.
프로그램 메모리(11)는 다시 쓸 수 있는,EEPROM 또는 플래쉬 메모리, 등과 같은 비휘발성 메모리이고, 거기서 이전에 기술된 소정의 프로그램을 제외한, 사용자에 의해 설정 또는 변환된 장치의 각 기능에 관련된 다른 지정된 데이터가 저장된다.
키 입력부(12)에 배열된 것은, 레코딩모드에서의 레코딩 시작과 레코딩 정지 및 재생모드에서 재생정지뿐만 아니라 재생시작을 명령하기 위한, 레코딩모드와 재생모드 사이의 동영상 레코딩 장치의 실행모드를 전환하는 사용자를 위한 모드전환 키 및 조작키이다.
더욱이, 본 발명의 실시예에서 재생모드로서, 이전에 설명된 세 가지 형식의 표준속도 재생모드, 느린 재생모드, 및 가변 속도 재생모드가 제공된다. 표준속도 재생모드는 동영상의 이동속도(이하 재생속도로서 참조)가 레코딩 목적의 실제 이동속도(이하 표준속도로서 참조)와 동일한 속도인 모드이고, 느린 재생모드는 표준속도보다 느린, 재생속도가 1/4속도인 모드이다. 양 재생모드는 재생속도가 상기 속도에서 고정된 상태의 동영상 재생의 경우에 사용된다. 표준속도 재생모드와 느린 재생모드와 다른, 가변 속도 재생모드는 재생되는 동안, 동영상의 재생속도가 대략적으로 표준속도 또는 표준속도의 1/4 속도로 변화될 수 있는 모드이다. 더욱이, 각 재생모드는 동영상의 재생에 앞서 설정될 수 있고, 사용자가 모드전환 키를 조작하여 동영상 재생에 앞서 어떤 재생모드를 선택적으로 설정하도록 인정한다.
더욱이, 키 입력부(12)에서, 속도전환 키는 사용자가 가변 속도 재생모드에서 동영상을 재생하는 동안 표준속도와 1/4 속도 사이의 동영상의 재생속도를 전환하도록 허가하고, 조작부는 키 입력부(12)로 인식된다.
이하에서, 본 발명의 실시예의 동영상 레코딩 장치의 실행(조작 또는 과정)이 설명된다.
(레코딩 실행)
첫째로, 동영상이 입수되고 레코딩 모드에 기록될 때의 시간에서 실행이 기술된다. 도 2는 CPU(8)를 통하여 코덱(5)의 제어항목을 나타내는 순서도이다. 동영상이 입수되고 기록될 때의 시간에서, CPU(8)는 화상캡쳐부(1), 화상발생부(2), 및 코덱(5)을 240 fps의 프레임비율에서 실행하도록 하고, 또한 프레임의 단위에 따른 각 구성요소를 동조시킨다.
다음에, 화상을 입수 및 기록하는 시작점에서, CPU(8)는 프레임번호(i)를 우선 초기화한다(단계 SA1). 더욱이, 프레임번호의 초기값(제 1프레임의 번호)은 "0"이다. 그 후에, CPU(8)는 메모리(4)로 한 프레임의 화상 데이터 균등물의 입력(저장)을 기다리고(단계 SA2) 코덱(5)이 모든 프레임을 위해 하나씩 프레임 번호(i)를
증분시키는 동안 하기에 설명될 인코딩 과정을 실행하도록 한다.
첫째로, 만약 CPU(8)가 실행시작 후에 즉각적으로 제 1프레임(i=0)을 포함하는 120의 배수라면(단계 SA3에서 '예'), 메모리(4)에 저장된 이 시간의 화상 데이터는 읽혀지고 코덱(5)이 I화상을 인코딩하도록 하는 코덱(5)에 입력된다. 바꾸어 말하면, 코덱(5)은 입력된 화상 데이터에 오직 기초하여 인트라프레임 인코딩을 실행하고 메모리(4)로 인코딩된 데이터를 출력한다(단계 SA4). 다음에 코덱(5)은 인코딩된 데이터가 다음의 프레임의 P화상을 인코딩하는 시간에 사용되기 위한 화상 데이터(참조화상)로서 메모리(4)에 인코딩된 데이터로부터 개별적으로 디코딩된 지역적으로 디코딩된 화상 데이터를 저장한다. 더욱이, CPU(8)는 인코딩된 데이터로 이전에 기술된 속성정보를 부가한다(단계 SA5).
다음에, CPU(8)는 화상캡쳐가 종결되지 않은 것을 결정하고(단계 SA6에서 '아니오'), 하나씩 프레임번호(i)를 증분한 후에(단계 SA7), 상기 과정이 단계(SA2)로 회귀함으로써 반복된다. 바꾸어 말하면, 프레임번호(i)가 "120"의 배수가 되는 모든 시간, CPU(8)는, 프레임비율이 240 fps이므로, 코덱(5)이 I화상으로서 매 0.5초 마다 입력된 화상 데이터를 인코딩하도록 한다.
더욱이, 상기 과정을 반복하는 동안, 만약 CPU(8)가 메모리(4)에 입력된 화상 데이터의 프레임번호(i)가 120의 배수가 아닌 것으로 결정하면, 동일한 시간에, 4의 배수(단계 SA3에서 '아니오' 및 단계 SA8에서 '예'), P화상의 인코딩을 실행할 때 코덱(5)에 의해 사용되는(단계 SA9), 전에 4프레임인 프레임의 인코딩 과정의 경우에 메모리(4)로 저장된 참조화상들 및 동일한 메모리(4)에 저장된 이 시간의 화상 데이터는 읽혀지고 코덱(5) 내부로 입력된다. 바꾸어 말하면, CPU(8)는, 세 개의 프레임, 즉 전에 4프레임인 프레임의 화상이 참조화상으로서 사용된 후에, 코덱(5)이 모션보상이 수행된 순방향 인트라프레임 예측 인코딩을 통하여 인코딩을 수행하도록 하고, 메모리(4)로 인코딩된 데이터를 출력하도록 한다. 다음에, 코 덱(5)은 인코딩된 P화상을 위해 이전에 기술된 지역 디코딩을 수행하고, 다음 프레임(주의, P화상)을 인코딩하는 시간에 사용되기 위한 참조화상의 데이터로서 디코딩된 데이터로부터 개별적으로 메모리(4)에 지역적으로 디코딩된 화상을 저장한다. 더욱이, CPU(8)는 인코딩된 데이터로 이전에 기술된 속성정보를 부가한다, 즉 부가된다(단계 SA5).
이하, CPU(8)가 화상입수가 종결되지 않았다고 결정할 때(단계 SA6에서 '아니오'), 상기 기술된 모든 과정들은 반복되고, 레코딩 실행은 그것이 화상입수가 종결되었다고(단계 SA6에서 '예') 결정할 때 끝난다.
더욱이, 모든 프레임에 부가된 속성정보뿐만 아니라 메모리(4)에 저장된 일련의 인코딩된 데이터는 동영상 파일로 저장되도록 메모리카드 제어부(9)에 의해 메모리카드(10)로 전송된다. 상기 과정은 화상캡쳐부(1)와 화상발생부(2) 사이의 프레임들의 단위에 의해 동시에 일어난다.
도 6A는 상기에 기술된 과정에 의해 발생된 인코딩된 데이터(61) 및 거기로 부가된 속성정보(62), 즉, 화상형식정보(62a)와 참조프레임정보(62b)를 개념적으로 설명하는 도면이다. 더욱이, H.264에서, 상기 인코딩된 데이터(61)는 분할된 데이터 바디로서 동영상 파일에 저장된다. 다른 한편으로, 화상형식정보(62a)는, 참조프레임정보(62b)가 각 화상을 디코딩하는 시간에 참조화상을 나타내는 참조화상지정정보로서 인코딩된 데이터(61)를 따라 분할된 데이터바디에 저장되는 동안, 각 화상의 형식을 나타내는 슬라이스형으로서 슬라이스 헤더(slice header)에 저장된다. 더욱이, 참조화상지정정보(참조프레임정보(62b))로서, 프레임으로부터 움직임 에 따른 증분값이 제공된다. 예를 들어, 만약 참조화상이 즉각적으로 선행하는 참조화상(참조된 화상)이라면, 그것은 "0"이다. 전에 한 화상인 참조화상의 경우에, 그것은 "1"이고, 만약 전에 하나 더한 참조화상이라면, 그것은 "2", 이하 마찬가지이다.
더 나아가서, 도면에 나타난 인코딩된 데이터(61), I화상을 제외한 프레임 번호(i)는 4의 배수인 프레임들의, "I"는 I화상, "P"는 P화상이고, "p"는 프레임번호(i)가 4의 배수가 아닌 프레임들의 P화상이다. 본 발명의 실시예에서, "I" 및
"P"는 소정의 프레임 간격으로 지정된 화상들이다. 더욱이, 화살표로 나타난 프레임은 각 P화상을 인코딩하는 시간에 참조프레임(참조화상)이다. 부가적으로, 다음의 기술에서, "I" 및 "P" 프레임들은 메인프레임으로, "p"는 서브프레임으로서 참조된다.
더욱이, 도면에 나타난 상기 인코딩된 데이터(61)에서, "I"는 I화상, "P"는 I화상들을 제외한 프레임 번호(i)가 4의 배수인 프레임들의 P화상이고, "p"는 프레임 번호(i)가 4의 배수가 아닌 프레임들의 P화상이다. 본 발명의 실시예에서, "I" 및 "P"는 소정의 프레임 간격으로 지정된 화상들이다. 더욱이, 화살표로 나타난 프레임은 각 P화상을 인코딩하는 시간에 참조프레임(참조화상)이다. 부가적으로, 다음의 기술에서, "I" 및 "P" 프레임들은 메인프레임으로, "p"는 서브프레임으로 참조된다.
게다가, 상기 인코딩된 데이터(61)에서, 값은 "I"를 I화상으로 "P"를P화상으로와 같은 화상형식정보(62a)로서 모든 프레임을 위해 부가된다. 더욱이, P화상의 프레임들로, 초기에 설명된 소정의 값은 참조프레임정보(62a)로서 부가되기 위한 것이다. 바꾸어 말하면, 참조프레임정보(62a)로서, 모든 서브프레임들(p1, p2, p3, 등)로 즉각적으로 선행하는 참조프레임(참조되기 위한 화상)을 나타내는 "0"은 개별적으로 부가되고, 메인프레임(P4, P8, P12)으로 프레임 순서에서 전에 4 프레임인 참조화상(참조될 화상)을 나타내는 "3"은 각각 부가된다.
(재생실행)
다음으로, 상기 언급된 각 재생모드(표준속도 재생모드, 느린속도 재생모드, 및 가변 속도 재생모드)에 따른 재생동안 실행은 다음의 도 3 내지 5에 설명된다.
여기에, 상기 설명된 레코딩 실행들을 통하여 메모리카드(10)에 기록된 동영상(동영상 파일)은 재생되도록 가정된다. 게다가, 각 재생모드에서, 우선 CPU(8)는 메모리카드(10)에 기록된 동영상 파일을 읽고 메모리카드 제어부(9)를 통하여 사용자에 의해 선택적으로 선택된다. CPU(8)는 이어서 읽어낸 동영상의 인코딩된 데이터 부분을 입수하고 60 fps의 프레임비율에서 코덱(5)으로 인코딩된 데이터 부분의 전송을 시작하여, 동영상의 재생이 시작된다.
(재생실행, 느린 재생)
우선, 느린 재생모드에서 실행은 도 3의 다음의 순서도로 설명된다. 느린 재생모드가 사용자에 의해 설정되었을 때, CPU(8)는 코덱(5)과 디스플레이 제어부(6)를 60 fps의 프레임비율에서 실행하도록 한다.
다음에, 재생을 시작함에 있어, CPU(8)는 첫째로 프레임 번호(i)를 초기화한다(단계 SB1). 게다가, 프레임 번호의 초기값은 레코딩될 때 "0"이다.
다음으로, CPU(8)는 화상형식정보(62a)에 의해 나타난 화상형식이 I화상인지(단계 SB3) 결정하기 위해 프레임 번호(i)의 인코딩된 데이터에 부가된 속성정보(62)(화상형식정보(62a), 참조프레임정보(62b))를 읽어낸다(단계 SB3). 여기에, 재생의 시작에서와 같이, 만약 CPU(8)가 그것이 I화상인지 결정하면(단계 SB3에서의 '예"), I화상은 코덱(5)에 의해 디코딩된다. 바꾸어 말하면, CPU(8)는 코덱(5)이 메모리(4)로 화상 데이터를 출력하기 위해 인트라프레임을 통하여 화상 데이터를 디코딩하게 한다(단계 SB4).
게다가, 만약 CPU(8)가 프레임 번호(i)의 인코딩된 데이터가 I화상이 아니라고 결정하면(단계 SB3에서 '아니오'), 그것은 코덱(5)이 P화상을 디코딩하게 한다(메인프레임 또는 서브프레임의 인코딩된 데이터). 바꾸어 말하면, CPU(8)는, 단계(SB2)에서 읽혀진 참조프레임정보(62b)에 나타난 참조프레임의 화상, 즉, 메인프레임의 P화상의 경우에, 메모리(4)에 저장된 전에 4프레임인 화상과, 서브프레임의 P화상의 경우에, 메모리(4)에 저장된 전에 1프레임인 화상이 참조화상으로서 개별적으로 사용된, 인터프레임 예측 디코딩을 통하여 화상 데이터를 디코딩한다. 이어서, CPU(8)는 코덱(5)이 메모리(4)로 화상 데이터를 출력하게 한다(단계 SB5).
CPU(8)가 1/60초의 디스플레이 프레임비율에서 다음 디스플레이 타이밍을 위해 기다린 후에(단계 SB6), 디코딩된 화상 데이터는 메모리(4)로부터 읽혀지고 화상 데이터는 디스플레이 제어부(6)로 전송된다. 그리하여, CPU(8)는 디스플레이 제어부(6)가 디스플레이 프레임비율에 따라 디스플레이 타이밍에서 LCD(7)에 디스플레이 화상을 갱신하도록 한다(단계 SB7).
그 후로부터, CPU(8)가 마지막 프레임의 처리가 완료되지 않았다고 결정할 때(단계 SB8에서 '아니오'), 하나씩 프레임번호(i)를 증분한 후에(단계 SB9), 이전에 기술된 과정은 단계(SB2)로 회귀함에 따라 반복된다. CPU(8)가 전부 인코딩된 데이터의 디코딩(전 프레임들의 디스플레이)이 끝났다고 결정할 때(단계 SB8에서 '예'), 재생은 끝난다.
따라서, 도 6B에 나타난 것처럼, CPU(8)는 코덱(5)이 순차로 240 fps에서 입수되고 기록된 모든 프레임들을 디코딩하게 하고, 60 fps에서 LCD(7) 위에 기록된 모든 프레임들의 화상 데이터를 디스플레이하여, 동영상은 표준속도의 1/4의 속도에서 느리게 재생된다.
(재생실행, 표준속도 재생)
다음에, 표준 재생모드에서의 실행은 도 4의 다음의 순서도에서 설명된다. 표준 재생모드가 사용자에 의해 설정될 때조차, CPU(8)는 코덱(5)과 디스플레이 제어부(6)가 60 fps의 프레임비율에서 실행하도록 한다.
다음에, 재생의 시작에서, CPU(8)는 우선 프레임 번호(i)를 초기화한다(단계 SB101). 게다가, 프레임 번호의 초기값은 레코딩에서와 같이 "0"이다.
다음으로, CPU(8)는 프레임 번호(i)가 4의 배수인지(초기값 "0"을 포함), 즉, 상기 언급한 메인프레임인지 결정한다(단계 SB102). 여기에, 재생시작 후에 즉시 유사한, CPU(8)가 프레임 번호(i)가 4의 배수인지 결정할 때(단계 SB102에서 '예'), 속성정보는 이어서 속성정보에 의해 나타난 화상형식이 I화상인지 결정하기 위해(단계 SB104) 인코딩된 데이터로부터 읽혀진다(단계 SB103).
다음에, 상기 언급된 느린 재생모드에서 단계(SB4) 내지 단계(SB9)에 따라, CPU(8)가 그것이 재생의 시작에서 초기 프레임과 유사한 I라고 결정할 때(단계SB104에서 '예'), 즉 I화상의 경우에(단계 104에서 '예'), I화상은 코덱(5)에 의해 디코딩된다. 바꾸어 말하면, CPU(8)는 코덱(5)이 인트라프레임 디코딩을 통하여 화상 데이터를 디코딩하게 하고 화상 데이터는 메모리(4)로 출력한다(단계 SB105). 게다가, CPU(8)는 그것이 I화상이 아니라고 결정할 때(단계 SB104에서 '아니오'), P화상이 코덱(5)에 의해 디코딩된다. 바꾸어 말하면, CPU(8)는 코덱(5)이 참조화상으로서 단계 SB103에서 읽혀진 속성정보에 의해 나타난 참조프레임(전에 4프레임이고 메모리(4)에 저장된 화상=바로 선행하는 메인프레임의 화상)의 화상을 사용하여 인터프레임 예측 디코딩을 통하여 화상 데이터를 디코딩하게 한다. 그러나, 느린 재생모드와 다르게, 여기에 디코딩되는 P화상들은 메인프레임의 P화상들로 제한된다.
CPU(8)가 1/60초의 디스플레이 프레임 비율에서 타이밍을 기다린 후에(단계 SB107), 디코딩된 화상 데이터는 메모리(4)로부터 읽혀지고 화상 데이터는 디스플레이 제어부(6)로 전송된다. 그리하여, CPU(8)는 디스플레이 제어부(6)가 디스플레이 프레임비율에 따라 디스플레이 타이밍에서 LCD(7)에 디스플레이 화상을 갱신하도록 한다(단계 SB108).
CPU(8)가 마지막 프레임의 처리가 완료되지 않았다고 결정할 때(단계 SB109에서 '아니오'), 하나씩 프레임 번호(i)의 증분 후에, 이전의 기술된 과정은 단계(SB102)로 회귀함으로써 반복된다.
반면에, CPU(8)가 단계(SB102)에서의 식별결과가 '아니오'이고 새로운 프레임 번호(i)가 4의 배수가 아닐 때-즉, 다음 처리목표가 되는 인코딩된 데이터가 이전에 기술된 서브프레임의 P화상일때-프레임 번호(i)의 인코딩된 데이터는 건너뛰어진다. 바꾸어 말하면, CPU(8)는, 사실은 하나씩 프레임 번호(i)를 증분하고(단계 SB112) 단계(SB102)로 돌아가며, 동영상 파일로부터 코덱(5)으로 입수된 인코딩된 데이터의 전송실행을 건너뛰고(단계 SB111), 단계(SB111 및 SB112)의 처리는 프레임 번호(i)가 4의 배수가 될 때까지 반복된다.
프레임 번호(i)가 다시 4의 배수가 되는 순간에, CPU(8)는, 코덱(5)이 다음 메인프레임의 인코딩된 데이터(I화상 또는 P화상)를 디코딩하게 하고 LCD(7) 위에 디코딩된 화상 데이터를 디스플레이하며, 이전에 기술된 단계(SB103) 내지 단계(SB108)의 처리를 수행한다.
그 후에, CPU(8)가 마지막 프레임의 처리가 완료되지 않았다고 결정할 때(단계 SB109에서 '아니오'), 하나씩 프레임 번호(i)를 증분한 후에(단계 SB110), 이전에 기술된 과정은 단계(SB102)로 돌아가며 반복된다. 바꾸어 말하면, 도 6C에 나타난 것처럼, CPU(8)는 코덱(5)이 매 4프레임 마다(3프레임 후에) 동영상을 디스플레이(디코드)하게 한다. 바꾸어 말하면, CPU(8)는 1/4로 디스플레이되는(디코딩되는) 프레임들을 세선화하여 표준속도에서 동영상을 재생한다. CPU(8)가 최종 프레임이 완료되었다고 결정할 때(단계 SB109에서 '예'), 재생은 끝난다. 더욱이, CPU(8)가 이전에 기술된 단계(SB112)에서 하나씩 프레임 번호(i)를증분할 때, 만약 그것이 마지막 프레임의 프레임 번호(i)를 초과한다고 결정되면, 재생은 명백하게 그 점에 서 종결된다.
여기에, 상기 기술된 표준 재생모드에서 동영상의 재생 동안, 실제로 디스플레이 될 메인프레임의 인코딩된 데이터 사이에, I화상은 인트라프레임 코딩된 화상이고 P화상은 인터프레임 예측 코딩된 화상이다. 그러나, 이 P화상은 맨 앞의 메인프레임의 I화상 또는 P화상을 참조화상으로서 간주하여 인코딩된다. 그러므로, 앞서 기술된 것처럼, CPU(8)는 디스플레이되지 않는 서브프레임의 인코딩된 데이터(P화상)를 디코딩함이 없이 문제들이 없는 각 메인프레임을 디스플레이할 수 있다. 바꾸어 말하면, CPU(8)는 프레임 세선화를 수반하며 표준 재생모드에서 동영상 재생을 효과적으로 수행할 수 있다. 결론적으로, 과거와 비교해서, 전 데이터 처리 볼륨(volume)과 전력소비는 줄어들 수 있다.
(재생실행, 가변 속도 재생)
다음에, 가변 속도 재생모드에서의 실행은 도 5A와 5B의 순서도에 따라 설명된다. 가변 속도 재생모드가 사용자에 의해 설정될지라도, CPU(8)는 코덱(5)과 디스플레이 제어부(6)가 60 fps의 프레임 비율에서 실행하게 한다.
다음에, 재생의 시작에서, CPU(8)는, 코덱(5)의 재생 실행을 조절하기 위한 파라미터인, 재생모드값(m)을 우선 초기화한다(단계 SB201). 바꾸어 말하면, CPU(8)는 재생모드 형식을 결정한다. 여기에, 재생모드값(m)은 두 개의 형식, 예를 들어, "1" 또는 "4"를 가진다. "1"은 느린 재생모드이고 "4"는 표준속도 재생모드이며, CPU(8)는 초기화의 경우에 재생모드값(m)을 "1"(느린 재생모드)로 설정한다. 게다가, CPU(8)는 프레임 번호(i)를 초기화한다(단계 SB202). 또한, 프레임 번호의 초기값은 레코딩과 같이 "0"이다.
그 후에, CPU(8)는 프레임 번호(i)가 재생모드값(m)의 배수("i=0"이 역시 포함된 것으로 가정)인지 결정한다(단계 SB203). 재생시작 바로 후에 i=0 및 m=1이기 때문에, CPU(8)는 "예"를 결정하고 화상형식정보(62a)에 의해 나타난 화상형식이 I화상인지 결정하기 위해(단계 SB205) 인코딩된 데이터로 부가된 속성정보(62)(화상형식정보(62a), 참조프레임정보(62b))를 읽어낸다(단계 SB204). 재생시작 바로후에(제 1프레임), CPU(8)는 인코딩된 데이터가 I화상인지 결정하고(단계205에서 '예') 코덱(5)이 I화상을 디코딩하게 하고(인트라프레임 디코딩) 메모리(4)로 디코딩된 화상 데이터를 출력한다(단계 SB206).
CPU(8)가 1/60초의 디스플레이 프레임 비율에서 타이밍을 기다린 후에(단계 SB207), 디코딩된 화상 데이터는 메모리(4)로부터 읽어지고 화상 데이터는 디스플레이 제어부(6)로 전송된다. 그리하여, CPU(8)는 디스플레이 제어부(6)가 디스플레이 프레임 비율에 따라 디스플레이 타이밍에서 LCD(7) 위에 디스플레이 화상을 갱신하도록 한다(단계 SB208).
CPU(8)가 마지막 프레임의 처리가 완료되지 않았다고 결정할 때(단계 SB209에서 '아니오'), 하나씩 프레임 번호(i)를 증분한 후에(단계 SB210), 그것은 프레임 번호(i)가 4의 배수인지 결정한다(단계 SB211). 재생시작 바로 후에 i=1이므로, CPU(8)는 여기서 '아니오'로 결정하고, 이전에 기술된 과정은 사실 단계(SB203)으로 회귀함으로써 반복된다.
거기서 i=1 및 m=1이므로, CPU(8)는 단계(SB203)에서 '예'라고 결정하고 그 것이 I화상인지 결정하기 위해(단계 SB205) 인코딩된 데이터로 부가된 속성정보(62)를 읽는다(단계 SB204). 제 2프레임(i=1)은 서브프레임이고 디코딩 목표인 인코딩된 데이터는 P화상이다(단계 SB205에서 '아니오'). 그러므로, CPU(8)는 프레임 번호(i)의 인코딩된 데이터, 예를 들어, 메모리(4)로부터 전에 1프레임인 화상을 수반하여 참조프레임정보(62b)에 나타난 참조화상을 출력하고, 코덱(5)이 그것을 참조화상으로 간주하여 P화상을 디코딩하도록 하고 그것을 메모리(4)로 출력한다(단계 SB212).
CPU(8)가 1/60초의 디스플레이 프레임 비율에서 타이밍을 기다린 후에, 그것은 메모리(4)로부터 디코딩된 화상 데이터를 읽는다. CPU(8)는 , 디스플레이 제어부(6)가 디스플레이 프레임 비율에 따라 디스플레이 타이밍에서 LCD(7) 위로 디스플레이 화상을 갱신하도록 한다(단계 SB207 및 SB208). 게다가, 제 4프레임뿐 아니라 제 3프레임의 인코딩된 데이터에 관하여, 제 2프레임에서와 같이, CPU(8)는 전에 1프레임인 화상을 사용하여 디코딩 과정을 수행하고 디코딩된 화상 데이터가 LCD(7) 위에 디스플레이되도록 한다.
여기서, 제 4프레임의 화상이 디스플레이된 바로 직후에, CPU(8)는 단계(SB210)에서 하나씩 증분되고 있는 후의 프레임 번호(i)가 "4"(단계 SB211에서 '예')인지 결정하고 속도변환 키가 사용자에 의해 조작되어는지 즉시 검증하며, 만약 속도변환 키기 조작되지 않았다면(단계 SB213에서 '아니오'), 그것은 단계(SB203)으로 돌아간다. 제 5프레임(i=4)은 메인프레임이고 디코딩 목표인 인코딩된 데이터가 P화상이다(단계 SB205에서 '아니오'). 그러므로, CPU(8)는 프레임 번 호(i)의 인코딩된 데이터로 부가된 속성정보에서 나타난 참조화상, 예를 들어, 메모리(4)로부터 전에 4개의 프레임인 화상(최초 메인프레임)을 읽고, 코덱(5)이 O화상을 디코딩하게 하고(인터프레임 예측 디코딩) 그것을 사용하여 메모리(4)로 출력한다(단계 SB212). CPU(8)는 이어서 화상 데이터가 LCD(7) 위에 디스플레이되도록 한다(단계 SB207 및 SB208).
그 후에, CPU(8)는 단계(SB203) 내지 단계(SB213)에서 과정들을 반복하고, 도 6B에 나타난 것처럼, 디스플레이로 모든 프레임들을 디코딩하여, 느린 재생모드가 재생의 시작에서 사용자에 의해 설정되는 경우와 같이, 동영상은 표준속도의 1/4의 속도에서 느리게 재생된다. 더욱이, 한편, CPU(8)는, 예를 들어, 메인프레임의 인코딩된 데이터를 처리하기 바로 전에 매 4프레임마다 속도변환의 조작 존재 및 부재를 검증한다.
만약 CPU(8)가 기간 동안 어떤 검증하는 타이밍에서 속도변환 키의 어떤 조작이 있다고 결정하면(단계 SB213에서 '예'), 그 시점에서 "1"에서 "4"까지 재생모드값(m)을 전환한 후에(단계 SB214), 표준 재생모드로의 천이는 단계(SB203)으로 회귀함으로써 행해진다.
천이가 표준 재생모드로 행해진 바로 직후에, CPU(8)는 단계(SB 203)에서 '예'를 결정하고, 단계(SB204)에서 프레임(i)의 인코딩된 데이터로 부가된 속성을 읽는다. 만약 CPU(8)가 단계(SB205)에서 '아니오'라고 결정하면, 메모리(4)로부터 전에 4프레임인 화상을 읽고(최초 메인프레임의 화상) 코덱(5)이 그것을 LCD(7) 위에 디코딩된 화상 데이터를 디스플레이함으로써 뒤따르는 참조화상으로 간주하여 디코딩하도록 한다(인터프레임 예측 디코딩). 게다가, 만약 CPU(8)가 단계(SB205)에서 '예'라고 결정하면, 그것은 코덱(5)이 LCD(7) 위에 디코딩된 데이터를 디스플레이함으로써 뒤따르는 I화상(인드라프레임 디코딩)을 디코딩하도록 한다.
나중에, CPU(8)가 프레임 번호(i)가 4의 배수가 아니라고 결정할 때(단계 SB203에서 '아니오'), 그것은 그 시점에서 프레임의 인코딩된 데이터(P화상)를 건너뛴다-예를 들어, 서브프레임). 바꾸어 말하면, CPU(8)는 동영상 파일로부터 코덱(5)으로 얻어진 인코딩된 데이터의 전송실행을 건너뛰고(단계 SB215), 반복된 절차인, 하나씩 프레임 번호(i)를 증분한 후에 단계(SB203)으로 돌아간다(단계 SB216). 다른 한편으로는, CPU(8)가 프레임 번호(i)가 4의 배수라고 결정할 때(단계 SB203에서 '예'), 단계(SB204) 후의 절차는 수행된다. 바꾸어 말하면, 만약 CPU(8)가 단계(SB 205)에서 '아니오'라고 결정하면, 4개의 선행하는 프레임들의 화상(최초 메인프레임의 화상)은 메모리(4)로부터 읽혀지고, 메인프레임의 인코딩된 데이터(P화상)가 코덱(5)에 의해 참조화상으로서 디코딩된 후에(인터프레임 예측 디코딩), 디코딩된 화상데이터는 LCD(7)에 디스플레이된다. 게다가, 만약 CPU(8)는 단계(SB205)에서 '예'라고 결정하면, 디코딩된 화상 데이터는 I화상이 코덱(5)에 의해 디코딩된 후에 LCD(7)에 디스플레이된다.
다음에, 동일한 단계들을 반복함에 있어, 표준속도 재생모드가 설정된 경우와 유사하게, 도 6C에 나타난 것처럼, 매 4프레임마다(매 4번째 프레임) 동영상을 디스플레이(디코딩)하여(프레임들을 디스플레이될 1/4로 세선화), CPU(8)는 표준속도에서 동영상을 재생한다. 또한, 한편, 매 4프레임마다-즉, 다음 메인프레임의 인 코딩된 데이터를 처리하기 바로 전의 타이밍에서-CPU(8)는 속도변환 키가 조작되었는지 검사한다(단계 SB213).
그 후에, 만약 CPU(8)가 속도변환 키가 어떤 지시된 타이밍에서 조작되었다고 결정하면(단계 SB213에서 '예'), "4"에서 "1"로 재생모드값(m)을 전환한 후에(단계 SB214), 그것은 단계(SB203)으로 회귀함으로써 그 점에서 느린 재생모드로 이동되고 재생실행은 계속된다. 재생은 CPU(8)가 최종프레임의 처리가 완료되었다고 결정할 때 종결된다(단계 SB209에서 '예'). 또한, 프레임 번호(i)가 상기 업급된 단계(SB216)에서 하나씩 증분될 때, 재생은 만약 그것이 최종프레임의 프레임 번호(i)를 초과했다고 결정하면 그 시점에서 종결되어야 한다.
상기 언급된 것처럼, 가변 속도 재생모드에서, 동영상의 재생 동안일지라도, 사용자가 소망했던 시점에서 속도변환 키를 조작할 때, 재생모드, 예를 들어, 동영상의 재생속도(이동속도)는 동시에 표준속도의 1/4속도 뿐 아니라 표준속도로 전환될 수 있다.
더욱이, 재생속도가 표준속도로 설정될 때, 매 4프레임마다 메인프레임은 상기 언급된 것처럼 디스플레이되지 않을 서브프레임의 인코딩된 데이터(P화상)를 디코딩함이 없이 효과적으로 디스플레이될 수 있다. 따라서, 전체 데이터처리 볼륨과 전력소비는 전통적인 접근들과 비교하여 줄여질 수 있다.
또한, 본 실시예에서와 같이 오직 I화상과 P화상을 포함하는 모션데이터가 동영상 압축의 국제표준인 H.264에서 받아들여졌으므로, 그것은 만약 구성이 H.264를 따르는 동영상 데이터의 재생을 가능하게 한다면 임의의 동영상 재생장치에 의 해서 재생될 수 있다.
[제 2실시예]
본 발명의 제 2실시예는 다음과 같이 기술된다. 제 1실시예와 유사하게, 본 실시예는 240 fps의 고 속도 프레임 비율에서 캡쳐된 동영상을 압축하고 기록하는 레코딩 기능과 기록된 동영상 데이터를 디코딩하고 60 fps의 디스플레이 프레임비율에서 그것을 재생하는 재생기능을 포함하는 동영상 레코딩 장치에 관한 것이다.
본 실시에의 기본 구성은 제 1실시에에 나타난 동영상 레코딩 장치(도 1)의 그것과 동일하지만, 코덱(5)은 도 7에 기술된 것과 같이 구성된다.
도 7은 이 실시예에서 코덱(5)의 구성을 나타내는 블락도이다. 도 7에 나타난 것처럼, 코덱(5)은 버스제어부(51), 참조버퍼(52), 및 병렬로 위치된 제 1코덱(53) 내지 제 4코덱(56)으로 주로 구성된다.
제 1코덱(53) 내지 제 4코덱(56)은 동영상 데이터를 인코딩 및 디코딩하기 위한 주 처리부를 포함하는 부분이고, 각각은 처리속도 60 fps에서 VGA(640×480 화소들)크기의 화상데이터의 인코딩 및 디코딩을 가능하게 하는 처리능력뿐 아니라 동일한 동일한 규격을 가진다. 바꾸어 말하면, 제 1코덱(53) 내지 제 4코덱(56)은, 제 1실시예에서 코덱(5)의 구성으로서 기술된, 직교변환 회로, 양자화 회로, 모션검출 회로, 순방향 예측 회로, 인코딩 회로, 디코딩 회로, 및 역 직교변환 회로로 구성된다.
여기서, 본 실시예에서 코덱(5)을 가진 동영상을 인코딩하는 방법은, 제 1실시예에 언급된 국제표준인, H.264에 적합하다. 게다가, H.264는 아이티유-티(ITU- T)의 표준화 위원회(국제 전자통신 연합-전자통신 표준화 부문)와 MPEG(동영상 전문가 그룹)의 조인트인(joint), 제이브이티(JVT)(조인트 비디오 팀)와 2003년에 표준화가 된 영상들의 압축 인코딩하는 방법이다. H.264는 아이티유-티에 의한 H.264로서, 및 MPEG에 의한 MPEG-4 파트 10 어드벤스드 비디오코딩(MPEG Part 10 Advanced Video Coding)(AVC)로서 표준화되었고 또한 H.264/MPEG-4에이브이씨로서 참조된다.
참조버퍼(52)는 제 1실시예에 기술된 프레임 메모리에 대응한다. 참조버퍼(52)는, 공통 화상 데이터를 제 1코덱(53) 내지 제 4코덱(56)으로 넘겨주며, 제 1코덱(53) 내지 제 4코덱(56)이 과정에 의해 요구된 것과 같이 메모리(4)로부터 모든 프레임의 화상 데이터를 인코딩하고 디코딩할 때 요구된 참조화상의 부분을 읽고 이어서 그것을 저장한다. 특히, 각 과정을 위한 매크로블락으로서 동일한 위치의 매크로블락, 및 모션탐사와 모션예측을 위해 요구된 부분의 화상 데이터는 일시적으로 저장된다.
버스제어부(51)는 화상 데이터의 입력과 출력 및 제 1코덱(53) 내지 제 4코덱(56)에 의해 요구된 것으로서 메모리(4)를 위한 인코딩 데이터를 제어한다. 본 실시예에서, CPU(8)로부터 명령에 기초하여 버스제어부(51)에 의한 제어는, I화상들용 제 1코덱(53)과 P화상들용 다른것들과 같은, 제 1코덱(53) 내지 제 4코덱(56)이 화상들의 다른 형식을 독립적으로 인코딩 및 디코딩하게 한다.
또한, 참조프레임의 화상 데이터는 참조버퍼(52)를 통하여 제 1코덱(53) 내지 제 4코덱(56)으로 배달되어야한다. 그러므로, 동시에 인코딩된 모든 P화상들은 언제나 참조프레임(참조화상)으로서 동일한 프레임을 가진 화상들이 된다.
제 1실시예에서 기술된 것으로부터 본 실시예의 코덱(5)의 구성에 차이점이 있다.
본 실시예의 동영상 레코딩 장치의 실행 또는 조작은 다음과 같이 기술된다.
(레코딩 실행)
레코딩 모드에서 동영상 입수 및 레코딩의 실행은 다음과 같이 기술된다. 도 8A 및 8B는 동영상 입수 및 레코딩에서 CPU(8)에 의해 코덱(5)의 제어항목을 나타내는 순서도이다. 도 9는 제 1코덱(53) 내지 제 4코덱(56)에서 동영상 데이터의 인코딩 과정의 타이밍도이다. 도 10A 및 도 10B는 동영상 입수 및 레코딩 동안 발생된 일련의 동영상 데이터, 예를 들어, H.264 스트림의 개략된 구성을 나타내는 개념도이다. 도 11A 내지 11C는 제 1실시예에 나타난 도 6A 내지 6C에 상응하는 도면이다. 도 11D는 디코딩의 존재 및 부재와 2배 느린 재생모드에서 재생되는 동안 각 프레임의 디스플레이를 나타내는 개념도이다.
우선, 특별히 실행을 설명하기 전에, 제 1실시예와의 차이점이 도 11A 내지11D에 설명되었다. 도 11A는 본 실시예에서 동영상 레코딩에서 발생된 동영상 데이터의 구성을 나타내는 개념도이다. 도 6A와 유사하게, 도 11A에서, "I"는 I화상, "P"는 4의 배수인 프레임 번호를 가진 I화상을 제외한 P화상, 즉, "P"는 4의 배수를 제외한 프레임 번호를 가진 P화상이며, 각 프레임은 인코딩 형식(I화상/P화상) 및 프레임 번호(초기 프레임은 "0")와 공동하여 나타난다. 또한, 화살표는 각 P화상이 참조된 목적지를 나타낸다. 더욱이, 마찬가지로, 삽입된 I화상의 간격은 본 실시예에서 0.5초(모든 120프레임)이다.
동영상 레코딩에서, 제 1실시예와 유사하게, CPU(8)는 I화상으로서 초기프레임(0)을, 참조화상으로서 최초 메인프레임인 I화상(I0)으로, 메인프레임인, 프레임4(P4)의 P화상을, 그리고 유사하게, 참조화상으로서 개별적인 최초 메인프레임들의 P화상들(P4, P8)로 프레임들(8, 12)의 P화상들(P8, P12)을 인코딩한다.
한편, 본 실시예에서, CPU(8)는 참조화상으로서 최초 메인프레임인 I화상(I0)으로, 서브프레임인, 프레임들(1 내지 3)의 P화상들(p1, p2, p3)을 또한 인코딩한다. 유사하게, CPU(8)는 또한 다른 서브프레임들인 프레임들(5 내지 7)의 P화상들(p5, p6, p7)과 참조화상들로서 최초 메인프레임들인 P화상들(P4, P8)로 P화상들(p9, p10, p11)과 프레임들(9 내지 11)을 인코딩한다. 바꾸어 말하면, CPU(8)는 참조화상으로 최초 메인프레임의 I화상 또는 P화상으로 모든 서브프레임들의 P화상들(p1, p2, p3)을 인코딩한다.
본 실시예에서 상기 언급된 인코딩 과정에 관해서는 주로 동영상 입수에서 실행의 특정항목은 도 8A 및 8B에 관해 따라나오는 것과 같이 기술된다. 여기에, 동영상의 사이즈가 브이지에이(VGA) 사이즈로 기록된다. 게다가, 레코딩에서, CPU(8)는 240 fps의 프레임 비율에서 화상캡쳐부(1)와 화상발생부(2)를 조작하고 프레임에 의해 각 부를 동조시킨다. 그러나, 코덱(5)은 4개 프레임들에 의해 60 fps의 프레임 비율에서 동조된다.
도 8A 및 8B에 나타난 것처럼, CPU(8)는 레코딩의 시작에서 프레임 번호(i)를 우선 초기화한다(단계 SC1). 프레임 번호(i)의 초기값(초기 프레임의 번호)은 "0"이다. 다음에, CPU(8)는 메모리(4)에 입력되는(축적되는) 한 프레임을 위한 화상 데이터를 기다리고(단계 SC2) 프레임 번호(i)가 4의 배수인지 결정한다(단계 SC3). CPU(8)가 프레임 번호(i)가 4의 배수가 아니라고 결정하면(단계 SC3에서 '아니오'), 그것은 오직 프레임 번호(i)의 증분을 반복한다(단계 SC4). 다른 한편으로는, CPU(8)가 프레임 번호(i)가 4의 배수라고 결정할 때(단계 SC3에서 '예'), 그것은 코덱(5)이 아래 설명된 인코딩 과정을 수행하도록 한다. 그러나, 실행시작 바로 직후에 제 1프레임(i=0)은 4의 배수인 프레임 번호(i)를 가지기 위해 예외적으로 고려된다.
첫째로, CPU(8)가 제 1프레임의 화상 데이터가 메모리(4)로의 입력인지 결정할 때(단계 SC3 및 SC5에서의 '예'), 그것은 메모리(4)에 저장된 제 1프레임의 화상데이터를 읽고 그것을 코덱(5)의 제 4코덱(56)으로 입력하며, 코덱(56)으로의 화상 데이터 입력은 인터프레임 인코딩에 의한 I화상들로서 메모리(4)로의 출력이다(단계 SC6). 그 시점에서, 제 1프레임이 비 참조프레임이기 때문에, CPU(8)는 제 4코덱(56)이 인코딩된 I화상을 위해 지역 디코딩을 수행하게 하고 참조화상의 데이터로서 메모리(4)의 소정의 영역으로 지역 디코딩된 화상을 출력한다.
계속하여, 상기 언급된 단계(SC6)에서 메모리(4)내에 저장된 인코딩된 데이터로, CPU(8)는 슬라이스형으로서 "I"를, nal_ref_idc로서 "3"을, frame_num으로서 "0"을, POC로서 "0"을 부가한다(단계 SC7 내지 SC10).
여기에서, 인코딩된 데이터로 부가된 슬라이스형(H.264 스트림에 기록된)은 제 1실시예의 화상식별정보(62a)로서 설명된 화상 파리마터이고, nal_ref_idc, frame_num, 및 POC는 H.264 표준에 의해 조절된 화상 파라미터이다(특히, "일반적 시청각 서비스를 위한 아이티유-티 추천 H.264 고급 비디오 코딩)("ITU-T Recommendation H.264 Advanced video coding for generic audiovisual services").
특히, nal_ref_idc는, "0"이 아닌 것으로 참조될 화상 및 "0"으로서 참조되지 않을 화상을 정의하기 위해 조절된, 0에서 3까지 범위의 값들을 입수할 수 있는 파라미터이다. 게다가, nal_ref_idc는 표준기술명세서로서, 예를 들어, H.264에 의해 인코딩된 데이터가 IETF(Interner Engineering Task Force)에 의해 출반된 "RFC3894:H.264를 위한 RTP 플레이로드 포맷"에서 RTP(실시간 전송 프로트콜)을 통하여 전송될 때, 패킷들의 "상대적 우선순위"를 나타내기 위해 조절된다. 다른 말로, 그것은, 3, 2, 및 1과 같은, 0이 감소 우선순위 순서의 가장 낮은 우선순위인 것으로 조정되었다.
frame_num는 다른 프레임들을 참조하여 프레임을 위해 0을 제외한 값을 입수하기 위해 조절되는 파라미터이고, 그것은:
순서가 오직 의미 및 관계없는 시간을 가지는,
모든 참조화상(참조화상 다음의 화상)을 카운트 업하고,
기본적으로 1씩 증가하기 위한 H.264에 의해 규제된다.
POC(화상 순서 카운트)는:
기초(0)로서 IDR(동시의 디코더 리프레쉬)화상으로 화상의 샘플링 시간에 비례적인 값을 입수하고(*8.2.1의 주석 2),
출력순서에 따른 크기를 요구하고(*.4.5.3),
실행시간에 비례하는 값을 사용하기 위해(*8.4.1.2.3)
H.264에 의해 규제되는 화상들의 출력순서를 나타내는 파라미터이다. 또한, 상기 괄호의 숫자 다음의 *는 H.264 표준에서 장(chapter) 번호이다. 더욱이, IDR 화상은 "I화상 및 디코딩 순서에서 그것의 선행하는 화상을 참조함이 없이 디코딩 순서에서 그것 다음의 모든 화상들을 디코딩할 수 있는 화상"이 되도록 규제된다.
계속하여, CPU(8)가 메모리(4)로 화상 데이터 입력의 프레임 번호(i)가 4의 배수라고 결정했을 때(단계 SC3에서 '예' 및 단계 SC5에서 '아니오'), 그것은 프레임 번호(i)가 120의 배수인지 먼저 검사한다. CPU(8)가 프레임 번호(i)가 4, 8, 16,... 116과 같이 120의 배수가 아니라고 결정할 때(단계 SC12에서 '아니오'), 메모리에 저장된 프레임 번호들(i-3) 내지 (i-1)을 가진 프레임 화상들은 읽혀지고 버스제어부(51)를 통하여 제 1코덱(53) 내지 제 3코덱(55)으로 입력된다. 메모리(4)에 저장되고 과정에 따라 매크로블락에 의해 참조버퍼(52)에 저장될 프레임 번호(i-4)를 가진 참조화상의 화상 데이터를 사용하여, CPU(8)는 제 1코덱(53) 내지 제 3코덱(55)이 서브프레임들인, 프레임 번호들 (i-3) 내지 (i-1)을 가진 프레임 화상들과 병렬로 P화상으로서 각각 인코딩하도록 하고, 인코딩된 데이터의 각 세트는 메모리(4)로 출력한다.
동시에, CPU(8)는 메모리(4)에 저장된 프레임 번호(i)를 가진 프레임 화상을 읽고 그것을 버스제어부(51)를 통하여 제 4코덱(56)으로 입력한다. CPU(8)는, 프레임 번호(i-4)를 가진 참조화상-예를 들어, 최초 메인프레임의 화상 데이터를 사용 하여, 제 4코덱(56)이 P 화상으로서 프레임 번호(i)를 가진 새로운 메인프레임 화상을 인코딩하도록 하고 메모리(4)로 인코딩된 데이터를 출력한다. 더욱이, CPU(8)는 제 4코덱(56)이 인코딩된 P화상을 위한 지역 디코딩을 수행하게 하고 참조화상의 데이터로서 메모리(4)에 소정의 영역으로 지역 디코딩된 화상 데이터를 출력한다(단계 SC19).
바꾸어 말하면, CPU(8)는 직렬 프레임 번호들을 가진 3개 프레임들을 위한 서브프레임들 및 집합적으로(병렬로) 다음의 메인프레임들의 4개 프레임 화상들이 4개 프레임들로 코덱(5)에 의해 인코딩되도록 한다. 예를 들어, 제 4프레임 화상이 도 9에 나타난 것처럼 메모리(4)에 입력될 때, CPU(8)는 집합적으로 프레임 번호들(1 내지 3)을 가진 P화상들(p1, p2, p3) 및 프레임 번호(4)를 가진 P화상(P4)을 인코딩한다.
다음에, CPU(8)는 슬라이스형으로서 메모리(4)에 저장된 "P"를 모든 인코딩된 데이터 출력으로 제 1코덱(53) 내지 제 4코덱(56)에 의해(단계 SC20), nak_ref_idc로서 메모리(4)에 저장된 "0"을 인코딩된 데이터 출력의 각 세트로 제 1코덱(53) 내지 제 3코덱(55)에 의해, 메모리(4)에 저장된 nal_ref_idc로서 "2"를 인코딩된 데이터 출력으로 제 4코덱(56)에 의해 부가한다(단계 SC21).
게다가, CPU(8)는 증가하는 대응 프레임 번호들의 순서로 frame_num로서 int(i/4), int((i+1)/4), int((i+2)/4), int((i+3)/4)로부터 얻어지고 메모리(4)에 각각 저장된 값들을 인코딩된 데이터 출력의 각 세트로 제 1코덱(53) 내지 제 4코덱(56)에 의해 부가한다(더욱이, int(n)은 인수(n)보다 적은 최대 정수를 얻는 함 수이다). 예를 들어, CPU(8)는 1,1,1,1을 개별적으로 프레임 번호들 1 내지 4를 가진 화상들로, 그리고 2,2,2,2를 개별적으로 프레임 번호들 5 내지 8을 가지는 화상들로 부가한다. 다른 말로, CPU(8)는, 초기 프레임을 위한 0 및 모든 프레임들을 통하여 매 4개 프레임들마다 1씩 증분적으로 증가되고, 인코딩된 데이터의 각 세트로 초기값(동일한 값)으로서 1을 가진 값을 부가한다(단계 SC22).
게다가, 인코딩된 데이터의 각 세트로, POC로서, 증가하는 대응 프레임 번호들의 순서로, CPU(8)는 개별적으로 (i-3)×2, (i-2)×2, (i-1)×2, 및 (i)×2(인코딩된 데이터의 각 세트에 상응하는 프레임 번호의 두 배의 값)로부터 얻어진 값들을 부가한다. 예를 들어, CPU(8)는 프레임 번호가 1 내지 4일 때 개별적으로 2, 4, 6, 8을 부가한다. 다른 말로, 인코딩된 데이터의 각 세트로, CPU(8)는 초기값으로서 0을 가지고 부가된, 모든 프레임들을 통하여 매 다른 프레임마다 2씩 증가하는 값을 부가한다(단계 SC23).
더욱이, 인코딩된 데이터의 각 세트로, 인코딩된 데이터의 각 세트가 디코딩될 때 참조될 화상을 나타내는 참조화상정보(참조화상표시정보)의 값으로서, CPU(8)는, 각 화상(프레임)의 최초 참조화상(참조된 화상들)을 나타내는 값인 "0"을 부가한다(단계 SC24). 여기에, 각 화상의 최초 참조화상은 각 화상에 선행하는 화상들과 nal_ref_idc로서 "0"을 제외한 값으로 각각 부가되고 있는, 프레임 번호가 각 화상(예를 들어, I화상 또는 P화상, 초기의 4개 화상)의 프레임 번호에 가장 가까운 화상이다. 참조표시정보의 값은 제 1실시예에서 언급된 것으로서 H.264에 의해 규제된 값이다. H.264에서, 이값은, 그것이 "1"이기 전에 한 화상의 참조화상 을 나타내는 값, 및 그것이 "2"이기 전에 한 화상의 참조화상을 나타내는 값으로서, 최초 참조화상을 나타내는 값이 상기 언급된 것으로서 "0"인 프레임으로부터 독립적으로 증가하기 위해 규제된다.
다른 한편으로, CPU(8)가 120의 배수인, 메모리(8)에서 화상 데이터 입력이 프레임 번호(i)를 가질 때(단계 SC12에서 '예'), 그것은 메모리에 저장된 프레임 번호들 (i-3) 내지 (i-1)을 가진 프레임 화상들을 읽고 버스제어부(51)를 통하여 제 1코덱(53) 내지 제 3코덱(55)으로 그들을 입력한다. 상기 언급된 단계(SC19)와 유사하게, 메모리(4)에 저장되고 과정이 요구함에 따라 매크로블락을 통하여 참조버퍼(52)에서 저장될 프레임 번호(i-4)를 가진 참조화상의 화상 데이터를 사용하여, 제 1코덱(53) 내지 제 3코덱(55)은 각각 서브프레임들인, 프레임 번호들(i-3) 내지(i-1)을 가진 프레임 화상들을 병렬로 서브프레임의 P화상들로서 인코딩하고 메모리(4)로 인코딩된 데이터의 각 세트를 출력한다.
게다가, CPU(8)는 메모리(4)에 저장된 프레임 번호(i)를 가진 프레임 화상을 읽고 버스제어부(51)를 통하여 그것을 제 4코덱(56)으로 입력한다. 프레임 번호(i)를 가진 프레임을 I화상으로 만들기 위해 , 상기 언급된 단계(SC6)와 유사하게, CPU(8)는 제 4코덱(56)이 입력 화상 데이터를 위한 인트라프레임 인코딩을 수행하도록 하고 인코딩된 데이터를 메모리(4)로 입력한다. 더욱이, CPU(8)는 제 4코덱(56)이 인코딩된 I화상을 위해 지역 디코딩을 수행하도록 하고 참조화상의 데이터로서 메모리(4)에 소정의 지역으로 지역 디코딩된 화상을 출력한다(단계 SC13).
다음에, CPU(8)는 슬라이스형으로서 "P"를 인코딩된 데이터 출력의 각 세트 로 제 1코덱(53) 내지 제 4코덱(56)에 의해 부가하고 메모리(4)에 저장되며, 슬라이스형으로서 "I"를 인코딩되고 메모리(4)에 저장된 데이터 출력으로 제 4코덱(56)에 의해 부가한다(단계 SC14).
부가적으로, CPU(8)는 nal_ref_idc로서 "0"을 제 1코덱(53) 내지 제 3코덱(55)에 의해 출력인 인코딩되고 메모리(4)에 저장된 데이터의 각 세트로 부가하고, nal_ref_idc로서 "3"을 제 4코덱(56)에 의한 출력인 인코딩되고 메모리(4)에 저장된 데이터로 부가한다(단계 SC15).
상기 언급된 SC22 및 SC23과 동일한 과정에서, 제 1코덱(53) 내지 제 4코덱(56)에 의하여 인코딩되고 메모리(4)에 저장된 데이터 출력의 각 세트를 위해, CPU(8)는 차례로 frame_num 및 POC로서 값들을 계산하고 계산된 값들을 인코딩된 데이터의 각 세트로 부가한다(단계 SC16 및 SC17).
더욱이, CPU(8)는 참조화상 표시정보로서 최초 참조화상(참조된 화상)을 나타내는 값인 "0"을, 오직 메모리(4)에 저장되고 제 1코덱(53) 내지 제 3코덱(55)에 의해 인코딩된 데이터의 각 세트로 부가한다(단계 SC18).
게다가, 상기 언급된 것과 같이 코덱(5)으로부터 메모리(4)로의 연속적인 출력 후에, 화상 파라미터들의 다양한 형식으로 부가된 인코딩된 데이터는 메모리카드제어부(9)에 의해 메모리카드(10)로의 출력이고 동영상 파일로서 저장된다.
그 후에, 상기 언급된 모든 과정들은 동영상 입수 및 레코딩 동안 반복된다. 따라서, 메모리카드(10)에서, 모든 서브프레임들의 P화상들은 상기 언급된 것으로서 참조화상들로서 최조 메인프레임의 I화상 또는 P화상으로 인코딩되고, 도 10A에 나타난 값으로 부가된 H.264 스트림은 각 프레임으로의 출력이다.
레코딩 실행은 CPU(8)가 레코딩을 종결하기 위한 소정의 키 조작을 통한 명령이 있다고 결정될 때 종결된다(단계 SC11에서 '예'). 이 실행으로, H.264에 따르는 동영상 파일은 메모리카드(10)에 기록될 수 있다.
게다가, 상기 언급한 POC의 증분은 본 실시예에서 2이지만, 그것은 H.264 표준에서 1일 수 있다. 왜냐하면 상기 설명된 재생실행에 의해 디코딩된 동영상은 60 필드(field) 및 30 프레임들을 가진 인터레이스(interlace) 방법을 통하여 디스플레이되도록 가정되기 때문이다.
여기에, 본 실시예에서, 도 7에 나타난 것처럼, 코덱(5)은 참조버퍼(52) 및 병렬로 위치한 제 1코덱(53) 내지 제 4코덱(56)으로 구성된다. 상기 언급한 레코딩 동안, 서브프레임의 복합 화상 데이터 및 한 쌍으로서 다음의 메인프레임으로, 화상 데이터의 관련된 쌍은 집합적으로 참조화상으로서 참조버퍼(52)에 저장된 동일한 프레임으로부터의 화상으로 인코딩된다.
그러므로, 동영상 레코딩 장치의 메모리버스(3)의 대역폭은, 참조프레임들로서 읽혀진 화상 데이터가 병렬번호로 감소될 수 있으므로 줄일 수 있다.
(재생실행)
본 실시예에서 상기 언급된 레코딩 실행으로 메모리카드(10)에 기록된 동영상(동영상 파일)을 재생시의 실행은 다음과 같이 기술된다.
여기에, 본 실시예에서, 디스플레이 제어부(6)의 수행은 60 fps이고, 동영상재생 동안, 시피유(8)는 메모리카드(10)에 저장되고 메모리카드 제어부(9)를 통하 여 60 fps의 프레임 비율에서 사용자에 의해 선택된 임의의 동영상 파일 데이터를 읽고, 이어서 코덱(5)으로 인코딩된 데이터 부분을 전송한다.
더욱이, 본 실시예에서, 4배 느린 재생모드(표준속도의 1/4 재생속도를 가진 모드), 표준속도 재생모드(화상입수의 동일한 표준속도인 재생속도를 가진 모드) 및 2배 느린 재생모드(표준속도의 1/2인 재생속도를 가진 모드)가 재생모드로서 설정된다. 모드의 실행들은 다음과 같이 기술된다. 게다가, 도 11B 내지 11D는 실행 또는 디코딩의 결핍 및 각 재생모드에서의 재생 동안 각 프레임에 인코딩된 데이터의 디스플레이를 나타낸다.
(재생실행: 4배 느린 재생)
4배 느린 재생모드는 제 1실시예에서 느린 재생모드용 재생모드로서 동일한 모드이다. 4배 느린 재생모드에서, 도 7에 나타난 제 1코덱(53) 내지 제 4코덱(56) 사이에서, 제 1코덱(53)이 오직 사용된다. 도 3에 나타나고 개설된 제 1실시예의 동일한 실행에 의해, 도 11B에 나타난 것처럼, 240 fps에서 기록된 모든 프레임들은 연속해서 60 fps에서 디코딩되고, 화상 데이터는 연속적으로 디스플레이된다. 즉, 동영상은 1/4 속도 느린 모드에서 재생된다.
그러나, 본 실시예에서, 도 11A에 나타난 것처럼, 제 1실시예와는 다르게, 메인프레임들(P4, P8,...)의 P화상용뿐만 아니라 서브프레임들의 P화상들(p1, p2, p3,...)용 디코딩 과정에서도 역시, 최초 메인프레임들의 화상들(I0, P4,...)은 참조화상들로서 사용된다. 게다가, 인코딩된 데이터용 디코딩 과정에서, 제 1코덱(53)뿐 아니라 제 2코덱(54) 내지 제 4코덱(56)의 그것도 사용될 수 있다.
(재생실행: 표준속도 재생)
도 12는 본 실시예에서 표준속도 재생모드를 가진 실행을 나타내는 순서도이다. 더욱이, 표준속도 재생모드에서, 인코딩된 데이터는 제 1코덱(53) 내지 제 4코덱(56) 중 오직 제 1코덱(53)을 사용하여 디코딩된다. 표준속도 재생모드에서, 최초 실시예에서 도 4에 나타난 것처럼 거의 동일한 항목을 가진 실행이 수행된다(단계 SD1 내지 SD12).
그때, 제 1실시예와는 다르게, CPU(8)는 단계(SD2)에서 언급된 화상 파라미터들을 읽고, 다음의 단계(SD3)에서, 그것은 각 프레임이 화상 파라미터들 사이에서 nal_ref_idc에 기초하여 디코딩 목표가 되는지 결정한다. 값이 "0"이 아닐 때-비 참조프레임(참조되지 않은 화상), 예를 들어, CPU(80가 그것이 메인프레임이라고 오직 결정할 때-프레임은 디코딩 목표가 될 수 있다. 게다가, 단계(SD6)에서, 참조화상 표시정보에 관하여, 메인프레임들의 P화상들, 제 1실시예와 유사한, 참조화상으로서 최초 메인프레임들의 I화상 또는 P화상을 가진 디코딩 과정은 수행된다. 이 실시예에 나타난, 모드 서브프레임들의 P화상들을 위해, 참조화상들로서 최초 메인프레임들의 I화상 또는 P화상을 가진 디코딩 과정은 수행된다.
따라서, 표준속도 재생모드에서, 도 11C에 나타난 것처럼, 240 fps에서 기록된 모든 프레임들 사이에서, 매번 4번째 프레임들(매번 4번째 프레임)의 메인 프레임들(I화상들 또는 P화상들)은 60 fps에서 디코딩되고 디스플레이된다. 즉, 디스플레이 프레임의 1/4 세선화로, 동영상은 표준속도에서 재생된다.
그리하여, 표준소도 재생모드에서, 제 1실시예와 유사하게, 메인프레임들로 서 모든 P화상들은 디스플레이되지 않을 서브프레임들의 인코딩된 데이터를 디코딩하지 않고 디스플레이될 수 있고, 데이터 처리의 양 및 전력소비는 줄어들 수 있다.
(재생실행: 2배 느린 재생)
도 13은 본 실시예에서 2배 느린 재생모드를 가진 실행을 나타내는 순서도이다. 역시 2배 느린 재생모드에서, 본 실시예에 관련된 동영상 레코딩 장치는 제 1코덱(53) 내지 제 4코덱(56) 사이에서 제 1코덱(53)을 오직 사용하여 인코딩된 데이터를 디코딩한다. 도 13으로부터 명백하게, 도 12에 나타난 표준속도 재생모드의 실행으로부터 차이점은 오직, 단계(SD103)에서, 2의 배수인(그러나, 0은 2의 배수로서 예외적으로 처리된다) 프레임 번호(i)를 가진 프레임들만 오직 디코딩 목표가 될 수 있다는 것이다.
따라서, 2배 느린 재생모드에서, 도 11D에 나타난 것처럼, 240 fps에서 기록된 모든 프레임들의 매 2프레임들(매 2번째 프레임)은 60 fps에서 디코딩되고 디스플레이된다. 즉, 동영상은 디스플레이 프레임의 1/2 세선화로 표준속도의 1/2의 속도로 재생될 수 있다.
본 실시예에서, 메인 프레임들의 P화상뿐 아니라 서브프레임들의 P화상들 역시 동영상 레코딩에서 참조화상들로서 최초 메인프레임들의 I화상들 또는 P화상들로 인코딩된다. 그러므로, 역시 동영상이 상기 언급된 것처럼 표준속도의 1/2에서 느리게 재생될 때, 디스플레이될 서브프레임의 인코딩된 데이터는 디스플레이되지 않을 서브프레임들의 인코딩 데이터를 디코딩하지 않고 디코딩될 수 있다. 그리하 여, 관련된 예들에서 효과적으로 수행될 수 있고, 데이터 처리의 양과 전력소비는 각 예들에서 감소될 수 있다.
(표준-속도추출 편집실행)
다른 한편으로는, 본 실시예의 동영상 레코딩 장치에서, 레코딩 모드 및 재생모드들(4배 느린 재생모드, 표준속도 재생모드, 및 2배 느린 재생모드) 이외에도, 표준속도추출 편집모드가 실행모드로서 갖추어진다. 표준속도추출 편집모드는 도 10B에 나타난 것처럼 표준속도 재생모드에서 오직 디스플레이될 메인 프레임들의 스트림 부분들(표준속도 재생프레임들)이 레코딩 실행-예를 들어, 240 fps에서 VGA 크기를 가진 고속 캡쳐된 동영상 스트림-에 의해 메모리카드(10)에 동영상 파일로서 기록된 동영상 데이터로부터 추출되는 모드이고 새 동영상 스트림이 60 fps에서 VGA 크기의 추출된 부분으로 구성된 것으로 발생되고 메모리카드(10)에 기록된다.
도 14는 표준속도추출 편집모드에서 메모리카드(10)에 기록된 임의의 동영상 데이터를 편집할 때 CPU(8)의 처리를 나타내는 순서도이다.
편집의 시작에서, CPU(8)는, 메모리카드(10)로부터 편집목표인, 처리 프레임 번호(i)를 초기화하고 고속 캡쳐된 동영상 스트림을 읽기 시작한다(단계 SD201). 게다가, 처리 프레임 번호(i)의 초기값은 "0"이다.
이후에, 고속 캡쳐된 스트림을 위해, CPU(8)는 매 프레임의 스트림에 기록된 nal_ref_idc의 값을 결정한다(단계 SD202). CPU(8)가 nal_ref_idc의 값이 "0"이라고 결정할 때(단계 SD202에서 '예'), 그것은 그 시점에서 프레임 번호(i)를
가진 스트림을 건너뛴다(단계 SD203). 오직 CPU(8)가 nal_ref_idc의 값이 "0"을 제외한 것으로 결정할 때(단계SD202에서 '아니오'), 그것은 메모리카드(10)에서 프레임 번호(i)를 가진 프레임을 위해 스트림을 기록한다(단계 SD204).
이후에, CPU(8)가 처리될 프레임이 최종 프레임이 아니라고 결정할 때(단계 SD205에서 '아니오'), 1씩 프레임 번호(i)를 증분한 후에(단계 SD206), 상기 언급된 처리들(단계 SD202 내지 SD204)은 반복된다. 모든 처리들은 CPU(8)가 최종 프레임의 스트림을 위한 처리들(건너뜀 또는 기록)이 종결되었다고 결정할 때 완료된다(단계 SD205에서 '예').
그리하여, 표준속도추출 편집모드를 사용하여, 본 실시예에 관련된 동영상 레코딩 장치는 자동으로 도 10B에 나타난 동영상 스트림 구조를 포함하는 새로운 동영상을 발생한다. 거기서 동영상은 재생실행의 60 fps를 가지고 표준속도에서 다른 장치들에 디스플레이될 수 있다.
(제 3실시예)
본 발명의 제 3실시예는 다음과 같이 기술된다. 초기에 기술된 제 1 및 제 2실시예들와 유사하게, 본 실시예는 240 fps의 고속 프레임 비율에서 캡쳐된 동영상을 압축하고 기록하는 레코딩 기능 및 레코딩된 동영상 데이터를 디코딩하고 그것을 60 fps의 디스플레이 프레임 비율에서 재생하는 재생기능을 포함하는 동영상 레코딩 장치에 관한 것이다.
본 실시예의 동영상 레코딩 장치의 기본구성은 제 1실시예에 기술되고 도 1에 나타난 동영상 레코딩 장치의 그것과 유사하고, 코덱(5)은 240 fps의 처리속도 에서 VGA(640×480)을 가진 화상 데이터를 인코드 및 디코드할 수 있는 처리 능력을 가진다. 게다가, 제 2실시예와 유사하게, 코덱(5)에 의한 동영상들을 인코딩하는 방법(동영상 스트림 구성)은 H.264를 따른다.
본 발명에 따른 동영상 레코딩 장치는 MPEG4 화상들 및 오디오 데이터를 기록하기 위한 표준포맷으로서 ISO(표준에 관한 국제협회)에 의해 표준화된, MP4 포맷(이하 MP4 파일로 참조)에 동영상 파일로서 메모리카드(10)에 코덱(5)에 의해 인코딩된 동영상 데이터를 기록한다. 게다가, 동영상 파일의 특정 구성은 ISO/IEC 14496-12, "시청각 물체의 정보기술코딩-파트12:ISO 기초 미디어 파일 포맷"에 의해 규제된 구성이다.
도 15는 본 실시예에서 메모리카드에 기록된 MP4 파일의 개설된 구성을 나타낸다. 도 15에 나타난 것처럼, MP4 파일은 박스정보의 수의 집합이고, 관련된 파일의 호환성을 나타내는 정보가 저장된 "ftyp", 인코더 특정 확장된 정보가 저장된 "uuid", "mdat", 및 "moov"와 같은 개별적인 박스들로 구성된다.
"mdat"는 인코딩된 화상 데이터가 저장된 "미디어 데이터 박스"이고, 관련된 박스의 데이터 크기, 식별코드('mdat'), 및 비디오 스트림들의 그룹들이 저장된다. 비디오 스트림의 그룹들은 프레임 마다 복수의 엑세스 장치들로 구성되고 각 엑세스 장치는 관련 엑세스 장치의 데이터 크기, AU 델리미터(delimiter)(엑세스 장치의 보더(border)코드), H.264 슬라이스 데이터(인코딩된 데이터), 및 관련된 H.264 슬라이스 데이터의 크기와 같은 개별적인 데이터로 구성된다.
H.264 슬라이스 데이터는 NAL 헤더(111) 및 슬라이스 데이터(112)로 구성된 NAL(Network Abstraction Layer)장치이고, 이 NAL 장치의 슬라이스 데이터(112)는 슬라이스 헤더(121) 및 슬라이스 데이터 바디(122)로 더욱 구성된다. NAL 헤더(111)에서, NAL 장치의 형식과 같은 속성 정보가 저장되고, 여기에, 제 2실시예에 기술된 nal_ref_idc가 저장된다. 게다가, nal_ref_idc, 슬라이스 형식(제 1실시예에서의 화상표시정보(62a)), frame_num, 및 POC를 제외한 화상 파라미터들에 관하여는 슬라이스 헤더(121)에 저장되고, 참조화상 표시정보(참조프레임정보(62a))는 동영상 레코딩에서 코덱(5)으로부터 출력된 I화상들을 위한 인코딩된 데이터와 같이 슬라이스 데이터 바디(122)에 저장된다.
또한, 슬라이스 데이터 바디(122)에 저장된 I화상들을 위한 인코딩된 데이터는 매크로블락들의 집합이고, 참조화상 표시정보는 실제로 매크로블락으로 저장되고, 참조될 화상들의 정보는 매크로블락으로 참조된다. 그러나, 여기에 기술을 간략화하여, 그것은 장치로서 슬라이스 데이터(화상들)와 같이 저장되고 있는 참조화상 표시정보로서 여기 기술된다.
더욱이, "moov"는 "Movie Box"이고 관련 박스의 데이터크기, 박스의 식별코드('moov'), 인덱스 데이터, 및 udta로 구성되며, 거기에 H.264 슬라이스 데이터를 디코딩하기 위한 필수정보가 저장되었다.
인덱스 데이터는 두 가지 형식의 트랙으로 구성된다. 각 트랙은 재생에서 인텍스 정보를 저장하는 "트랙 박스"이고, 각각은 관련되 박스의 데이터 크기, 식별코드('트랙'), 및 디코딩될 엑세스 장치를 나타내는 비디오 인덱스 정보(101, 102)로 구성된다.
2가지 형식의 트랙중 하나에서, 동영상의 모든 프레임들에 관한 인덱스 정보는 비디오 인덱스 정보(101)로서 저장되고, 다른 트랙에서, 초기 프레임으로부터 제 4프레임까지의 동영상들의 메인프레임들의 인덱스 정보는 오직 비디오 인덱스 정보로서 저장된다. 다음의 기술에서, 한 트랙은 모든 프레임들 재생을 위한 트랙으로 불리고, 거기에 저장된 비디오 인덱스 정보(101)는 모든 프레임들 재생을 위한 인덱스 정보이고, 다른 트랙은 표준속도 재생을 위한 트랙으로 불리며, 거기에 저장된 비디오 인덱스 정보(102)는 표준속도 재생을 위한 인덱스 정보이다. 따라서 양자는 구별된다. 도 16은 모든 프레임들 재생을 위한 인덱스 정보(101)와 표준속도 재생을 위한 인덱스 정보(102) 및 엑세스 장치 사이의 관계를 나타내는 도면이다.
또한, "Movie Box"를 포함하는 udta는, 다양한 형식들의 사용자 정보가 저장된, "사용자 데이터 박스"이다.
본 실시예의 동영상 레코딩 장치의 실행과 조작은 다음과 같이 기술된다.
(레코딩 실행)
레코딩 모드에서의 동영상 입수와 레코딩의 실행은 다음과 같이 설명된다. 도 17A 및 17B는 동영상 입수와 레코딩에서의 CPU(8)에 의해 코덱(5)제어의 항목을 나타내는 순서도이다. 도 18A 내지 18C는 제 2실시예에서의 도 11A와 제 1실시예에 나타난 도 6A에 상응하는 레코딩 모드에서 레코딩된 동영상 데이터의 구성을 나타내는 개념도이다.
우선, 실행의 특정 설명 전에, 제 1및 제 2실시예들과 다른점들이 도 18A 내 지 18C에 기술되었다. 도 18A 내지 18C는 레코딩 모드에서 레코딩된 동영상 데이터의 구성을 나타내는 개념도이다.
본 실시예에서, 레코딩에서 메인프레임들 사이에 존재하는 서브프레임들의 수는 서브프레임 모드로서 설정될 수 있다. 설정될 수 있는 서브프레임들의 수는 3, 1 중 하나 또는 0이고, 각 서브프레임 번호는 레코딩에서 서브프레임 모드의 형식을 나타내는 값으로서 "사용자 데이터 박스"에 저장된다.
게다가, 서브프레임 모드는 그것이 소정의 조건들에 기초하고 동영상들을 레코딩하기 전 또는 후에 임의의 점에서 사용자 키 조작을 통하여 자동으로 설정될 수 있도록 구성될 수 있지만, 편의를 위해, 그것은 레코딩을 시작하기 전에 키 조작을 가진 사용에 의해 사전에 설정되도록 구성된다.
서브프레임 모드가 도 18A에 나타난 것처럼 3으로 설정될 때, 초기 프레임은 I화상(I0)으로서 인코딩되고 이후에, 4의 배수인 프레임 번호(i)를 가지는 프레임은 참조프레임으로서 최초 메인프레임의 I화상 또는 P화상으로 인코딩된다. 그러나, 본 실시예에서, 8의 배수인 프레임 번호(i)를 가진 프레임은 참조화상으로서 8 프레임들인 메인 프레임의 I화상 또는 P화상으로 미리 인코딩된다. 더욱이, 제 2실시예와 유사하게, 모든 서브프레임들의 P화상들은 참조화상들로서 최초 메인프레이들의 I화상 또는 P화상들로 인코딩된다.
게다가, 서브프레임 모드가 도 18B에 나타난 것처럼 1로 설정될 때, 인코딩 목표들로서 모든 서브프레임의 P화상들을 가짐이 없이, 오직 2의 배수들이 되는 프레임 번호(i)를 가지는 서브프레임들이 인코딩 목표들이다. 더욱이, 서브프레임 모 드가 0으로 설정될 때, 도 18C에 나타난 것처럼, 모든 서브프레임들은 인코딩 목표들로서 배제된다.
본 실시예에서 동영상 레코딩에서 실행의 더욱 상세한 항목은 도 17A 및 17B에 따라 기술된다. 게다가, 본 실시예에서는 또한, 레코딩될 동영상의 크기는 VGA크기이고, 레코딩에서, CPU(8)는 화상캡쳐부(1), 화상발생부(2), 및 240 fps의 프레임 비율에서 코덱(5)을 조작하고 각 부를 프레임마다 동조시킨다.
도 17A 및 17B에 나타난 것처럼, 레코딩의 시작에서, CPU(8)는 프레임 번호(i)를 우선 초기화한다(단계 SE1). 프레임 번호(i)의 초기값(초기 프레임의 수)은 "0"이다. 이후에, CPU(8)는 메모리(4)로 입력될(축적되는) 한 프레임을 위한 화상데이터를 기다리고(단계 SE2) 이어서 그것은 프레임 번호(i)가 0을 포함하여 120의 배수라고 결정할 때(단계 SE3에서 '예') 코덱(5)에 입력될 메모리(4)에 저장된 화상데이터를 읽는다. CPU(8)는 인터프레임 인코딩에 의해 메모리(4)로 I화상으로서 코덱(5)에 관련 프레임 입력의 화상 데이터를 출력한다(단계 SE4). 게다가, 여기서, 코덱(5)은, 인코딩된 데이터가 연속하는 P화상들을 인코딩하는데 사용되는 화상 데이터(참조화상)로서 인코딩된 데이터로부터 분리된 메모리(4)에서 디코딩되는 지역 디코딩 화상을 저장한다.
다음에, 인코딩된 데이터로, CPU(8)는 nal_ref_idc로서 "3"뿐만 아니라 슬라이스 형식으로서 "I"를 부가한다. 더욱이, frame_num과 같은, CPU(8)는 "int((i+3)/4)"로부터 얻어질 수 있고 0으로서 초기 프레임 및 초기값으로서 1을 가진 모든 프레임들을 통하여 매 4프레임마다 1씩 증가하는 값과, 더 나아가서 POC 와 같은, "i×2"로부터 얻어질 수 있고 초기값으로서 0을 가진 모든 프레임들을 통하여 매 프레임마다 2씩 증가하는 값을 부가한다(단계 SE5). 또한, 참조화상 표시정보는 거기에 부가되지 않는다.
그 후에, CPU(8)는 표준속도 재생용 트랙의(단계 SE6), 및 모든 프레임들 재생용 트랙의(단계 SE7) 그 시점에서 프레임 번호(i)의 메인프레임에 관하여 인덱스 정보를 부가한다. 이후에, CPU(8)가 소정의 키 조절을 통하여 레코딩을 끝내기 위한 명령이 없다고 결정할 때(단계 SE8에서 '아니오'), 그것은 단계(SE2)로 돌아가기 위해 1씩 프레임 번호(i)를 증분하고(단계 SE9) 입력될 다음 프레임용 화상 데이터를 기다린다.
게다가, CPU(8)는, 프레임 번호(i)가 120의 배수를 제외한 것이지만 8의 배수라고 결정할 때(단계 SE3에서 '아니오' 및 단계 SE10에서 '예'), 메모리(4)에 저장된 이 시간 동안 화상 데이터를 읽고 코덱(5)에 입력한다. CPU(8)는 메모리에 저장되기 전에 프레임 번호(i-8)의 8개 프레임들을 가진 참조화상의 화상 데이터를 사용하여, 코덱(5)이 P화상과 같은 관련된 프레임 입력의 화상데이터를 인코딩하게 하고 메모리(4)로 출력한다(단계 SE11). 또한, 관련된 P화상들을 인코딩할 때, 코덱(5)은 인코딩된 데이터가 다음 4개 프레임들의 P화상들 및 나중 8개 프레임들의 P화상들을 인코딩하는데 사용되는 화상 데이터(참조화상)와 같은 인코딩된 데이터로부터 분리된 메모리(4)에 그 시점에서 디코딩되는 지역 디코딩 화상을 저장한다.
다음에, 메모리(4)로 인코딩된 데이터를 출력하기 위해, CPU(8)는 슬라이스 형식으로서 "P", nal_ref_idc로서 "2", frame_num와 같이 "int((i+3)/4)"(프레임 당 2씩 증가하는 값)로부터 얻어질 수 있는 값과 POC와 같은 "i×2"(프레임 당 2씩 증가하는 값)로부터 얻어질 수 있는 값을 부가한다. 게다가, 참조화상 표시정보와 같이, CPU(8)는, 전에 2개 화상들인 참조화상을 나타내는 값, 예를 들어, 전의 프레임 번호(i-8)의 8개 프레임들을 가진 화상이 부가된, "1"을 부가한다(단계 SE12).
게다가, CPU(8)가 프레임 번호(i)가 4의 배수이지만 8의 배수가 아니라고 결정할 때(단계 SE10에서 '아니오' 및 단계 SE13에서 '예'), 그것은 메모리(4)에 저장된 이 시점에서 화상 데이터를 읽고 그것을 코덱(5)에 입력한다. CPU(8)는, 메모리에 저장된 프레임 번호(i-4)를 가진 프레임의 화상, 예를 들어, 참조화상과 같은 전에 4개 프레임인 화상을 사용하여, 코덱(5)이 P화상과 같은 관련된 프레임 입력의 화상 데이터를 인코딩하도록 하고 그것을 메모리(4)로 출력한다(단계 SE16). 더욱이, 관련된 P화상들을 인코딩할 때, 코덱(5)은, 인코딩된 데이터가 다음의 3프레임들의 P화상들을 인코딩하는데 사용되는 화상 데이터(참조화상)와 같은 인코딩된 데이터로부터 분리된 메모리(4)에서 그 시점에 디코딩되는 지역 디코딩 화상을 저장한다.
다음으로, 메모리(4)로의 인코딩된 데이터 출력에서, 슬라이스 형식, nal_ref_idc, frame_num 및 POC로서, CPU(8)는 프레임 번호(i)가 8의 배수일 때와 같이 동일한 값을 부가한다. 더욱이, 참조화상 표시정보로서, CPU(8)는 "0"을 부가한다-그것은 최조 참조화상을 표시하는 값, 예를 들어, 전에 4개 프레임들인 화상이다(단계 SE15).
그 후에, 프레임 번호(i)가 8 또는 4의 배수일 때, CPU(8)는 표준속도 재생 및 모든 프레임 재생을 위한 트랙으로 그 시점에 프레임 번호(i)를 가진 메인프레임에 관하여 인덱스 정보를 부가한다(단계 SE6 및 SE7). 이후, 만약 CPU(8)가 소정의 키 조작을 통하여 종결하기 위한 명령이 없다고 결정하면(단계 SE8에서 '아니오'), 그것은 단계(SE2)로 돌아가기 위해 1씩 프레임 번호(i)를 증분하고(단계 SE9) 입력될 다음 프레임을 위한 화상 데이터를 기다린다.
게다가, CPU(8)가 단계(SE13)에서 식별결과가 '아니오'이고 프레임 번호(i)가 4의 배수가 아니라고 결정할 때, 다음 과정은 서브프레임 모드의 형식에 따라 수행된다.
우선, CPU(8)가 서브프레임 모드(S)가 3으로 설정되었다고 결정할 때(단계 SE16에서 '예'), 그것은 메모리(4)에 저장된 이 시점동안 화상 데이터를 읽고 그것을 코덱(5)으로 입력한다. CPU(8)는 코덱(5)이 참조화상으로서 메모리에 저장된 최초 메인프레임을 가진 P화상과 같은 관련 프레임의 입력 화상 데이터를 인코딩하게 하고 그것을 메모리(4)로 출력한다(단계 SE17). 다음으로, 메모리(4)로 인코딩된 데이터 출력에 관하여, CPU(8)는 상기 언급된 메인프레임에 관한 동일한 과정에 의해 개별적으로 슬라이스 형식으로서 "P", 및 nal_ref_idc로서 "0", frame_num 및 POC을 부가하고, 더욱이, 참조화상 표시정보로서, 그것은, 최초 참조화상을 표시하는 값인, "0"을 부가한다(단계 SE18). 그 후에, CPU(8)는 오직 모든 프레임 재생을 위한 트랙으로 그 시점에서 프레임 번호(i)를 가진 서브프레임에 관하여 인덱스 정보를 부가한다(단계 SE7).
게다가, CPU(8)가 서브프레임 모드(S)가 1로 설정되었다고 결정할 때(단계 SE16에서 '아니오' 및 단계 SE19에서 '예'), 만약 그것이 프레임 번호(i)가 2의 배수라고 결정한다면(단계 SE20에서 '예'), 서브프레임 모드가 3일 때 공통적인(단계 SE17, SE18 및 SE7), 상기 언급된 과정이 수행된다.
더욱이, CPU(8)가 서브프레임 모드(S)가 1로 설정되지 않고(단계 SE19에서 '아니오') 그것이 1로 설정되었으나 프레임 번호(i)가 2의 배수가 아니라고 결정할 때(단계 SE20에서 '아니오'), 그것은 소정의 키 조작이 있는지 즉각적으로 결정한다. 만약 CPU(8)가 종결되고 있는 소정의 키 조작(단계 SE8에서 '아니오')을 통하여 레코딩의 표시가 없다고 결정하면, 입력될 다음 프레임용 화상 데이터를 기다리기 위한 단계(SE2)로 돌아가며, 1씩 프레임 번호(i)를 증분한다(단계 SE9).
게다가, 상기 언급한 것처럼 코덱(5)으로부터 메모리(4)로의 연속적인 출력후에, 화상 파라미터들에 부가된 인코딩된 데이터, 즉, 모든 프레임들 재생(101)용 인덱스 정보 및 표준속도 재생(102)용 인덱스 정보는 동영상 파일(MP4 파일)로서 레코딩되는 메모리카드 제어부(9)에 의해 메모리카드(10)로 연속적으로 출력된다.
그 후에, 동영상 레코딩 동안, CPU(8)는 상기 언급된 모든 과정들을 반복하고, 소정의 키 조작(단계 SE8에서 '예')을 통하여 레코딩을 끝내기 위한 명령이 있다고 결정되면(단계 SE8에서 '예'), 레코딩 실행은 종결된다. 따라서, 메모리카드(10)에 레코딩된 MP4 파일에서, 상기 언급된 비디오 스트림의 그룹과 같이, 서브프레임 모드의 설정값에 상응하는 프레임들의 일련의 인코딩된 데이터는 저장된다. 게다가, 도 15 및 16에 나타난 것처럼, 모든 프레임 재생용 트랙에서, 모든 인코딩 된 프레임에 관한 모든 프레임 재생(101)용 인덱스 정보가 저장되고, 표준속도 재생용 트랙에서, 오직 메인프레임에 관한 표준속도 재생(102)용 인덱스 정보는 저장된다.
(재생 실행)
본 실시예에서 상기 언급된 레코딩 실행에 의한 메모리카드에 저장된 동영상(MP4 파일)을 재생하는 실행은 다음과 같이 기술된다.
본 실시예에서도 역시, 디스플레이 제어부(6)의 수행은 60 fps이고, 동영상 재생에서, CPU(8)는 메모리카드(10)에 레코되고 메모리카드 제어부(9)를 통하여 60 fps의 프레임 비율에서 사용자에 의해 선택된 임의의 MP4 파일 데이터를 읽고 코덱(5)으로 인코딩된 데이터 부분을 연속적으로 전송한다.
또한, 본 실시예에서, 4가지 형식의 재생모드들-모든 프레임 재생모드, 표준속도 재생모드, 1/2 세선화된 재생모드, 및 2배속 재생모드-이 설계되었다. 재생모드들은 다음과 같은 도 23을 참조하여 기술되었다. 도 23은 재생모드, 재생속도, 및 참조트랙 사이의 관계를 나타내는 도면이다.
모든 프레임 재생모드는 동영상 데이터로서 레코딩된 모든 프레임들이 기본적으로 재생되는 모드이고, 레코딩된 데이터가 표준속도의 1/4일 때 서브프레임 모드를 가진 동영상의 재생속도가 3으로 설정된 것이다. 게다가, 1/2 세선화된 재생모드는 동영상 데이터로서 레코딩된 모든 프레임들의 모든 다른 프레임은 기본적으로 재생되는 모드이고, 서브프레임 모드를 가진 동영상의 재생속도는 레코딩된 것이 표준속도의 1/2일 때 3으로 설정된다. 더욱이, 표준속도 재생모드는 레코딩될 때 서브프레임 모드설정의 형식을 개의치 않는 재생속도가 레코딩될 때와 같이 동일한 표준속도인 모드이고, 2배속 재생모드는 레코딩될 때 서브프레임 모드설정의 형식을 개의치 않는 재생속도가 레코딩될 때(표준속도)의 2배인 모드이다.
(재생 실행: 모든 프레임 재생)
도 19는 모든 프레임 재생모드에서 실행을 나타내는 순서도이다. 도 21A는 디코딩의 존재 및 부재 그리고 동영상 레코딩에서 서브프레임 모드설정에 의해 모든 프레임 재생모드에서 각 프레임의 디스플레이를 나타내는 개념도이다.
도 19에 나타난 것처럼, 모든 프레임 재생모드에서, 레코딩의 시작에서, CPU(8)는 우선 재생 프레임 번호(j)를 초기화한다(단계 SF1). 재생 프레임 번호(j)의 초기값은 "0"이다. 다음으로, 모든 프레임 재생(101)용 인덱스 정보가 저장된 모든 프레임 재생용 트랙으로부터, CPU(8)는 프레임 번호(j)의 인텍스 정보(f)을 읽고(단계 SF2), 읽어진 인덱스 정보에 따라, 비디오 스트림의 그룹용 리딩 포인트(reading point)는 프레임 번호(j)의 엑세스 장치(인코딩된 데이터)로 설정된다(단계 SF3).
다음에, CPU(8)가 프레임 번호(j)의 인코딩된 데이터의 슬라이스 헤더(121)의 정보를 읽은 후에, 만약 슬라이스 헤더정보 사이의 슬라이스 형식에 의해 나타난 화상형식이 I화상이라고 결정하면(단계 SF5에서 '예'), 그것은 코덱(5)이 인터프레임 디코딩을 가진 I화상을 디코딩하도록 하고, 화상데이터는 메모리(4)로 출력한다(단계 SF6).
더욱이, 만약 CPU(8)가 프레임 번호(j)의 인코딩된 데이터의 슬라이스 형식 에 의해 나타난 화상형식이 I화상이 아니라고 결정한다면(단계 SF5에서 '아니오'), 그것은 코덱(5)이 참조화상으로서 슬라이스 데이터 바디(122)에 인코딩된 데이터와 저장된 참조화상 표시정보에 의해 나타난 참조되는 프레임의 화상을 참조하여 인터프레임 예측코딩을 가진 P화상을 디코딩하게 하고, 화상 데이터는 메모리(4)로 출력한다(단계 SF7).
여기에, 디코딩에 종속되는 P화상들은 모두 레코딩된 P화상들이지만, 도 21A에 나타난 것처럼, 개별적인 P화상들의 항목은 동영상이 레코딩된 시점에 설정된 서브프레임 모드에 종속하여 변한다. 바꾸어 말하면, 만약 동영상 레코딩에서 서브프레임 모드가 3이라면, 제 1실시예에서의 느린 재생 및 제 2실시예에서의 4배 느린 재생모드와 유사하게, 모든 메인프레임들의 P화살들과 동영상 레코딩에서 캡쳐된 서브프레임들은 디코딩에 종속된다. 더욱이, 만약 서브프레임 모드라 1이라면, 동영상들이 레코딩될 때 캡쳐된 모든 메인프레임들의 P화상들 및 동영상들이 레코딩될 때 짝수 번호인 프레임 번호(i)를 가진 서브프레임들은 디코딩에 종속된다. 더욱이, 만약 서브프레임 모드가 0이면, 동영상들이 레코딩된 때 캡쳐된 모든 메인프레임들의 P화상들은 디코딩에 종속된다.
게다가, 도 18에 나타난 것처럼, 각 P화상이 디코딩될 때 참조될 프레임에 관하여, 동영상을 레코딩할 때 서브프레임을 고려하지 않고, 프레임 번호(j)를 가진 프레임이 서브프레임일 때 그것은 언제나 최초 메인프레임이다. 더욱이, 프레임이 메인프레임이고 동영상 레코딩할 때 8의 배수인 프레임 번호(i)를 가진 P화상을 위해 8프레임 전의 메인프레임일 때, 동영상 레코딩할 때 8의 배수를 제외한 4의 배수인 프레임 번호(i)를 가진 P화상에 관하여, 그것은 언제나 최초 메인프레임이다.
1/60초의 디스플레이 비율에서 타이밍을 기다린 후에(단계 SF8), CPU(8)는 메모리(4)로부터 디코딩된 화상 데이터를 읽고 디스플레이 제어부(6)로 화상 데이터를 전송한다. 따라서, CPU(8)는 디스플레이 제어부(6)가 디스플레이 프레임 비율에 의해 타이밍을 디스플레이하는 동안 LCD(7)의 화상 디스플레이를 갱신하게 한다(단계 SF9).
그 후에, CPU(8)가 최종 프레임용 과정이 끝나지 않았다고 결정할 때(단계 SF10에서 '아니오'), 1씩 재생 프레임 번호(j)를 증분한 후(단계 SF11), 상기 언급한 과정을 반복하기 위해 단계(SF2)로 돌아간다. CPU(8)가 모든 인코딩된 데이터를 디코딩하고 디스플레이하는 것이 끝났다고 결정할 때(단계 SF10)에서 '예'), 재생은 종결된다.
따라서, 도 21A에 나타난 것처럼, 동영상 레코딩 장치는 프레임들 및 디스플레이 화상 데이터를 디코딩한다. 바꾸어 말하면, 레코딩될 때 서브프레임 모드 3을 가지는 동영상에 관하여, 동영상 레코딩 장치는 차례로 240 fps에서 레코딩된 모든 프레임들을 디코딩하고, 60 fps에서 레코딩된 모든 프레임들의 화상 데이터를 디스플레이하여, 동영상은 표준속도의 1/4속도에서 느리게 재생된다. 게다가, 서브프레임 모드 1을 가지는 동영상을 위해, 동영상 레코딩 장치는 60 fps에서 세선화된 모든 다른 프레임을 가진 레코딩된 모든 화상 데이터를 디스플레이하고, 따라서 동영상은 표준속도의 1/2속도에서 느리게 재생된다. 더욱이, 레코딩될 때 서브프레임모 드 0을 가진 동영상에 관하여, 동영상 레코딩 장치는 60 fps에서 세선화된 매 3프레임을 가진 레코딩된 모든 화상 데이터를 디스플레이하고, 따라서 동영상은 표준속도에서 재생된다.
게다가, 도 21A에서, 오직 인코딩된 데이터가 레코딩된 프레임들을 위해(레코딩된 프레임), 화상형식들(I, P, p) 및 동영상이 레코딩될 때의 프레임 번호가 나타났다. 더욱이, 뚜렷한 윤곽으로 나타난 프레임은 모든 프레임 재생(101)용 인덱스 정보가 재생에 사용된 모든 프레임 재생용 트랙에 저장된 프레임이다.
그리하여, 모든 프레임들 재생모드에서, 동영상 레코딩 장치는 모든 프레임 재생(101)용 인덱스 정보를 사용하여 디코딩 과정을 수행하고, 따라서 도 23에 나타난 것처럼, 레코딩될 때 설정된 서브프레임 모드형식에 따라, 레코딩된 동영상은 4배 느린, 2배 느린(표준 속도의 1/2), 또는 표준에서 재생된다.
(재생실행: 표준속도 재생)
도 20은 본 실시예에서 표준속도 재생모드의 실행을 나타내는 순서도이다. 또 21B는 동영상이 레코딩될 때 서브프레임 모드에 의해 표준속도 재생모드의 각 프레임의 디스플레이와 디코딩의 존재 및 부재를 나타내는 개념도이다.
도 20에 나타난 것처럼, 표준속도 재생모드에서, 레코딩의 시작에서, CPU(8)가 재생 프레임 번호(j)를 우선 초기화한 후에(단계 SF101), 모든 프레임 재생모드와는 다르게, 그것은 오직 메인 프레임들에 관한 표준속도 재생용 인덱스 정보가 저장된 표준속도 재생용 트랙으로부터 프레임 번호(j)의 인덱스 정보를 읽는다(단계 SF102). 그 후에, CPU(8)는 모든 프레임 재생모드에서 기술된 도 19의 단 계(SF3) 내지 단계(SF11)와 같은 동일한 과정들을 수행한다(단계 SF3 내지 단계 SF11).
따라서, 도 21B에 나타난 것처럼, 레코딩될 때 설정된 서브프레임 모드의 형식을 고려하지 않고, 60 fps에서 오직 초기 프레임을 포함하는 매 4프레임들인 메인프레임들을 디스플레이하여, 동영상은 표준속도에서 재생된다. 게다가, Ebfus한 윤곽으로 도 21B에 나타난 프레임은 표준속도 재생(102)용 인덱스 정보가 재생에 사용되는 표준속도 재생용 트랙에 저장되는 프레임이다.
(재생실행: 1/2 세선화 재생)
도 22A는 디코딩의 존재 및 부재를 나타내고 동영상이 레코딩될 때 서브프레임 모드설정에 의해 1/2 세선화된 재생모드에서 각 프레임의 디스플레이를 나타내는 개념도이다.
1/2 세선화된 재생모드에서, CPU(8)는 모든 프레임 재생모드와 같이 거의 동일한 과정을 수행한다. 바꾸어 말하면(미도시), 도 19에 나타난 단계(SF11)의 절차는 재생 프레임 번호(j)를 두 번 증분하기 위한 과정으로 변환된다.
따라서, 도 22A에 나타난 것처럼, 동영상 레코딩 장치는 프레임들 및 디스플레이 화상 데이터를 디코딩한다. 다른 말로, 레코딩될 때 서브프레임 모드 3을 가진 동영상에 관하여, 동영상 레코딩 장치는 차례로 매번 다른 프레임마다 세선화된 240 fps에서 레코딩된 모든 프레임들을 디코딩하고, 60 fps에서 그것을 디스플레이하여, 동영상은 표준속도의 1/2 속도에서 느리게 재생된다. 게다가, 레코딩될 때 서브프레임 모드 1을 가진 동영상에 관하여, 세선화된 매번 다른 프레임 마다 세선 화된 인코딩된 데이터는 매번 다른 프레임마다 더욱 세선화되고 차례로 디코딩되며, 동영상 레코딩 장치는 60 fps에서 그것을 디스플레이하고, 따라서 동영상은 표준속도에서 재생된다. 더욱이, 레코딩될 때 서브프레임 모드 0을 가진 동영상에 관하여, 매 4번째 프레임마다 세선화된 인코딩된 데이터는 매 다른 프레임마다 더욱 세선화되고 차례로 디코딩되며, 동영상 레코딩 장치는 그것을 60 fps에서 디스플레이하고, 따라서 동영상은 2배 속도에서 재생된다(레코딩될 때 속도의 2배에서 재생된다).
게다가, 또한 도 22A에서, 인코딩된 데이터가 레코딩되는 프레임들을 위해(레코딩된 프레임), 화상형식들(I, P, p) 및 동영상이 레코딩될 때 프레임 번호가 나타난다. 더욱이, 뚜렷한 윤곽으로 나타난 프레임은 모든 프레임 재생(101)용 인덱스 정보가 재생에 사용되는 모든 프레임 재생용 트랙에 저장된다.
그리하여, 1/2 세선화된 재생모드에서, 동영상 레코딩 장치는 모든 프레임 재생(101)용 인덱스 정보를 사용하여 디코딩 과정을 수행하고, 따라서 레코딩된 동영상은, 레코딩될 때 설정된 서브프레임 모드에 따라, 2배 느린, 표준속도, 또는 2배속도에서 재생된다.
(재생실행: 2배속도 재생)
도 22B는 디코딩의 존재와 부재 및 동영상이 레코딩될 때 서브프레임 모드설정에 의해 2배속도 재생모드에서 각 프레임의 디스플레이를 나타내는 개념도이다.
2배속도 재생모드에서, CPU(8)는 표준속도 재생모드와 같이 거의 동일한 과정을 수행한다. 바꾸어 말하면, 도 20에 나타난 단계(SF111)의 절차는 재생 프레임 번호(j)를 두번 증분하기 위한 과정으로 변환된다(미도시).
따라서, 도 22B에 나타난 것처럼, 레코딩될 때 설정된 서브프레임 모드의 형식을 고려하지 않고, 매 8프레임마다 메인프레임을 디스플레이하여, 60 fps에서 오직 초기 프레임을 포함하여, 동영상은 2배속도에서 재생된다. 게다가, 뚜렷한 윤곽을 가진 도 22B에 나타난 프레임은 표준속도 재생(102)용 인덱스 정보가 재생에 사용되는 표준속도 재생용 트랙에 저장되는 프레임이다.
여기에, 상기 언급된 것과 같이 기술된 본 실시예에서, 메인프레임의 P화상 및 서브프레임의 P화상은 최초 메인프레임의 I화상 또는 동영상이 레코딩될 때 참조화상으로서 8프레임전의 P화상으로 인코딩된다. 그러므로, 동영상이 재생될 때, 만약 동영상이 상기 언급된 어떤 재생모드에서 재생된다면, 동영상 레코딩에서 서브프레임을 고려하지 않고, 디스플레이될 서브프레임의 인코딩된 데이터는 디스플레이되지 않을 서브프레임의 인코딩된 데이터를 디코딩함이 없이 디코딩된다.
그리하여, 동영상이 표준속도의 1/2속도 또는 표준속도에서 느리게 재생될 때, 레코딩될 때 설정된 서브프레임 모드형식에 따라, 효과적으로 수행될 수 있고, 데이터 처리의 양과 전력소비는 그것에 대해 줄어들 수 있다.
게다가, 본 실시예에서, 2배속도 모드를 사용하여, 레코딩될 때 설정된 서브프레임 모드를 고려하지 않고, 동영상은 2배속도에서 재생될 수 있다. 레코딩될 때 서브프레임 모드 0을 가진 동영상에 관하여, 1/2 세선화된 재생모드에서 재생은 또한 동영상이 2배속도에서 재생되도록 한다.
더욱이, 동영상 레코딩에서, 8의 배수인 프레임 번호(i)를 가진 프레임의 P 화상에 관하여, 그것은 최초 메인프레임의 I화상 또는 P화상뿐만 아니라 참조화상으로서 8프레임 전의 메인프레임의 I화상과 P화상으로 인코딩되도록 설계된다. 그러므로, 또한 동영상이 2배속도에서 재생될 때, 디스플레이될 메인프레임의 인코딩된 데이터는 디스플레이되지 않을 메인프레임의 인코딩된 데이터를 디코딩함이 없이 디코딩될 수 있다. 그리하여, 또한 동영상이 2배속도에서 재생될 때, 효과적으로 수행될 수 있고 처리의 양과 전력소비는 그 경우에 줄어들 수 있다.
게다가, 본 실시예에서, 8의 배수인 프레임 번호(i)를 가진 프레임의 P화상이 참조화상으로서 8프레임 전의 메인프레임의 I화상 또는 P화상으로 인코딩되도록 설계된다. 그러나, 예를 들어, 16의 배수인 프레임 번호(i)를가진 프레임의 P화상은 참조화상으로서 16프레임 전의 메인프레임의 I화상 또는 P화상으로 인코딩될 수 있다. 바꾸어 말하면, P화상은 n 프레임의 P화상에 의해 P화상에 가장 가까운 프레임의 다른 P화상들을 인코딩하기 위한 참조화상을 사용하여 인코딩될 수 있다. 다른 말로, n=16인 경우에, 4배속도에서 재생은 가능하다.
게다가, 본 실시예에서, 동영상을 레코딩하는 동안, 서브프레임 모드로서 메인프레임들 사이에 존재하는 서브프레임들의 수를 설정하는 것이 가능하다. 따라서, 동영상 레코딩에서, 대상들의 움직임의 속도변화에 따라 서브프레임 모드를 설정하여-예를 들어, 서브프레임 모드는 화상캡쳐부(1)에 캡쳐된 대상이 느리다면 0으로 설정한다-프레임들의 세선화로 동영상을 재생하기 위해 필요하지 않은 프레임의 화상용 인코딩 과정이 생략될 수 있다. 그리하여, 데이터 처리의 양과 전력소비는 줄어들 수 있다. 동시에, 메모리카드(10)의 메모리 소비의 양도 줄어들 수 있 다.
게다가, 본 실시예에서, 동영상을 레코딩하는 동안, 디코딩될 엑세스 장치(인코딩된 데이터)를 나타내는 인덱스 정보와 같은, 모든 프레임 재생용 인덱스 정보(101)와 표준속도 재생용 인덱스 정보(102)는 레코딩되도록 설계된다. 따라서, 모든 프레임 재생 및 동일한 동영상 파일에 기초하여 표준속도의 1/4속도 느리게 동영상을 재생하는 표준속도 재생에서 동영상을 재생하는 동안 개별적으로 인덱스 정보의 이 설정들을 사용하여 달성될 수 있다. 더욱이, 그것은 MP4 파일들을 재생할 수 있는 범용 동영상 재생장치에서 역시 가능하다.
게다가, 본 실시예에서, 그것은 코덱(5)이 제 1실시예에 기술된 동영상 레코딩 장치의 그것과 유사한 구성을 가지는 경우를 위해 기술된다. 그러나 그것은 이것에 제한되지 않고, 제 2실시예에 기술된 동영상 레코딩 장치와 유사하게, 코덱(5)은 버스제어부(51)와 참조버퍼(52), 도 7에 나타난 것과 같은 병렬의 제 1코덱(53) 내지 제 4코덱(56)으로 구성될 수 있다. 더욱이, 그 경우에서, 도 18에 나타난 것처럼 레코딩 모드에서 소정의 프레임의 화상을 인코딩하여, 본 실시예의 그것과 유사한 효과가 얻어질 수 있다. 더욱이, 관련된 포인트들은 제 1실시예와 역시 유사하다.
(변경된 예)
여기에, 상기 설명된 제 1 내지 제 3실시예에서, 그것은 동영상들을 인코딩 및 디코딩하기 위한 코덱(5)을 가지는 동영상 레코딩 장치를 위해 기술된다. 그러나, 그것은 소정의 소프트웨어를 사용하여 씨피유(8)에 의해 수행된 동영상을 인코 딩하고 디코딩하는 것으로 또한 구성될 수 있다. 더욱이, 그 경우에서, 동영상이 상기 언급된 표준속도에서 재생되는 때와 유사한 프레임들의 세선화를 가진 동영상 재생에서, 데이터 처리의 전체의 양과 전력소비는, 그것이 효과적으로 수행될 수 있으므로, 줄어들 수 있다. 그리하여, 그 경우에서, 동영상의 표준속도 재생과 병렬로, 데이터 처리의 보다 큰 다양성은, CPU(8)에 대한 초과적인 처리능력을 유지하지 않고, CPU(8)에 의해 수행될 수 있다.
더욱이, 제 1내지 제 3실시예들에서, 동영상 레코딩 장치는 동영상 디코딩 장치의 기능을 가지는 구성이고, 그것은 동영상 레코딩 장치로 레코딩된 동영상이 동영상 레코딩 장치로 재생되는 경우에 관해 기술된다. 그러나, 또한 레코딩된 동영상이 (디코딩된)동영상들을 재생하기 위한 기능 또는 재생하는(디코딩) 기능만을 가지는 장치를 가지는 다른 장치들로 재생되는 경우에, 데이터 처리의 전체의 양과 재생(디코딩)에서의 전력소비는 줄어들 수 있다.
이에 관하여, 240 fps(고속 화상캡쳐)에서 동영상을 캡쳐 및 동영상 레코딩 장치와 같은 인코딩하는 처리능력을 가진 그것들로, 디코드하고 240 fps에서 레코딩된 동영상을 디스플레이하는 것은 기본적으로 가능하다. 이것은 인코딩이 상기 언급한 MPEG 방법과 유사한 디코딩으로서 동일한 예측화상을 생성하기 위한 지역 디코딩으로 명명된 디코딩 과정을 포함하기 때문이다.
그리하여, 상기 언급된 것과 같은 재생 동안 데이터 처리의 전체의 양을 줄이는 효과 및 그것을 따라 얻어진 효과-예를 들어, 소정의 소프트웨어가 동영상들을 디코딩하는데 사용될 때의 효과-는 다음의 예에서 더욱 두드러진다. 다른 말로, 이를 테면 240 fps에서 레코딩된 동영상이 동영상 데이터용 디코딩 처리능력과 같은 표준 디스플레이 프레임 비율(예를 들어, 60 fps)을 유지하는 능력을 가진 공통 재생장치로 본 발명의 동영상 디코딩 방법의 응용으로 표준속도 재생에 의해 재생될 때, 효과는 더욱 효과적이다.
다른 한편으로는, 제 1내지 제 3실시예들에서, 레코딩 모드에서 레코딩되는 동안 프레임 비율은 240 fps이다. 그러나 이것 이외에도, 레코딩에서 프레임 비율(60 fps)은 재생 동안의 디스플레이 프레임 비율의 정수배(n)일 수 있다. 그 경우에, 동영상들을 인코딩하고 디코딩하는 동안, 모든 n프레임들이 메인프레임으로서 인코딩 및 디코딩될 때, 동영상의 재생속도는, 상기 언급된 각 실시예에서 표준속도 재생모드와 유사한(제 1실시예에서 가변 속도재생의 표준속도 재생기간을 포함하는), 표준속도일 수 있다.
게다가, 레코딩 모드에서 레코딩되는 동안에, 동영상 인코딩 동안 I화상 삽입간격이 0.5초(모두 120프레임)이지만, 삽입간격은 어떤 수의 초가 될 수 있고 불규칙한 기초일 수 있다. 더욱이, I화상들은 표준속도 재생모드에서 디스플레이된 메인프레임뿐 아니라 표준속도 재생모드에서 디스플레이되지 않는 서브프레임들에서 또한 존재할 수 있다.
더욱이, 재생모드는 표준속도 재생모드를 제외한 재생모드들이 선택될 수 있도록 구성되지만, 그것은 동영상 재생이 표준속도 재생모드에서 오직 수행되도록 구성될 수 있다.
다른 한편으로는, 제 1내지 제 3실시예들에서, 그것은 코덱(5)이 동영상 인 코딩에서 오직 I화상들 및 P화상들을 생성하기 위해 구성되는 경우에 기술된다. 그러나, 그것은 이것에 제한되지 않고, 양방향 예측회로를 포함하기 위해 구성될 수 있고 인코딩에서 B화상들(양방향 예측 부호화 화상)을 생성하기 위해 구성될 수 있다. 그 경우에서, 동영상들을 레코딩하는 동안, B화상(도 6A와 18에서 "p"프레임)은 서브프레임에 상응하는 프레임 위치에 삽입될 수 있다. 그러나, 그 경우에, 양방향 화상 데이터는 B화상들을 생성하도록 요구되고, 정보의 양과 제어될 처리는 2배가 되며, 처리는 일련의 입력(화상캡쳐)과 출력(디스플레이) 명령들 및 인코딩과 디코딩 명령들이 다르기 때문에 복잡해진다.
게다가, 제 1내지 제 3실시예들에서, 입수된 동영상을 인코딩하는 동안, 그것은 일련의 프레임들의 화상들이 I화상들 및 P화상들로서 인코딩되는 경우에 관하여 기술된다. 그러나, 본 발명에서, 다른 프레임들이 P화상들(또는 B화상들)와 같은 참조화상들일 때 다른 정보로서 프레임의 화상 데이터를 인코딩하는 인터프레임 예측코딩기술을 사용하는 방법은 동영상이 다른 방법들로 인코딩될 때 적용될 수 있다. 예를 들어, I화상(또는 B화상)은 비 움직임 보상 인터프레임 예측코딩기술로 인코딩된다. 다른 말로, 그것은 모션벡터(MV)를 포함하지 않는, 오직 다른 정보의 인코딩된 데이터가 발생 되는 것일 수 있고, 각 프레임은 인코딩된 DCT계수를 제외한 중간 데이터로 변환된다.
더욱이, 동영상 레코딩 장치는 입수된 화상들을 레코딩할뿐 아니라 레코딩된 동영상들을 재생하는 기능을 가지는 것으로 또한 기술되지만, 본 발명은 재생기능을 가지지 않는 동영상 레코딩 장치로 적용될 수 있다.
더욱이, 본 발명은 동영상이 인코딩된다면 화상입수에 의해 얻어진 동영상으로 제한되지 않는다. 그것은 다른 장치들로부터의 동영상 입력을 인코딩하기 위한 구성을 가지는 장치, 예를 들어, 방송을 통하여 전송된 그것과 메모리에 이미 레코딩된 그것에서 사용될 수 있다.
게다가, 제 1 및 제 2실시예들에서, 참조화상을 사용하여 메인프레임을 인코딩할 때의 참조프레임은 최초 메인프레임이지만, 그 전의 메인프레임도 역시 사용될 수 있다. 예를 들어, "8"이후의 프레임 번호(i)를 가지는 메인프레임의 참조프레임은 8프레임전의 메인프레임일 수 있다. 더욱이, 복수의 메인프레임들, 특히 시간 축 위의 관련 프레임 이전 및 이후는 참조프레임으로서 사용될 수 있다. 다른 말로, 메인프레임들은 B화상들로서 인코딩될 수 있다.
게다가, 제 3실시예에서, 메인프레임이 참조화상을 사용하여 인코딩될 때 참조프레임은 최초 2배속도 프레임-예를 들어, 2배속도 재생모드에서 디스플레이될 프리엠(메인프레임)-이지만 그 전의 2배속도 프레임이 사용될 수 있다. 더욱이, 복수의 2배속도 프레임들, 특히 시간 축 위의 관련 프레임 이전 및 이후는 참조프레임들로서 사용될 수 있다. 다른 말로, 메인프레임들은 B화상들로서 인모딩될 수 있다.
게다가, 제 3실시예에서, 참조화상을 사용하여 서브프레임을 인코딩할 때의 참조프레임은 최초 프레임이지만 그 이전 또는 이후의 프레임이 또한 사용될 수 있다. 더욱이, 복수의 프레임들, 시간 축 위의 관련 프레임 이전 및 이후는 참조프레임들로서 사용될 수 있다. 다른 말로, 서브프레임들은 B화상들로서 인코딩될 수 있 다.
게다가, 제 2 및 제 3실시예들에서, 참조화상을 사용하여 서브프레임을 인코딩할 때 참조프레임은 최초 메인프레임이지만, 그 이전 또는 이후의 프레임이 사용될 수 있다. 더욱이, 복수의 메인프레임들, 특히 시간 축 위의 관련 프레임의 이전 및 이후는 참조프레임들로서 사용될 수 있다. 다른 말로, 메인프레임들은 B화상들로서 인코딩될 수 있다.
게다가, 제 1 및 제 2실시예들에서, 제 3실시예와 같이, 모든 프레임들 재생(101)용 인덱스 정보 및 표준속도 재생(102)용 인덱스 정보가 인코딩된 데이터로 부가되도록 MP4 포맷의 동영상 파일 포맷을 사용하여, 모든 프레임 재생(101)용 인덱스 정보 및 표준속도 재생(102)용 인덱스 정보를 선택적으로 사용하여 재생실행은 동영상 재생(디코딩)에서 수행될 수 있다.
게다가, 제 3실시예에 관하여, 제 2실시예와 같이, 동영상을 재생(디코딩) 동안, 모든 프레임 재생(101)용 인덱스 정보 및 표준속도 재생(102)용 인덱스 정보 대신의 화상 파라미터들(슬라이스 형식, nal_ref_idc, frame_num, POC 및 참조화상 표시정보)을 사용하여 재생실행은 수행될 수 있다.
다양한 실시예들과 변화들은 본 발명의 방대한 사상과 기술영역으로부터 벗어남이 없이 그것에 구성될 수 있다. 상기 기술된 실시예들은, 본 발명의 기술영역을 제한하기 위한 것이 아니라 본 발명을 설명하기 위해 의도된 것이다. 본 발명의 기술영역은 실시예들보다 첨부된 청구항들로 나타난다. 다양한 변형은 본 발명의 청구항들과 균등물의 의미와 청구항들 및 본 발명의 기술사상으로 간주되는 청구항 들 내에서 행해진다.