УСТРОЙСТВО, СПОСОБ И УПРАВЛЯЮЩАЯ ПРОГРАММА ДЛЯ ОБРАБОТКИ ДАННЫХ
APPARATUS, METHOD AND CONTROL PROGRAMME FOR DATA PROCESSING

УРОВЕНЬ ТЕХНИКИ ИЗОБРЕТЕНИЯ
ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Настоящее изобретение относится к устройству обработки данных, в частности к устройству обработки данных, способу и управляющей программе для кодирования информационных данных и вывода во внешнюю среду, к примеру, по сети.
ОПИСАНИЕ ПРЕДШЕСТВУЮЩЕГО УРОВНЯ ТЕХНИКИ
В известном уровне техники формат файла MP4 известен как формат файла для записи видеосигнала и аудиосигнала на носитель для записи (см. официальное издание выложенных заявок на патенты Японии № 2006-074531). Согласно формату MP4 помимо области для хранения закодированного видеосигнала и аудиосигнала предусмотрена область для хранения управляющей информации, необходимой для воспроизведения и декодирования видеоматериала и аудиоматериала.
Управляющая информация включает в себя информацию о размере данных. Размер данных не определен, пока запись видеоматериала и аудиоматериала фактически не прекращена. Поэтому, например, рассматривается способ, в соответствии с которым управляющая информация формируется во время записи видеоматериала и сохраняется в буферную память или подобное устройство, а после того как запись видеоданных остановлена, управляющая информация записывается на носитель для записи.
Возможно также устраивать так, чтобы во время кодирования видеоматериала и аудиоматериала они преобразовывались в формат MP4-файла и передавались посредством сети и т.п., например, отдельному приемнику. Рассматривается ситуация, в которой устройство, которое приняло MP4-файл, переданный, как упомянуто выше, последовательно декодирует данные MP4-файла.
Однако в ситуации, в которой управляющая информация формируется и передается после остановки записи (кодирования) видеоматериала, как упомянуто выше, существует проблема, выражающаяся в том, что, пока управляющая информация не принята, устройство на стороне приема не может декодировать видеоматериал и аудиоматериал, которые уже были приняты.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Настоящее изобретение было сделано ввиду вышеупомянутой ситуации, и задача некоторых аспектов изобретения состоит в том, чтобы передавать файл с информационными данными, содержащий управляющую информацию, во внешнюю среду таким образом, чтобы сторона приема могла сразу воспроизводить принятые информационные данные.
Согласно первому аспекту изобретения устройство обработки данных генерирует файл с информацией, который имеет множество блочных элементов хранения, каждый из которых включает в себя информацию о размере, причем этот файл с информацией содержит один или несколько первых блочных элементов хранения, где каждый предназначен для хранения закодированных информационных данных, и один или несколько вторых блочных элементов хранения, где каждый предназначен для хранения управляющей информации об информационных данных, хранимых в первом блочном элементе хранения, чтобы генерировать для каждого заданного объема закодированных информационных данных новый первый блочный элемент хранения и формировать второй блочный элемент хранения, соответствующий сформированному первому блочному элементу хранения, создавая тем самым файл с информацией.
Дополнительные признаки настоящего изобретения станут понятны из нижеследующего описания примерных вариантов осуществления со ссылкой на прилагаемые чертежи.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Фиг. 1 - блок-схема, иллюстрирующая один пример конструкции устройства обработки данных согласно варианту осуществления изобретения.
Фиг. 2 - схема, иллюстрирующая структуру MP4-файла.
Фиг. 3 - блок-схема последовательности примерных операций в одном примере конструкции устройства обработки данных согласно варианту осуществления изобретения.
Фиг. 4 - блок-схема последовательности операций в первом режиме обработки согласно варианту осуществления изобретения.
Фиг. 5 - схема, иллюстрирующая структуру видеофайла в первом режиме.
Фиг. 6 - блок-схема последовательности операций во втором режиме обработки согласно варианту осуществления изобретения.
Фиг. 7 - схема, иллюстрирующая структуру видеофайла во втором режиме.
Фиг. 8 - блок-схема, иллюстрирующая другой пример конструкции устройства обработки данных согласно варианту осуществления изобретения.
Фиг. 9 - блок-схема последовательности примерных операций в другом примере конструкции устройства обработки данных согласно варианту осуществления изобретения.
Фиг. 10 - блок-схема последовательности других примерных операций в другом примере конструкции устройства обработки данных согласно варианту осуществления изобретения.
ОПИСАНИЕ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ
Примерные варианты осуществления настоящего изобретения будут подробно описаны ниже в этой заявке со ссылкой на чертежи.
Первый вариант осуществления
Фиг. 1 - блок-схема, иллюстрирующая пример конструкции устройства 100 обработки данных согласно настоящему варианту осуществления изобретения.
На фиг. 1 блок 101 ввода получает видеоданные и аудиоданных для их вывода. В этом варианте осуществления блок 101 ввода обеспечивает ввод видеоданных и аудиоданных, подаваемых извне устройства 100 обработки данных. Тем не менее блок 101 ввода может быть выполнен таким образом, чтобы он включал в себя блок захвата изображений и микрофон, чтобы в качестве данных получать видеоматериал, который фотографируется блоком захвата изображений, и аудиоматериал, захват которого осуществляется микрофоном.
При записи блок 102 обработки сигналов кодирует видеоданные и аудиоданные, которые введены с помощью блока 101 ввода в соответствии с хорошо известным форматом кодирования, таким как H.264 (MPEG4 AVC) или подобный, и сжимает их объем информации. Блок 102 обработки сигналов также выполняет обработки, необходимые для записи видеоданных и аудиоданных. При воспроизведении блок 102 обработки сигналов декодирует воспроизводимые видеоданные и аудиоданные и разжимает их объем информации. При записи блок 102 обработки сигналов выводит информацию об объеме кода (объеме данных) закодированных видеоданных и аудиоданных блоку 106 управления.
Видеоданные и аудиоданные хранятся в запоминающем устройстве 103. Каждый блок устройства 100 обработки данных обрабатывает необходимые видеоданные и аудиоданные путем осуществления доступа к запоминающему устройству 103. В запоминающем устройстве 103 помимо видеоданных и аудиоданных хранится разная другая информация, например информация о файловой системе, управляющая информация о видеофайле и т.п. Кроме этого запоминающее устройство 103 играет роль рабочего запоминающего устройства или подобного для управления блоком 106 управления.
При записи блок 104 обработки данных файла формирует разные виды управляющей информации, определяемой спецификацией MP4-файла, как будет описано в дальнейшем. При воспроизведении блок 104 обработки данных файла обрабатывает воспроизводимую управляющую информацию и сообщает блоку 106 управления содержимое управляющей информации. Блок 105 отображения отображает видеоданные, которые вводятся или воспроизводятся, или другую информацию, к примеру меню и т.п.
Блок 106 управления управляет всей работой устройства 100 обработки данных в соответствии с вводом из блока 107 ввода операций. Блок 106 управления включает в себя микроЭВМ, запоминающее устройство и т.п. и управляет устройством 100 обработки данных в соответствии с программой, хранимой в запоминающем устройстве (не показано). Блок 107 ввода операций включает в себя разного рода переключатели, которыми может управлять пользователь, принимает различные виды команд пользователя и сообщает их блоку 106 управления. Блок 107 ввода операций содержит также выключатель питания, переключатель для подачи команды начала/остановки записи, переключатель для перехода между режимами устройства 100 обработки данных и т.п.
Блок 108 записи-воспроизведения записывает видеоданные и аудиоданные или другую информацию на носитель 109 для записи и воспроизводит эти данных с носителя 109 для записи. При записи блок 108 записи-воспроизведения записывает управляющую информацию, видеоданные или аудиоданные, хранимые в запоминающем устройстве 103, на носитель 109 для записи в формате файла, как будет объяснено в дальнейшем в этой заявке. При воспроизведении блок 108 записи-воспроизведения воспроизводит управляющую информацию, видеоданные и аудиоданные из видеофайла с носителя 109 для записи и сохраняет в запоминающее устройство 103. В этом варианте осуществления носителем 109 для записи является носитель для записи с произвольной выборкой, такой как жесткий диск (HDD), карта флэш-памяти и т.п.
Блок 108 записи-воспроизведения управляет видеофайлом или другими видами информации, которая записана на носителе 109 для записи, как файлом в соответствии с файловой системой, такой как FAT (File Allocation Table - таблица размещения файлов) или подобное. Хотя устройство выполнено таким образом, что носитель 109 для записи можно легко загружать или извлекать в/из устройства 100 обработки данных с использованием механизма загрузки и извлечения (не показан), устройство 100 обработки данных может быть выполнено со встроенным носителем 109 для записи.
В случае записи и считывания видеофайла на/с носителя 109 для записи блок 106 управления управляет блоком 108 записи-воспроизведения для воспроизведения системных данных файла (управляющих данных) с носителя 109 для записи и сохранения в запоминающем устройстве 103. Системные данные файла - это данные, показывающие имя файла данных, записанных на носителе 109 для записи, размер файла, адрес записи данных и т.п., и управляющая информация для управления файлом. Блок 106 управления управляет записью и считыванием файла в соответствии с системными данными считываемого файла. Блок 106 управления обновляет системные данные файла, хранимые в запоминающем устройстве 103, в соответствии с файлом, записываемым на носитель 109 для записи. Обновленные системные данные файла записываются на носитель 109 для записи при помощи блока 108 записи-воспроизведения.
В случае когда устройство 100 обработки информации установлено в режим внешней передачи, внешний интерфейс (IF) 110 принимает видеофайл, сформированный вследствие команды пользователя на запись, и передает видеофайл по сети 112 внешнему устройству 113.
Впоследствии будет описан файл с информацией, который обрабатывается в настоящем варианте осуществления. В настоящем варианте осуществления видеоданные и аудиоданные записываются или передаются в соответствии с форматом MP4-файла. MP4-файл образован так называемым контейнером. Структура одного контейнера 201 проиллюстрирована на фиг. 2. Один контейнер 201 включает в себя области: box-size, box-type и box-data. Информация (информация о размере) о длине (в байтах) данных этого контейнера хранится в области box-size. Информация, показывающая тип данных, которые хранятся в области box-data, хранится в области box-type. Область box-type - это область данных фиксированной длины в 32 бита. Область box-data - область переменной длины. Поскольку размер области box-size равен 32 бита, размер одного контейнера обычно равен или меньше OxFFFFFFFF байтам.
Номера позиций 202 и 203 на фиг. 2 обозначают схемы, показывающие примеры структуры MP4-файла (файла с информацией), который обрабатывается в настоящем варианте осуществления. Каждый из файлов 202 и 203 образован множеством контейнеров 201. Файл 202 составлен тремя блочными элементами хранения: ftyp-box (FileTypeBox; контейнер с типом файла), moov-box (MovieBox; контейнер с кинофильмом) и mdat-box (MediaDataBox; контейнер с медийными данными).
ftyp - это контейнер с ftyp типа box-type, в котором хранится информация о взаимозаменяемости файлов. Способ кодирования или подобное видеоданных и аудиоданных, хранимых в MP4-файле, можно различать на основе области box-data, описанной в ftyp.
moov - контейнер с moov типа box-type, в котором хранится управляющая информация, касающаяся видеоданных и аудиоданных. В области box-data moov хранится такая информация, как смещение порции данных, показывающее смещение от начала файла порции данных каждых из видеоданных и аудиоданных, и количество сэмплов каждой порции данных, размер сэмплов и т.п. Структура moov-контейнера показана на фиг. 2 под номером 204. moov включает в себя mvhd и один или несколько trak. trak-контейнер - это информация, которая определяет одну или несколько видеодорожек или видео- и аудиодорожек. trak включает в себя tkhd и mdia. mdia - это информация, описывающая тип мультимедиа и т.п. каждой дорожки. mdia включает в себя mdhd и stbl. В stbl хранится такая информация, как смещение порции данных, показывающее смещение от начала файла порции данных каждых из видеоданных и аудиоданных, количество сэмплов каждой порции данных, время отображения сэмплов, размер сэмплов и т.п. Один сэмпл видеоданных соответствует кадру. Один сэмпл аудиоданных соответствует одному звуковому кадру.
mdat - это контейнер с mdat типа box-type, в котором хранится каждый сэмпл видеоданных и аудиоданных. Закодированные видеоданные и аудиоданные соответственно разделены для хранения на блоки, называемые порциями. В настоящем варианте осуществления предполагается, что одна порция видеоданных - это видеоданные размером 1 GOP (group of picture; группа изображений), определяемым спецификацией системы H.264, а одна порция аудиоданных - это аудиоданные ряда кадров, соответствующих 1 GOP.
Как показано в файле 203, для деления mdat-контейнера на множество областей и их упорядочения может также использоваться moof-контейнер (MovieFragmentBox; контейнер с кинофрагментом). moof - это контейнер с moof типа box-type, в котором в области box-data хранится управляющая информация mdat-контейнера, следующего за ним. В файле 203 содержатся один moov-контейнер и n moof-контейнеров. Структура moof-контейнера показана на фиг. 2 под номером 205. В области box-data moof содержатся mfhd и один или несколько traf. В mfhd хранится порядковый номер фрагментов. traf-контейнер - это информация, которая определяет одну или несколько видеодорожек или видео- и аудиодорожек. Каждый traf включает в себя tfhd и trun. Значения по умолчанию для длины (продолжительности) и размера каждой порции, хранимой в последующем mdat, хранятся в tfhd. В случае когда время отображения и размер сэмпла, который хранится в каждой порции, хранимой в последующем mdat, изменяются от сэмпла к сэмплу, их значения, в свою очередь, тоже сохраняются. Когда размеры порций, хранимых в mdat, отличаются, в свою очередь сохраняется информация о величине смещения от начала mdat до начала каждой порции.
Такая информация, как размер, смещение и т.п., касательно множества порций, образующих каждую дорожку, сохраняется в одной области box-data в mdia и stbl в moov. Такая информация, как размер, смещение и т.п., относительно одной порции хранится в trun в moof. Поэтому в moof позже сохраняются trun-контейнеры в таком же количестве, как количество порций, которые хранятся в mdat.
Таким образом, один файл 203 формата MP4 может быть образован одним moov-контейнером, одним или несколькими mdat-контейнерами (множеством первых блочных элементов хранения) и одним или несколькими moof-контейнерами (множеством вторых блочных элементов хранения). Размер каждого из moov, mdat и moof изменяется в зависимости от количества данных сэмплов видеоматериала или аудиоматериала, то есть времени записи и объема видео- и аудиоданных, подвергаемых сжатию.
Далее будут описаны обработка для записи видеоматериала и обработка для передачи во внешнюю среду. В настоящем варианте осуществления обработки, которые будут описаны с использованием блок-схем последовательности операций, осуществляются при помощи способа, в соответствии с которым блок 106 управления загружает программу, хранимую в запоминающем устройстве (не показано), и исполняет, осуществляя тем самым управление каждым блоком.
Фиг. 3 - блок-схема, иллюстрирующая последовательность операций обработки при записи. Управляя блоком 107 ввода операций пользователь может выбирать один из режимов: режима записи для записи видеоматериала и аудиоматериала, которые введены, на носитель 109 для записи и режима передачи для передачи видеоматериала и аудиоматериала, которые выводятся во внешнюю среду вместо их записи. Когда в состоянии, в котором выбран один из режима записи и режима передачи, как упомянуто выше, от блока 107 ввода операций принимается команда на начало записи, блок 106 управления определяет установленный режим (S301).
Если установлен режим записи, то блок 106 управления исполняет обработку первого режима (S302). Если установлен режим передачи, то блок 106 управления исполняет обработку второго режима (S303). Обработкой каждого режима генерируется файл с информацией в формате, соответствующем назначению вывода.
Теперь будет описана обработка первого режима. Фиг. 4 - блок-схема последовательности операций обработки первого режима. Фиг. 5 - схема, иллюстрирующая состояния данных, которые сохраняются в запоминающее устройство 103, и данных, которые записывают на носитель 109 для записи в обработке первого режима.
Когда команда на начало записи принята, блок 106 управления подает блоку 104 обработки данных файла такие команды, чтобы формировать данные ftyp, moov и mdat. Блок 104 обработки данных файла формирует ftyp и сохраняет в запоминающем устройстве 103 (S401). Блок 104 обработки данных файла формирует moov-контейнер, в котором в каждой из областей box-size и области box-data сохраняется недействительное значение (фиктивные данные), и сохраняет в запоминающее устройство 103 (S402). Кроме этого блок 104 обработки данных файла формирует mdat-контейнер, в котором в области box-size сохраняется недействительное значение (фиктивные данные), и сохраняет в запоминающее устройство 103 (S403). Структура данных, хранимых в запоминающем устройстве 103 в это время, показана над номером 501 на фиг. 5. На фиг. 5 недействительное значение (фиктивные данные) было сохранено в области, обозначенной (d).
Потом блок 106 управления дает блоку 102 обработки сигналов возможность начать кодирование видеоданных и аудиоданных. Блок 102 обработки сигналов кодирует видеоданные и аудиоданные, которые впоследствии сохраняются в запоминающем устройстве 103, и сохраняет закодированные видеоданные и аудиоданные в запоминающем устройстве 103 (S404). В это время блок 102 обработки сигналов сохраняет видеоданные и аудиоданные в области box-data в mdat-контейнере. Блок 102 обработки сигналов выводит такую информацию, как размер данных сэмплов и т.п. закодированных видеоданных и аудиоданных блоку 104 обработки данных файла и блоку 106 управления. Структура данных, хранимых в это время в запоминающем устройстве 103, показана под номером 502 на фиг. 5.
Таким образом, кодирование видеоданных и аудиоданных продолжается, и блок 106 управления подает команды блоку 108 записи-воспроизведения для записи данных в соответствии с объемом незаписанных данных, хранимых в запоминающем устройстве 103, достигающих заданного объема. Блок 108 записи-воспроизведения считывает незаписанные данные из памяти 103 в порядке: ftyp, moov и mdat и сохраняет на носитель 109 для записи (S405).
Пока команда на остановку записи не введена, блок 106 управления обеспечивает последовательное сохранение закодированных видеоданных и аудиоданных в запоминающее устройство 103 и кроме этого продолжает обработку по записи на носитель 109 для записи. Структура данных, хранимых в запоминающем устройстве 103, и данных, записанных на носитель 109 для записи, в это время показана под номером 503 на фиг. 5.
Когда от блока 107 ввода операций принята команда на остановку записи (S406), блок 106 управления подает блоку 102 обработки сигналов команду для прекращения обработки по кодированию видеоматериала и аудиоматериала и подает команду блоку 108 записи-воспроизведения для остановки записи на носитель 109 для записи. Блок 108 записи-воспроизведения считывает незаписанные данные mdat, хранимые в запоминающем устройстве 103, записывает на носитель 109 для записи, а затем останавливает запись (S407). Состояние данных, хранимых в запоминающем устройстве 103, и данных, записанных на носитель 109 для записи, в это время показано под номером 504 на фиг. 5.
Далее блок 106 управления подает команду блоку 108 записи-воспроизведения для считывания данных в moov-контейнере и данных области box-size в mdat-контейнере из MP4-файла, который уже записан на носителе 109 для записи (S408). Блок 108 записи-воспроизведения считывает данные в moov-контейнере и данные области box-size в mdat-контейнере из MP4-файла, записанного на носителе 109 для записи, и сохраняет в запоминающее устройство 103. Состояние данных, хранимых в запоминающем устройстве 103, и данных, записанных на носитель 109 для записи, показано под номером 505 на фиг. 5. Как показано под номером 505, каждые из данных в moov-контейнере, хранимых в запоминающем устройстве 103, и данные области box-size в mdat-контейнере содержат недействительное значение.
Потом блок 106 управления подает команду блоку 104 обработки данных файла для изменения недействительного значения в каждых из данных в moov-контейнере, хранимых в запоминающем устройстве 103, и данных области box-size в mdat-контейнере на надлежащее значение. Блок 104 обработки данных файла вычисляет размер moov-контейнера и размер mdat-контейнера на основе такой информации, как размер данных сэмплов и т.п., которая выводится из блока 102 обработки сигналов во время записи видеоматериала и аудиоматериала. Блок 104 обработки данных файла на основе такой информации, как размер данных сэмплов и т.п., которая выводится из блока 102 обработки сигналов во время записи, формирует также данные moov-контейнера и изменяет область box-data в moov (S409). Состояние данных, хранимых в запоминающем устройстве 103, и данных, записанных на носитель 109 для записи, в это время показано под номером 506 на фиг. 5.
Когда недействительные значения, хранимые в запоминающем устройстве 103, изменены блоком 104 обработки данных файла, как упомянуто выше, блок 106 управления подает блоку 108 записи-воспроизведения команду для записи обновленных данных. Блок 108 записи-воспроизведения считывает данные в moov-контейнере и данные области box-size в mdat-контейнере и обновляет данные, записанные в первоначальном MP4-файле (S410). Состояние данных, хранимых в запоминающем устройстве 103, и данных, записанных на носитель 109 для записи, в это время показано под номером 507 на фиг. 5.
Таким образом, данные в MP4-файле, записанном на носителе 109 для записи, принимают в конечном счете вид данных в формате, показанном под номером 202 на фиг. 2.
Далее будет описана обработка второго режима. Фиг. 6 - блок-схема последовательности операций для обработки второго режима. Фиг. 7 - схема, иллюстрирующая структуру данных, хранимых в запоминающем устройстве 103, и данных, подвергаемых передаче с помощью внешнего интерфейса 110 в обработке второго режима.
Когда команда на начало передачи принята, блок 106 управления подает блоку 104 обработки данных файла команду для формирования данных ftyp, moov и mdat. Блок 104 обработки данных файла формирует ftyp для сохранения в запоминающем устройстве 103 (S601). Блок 104 обработки данных файла формирует moov-контейнер, в котором в каждой из областей box-size и box-data сохраняется недействительное значение (фиктивные данные), для сохранения в запоминающее устройство 103 (S602). Кроме этого, блок 104 обработки данных файла формирует mdat-контейнер, в котором недействительное значение (фиктивные данные) сохраняется в области box-size, для сохранения в запоминающее устройство 103 (S603). Состояние данных, хранимых в запоминающем устройстве 103, в это время показано над номером 701 на фиг. 7. На фиг. 7 недействительное значение (фиктивные данные) сохранено в области, обозначенной (d).
Потом блок 106 управления дает блоку 102 обработки сигналов возможность начать кодирование видеоданных и аудиоданных. Блок 102 обработки сигналов кодирует видеоданные и аудиоданные, которые впоследствии сохраняются в запоминающем устройстве 103, и сохраняет закодированные видеоданные и аудиоданные в запоминающем устройстве 103 (S604). То есть блок 102 обработки сигналов сохраняет видеоданные и аудиоданные в области box-data в mdat-контейнере. Блок 102 обработки сигналов выводит такую информацию, как размер данных сэмплов и т.п., закодированных видеоданных и аудиоданных блоку 104 обработки данных файла и блоку 106 управления. Структура данных, хранимых в запоминающем устройстве 103, в это время показана над номером 702 на фиг. 7.
Таким образом, кодирование видеоданных и аудиоданных продолжается до тех пор, пока с блока 107 ввода операций не введена команда на остановку передачи. Если команда на остановку передачи не введена (S605), блок 106 управления на основе информации от блока 102 обработки сигналов об объеме данных определяет, достиг ли объем непереданных закодированных данных, хранимых в запоминающем устройстве 103, заданного объема L или нет (S609).
Если объем непереданных закодированных данных, хранимых в запоминающем устройстве 103, не достиг L, кодирование видеоданных и аудиоданных продолжается как есть. Заданный объем L можно определять, к примеру, основываясь на объеме закодированных видеоданных и аудиоданных, а именно: какой объем необходим для сохранения этих данных в запоминающем устройстве 103. То есть заданный объем L можно также определять на основе количества кадров видеоданных, определяемых в соответствии со средней скоростью передачи данных закодированных видеоданных и аудиоданных, а именно: какое количество кадров необходимо для сохранения этих данных в запоминающем устройстве 103.
Если объем непереданных закодированных данных, хранимых в запоминающем устройстве 103, достигает заданного значения L, то блок 106 управления обнаруживает среди кадров в сжатых видеоданных, хранимых в запоминающем устройстве 103 в этот момент времени, кадр, предшествующий кадру, на котором объем данных достигает заданного значения. Кроме этого блок 106 управления обнаруживает среди кадров в сжатых аудиоданных, хранимых в запоминающем устройстве 103, кадр аудиоданных, соответствующий кадру, предшествующему кадру, на котором объем данных достигает заданного значения. Один mdat-контейнер формируется видеоданными вплоть до кадра, предшествующего кадру, на котором объем данных достигает заданного значения, начиная с команды на начало передачи, и аудиоданными вплоть до звукового кадра, соответствующего ему, и mdat-контейнер делится. В настоящем варианте осуществления объем закодированных видеоданных в каждом кадре различается. Поэтому количество кадров закодированных видеоданных, соответствующее заданному значению L, не является постоянным. В настоящем варианте осуществления, если объем непереданных закодированных данных, хранимых в запоминающем устройстве 103, достигает заданного значения L, то видеоданные делятся по кадрам. Аудиоданные, соответствующие кадру разделенных видеоданных, делятся по звуковым кадрам.
Блок 106 управления подает команду блоку 104 обработки данных файла для изменения недействительного значения данных в moov-контейнере, хранимых в запоминающем устройстве 103, и данных области box-size в mdat-контейнере на надлежащее значение.
Блок 104 обработки данных файла вычисляет размер moov-контейнера и размер mdat-контейнера и изменяет данные области box-size на основе такой информации, как размер данных сэмплов и т.п., которая выводится из блока 102 обработки сигналов во время записи видеоматериала и аудиоматериала. Блок 104 обработки данных файла также формирует на основе такой информации, такой как размер данных сэмплов и т.п., которая выводится из блока 102 обработки сигналов, данные в moov-контейнере и изменяет область box-data moov (S610). Блок 104 обработки данных файла сохраняет также информацию о дорожках (данные взаимозаменяемости видеоматериала и аудиоматериала, такие как способ сжатия и т.п.) видеоданных и аудиоданных в области data-box в moov. Такой обработкой формируется один moov-контейнер. Структура данных, хранимых в запоминающем устройстве 103, в это время показана над номером 702 на фиг. 7.
Блок 106 управления подает команду внешнему интерфейсу 110 для передачи непереданных данных, в том числе ftyp-контейнера и одного moov-контейнера и одного mdat-контейнера, которые обновлены, как упомянуто выше, во внешнюю среду. Внешний интерфейс 110 считывает непереданные данные из запоминающего устройства 103 и передает в сеть 112 (S611). В это время внешний интерфейс 110 сначала передает ftyp-контейнер, а затем передает moov-контейнер и mdat-контейнер, в этом порядке. Когда передача намеченных непереданных данных закончена, внешний интерфейс 110 останавливает передачу.
Потом блок 106 управления подает команду блоку 104 обработки данных файла заново формировать moof-контейнер и mdat-контейнер. Блок 104 обработки данных файла вновь формирует moof-контейнер, в котором в каждой из областей box-size и box-data сохраняется недействительное значение (фиктивные данные), для сохранения в запоминающее устройство 103 (S612). Кроме этого блок 104 обработки данных файла формирует mdat-контейнер, в котором недействительное значение (фиктивные данные) сохраняется в области box-size, для сохранения в запоминающее устройство 103 (S603). Состояние данных, хранимых в запоминающем устройстве 103 в это время, и данных, подвергаемых передаче, показано под номером 703 на фиг. 7.
Кодирование видеоданных и аудиоданных продолжается. Если команды на остановку передачи нет и объем непереданных закодированных видеоданных и аудиоданных, которые хранятся в запоминающем устройстве 103, достигает значения L, тогда блок 106 управления формирует один mdat-контейнер с помощью видеоданных, хранимых в запоминающем устройстве 103 в этот момент времени, и соответствующих аудиоданных.
Блок 106 управления подает команду блоку 104 обработки данных файла для изменения недействительного значения каждых из данных в moof-контейнере, хранимых в запоминающем устройстве 103, и данных области box-size в mdat-контейнере на надлежащее значение в соответствии с форматом файла MP4. Блок 104 обработки данных файла вычисляет размер moof-контейнера и размер mdat-контейнера и изменяет данные области box-size на основе такой информации, как размер данных сэмплов и т.п., которая выводится из блока 102 обработки сигналов во время записи видеоматериала и аудиоматериала. Блок 104 обработки данных файла формирует данные в moof-контейнере и изменяет область box-data в moof на основе такой информации, как размер данных сэмплов и т.п., которая выводится из блока 102 обработки сигналов во время записи (S610). Структура данных, хранимых в запоминающем устройстве 103 в это время, и данных, подвергаемых передаче, показана под номером 704 на фиг. 7. Как упомянуто выше, управляющая информация видеоданных, хранимых в mdat, которая впоследствии передается после moof, сохраняется в moof аналогично тому, как упомянуто выше.
Блок 106 управления подает команду внешнему интерфейсу 110 для передачи непереданных данных, в том числе moof-контейнера и mdat-контейнера, которые обновлены, как упомянуто выше, во внешнюю среду. Внешний интерфейс 110 считывает из запоминающего устройства 103 непереданные данные, которые должны быть переданы в сеть 112 (S611). Когда передача намеченных непереданных данных закончена, внешний интерфейс 110 останавливает передачу.
Потом блок 106 управления подает команду блоку 104 обработки данных файла заново формировать moof-контейнер и mdat-контейнер. Блок 104 обработки данных файла вновь формирует moof-контейнер, в котором в каждой из областей box-size и box-data сохраняется недействительное значение (фиктивные данные), для сохранения в запоминающее устройство 103 (S612). Блок 104 обработки данных файла формирует mdat-контейнер, в котором недействительное значение (фиктивные данные) сохраняется в области box-size, для сохранения в запоминающее устройство 103 (S603). Структура данных, хранимых в запоминающем устройстве 103 в это время, и данных, подвергаемых передаче, показана под номером 705 на фиг. 7.
Эти обработки повторяются подобным образом в дальнейшем, пока не принята команда на остановку передачи. Когда от блока 107 ввода операций принята команда на остановку передачи (S605), блок 106 управления подает команду блоку 102 обработки сигналов для прекращения кодирования видеоматериала и аудиоматериала. Когда команда на остановку передачи принята, блок 106 управления формирует один mdat-контейнер с помощью видеоданных и аудиоданных, хранимых в запоминающем устройстве 103 в этот момент времени.
Блок 106 управления подает команду блоку 104 обработки данных файла для изменения недействительного значения каждых из данных в moof-контейнере, хранимых в запоминающем устройстве 103, и данных области box-size в mdat-контейнере на надлежащее значение. Блок 104 обработки данных файла вычисляет размер moof-контейнера и размер mdat-контейнера и изменяет данные области box-size на основе такой информации, как размер данных сэмплов и т.п., которая выводится из блока 102 обработки сигналов во время записи видеоматериала и аудиоматериала. Блок 104 обработки данных файла формирует на основе такой информации, как размер данных сэмплов и т.п., которая выводится из блока 102 обработки сигналов во время записи, данные moof-контейнера и изменяет область box-data в moof (S606). Структура данных, хранимых в запоминающем устройстве 103 в это время, и данных, подвергаемых передаче, показана под номером 706 на фиг. 7.
Блок 106 управления подает команду внешнему интерфейсу 110 для передачи непереданных данных, в том числе moof-контейнера и mdat-контейнера, которые обновлены, как упомянуто выше, во внешнюю среду. Внешний интерфейс 110 считывает непереданные данные из запоминающего устройства 103 и передает в сеть 112 (S607). Когда передача намеченных непереданных данных закончена, внешний интерфейс 110 останавливает передачу (S608). Структура данных, хранимых в запоминающем устройстве 103 в это время, и данных, подвергаемых передаче, показана под номером 707 на фиг. 7. Таким образом, форматом видеофайла, который передается, является формат, показанный под номером 203 на фиг. 2.
Как упомянуто выше, в настоящем варианте осуществления, в случае когда во время кодирования информационных данных, таких как видеоматериал, аудиоматериал и т.п., закодированные данные записываются на носитель для записи в соответствии с форматом MP4-файла, в управляющей информации сохраняются недействительные значения и управляющая информация записывается на носитель для записи. После того как запись остановлена, значения в управляющей информации, записанной на носителе для записи, обновляются. Поэтому отсутствует необходимость в подготовке запоминающего устройства большой емкости для хранения управляющей информации во время записи.
В этом варианте осуществления, когда во время кодирования видеоматериала и аудиоматериала закодированные данные передаются во внешнюю среду в соответствии с форматом MP4-файла, один за одним формируется множество mdat-контейнеров в соответствии с объемом данных закодированных видеоматериала и аудиоматериала, достигающих заданного значения. Данные moov (moof) передаются вместе с каждым mdat-контейнером. В это время данные передаются в порядке: ftyp->moov (moof)->mdat-контейнер. Поэтому принимаемые данные в устройстве на стороне приема могут быть последовательно декодированы для вывода.
Хотя в настоящем варианте осуществления используется такая структура, что видеоматериал и аудиоматериал кодируются и записываются или передаются в соответствии с форматом MP4-файла, может также использоваться и другой формат. К примеру, изобретение можно похожим образом применить к такой структуре, где управляющая информация, такая как размер данных и т.п., предоставляется до видеоданных и аудиоданных.
В настоящем варианте осуществления переключение обработки первого режима и обработки второго режима осуществляется в соответствии с режимом, выбранным из режима записи и режима передачи. Тем не менее этот вариант осуществления не ограничен таким способом. К примеру, возможно сделать так, чтобы обработка первого режима исполнялась в случае создания файла для записи данных на носителе с многократной перезаписью, а обработка второго режима исполнялась в случае создания файла для записи данных на носитель с однократной записью, где данные записи не могут быть перезаписаны. То есть возможно организовать таким образом, чтобы один из типа, показанного в файле 202, и типа, показанного в файле 203, на фиг. 2 определялся как формат файла согласно назначению вывода создаваемого файла.
Хотя в этом варианте осуществления mdat делится согласно тому, как объем непереданных закодированных видео- и аудиоданных, которые хранятся в запоминающем устройстве 103, достигает заданного значения L (для каждого заданного объема), mdat может быть разделен в соответствии с тем, как объем данных moof достигает заданного значения M.
Например, область хранения для moof и область хранения для mdat в запоминающем устройстве 103 выделяются заранее. mdat делится согласно тому, как данные, хранимые в области хранения для moof, достигают заданного значения M (M<L), и передается. В этом случае mdat делится в этот момент времени, даже если объем непереданных закодированных видео- и аудиоданных, которые хранятся в области хранения для mdat, не достигает заданного значения L.
Второй вариант осуществления
Далее будет описан второй вариант осуществления. Этот вариант осуществления будет описан касательно обработок для воспроизведения записанных данных формата MP4 и передачи во внешнюю среду. В этом варианте осуществления обработки, которые будут описаны со ссылкой на блок-схемы последовательности операций, тоже осуществляются при помощи способа, в соответствии с которым блок 106 управления загружает программу, хранимую в запоминающем устройстве (не показано), и исполняет ее, осуществляя тем самым управление каждым блоком.
Фиг. 8 - схема, иллюстрирующая конструкцию устройства 100 обработки данных согласно второму варианту осуществления. В устройстве по фиг. 8 к конструкции по фиг. 1 добавлен блок 801 преобразования. В этом варианте осуществления изменяется количество пикселов одного изображения видеоданных, воспроизводимых с носителя 109 для записи, и измененные видеоданные могут быть переданы во внешнюю среду. Также в устройстве по фиг. 8 обработки по фиг. 3, 4 и 6 могут исполняться аналогично первому варианту осуществления. Обработка по передаче видеофайла, записанного на носитель 109 для записи, в устройстве по фиг. 8 будет описана ниже в этой заявке.
Перед отправкой видеофайла, записанного на носитель 109 для записи, пользователь с помощью блока 107 ввода операций может устанавливать, изменяется количество пикселов видеоматериала, который передается, или нет. В этом варианте осуществления предполагается, что количество пикселов одного изображения видеоданных, которые записаны на носитель 109 для записи обработками по фиг. 4, является первым количеством пикселов. Пользователь может подать команды для изменения количества пикселов видеоматериала, записанного на носитель 109 для записи, на второе количество пикселов, меньшее первого количества пикселов, и передачи видеоданных во внешнюю среду.
Фиг. 9 - блок-схема последовательности операций обработки по передаче видеофайла, записанного на носитель 109 для записи, во внешнюю среду относительно устройства. Обработки по фиг. 9 исполняются при помощи способа, в соответствии с которым блок 106 управления осуществляет управление каждым блоком.
Когда пользователем установлено количество пикселов видеоматериала, который передается, и подана команда на передачу видеофайла, запускаются обработки. Сначала блок 106 управления определяет количество пикселов видеоматериала, который передается (S901). Если количество пикселов видеоматериала, который передается, равно тому же первому количеству пикселов, как у записанного видеоматериала, то блок 106 управления подает команду блоку 108 записи-воспроизведения воспроизводить назначенный видеофайл. Блок 108 записи-воспроизведения последовательно считывает назначенный видеофайл с носителя 109 для записи и сохраняет в запоминающее устройство 103. Блок 106 управления подает команду внешнему интерфейсу 110 для передачи данных видеофайла, хранимого в запоминающем устройстве 103, во внешнюю среду. Внешний интерфейс 110 считывает данные видеофайла, хранимого в запоминающем устройстве 103, и последовательно передает внешнему устройству 113 по сети 112 (S902).
Когда от блока 107 ввода операция принята команда на остановку передачи, или если воспроизведение видеофайла, который воспроизводится, выполнено до его конца (S903), тогда блок 106 управления останавливает воспроизведение видеофайла, которое осуществляется блоком 108 записи-воспроизведения. В это же время останавливается передача MP4-файла внешним интерфейсом 110 (S904).
Если на этапе S901 количество пикселов видеоматериала, который передается, равно второму количеству пикселов, то блок 106 управления подает команду блоку 108 записи-воспроизведения воспроизводить назначенный видеофайл. Блок 108 записи-воспроизведения последовательно считывает назначенный видеофайл с носителя 109 для записи и сохраняет в запоминающее устройство 103 (S905). Потом блок 104 обработки данных файла во время разбиения данных MP4-файла, хранимых в запоминающем устройстве 103, обнаруживает данные moov-контейнера, содержащегося в воспроизводимом видеофайле. Необходимые данные, такие как размер данных сэмплов и т.п. в этом moov, получают и отсылают блоку 106 управления. Блок 106 управления подает команду блоку 108 записи-воспроизведения для последовательного считывания данных видеофайла с носителя 109 для записи, основываясь на данных, посланных из блока 104 обработки данных файла. Блок 106 управления подает команду блоку 102 обработки сигналов декодировать видеоданные и аудиоданные в mdat-контейнере. Блок 102 обработки сигналов считывает и декодирует закодированные видеоданные и аудиоданные из запоминающего устройства 103 и сохраняет в запоминающее устройство 103 (S906).
Блок 106 управления подает команду блоку 801 преобразования для изменения количества пикселов декодированных видеоданных на второе количество пикселов. Блок 801 преобразования последовательно считывает кадры декодированных видеоданных из запоминающего устройства 103 и изменяет количество пикселов каждого кадра с первого количества пикселов на второе количество пикселов. Блок 801 преобразования сохраняет видеоданные со вторым количеством пикселов в запоминающее устройство 103 (S907).
Потом блок 106 управления исполняет вышеизложенную обработку второго режима, преобразует видеоданные и аудиоданные со вторым количеством пикселов, хранимые в запоминающем устройстве 103, в данные формата MP4-файла и передает внешнему интерфейсу 110 (S908). В первом варианте осуществления видеоданные и аудиоданные, получаемые с помощью блока 101 ввода, кодируются, преобразуются в данные формата MP4-файла и передаются. Во втором варианте осуществления вместо видеоданных и аудиоданных от блока 101 ввода кодируются видеоданные, которые воспроизводятся с носителя 109 для записи и преобразуются блоком 801 преобразования во второе количество пикселов, и воспроизводимые аудиоданные. Закодированные видеоданные и аудиоданные преобразуются в данные формата MP4-файла и передаются от внешнего интерфейса 110 внешнему устройству 113 по сети 112 с помощью обработок по фиг. 6.
В случае когда количество пикселов видеоматериала, воспроизводимого с носителя для записи, преобразуется, преобразованный видеоматериал снова кодируется и передается, как упомянуто выше, размер видеоданных не определяется до тех пор, пока не закодирован весь видеоматериал из файла, который должен быть передан.
Поэтому в настоящем варианте осуществления в случае, где после того, как количество пикселов воспроизводимого видеоматериала преобразовано, видеоматериал снова кодируется и передается во внешнюю среду, при этом один mdat-контейнер формируется согласно заданному объему кодируемых видеоматериала и аудиоматериала. Данные moov (moof) передаются вместе с mdat-контейнером. Таким образом, устройство на стороне приема может последовательно декодировать и выводить принятые данные.
Хотя в настоящем варианте осуществления изобретение описано касательно примера, в котором для воспроизводимых закодированных видеоданных выполняется преобразование количества пикселов, и получающиеся в результате данные передаются во внешнюю среду, изобретение этим не ограничено. Например, естественно, что даже в случае, где вместо преобразования количества пикселов или в дополнение к нему выполняется преобразование частоты кадров (к примеру, сокращение числа кадров), и получающиеся в результате данные передаются, изобретение можно применять для декодирования и повторного кодирования данных воспроизведения.
Третий вариант осуществления
Далее будет описан третий вариант осуществления. Устройство 100 обработки данных в третьем варианте осуществления подобно устройству обработки данных на фиг. 8. В третьем варианте осуществления обработки по фиг. 3, 4, 6 и 9 также могут исполняться аналогично первому и второму вариантам осуществления. В третьем варианте осуществления, когда видеофайл передается внешнему устройству, заданное значение L устанавливается на основе размера буфера памяти, обеспеченной во внешнем устройстве для временного хранения видеофайла, принятого внешним устройством.
Обработка по передаче видеофайла в третьем варианте осуществления будет описана ниже в этой заявке. В настоящем варианте осуществления обработки, которые будут описаны с использованием блок-схем последовательности операций, тоже осуществляются при помощи способа, в соответствии с которым блок 106 управления загружает программу, хранимую в запоминающем устройстве (не показано), и исполняет, осуществляя тем самым управление каждым блоком.
Фиг. 10 - блок-схема, иллюстрирующая последовательность операций обработок при записи в третьем варианте осуществления. Обработки, аналогичные обработкам на фиг. 3, обозначены одинаковыми номерами позиций, и их подробное описание здесь опущено. Когда принимается команда на начало записи, если установлен режим передачи, блок 106 управления запрашивает через внешний интерфейс 110 внешнее устройство 113 о размере буферной памяти, предусмотренной во внешнем устройстве 113 для временного хранения видеофайла, принимаемого внешним устройством 113. Внешний интерфейс 110 принимает от внешнего устройства 113 информацию относительно размера буферной памяти и оповещает о ней блок 106 управления (S1001). На основе информации о размере буферной памяти, принятой внешним интерфейсом 110, блок 106 управления устанавливает заданное значение L, которое используется в режиме передачи, меньшим размера буферной памяти (S1002). После этого исполняется обработка второго режима, как упомянуто выше (S303).
Как упомянуто выше, размер буферной памяти во внешнем устройстве назначения передачи видеофайла получают в этом варианте осуществления в режиме передачи. Заданное значение L устанавливается таким образом, чтобы не превышать размера буферной памяти.
Поэтому размер каждого mdat-контейнера видеофайла, который передается в режиме передачи, меньше размера буферной памяти внешнего устройства 113 на стороне приема. Следовательно, внешнее устройство 113 может принимать в исправном состоянии видеофайл, передаваемый от устройства 100 обработки данных.
Хотя настоящий вариант осуществления описан в отношении устройства для записи видеоданных и аудиоданных, изобретение можно подобным образом применять в устройстве для записи других вводимых информационных данных. Несмотря на то что в настоящем варианте осуществления заданное значение L устанавливается на основе размера буферной памяти внешнего устройства 113, если емкость области хранения запоминающего устройства 103, в которую сохраняются закодированные видеоданные и аудиоданные, меньше размера буферной памяти внешнего устройства 113, то заданное значение L устанавливается на основе емкости области хранения запоминающего устройства 103, в которую сохраняются закодированные видеоданные и аудиоданные.
Другие варианты осуществления
Каждый блок, образующий устройство записи в каждом из вариантов осуществления изобретения, упомянутых выше, и каждый этап способа записи могут быть осуществлены при помощи способа, в соответствии с которым работает программа вычислительной машины, сохраненная в ОЗУ, ПЗУ и т.п. Программа и постоянный машиночитаемый запоминающий носитель, на котором хранится эта программа, включены в состав этого изобретения.
Изобретение может быть также осуществлено, например, как система, устройство, способ, программа, постоянный машиночитаемый запоминающий носитель и т.п. Говоря точнее, изобретение может быть применено в системе, образованной множеством устройств, или может быть применено в устройстве, образованном одним оборудованием.
Изобретение включает в себя случай, где программа (в вариантах осуществления: программа, соответствующая блок-схемам последовательности операций способа на фиг. 3, 4 и 6) из программного обеспечения для реализации функций вариантов осуществления, как упомянуто выше, поставляется в систему или устройство непосредственно или из удаленного места. Изобретение включает в себя также случай, где вычислительная машина системы или устройства считывает и исполняет программный код поставляемой программы, так что упомянутые функции успешно выполняются.
Таким образом, осуществляет изобретение тоже сам программный код, который установлен в вычислительной машине для реализации функций и обработок изобретения при помощи вычислительной машины. То есть изобретение включает в себя саму машинную программу для осуществления функций и обработок изобретения. В этом случае программный код может иметь любую форму, например объектного кода, программы, которая исполняется интерпретатором, сценарных данных, которые поставляются в ОС, или подобного, пока оно имеет функцию программы.
В качестве запоминающего носителя для поставки программы может выступать, к примеру, гибкий диск, жесткий диск, оптический диск, магнитооптический диск или подобное. Кроме того, есть также магнитооптический диск, компакт-диск, компакт-диск с однократной записью, перезаписываемый компакт-диск, магнитная лента, энергонезависимая карта памяти, ПЗУ, универсальный цифровой диск (DVD) (универсальный цифровой диск, предназначенный только для чтения (DVD-ROM), универсальный цифровой диск с однократной записью (DVD-R)) или подобное.
В качестве другого способа поставки программы есть способ, который состоит в соединении с главной страницей в Интернет, используя браузер вычислительной машины клиента. Программа может поставляться также путем загрузки самой машинной программы по изобретению или сжатого файла, включающего в себя функцию автоматической установки, на запоминающий носитель, такой как жесткий диск или подобное, с главной страницы.
Способ поставки программы может быть также реализован способом, посредством которого программный код, образующий программу по изобретению, делится на множество файлов, и каждый файл загружается с другой главной страницы. То есть веб-сервер, обеспечивающий возможность множеству пользователей загружать программный файл для осуществления функций и обработок изобретения с помощью вычислительной машины, тоже включен в состав изобретения.
Другой способ поставки программы может быть осуществлен при помощи способа, посредством которого программа по изобретению шифруется, сохраняется на записывающем носителе, такой как компакт-диск или подобное, и распространяется среди пользователей, и пользователи, которые выполнили определенное условие, получают возможность загружать с главной страницы через Интернет информацию о ключе для расшифровывания шифровки, и зашифрованная программа исполняется, используя информацию о ключе, и устанавливается на вычислительную машину.
Функции вариантов осуществления, упомянутых выше, осуществляются способом, посредством которого вычислительная машина исполняет считываемую программу. Кроме этого, ОС или подобное, работающее на вычислительной машине, исполняет на основе команд программы часть или все фактические обработки, и функции вариантов осуществления, упомянутых выше, реализуются теми обработками.
Еще один способ состоит в том, что программа, считываемая с записывающего носителя, записывается в запоминающее устройство, обеспечиваемое платой расширения функциональности, которую вставляют в вычислительную машину, или блоком расширения функциональности, подсоединяемым к вычислительной машине, ЦП или подобному, при условии, что плата расширения функциональности или блок расширения функциональности исполняет часть или все фактические обработки, и функции вариантов осуществления, упомянутые выше, реализуются теми обработками.
Хотя настоящее изобретение было описано со ссылкой на примерные варианты осуществления, понятно, что изобретение не ограничено раскрытыми примерными вариантами осуществления. Объем нижеследующей формулы изобретения подлежит самому широкому толкованию, чтобы охватывать все такие модификации и эквивалентные структуры и функции.