RU2662633C2 - Waveform data structure, waveform data storage device, waveform data storing method, waveform data extracting device, waveform data extracting method and electronic musical instrument - Google Patents
Waveform data structure, waveform data storage device, waveform data storing method, waveform data extracting device, waveform data extracting method and electronic musical instrument Download PDFInfo
- Publication number
- RU2662633C2 RU2662633C2 RU2016136820A RU2016136820A RU2662633C2 RU 2662633 C2 RU2662633 C2 RU 2662633C2 RU 2016136820 A RU2016136820 A RU 2016136820A RU 2016136820 A RU2016136820 A RU 2016136820A RU 2662633 C2 RU2662633 C2 RU 2662633C2
- Authority
- RU
- Russia
- Prior art keywords
- frame
- data
- waveform
- samples
- bit length
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H7/00—Instruments in which the tones are synthesised from a data store, e.g. computer organs
- G10H7/008—Means for controlling the transition from one tone waveform to another
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H7/00—Instruments in which the tones are synthesised from a data store, e.g. computer organs
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L21/00—Processing of the speech or voice signal to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
- G10L21/02—Speech enhancement, e.g. noise reduction or echo cancellation
- G10L21/0316—Speech enhancement, e.g. noise reduction or echo cancellation by changing the amplitude
- G10L21/0324—Details of processing therefor
- G10L21/0332—Details of processing therefor involving modification of waveforms
Abstract
Description
ПРЕДПОСЫЛКИ СОЗДАНИЯ ИЗОБРЕТЕНИЯBACKGROUND OF THE INVENTION
Область техники, к которой относится изобретениеFIELD OF THE INVENTION
[01] Настоящее изобретение относится к структуре данных о волновой форме, устройству для хранения данных о волновой форме, способу сохранения данных о волновой форме, устройству для извлечения данных о волновой форме, способу извлечения данных о волновой форме и электронному музыкальному инструменту для монтажа кадров различных размеров в зависимости от музыкальных тонов (типов волновой формы).[01] The present invention relates to a waveform data structure, a device for storing waveform data, a method for storing waveform data, a device for extracting waveform data, a method for extracting waveform data and an electronic musical instrument for editing frames of various sizes depending on musical tones (types of waveform).
EУровень техникиE-level
[02] Известны технологии образования волновой формы с использованием структур сжатых данных, которые могут быть распакованы с помощью простых конфигураций. Например, в качестве технологии этого вида в документе JP-B-3826870 раскрыта технология сохранения сжатых данных о волновой форме в кадрах, имеющих фиксированный размер, и приписывания области вспомогательной информации и области данных к фиксированным местам в каждом кадре, и сохранения вспомогательной информации и сжатых данных о волновой форме, соответственно, в этих областях.[02] Known are waveform generation techniques using compressed data structures that can be unpacked using simple configurations. For example, as a technology of this kind, JP-B-3826870 discloses a technology for storing compressed waveform data in frames having a fixed size, and assigning a supporting information area and a data area to fixed locations in each frame, and storing supporting and compressed information waveform data, respectively, in these areas.
[03] В соответствии с этой технологией даже в случае, когда количества битов сжатых сэмплов в данных о волновой форме различаются, размер областей данных не изменяется. Поэтому количество сжатых сэмплов в данных о волновой форме, которые могут быть сохранены в одном кадре, изменяется в зависимости количества битов сжатых сэмплов в данных о волновой форме, подлежащих сохранению. Поскольку начальные положения кадров расположены с регулярными интервалами адресов памяти, то поэтому даже в случае, когда количества битов сжатых сэмплов в данных о волновой форме различаются, управление адресами становится легким и тем самым становится возможной распаковка данных при использовании простой конфигурации.[03] In accordance with this technology, even in the case where the number of bits of the compressed samples in the waveform data is different, the size of the data areas does not change. Therefore, the number of compressed samples in the waveform data that can be stored in one frame varies depending on the number of bits of compressed samples in the waveform data to be stored. Since the initial positions of the frames are located at regular intervals of memory addresses, therefore, even in the case where the number of bits of compressed samples in the waveform data is different, address management becomes easy and thus it becomes possible to decompress the data using a simple configuration.
СУЩНОСТЬ ИЗОБРЕТЕНИЯSUMMARY OF THE INVENTION
[04] Однако технологии, раскрытой в документе JP-B-3826870, присущи следующие проблемы.[04] However, the technology disclosed in JP-B-3826870 has the following problems.
[05] (а) Если размер кадра является фиксированным, то хотя управление адресами становится легким (становится возможным распаковка сжатых сэмплов при использовании простой конфигурации, но в случае, когда количество битов на каждый сэмпл соседних кадров не изменяется, информация заголовка (вспомогательная информация) повторяется, а области памяти для информации заголовка используются непроизводительно.[05] (a) If the frame size is fixed, then although address management becomes easy (it becomes possible to decompress compressed samples using a simple configuration, but in the case where the number of bits per sample of adjacent frames does not change, header information (supporting information) is repeated, and memory areas for header information are used inefficiently.
[06] (b) Чтобы восстановить данные, необходимо заранее иметь доступ к информации заголовка и извлекать ее отдельно от операции последовательного считывания данных. Однако при частом обращении к информации заголовка, когда используется память, которая является доминирующей, при последовательном обращении уменьшается количество данных, которые могут быть переданы.[06] (b) In order to recover the data, it is necessary to have access to the header information in advance and to extract it separately from the sequential data reading operation. However, with frequent access to header information, when memory that is dominant is used, sequential access reduces the amount of data that can be transmitted.
[07] (с) Если задается небольшой размер кадра, то в случае, когда волновая форма изменяется быстро, можно эффективно преобразовывать данные в ответ на изменение волновой формы; тогда как в случае, когда волновая форма изменяется крайне редко, количество бесполезной избыточной информации заголовка возрастает.[07] (c) If a small frame size is specified, then in the case where the waveform changes rapidly, it is possible to efficiently convert the data in response to a change in the waveform; whereas in the case when the waveform changes extremely rarely, the amount of useless redundant header information increases.
[08] (d) Если большой размер кадра задается на основании максимального значения чисел битов различных потоков данных, имеющих различные длины, то в случае, когда волновая форма изменяется быстро, возрастает количество кодовых бит партии сэмплов волновой формы, имеющих различные длины в битах.[08] (d) If a large frame size is set based on the maximum value of the number of bits of different data streams having different lengths, then when the waveform changes rapidly, the number of code bits of a batch of waveform samples having different bit lengths increases.
[09] Проблемы от (а) до (d), описанные выше, можно кратко выразить следующим образом: существует проблема, заключающаяся в том, что невозможно задавать различные размеры кадров в зависимости от музыкальных звуков (видов волновых форм).[09] The problems (a) to (d) described above can be summarized as follows: there is a problem that it is impossible to set different frame sizes depending on musical sounds (types of waveforms).
[10] Настоящее изобретение было сделано с учетом описанных выше обстоятельств, и задача настоящего изобретения заключается в обеспечении структуры данных о волновой форме, устройства для хранения данных о волновой форме, способа извлечения данных о волновой форме и электронного музыкального инструмента, в котором можно задавать различные размеры кадров в зависимости от музыкальных звуков (видов волновых форм).[10] The present invention has been made in view of the above circumstances, and an object of the present invention is to provide a waveform data structure, a waveform data storage device, a waveform data extraction method, and an electronic musical instrument in which various frame sizes depending on musical sounds (types of waveforms).
[11] Структура данных о волновой форме включает в себя множество типов кадров, имеющих различные размеры данных. Каждый из множества типов кадров включает в себя область вспомогательной информации и область данных. Область вспомогательной информации включает в себя область для сохранения данных об общей эффективной длине в битах отрезка сэмплов волновой формы и область для сохранения идентификатора для идентификации одного из множества типов кадров. Область данных представляет собой область для сохранения извлекаемых сэмплов волновой формы, которые извлекаются из сэмплов волновой формы на основании общей эффективной длины в битах. Количество извлекаемых сэмплов волновой формы определяется на основании общей эффективной длины в битах.[11] The waveform data structure includes many types of frames having different data sizes. Each of a plurality of frame types includes an auxiliary information area and a data area. The auxiliary information area includes an area for storing data on the total effective bit length of a segment of waveform samples and an area for storing an identifier for identifying one of a plurality of frame types. The data area is an area for storing retrieved waveform samples that are retrieved from waveform samples based on the total effective bit length. The number of waveform samples to be extracted is determined based on the total effective bit length.
[12] Устройство для хранения данных о волновой форме включает в себя блок определения, блок хранения вспомогательной информации и блок хранения сэмплов волновой формы. Блок определения определяет один из по меньшей мере первого и второго кадров на основании изменения эффективных длин в битах индивидуальных сэмплов волновой формы, подлежащих сохранению. Заданное количество сэмплов волновой формы, подлежащих сохранению в первом кадре, отличается от заданного количества сэмплов волновой формы, подлежащих сохранению во втором кадре. В блоке хранения вспомогательной информации сохраняются данные атрибутов кадра, включающие в себя общую эффективную длину в битах сэмплов волновой формы и тип кадра для идентификации одного из первого и второго кадров в области вспомогательной информации первого или второго кадра, определяемого блоком определения. В блоке хранения сэмплов волновой формы сохраняются сэмплы волновой формы в области данных первого или второго кадра, определяемого блоком определения, на основании заданного количества сэмплов волновой формы в соответствии с общей эффективной длиной в битах из данных атрибутов кадра, сохраняемых в области вспомогательной информации.[12] A device for storing waveform data includes a determination unit, an auxiliary information storage unit, and a waveform sample storage unit. The determination unit determines one of at least the first and second frames based on the change in effective bit lengths of the individual waveform samples to be stored. The predetermined number of waveform samples to be stored in the first frame differs from the predetermined number of waveform samples to be stored in the second frame. In the auxiliary information storage unit, the frame attribute data is stored, including the total effective bit length of the waveform samples and the type of frame for identifying one of the first and second frames in the auxiliary information area of the first or second frame determined by the determination unit. In the waveform sample storage unit, waveform samples are stored in the data area of the first or second frame determined by the determining unit based on a predetermined number of waveform samples in accordance with the total effective bit length of the frame attribute data stored in the auxiliary information area.
[13] В способе сохранения данных о волновой форме, устройства для хранения данных о волновой форме, устройство для хранения данных о волновой форме выполнено с возможностью определения одного из по меньшей мере первого и второго кадров на основании изменения эффективных длин в битах индивидуальных сэмплов волновой формы, подлежащих сохранению, при этом количество сэмплов волновой формы, подлежащих сохранению в первом кадре, отличается от количества сэмплов волновой формы, подлежащих сохранению во втором кадре; сохранения данных атрибутов кадра, включающих в себя общую эффективную длину в битах сэмплов волновой формы и тип кадра для идентификации одного из первого и второго кадров, в области вспомогательной информации определенного первого или второго кадра; и сохранения как многочисленных сэмплов волновой формы, так и некоторого количества сэмплов в соответствии с общей эффективной длиной в битах данных атрибутов кадра, сохраняемых в области вспомогательной информации, в области данных определенного первого или второго кадра.[13] In the method for storing waveform data, a device for storing waveform data, a device for storing waveform data is configured to determine one of at least the first and second frames based on a change in effective bit lengths of individual waveform samples to be saved, while the number of waveform samples to be saved in the first frame is different from the number of waveform samples to be saved in the second frame; storing the data of the attributes of the frame, including the total effective bit length of the samples of the waveform and the type of frame for identifying one of the first and second frames, in the auxiliary information area of the specific first or second frame; and storing both multiple waveform samples and a number of samples in accordance with the total effective bit length of the frame attributes data stored in the auxiliary information area in the data area of the determined first or second frame.
[14] Устройство для извлечения данных о волновой форме обладает доступом к запоминающему устройству, имеющему структуру данных о волновой форме. Устройство для извлечения данных о волновой форме включает в себя блок образования адресных данных, блок извлечения и блок назначения кадра. Блок образования адресных данных образует адресные данные на основании общей эффективной длины в битах, считываемой из области вспомогательной информации назначенного кадра, сохраняемого в запоминающем устройстве. Блок извлечения извлекает сэмплы волновой формы из области данных назначенного кадра в соответствии с адресными данными, образованными блоком образования адресных данных. Блок назначения кадра назначает следующий кадр, подлежащий извлечению после извлечения сэмплов волновой формы блоком извлечения.[14] A device for extracting waveform data has access to a storage device having a waveform data structure. A device for extracting waveform data includes an address data generation unit, an extraction unit, and a frame assignment unit. The address data generation unit generates address data based on the total effective bit length read from the auxiliary information area of the assigned frame stored in the storage device. The extraction unit extracts waveform samples from the data region of the assigned frame in accordance with the address data generated by the address data generation unit. The frame assigning unit assigns the next frame to be extracted after the waveform samples are extracted by the extraction unit.
[15] В способе извлечения данных о волновой форме, связанном с устройством для извлечения данных о волновой форме, устройство для извлечения данных о волновой форме выполнено с возможностью доступа к запоминающему устройству, имеющему структуру данных о волновой форме. Способ извлечения данных о волновой форме включает в себя образование адресных данных на основании данных о длине в битах, считываемых из области вспомогательной информации назначенного кадра, сохраняемого в запоминающем устройстве; извлечение сэмплов волновой формы из области данных назначенного кадра в соответствии с образованными адресными данными; и назначение следующего кадра, подлежащего извлечению после извлечения сэмплов волновой формы.[15] In the method for extracting waveform data associated with a device for extracting waveform data, the device for extracting waveform data is configured to access a storage device having a waveform data structure. A method for extracting waveform data includes generating address data based on bit length data read from an auxiliary information area of an assigned frame stored in a storage device; extracting waveform samples from the data area of the assigned frame in accordance with the generated address data; and assigning the next frame to be extracted after extracting the waveform samples.
[16] Электронный музыкальный инструмент включает в себя запоминающее устройство, устройство для извлечения данных о волновой форме, блок ввода исполнительных характеристик музыкального инструмента, блок обработки и звукообразующий блок. Запоминающее устройство имеет структуру данных о волновой форме. Блок ввода исполнительских характеристик музыкального инструмента образует информацию об исполнительских характеристиках музыкального инструмента в соответствии с операциями воспроизведения. Блок обработки выполняет процесс инструктирования образованием музыки в соответствии с операциями воспроизведения и процесс управления устройством для извлечения данных о волновой форме, чтобы устройство для извлечения данных о волновой форме извлекало необходимые сэмплы волновой формы из запоминающего устройства в ответ на процесс инструктирования. Звукообразующий блок образует музыкальный звук на основании данных о волновой форме, получаемых при декомпрессии сэмплов волновой формы, отбираемых из устройства для извлечения данных о волновой форме.[16] An electronic musical instrument includes a storage device, a device for extracting waveform data, an input unit for performing musical instrument performance, a processing unit, and a sound generating unit. The storage device has a waveform data structure. The input unit of the performance characteristics of a musical instrument generates information about the performance characteristics of a musical instrument in accordance with playback operations. The processing unit performs a music education instructing process in accordance with reproduction operations and a device control process for extracting waveform data so that the device for extracting waveform data retrieves necessary waveform samples from the storage device in response to the instruction process. The sound generating unit generates a musical sound based on waveform data obtained by decompressing waveform samples taken from the waveform data extracting device.
[17] В соответствии с настоящим изобретением можно реализовать структуру данных о волновой форме, устройство для хранения данных о волновой форме, устройство для извлечения данных о волновой форме, способ извлечения данных о волновой форме и электронный музыкальный инструмент, в котором можно задавать различные размеры кадров в зависимости от музыкальных звуков (видов волновых форм).[17] According to the present invention, it is possible to implement a waveform data structure, a waveform data storage device, a waveform data extraction device, a waveform data extraction method and an electronic musical instrument in which various frame sizes can be set depending on musical sounds (types of waveforms).
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙBRIEF DESCRIPTION OF THE DRAWINGS
[18] На чертежах:[18] In the drawings:
фиг. 1 - структурная схема, иллюстрирующая конфигурацию устройства 100 для хранения данных о волновой форме согласно варианту осуществления настоящего изобретения;FIG. 1 is a block diagram illustrating a configuration of a waveform
фиг. 2А - карта памяти, иллюстрирующая конфигурацию рабочей памяти, которая включена в блок 13 определения;FIG. 2A is a memory card illustrating a configuration of a working memory that is included in the
фиг. 2В - вид, иллюстрирующий примеры сэмплов волновой формы, которые сохраняются в строке ʺwav[]ʺ;FIG. 2B is a view illustrating examples of waveform samples that are stored in the string ʺwav [] ʺ;
фиг. 3 - вид, иллюстрирующий содержание таблицы 512sampleno[];FIG. 3 is a view illustrating the contents of the table 512sampleno [];
фиг. 4 - вид, иллюстрирующий содержание таблицы 256sampleno[];FIG. 4 is a view illustrating the contents of table 256sampleno [];
фиг. 5 - блок-схема последовательности операций, иллюстрирующая функцию блока 13 определения, который образован аппаратным обеспечением, выполняющим операции программного обеспечения;FIG. 5 is a flowchart illustrating a function of a
фиг. 6А - вид, иллюстрирующий пример конфигурации 512-байтного кадра;FIG. 6A is a view illustrating a configuration example of a 512 byte frame;
фиг. 6В - вид, иллюстрирующий пример конфигурации 256-байтного кадра;FIG. 6B is a view illustrating an example configuration of a 256 byte frame;
фиг. 7 - вид, иллюстрирующий пример, в котором исходные данные W о волновой форме звука фортепиано сжаты и сохранены в кадрах;FIG. 7 is a view illustrating an example in which the source data W of the waveform of a piano sound is compressed and stored in frames;
фиг. 8 - структурная схема, иллюстрирующая конфигурацию устройства 150 для извлечения данных о волновой форме; иFIG. 8 is a block diagram illustrating a configuration of an
фиг. 9 - структурная схема, иллюстрирующая конфигурацию электронного музыкального инструмента 200, который включает в себя устройство 150 для извлечения данных о волновой форме.FIG. 9 is a block diagram illustrating a configuration of an electronic
ПОДРОБНОЕ ОПИСАНИЕDETAILED DESCRIPTION
[19] Ниже варианты осуществления настоящего изобретения будут описаны с обращением к сопровождающим чертежам. На фиг. 1 представлена структурная схема, иллюстрирующая общую конфигурацию устройства 100 для хранения данных о волновой форме согласно варианту осуществления настоящего изобретения. В представленном варианте осуществления будет описан пример использования сжатия данных типа АДИКМ (ADPCM). АДИКМ представляет собой сокращенное наименование адаптивной дифференциальной импульсно-кодовой модуляции. Однако настоящее изобретение не ограничено ею и можно использовать сжатие любого другого вида, такое как кодирование с линейным прогнозированием (КЛП).[19] Below, embodiments of the present invention will be described with reference to the accompanying drawings. In FIG. 1 is a block diagram illustrating a general configuration of a waveform
[20] На фиг. 1 блок 1 сжатия данных о волновой форме состоит из вычитающего средства 10, сумматора 11 и блока 12 прогнозирования адаптивной дифференциальной импульсно-кодовой модуляции. В вычитающем средстве 10 элемент P(n) данных прогнозирования вычитается из элемента W(n) исходных данных о волновой форме, в результате чего получается разность в виде элемента E(n) данных об ошибках прогнозирования. В сумматоре 11 элемент P(n) данных прогнозирования добавляется к элементу E(n) данных об ошибках прогнозирования и сумма подается на блок 12 прогнозирования адаптивной дифференциальной импульсно-кодовой модуляции. В блоке 12 прогнозирования адаптивной дифференциальной импульсно-кодовой модуляции при использовании адаптивной прогнозирующей модели образуются элемент P(n) данных прогнозирования и коэффициент прогнозирования для элемента W(n+1) исходных данных о волновой форме следующего сэмпла.[20] In FIG. 1, the waveform
[21] Блок 13 определения состоит из блока 13а определения длины квантования в битах и блока 13b определения размера. Блок 13а определения длины квантования в битах определяет эффективную длину в битах каждого квантованного сэмла на основании элемента E(n) данных об ошибках прогнозирования текущего сэмпла и элементов Е данных об ошибках прогнозирования предварительно определенного количества предшествующих сэмплов. Блок 13b определения размера на основании общей эффективной длины в битах, вычисленной на основании эффективных длин в битах, определяемых блоком 13а определения длины квантования в битах, определяет, каким задать размер одного кадра, 256 байтов (4 байта для области вспомогательной информации, предназначенной для сохранения информации заголовка, и 252 байта для области данных), или 512 байтов (4 байта для области вспомогательной информации, предназначенной для сохранения информации заголовка, и 508 байтов для области данных). Подробности такого определения будут описаны ниже.[21] The
[22] Теперь с обращением к фиг. с 2 по 5 в общих чертах будут описаны конфигурация и работа блока 13 определения. Блок 13 определения реализуется аппаратным обеспечением, включающим в себя арифметические логические схемы и рабочую память (непоказанную). Чтобы упростить пояснение, ниже описание будет излагаться в сочетании с блок-схемой последовательности операций, иллюстрирующей функцию блока 13 определения, которая реализуется аппаратным обеспечением в виде операций по обработке программного обеспечения. В ином случае центральный процессор может выполнять эти действия в соответствии с программным обеспечением.[22] Now referring to FIG. 2 through 5, the configuration and operation of the
[23] Прежде всего, на фиг. 2А представлена карта памяти, иллюстрирующая конфигурацию рабочей памяти, включенной в блок 13 определения. На фиг. 2А таблица 512sampleno[] представляет собой таблицу данных, предназначенную для считывания количества сэмплов, которые могут сохраняться в случае, когда размер одного кадра, основанного на общей эффективной длине в битах, составляет 512 байтов, и содержимое ее показано на фиг. 3.[23] First of all, in FIG. 2A is a memory card illustrating a configuration of a working memory included in the
[24] Если общая эффективная длина в битах считывается как адрес (параметр), количество сэмплов, которые могут сохраняться в 512-байтовом кадре, соответствующем общей эффективной длине считывания в битах, считывается из таблицы 512sampleno[], показанной на фиг. 3. Например, в случае, когда общая эффективная длина в битах составляет 20 битов, из таблицы 512sampleno[] считывается число 203, (определяемое) как количество сэмплов, которые могут сохраняться в 512-байтовом кадре.[24] If the total effective bit length is read as an address (parameter), the number of samples that can be stored in a 512-byte frame corresponding to the total effective read length in bits is read from the table 512sampleno [] shown in FIG. 3. For example, in the case where the total effective bit length is 20 bits, the
[25] Кроме того, количество сэмплов, которые могут сохраняться в 512-байтовом кадре, можно вычислить в соответствии с нижеследующим выражением 1.[25] In addition, the number of samples that can be stored in a 512-byte frame can be calculated in accordance with the following
[Количество сэмплов]=INT (4064 (бита)/Общая эффективная длина в битах).
INT в выражении 1 представляет собой функцию минимального уровня, которая округляет число в меньшую сторону до ближайшего целого числа, а число 4064 (бита) получается следующим образом: 8 (битов)×[(Размер кадра (512 байтов)-(Размер заголовка (4 байта для области вспомогательной информации))]. Кроме того, в таблице 512sampleno[], показанной на фиг. 3, элемент «Время блока» представляет собой длительность отрезка волновой формы, соответствующую количеству сэмплов, в миллисекундах, а элемент «Скорость передачи в битах» представляет собой значение, получаемое умножением общей эффективной длины в битах на частоту (44,1 кГц) сэмплирования, в Мб/с.INT in
[26] Аналогично таблице 512sampleno[], описанной выше, таблица 256sampleno[] представляет собой таблицу данных, предназначенную для считывания количества сэмплов, которые могут сохраняться в 256-байтовом кадре, основанном на общей эффективной длине в битах, если соответствующая общая эффективная длина в битах считывается как адрес (параметр), и содержимое ее показано на фиг. 4. Например, в случае, когда общая эффективная длина в битах составляет 20 битов, из таблицы 256sample no[], показанной на фиг. 4, считывается число 100, (определяемое) как количество сэмплов, которые могут сохраняться в 256-байтовом кадре.[26] Similar to the 512sampleno [] table described above, the 256sampleno [] table is a data table for reading the number of samples that can be stored in a 256 byte frame based on the total effective length in bits, if the corresponding total effective length is in bits are read as an address (parameter), and its contents are shown in FIG. 4. For example, in the case where the total effective bit length is 20 bits, from the 256sample no [] table shown in FIG. 4, the
[27] Кроме того, количество сэмплов, которые могут сохраняться в 256-байтовом кадре, можно вычислить в соответствии с нижеследующим выражением 2.[27] In addition, the number of samples that can be stored in a 256-byte frame can be calculated in accordance with the following
[Количество сэмплов]=INT (2016 (битов)/Общая эффективная длина в битах).
INT в выражении 2 представляет собой функцию минимального уровня, которая округляет число в меньшую сторону до ближайшего целого числа, а число 2016 получается следующим образом: 8 (битов)×[(Размер кадра (256 байтов)-(Размер заголовка (4 байта для области вспомогательной информации))]. Кроме того, в таблице 256sampleno[], показанной на фиг. 4, элемент «Время блока» представляет собой длительность отрезка волновой формы, соответствующую количеству сэмплов, в миллисекундах, а элемент «Скорость передачи в битах» представляет собой значение, получаемое умножением общей эффективной длины в битах на частоту (44,1 кГц) сэмплирования, в Мб/с.INT in
[28] Массив ʺwav[]ʺ представляет собой регистр для временного хранения 2032 сэмплов волновой формы (элементов Е данных об ошибках прогнозирования), при этом число 2032 представляет собой максимальное количество сэмплов, которые могут сохраняться в 512-байтовом кадре в случае, когда предполагается, что общая эффективная длина в битах сэмплов волновой формы (элементов Е данных об ошибках прогнозирования) составляет 2 бита. В дальнейшем элементы Е данных об ошибках прогнозирования будут называться сэмплами волновой формы. В массиве ʺwav[]ʺ 2032 сэмпла волновой формы сохраняются, например, в виде показанном на фиг. 2В. Каждый сэмпл состоит из кодовых битов S и битов М реальных данных, а длиной в битах битов М реальных данных именуется эффективная длина в битах соответствующего сэмпла. Массив ʺwavelength[]ʺ представляет собой регистр для временного хранения эффективных длин в битах 2032 сэмплов волновой формы, сохраняемых в описанном выше массиве ʺwav[]ʺ.[28] The ʺwav [] ассив array is a register for temporary storage of 2032 waveform samples (prediction error data elements E), the
[29] Регистр ʺpʺ представляет собой указатель адреса, имеющий отношение к считыванию сэмплов волновой формы из массива ʺwav[]ʺ или записи в него. В дальнейшем содержимое регистра ʺpʺ будет именоваться указателем ʺpʺ адреса. Регистр ʺiʺ представляет собой указатель данных, предназначенный для обозначения эффективных длин в битах каждого сэмпла волновой формы, сохраняемого в массиве ʺwavelength[]ʺ. В дальнейшем содержимое регистра ʺiʺ будет именоваться указателем ʺiʺ. Регистр ʺbitlenghtʺ представляет собой регистр для сохранения переменной, которая последовательно возрастает от начального значения 2. В дальнейшем содержимое регистра ʺbitlenghtʺ будет именоваться переменной ʺbitlenghtʺ длины в битах. На отрезке, на котором имеются сэмплы волновой формы, максимальная эффективная длина в битах (bitlenght) именуется общей эффективной длиной в битах (Bitlenght256 или Bitlenght512) сэмплов волновой формы. В регистре ʺbitlenght256ʺ сохраняется общая эффективная длина в битах сэмплов волновой формы, подлежащих сохранению в 256-байтовом кадре. В регистре ʺbitlenght512ʺ сохраняется общая эффективная длина в битах сэмплов волновой формы, подлежащих сохранению в 512-байтовом кадре.[29] The ʺpʺ register is an address pointer related to reading waveform samples from the ʺwav [] массива array or writing to it. In the future, the contents of the ʺpʺ register will be referred to as the ʺpʺ address pointer. The ʺiʺ register is a data pointer designed to indicate the effective bit lengths of each waveform sample stored in the ʺwavelength [] ʺ array. In the future, the contents of the register ʺiʺ will be referred to as the pointer ʺiʺ. The ʺbitlenghtʺ register is a register for storing a variable that sequentially increases from the
[30] Теперь работа блока 13 определения будет описана с обращением к фиг. 5. На фиг. 5 представлена блок-схема последовательности операций, иллюстрирующая функцию блока 13 определения, которая реализуется аппаратным обеспечением в виде действий по обработке программного обеспечения. Для каждого кадра блок 13 определения выполняет операции, показанные на блок-схеме последовательности операций из фиг. 5.[30] Now, the operation of the
[31] Прежде всего, на этапе S10 блок 13 определения в соответствии с указателем ʺpʺ адреса сохраняет 2032 сэмпла волновой формы в массиве ʺwav[]ʺ, при этом число 2032 представляет собой максимальное количество сэмплов, которые могут быть сохранены в одном 512-байтовом кадре. Затем, на этапе S11 блок 13 определения загружает эффективные длины в битах 2032 сэмплов волновых форм, сохраняемых в массиве ʺwav[]ʺ, в массив ʺwavelength[]ʺ. В данном случае каждый сэмпл волновой формы (каждый элемент Е данных об ошибках прогнозирования) состоит из кодовых битов S и битов М реальных данных, показанных на фиг. 2В, а их эффективная длина в битах означает длину в битах битов М реальных данных.[31] First of all, in step S10, the
[32] После этого, на этапе S12 блок 13 определения сбрасывает указатель ʺiʺ до нуля и задает переменной ʺbitlenghtʺ длины в битах начальное значение 2. Затем, на этапе S13 блок 13 определения определяет, совпадает ли переменная ʺbitlenghtʺ длины в битах с эффективной длиной в битах i-того сэмпла волновой формы из массива ʺwavelength[]ʺ, обозначаемой указателем ʺiʺ.[32] After this, in step S12, the
[33] Если они не совпадают друг с другом, результатом определения на этапе S13 становится «Нет», и блок 13 определения переходит к этапу S14, на котором он увеличивает переменную ʺbitlenghtʺ длины в битах и после этого переходит опять к этапу S13. Затем блок определения повторяет этапы S13 и S14 и в то же время увеличивает переменную ʺbitlenghtʺ длины в битах до тех пор, пока переменная ʺbitlenghtʺ длины в битах не совпадет с эффективной длиной в битах i-того сэмпла волновой формы (i-того элемента Е данных об ошибках прогнозирования) из массива ʺwavelength[]ʺ, обозначаемой указателем ʺiʺ.[33] If they do not match, the result of the determination in step S13 becomes “No”, and the
[34] Между тем, если увеличенная переменная ʺbitlenghtʺ длины в битах совпадает с эффективной длиной в битах i-того сэмпла волновой формы из массива ʺwavelength[]ʺ, обозначаемой указателем ʺiʺ, увеличенная переменная ʺbitlenghtʺ длины в битах обнаруживается как эффективная длина в битах сэмпла волновой формы, обозначаемая указателем ʺiʺ, результатом определения на этапе S13 становится «Да», и блок определения переходит к этапу S15.[34] Meanwhile, if the increased variable ʺbitlenghtʺ of the bit length matches the effective bit length of the ith waveform sample from the array массиваwavelength [] ʺ denoted by the pointer ʺiʺ, the increased variable ʺbitlenghtʺ of the bit length is detected as the effective length in bits of the wave sample the form indicated by the pointer ʺiʺ, the determination result in step S13 becomes “Yes”, and the determination unit proceeds to step S15.
[35] На этапе S15 блок 13 определения определяет, совпадает ли значение указателя ʺiʺ со значением, получаемым вычитанием 1 из количества сэмплов, которые могут сохраняться в одном 256-байтном кадре, считываться из таблицы 256sampleno[bitlenght] на основании эффективной длины в битах, обнаруженной на этапе S13, то есть, закончена ли обработка сэмплов волновой формы, соответствующих одному 256-байтному кадру.[35] In step S15, the
[36] Если обработка сэмплов волновой формы, соответствующих 256-байтному кадру, не закончена, результатом определения на этапе S15 становится «Нет», и блок определения переходит к этапу S17. На этапе S17 блок определения определяет, совпадает ли значение указателя ʺiʺ со значением, получаемым вычитанием 1 из количества сэмплов, которые могут сохраняться в одном 512-байтовом кадре, считываться из таблицы 512sampleno[bitlenght] на основании эффективной длины в битах, обнаруженной на этапе S13, то есть, закончена ли обработка сэмплов волновой формы, соответствующих одному 512-байтному кадру.[36] If the processing of the waveform samples corresponding to the 256-byte frame is not finished, the determination result in step S15 becomes “No”, and the determination unit proceeds to step S17. In step S17, the determination unit determines whether the value of the pointer ʺiʺ matches the value obtained by subtracting 1 from the number of samples that can be stored in one 512-byte frame, read from the table 512sampleno [bitlenght] based on the effective bit length found in step S13 that is, whether the processing of waveform samples corresponding to one 512-byte frame is completed.
[37] Если обработка сэмплов волновой формы, соответствующих одному 512-байтному кадру, не закончена, результатом определения на этапе S17 становится «Нет», и блок определения переходит к этапу S19, на котором он увеличивает указатель ʺiʺ и затем возвращается к обработке на этапе S13. В дальнейшем, на этапах S13 и S14 блок определения обнаруживает эффективную длину в битах следующего сэмпла волновой формы (следующего элемента Е данных об ошибках прогнозирования), обозначенную увеличенным указателем ʺiʺ.[37] If the processing of the waveform samples corresponding to one 512-byte frame is not completed, the determination result in step S17 becomes “No”, and the determination unit proceeds to step S19, in which it increments the pointer ʺiʺ and then returns to the processing in step S13. Subsequently, in steps S13 and S14, the determination unit detects the effective bit length of the next waveform sample (next prediction error data element E) indicated by the enlarged pointer ʺiʺ.
[38] Затем, если при последовательном обнаружении эффективных длин в битах сэмплов волновой формы, которые обновляются по мере увеличения указателя ʺiʺ, значение указателя ʺiʺ совпадет со значением, получаемым вычитанием 1 из количества сэмплов, которые могут сохраняться в одном 256-байтном кадре, считываться из таблицы 256sampleno[bitlenght] на основании обнаруженной эффективной длины в битах, обработка сэмплов волновой формы, соответствующих одному 256-байтному кадру, заканчивается, результатом определения на этапе S15 становится «Да», и блок определения переходит к этапу S16.[38] Then, if upon sequential detection of effective bit lengths of waveform samples that update as the ʺiʺ pointer increases, the value of the ʺi со pointer matches the value obtained by subtracting 1 from the number of samples that can be stored in one 256-byte frame, from the 256sampleno [bitlenght] table based on the detected effective bit length, the processing of waveform samples corresponding to one 256-byte frame ends, the determination result in step S15 becomes “Yes”, and the block determines Ia proceeds to step S16.
[39] На этапе S16 блок определения сохраняет эффективную длину в битах, обнаруживаемую в момент окончания обработки сэмплов волновой формы, соответствующих одному 256-байтному кадру, то есть значение переменной ʺbitlenghtʺ длины в битах, в качестве общей эффективной длины сэмплов волновых форм в регистре ʺbitlenght256ʺ и сбрасывает значение переменной ʺbitlenghtʺ длины в битах до начального значения 2. Например, в примере, показанном на фиг. 2В, общая эффективная длина сэмплов волновой формы от ʺaʺ до ʺfʺ составляет 10 (битов), и это является максимальным значением эффективных длин в битах (длин битов М реальных данных).[39] In step S16, the determination unit stores the effective bit length detected at the time of processing the waveform samples corresponding to one 256-byte frame, that is, the value of the ʺbitlenghtʺ bit length variable as the total effective length of the waveform samples in the ʺbitlenght256ʺ register and resets the bit length variable ʺbitlenghtʺ to the initial value of 2. For example, in the example shown in FIG. 2B, the total effective length of the waveform samples from ʺaʺ to ʺfʺ is 10 (bits), and this is the maximum value of the effective bit lengths (bit lengths M of real data).
[40] Если обработка сэмплов волновой формы, соответствующих одному 256-байтному кадру и соответствующих первой половине кадра, заканчивается, как описано выше, блок 13 определения переходит к обработке второй половины кадра. Иначе говоря, аналогично случаю первой половины кадра, блок определения последовательно обнаруживает эффективные длины в битах сэмплов волновой формы, которые обновляет по мере увеличения значения указателя ʺiʺ (этапы S13, S14 и S19).[40] If the processing of waveform samples corresponding to one 256-byte frame and corresponding to the first half of the frame ends as described above, the determining
[41] Если при обнаружении эффективных длин в битах значение указателя ʺiʺ совпадет со значением, получаемым вычитанием 1 из количества сэмплов, которые могут сохраняться в одном 512-байтном кадре, считываться из таблицы 512sampleno[bitlenght] на основании обнаруженной эффективной длины в битах (значения переменной ʺbitlenghtʺ длины в битах), обработка сэмплов волновой формы, соответствующих одному 256-байтному кадру заканчивается, результатом определения на этапе S17 становится «Да», и блок определения переходит к этапу S18.[41] If, when effective bit lengths are detected, the value of the ʺiʺ pointer matches the value obtained by subtracting 1 from the number of samples that can be stored in one 512-byte frame, read from the table 512sampleno [bitlenght] based on the detected effective bit length (values ʺbitlenghtʺ of the bit length), the processing of waveform samples corresponding to one 256-byte frame ends, the determination result in step S17 becomes “Yes”, and the determination unit proceeds to step S18.
[42] На этапе S18 блок 13 определения сохраняет эффективную длину в битах, обнаруживаемую в момент окончания обработки сэмплов волновой формы, соответствующих одному 512-байтному кадру, то есть значение переменной ʺbitlenghtʺ длины в битах, в качестве общей эффективной длины в битах сэмплов волновой формы в регистре ʺbitlenght512ʺ. Затем на этапе S20 блок 13 определения определяет, совпадает ли общая эффективная длина в битах, сохраняемая в регистре ʺbitlenght256ʺ, с общей эффективной длиной в битах, сохраняемой в регистре ʺbitlenght512ʺ.[42] In step S18, the determining
[43] В случае, когда общая эффективная длина в битах, сохраняемая в регистре ʺbitlenght256ʺ, совпадает с общей эффективной длиной в битах, сохраняемой в регистре ʺbitlenght512ʺ, результатом определения на этапе S20 становится «Да», и блок определения переходит к этапу S21. Затем, на этапах S21 и S22 блок 13 определения выводит идентификатор, представляющий 512-байтовый кадр, в качестве размера кадра сэмплов волновой формы и выводит общую эффективную длину в битах, сохраняемую в регистре ʺbitlenght512ʺ.[43] In the case where the total effective bit length stored in the ʺbitlenght256ʺ register matches the total effective bit length stored in the ʺbitlenght512ʺ register, the determination result in step S20 becomes “Yes” and the determination unit proceeds to step S21. Then, in steps S21 and S22, the
[44] Затем, на этапе S23 блок 13 определения возвращается к указателю ʺpʺ адреса в соответствии со значением, получаемым вычитанием количества сэмплов, которые могут сохраняться в одном 512-байтовом кадре, считываться из таблицы 512sampleno[bitlenght] на основании обнаруженной эффективной длины в битах, из 2030, количества считываемых сэмплов, и заканчивает обработку, соответствующую одному кадру.[44] Then, in step S23, the
[45] Между тем, в случае, когда общая эффективная длина в битах, сохраняемая в регистре ʺbitlenght256ʺ, не совпадает с общей эффективной длиной в битах, сохраняемой в регистре ʺbitlenght512ʺ, результатом определения на этапе S20 становится «Нет», и блок определения переходит к этапу S24. Затем, на этапах S24 и S25 блок 13 определения выводит идентификатор, представляющий 256-байтовый кадр, в качестве размера кадра сэмплов волновой формы и выводит общую эффективную длину в битах, сохраняемую в регистре ʺbitlenght256ʺ.[45] Meanwhile, in the case where the total effective bit length stored in the ʺbitlenght256ʺ register does not match the total effective bit length stored in the ʺbitlenght512ʺ register, the determination result in step S20 becomes “No” and the determination unit proceeds to step S24. Then, in steps S24 and S25, the
[46] Позже, на этапе S26 блок 13 определения возвращается к указателю ʺpʺ адреса в соответствии со значением, получаемым вычитанием количества сэмплов, которые могут сохраняться в одном 256-байтном кадре, считываться из таблицы 256sampleno[bitlenght] на основании обнаруженной эффективной длины в битах, из 2030, количества считываемых сэмплов, и заканчивает обработку, соответствующую одному кадру.[46] Later, in step S26, the
[47] Как описывалось выше, в то время как блок 13 определения последовательно считывает эффективные длины в битах индивидуальных сэмплов волновой формы (элементов Е данных об ошибках прогнозирования), он обнаруживает максимальную эффективную длину в битах из считываемых эффективных длин в битах в качестве общей эффективной длины в битах соответствующих сэмплов волновой формы. Если количество считываемых сэмплов достигает значения, получаемого вычитанием 1 из количества сэмплов, которые могут сохраняться в одном 256-байтном кадре, основанном на общей эффективной длине в битах, блок определения формирует первую половину кадра. Что касается второй половины кадры, то, когда блок 13 определения последовательно считывает эффективные длины в битах индивидуальных сэмплов волновой формы (элементы Е данных об ошибках прогнозирования), он обнаруживает максимальную эффективную длину в битах из считываемых эффективных длин в битах в качестве общей эффективной длины в битах соответствующих сэмплов волновой формы. Если количество считываемых сэмплов достигает значения, получаемого вычитанием 1 из количества сэмплов, которые могут сохраняться в одном 512-байтном кадре, основанном на общей эффективной длине в битах, блок определения формирует вторую половину кадра.[47] As described above, while the determining
[48] Затем, в случае, когда общая эффективная длина в битах первой половины кадра совпадает с общей эффективной длиной в битах второй половины кадра, блок определения выводит идентификатор, представляющий 512-байтный кадр, в качестве типа кадра сэмплов волновой формы и выводит общую эффективную длину в битах второй половины кадра. Между тем, в случае, когда общая эффективная длина в битах первой половины кадра не совпадает с общей эффективной длиной в битах второй половины кадра, блок определения выводит идентификатор, представляющий 256-байтный кадр, в качестве типа кадра сэмплов волновой формы и выводит общую эффективную длину в битах первой половины кадра.[48] Then, in the case where the total effective bit length of the first half of the frame matches the total effective bit length of the second half of the frame, the determination unit outputs an identifier representing a 512-byte frame as the frame type of the waveform samples and outputs the total effective the length in bits of the second half of the frame. Meanwhile, in the case where the total effective bit length of the first half of the frame does not coincide with the total effective bit length of the second half of the frame, the determination unit outputs an identifier representing a 256-byte frame as the frame type of the waveform samples and outputs the total effective length in bits of the first half of the frame.
[49] Кроме того, в представленном варианте осуществления для упрощения пояснения формируются кадры двух размеров, то есть кадр размером 512 байтов и кадр размером 256 байтов. Однако настоящее изобретение не ограничено этим, и могут формироваться кадры трех или большего количества произвольных размеров, например, путем добавления кадра размером 128 битов. Кроме того, в представленном варианте осуществления в случае, когда предполагается, что общая эффективная длина в битах сэмплов волновой формы (элементов Е данных об ошибках прогнозирования) составляет 2 бита, максимальное количество сэмплов, которые могут сохраняться в одном 512-байтовом кадре, составляет 2032, и считываются 2032 сэмпла. Однако настоящее изобретение не ограничено этим, и количество сэмплов, которые считываются, может определяться на основании произвольного размера кадра.[49] Furthermore, in the presented embodiment, frames of two sizes are formed, that is, a frame of size 512 bytes and a frame of size 256 bytes in order to simplify the explanation. However, the present invention is not limited to this, and frames of three or more arbitrary sizes can be formed, for example, by adding a frame of 128 bits. In addition, in the present embodiment, when it is assumed that the total effective bit length of the waveform samples (prediction error data elements E) is 2 bits, the maximum number of samples that can be stored in one 512-byte frame is 2032 , and 2032 samples are read. However, the present invention is not limited thereto, and the number of samples that are read can be determined based on an arbitrary frame size.
[50] Теперь с повторным обращением к фиг. 1 будет описана конфигурация устройства 100 для хранения данных о волновой форме. На фиг. 1 блок 15 образования информации заголовка образует элемент информации заголовка для каждого кадра, основанный на элементе данных об идентификаторе способа сжатия («Способ сжатия»), образуемом в блоке 1 сжатия данных о волновой форме, а элементы данных «Тип кадра (идентификатор)» и «Общая эффективная длина в битах» выводятся из блока 13 определения.[50] Now referring again to FIG. 1, a configuration of a
[51] Например, в примере, показанном на фиг. 6А, элемент информации заголовка сохраняется в области вспомогательной информации, имеющей емкость данных 4 байта, и она состоит, например, из области для сохранения элемента данных «Способ сжатия», области для сохранения элемента данных «Общая эффективная длина в битах», предназначенного для формирования кадра, области для сохранения элемента данных «Тип кадра (идентификатор)», представляющего размер области данных одного кадра, и резервной области для возможности наращивания. Такой элемент информации заголовка подается из блока 15 образования информации заголовка в блок 16 хранения данных.[51] For example, in the example shown in FIG. 6A, the header information element is stored in the auxiliary information area having a data capacity of 4 bytes, and it consists, for example, of a region for storing a compression method data element, an area for storing a total effective bit length data element for generating a frame, an area for storing the "Frame Type (identifier)" data item representing the size of the data area of one frame, and a spare area for expandability. Such a header information element is supplied from the header
[52] Во время сжатия сэмплов волновой формы можно изменять коэффициент сжатия путем изменения параметра громкости звука. Например, что касается отрезка атаки первой половины сэмплов волновой формы, то сохраняются данные о громкости звука, в которых громкость звука такая же, как громкость исходного звука, а что касается второй половины сэмплов волновой формы, то сохраняются данные о громкости звука, в которых громкость звука ниже, чем громкость исходного звука. Таким образом, при небольшом коэффициенте сжатия можно сохранять с высоким качеством отрезок атаки из первой половины сэмплов волновой формы и при большом коэффициенте сжатия можно сохранять с низким качеством вторую половину сэмплов волновой формы. «Поправочный параметр громкости звука» представляет собой параметр, который используют для восстановления громкости звука из данных о волновой форме, сохраняемых в запоминающем устройстве, до громкости исходного звука, когда устройство 150 для извлечения данных о волновой форме извлекает сжатые данные о волновой форме. Устройство 100 для хранения данных о волновой форме может изменять данные о громкости звука на основании исходного звука сэмплов волновой формы и сохранять измененные данные о громкости звука в запоминающем устройстве, а устройство 150 для извлечения данных о волновой форме при использовании поправочного параметра громкости звука может извлекать сжатые данные о волновой форме из запоминающего устройства и возвращать громкость звука из данных о волновой форме к громкости исходного звука.[52] During compression of waveform samples, you can change the compression ratio by changing the sound volume parameter. For example, as for the segment of attack of the first half of the waveform samples, the sound volume data is stored in which the sound volume is the same as the volume of the original sound, and as for the second half of the waveform samples, sound volume data in which the volume is saved The sound is lower than the volume of the original sound. Thus, with a small compression ratio, you can save with high quality the segment of the attack from the first half of the waveform samples, and with a large compression ratio you can save the second half of the waveform samples with low quality. A “sound volume correction parameter" is a parameter that is used to restore the sound volume from waveform data stored in a memory to the volume of the original sound when the
[53] Кроме того, в представленном варианте осуществления область вспомогательной информации расположена в заголовочной части кадра. Однако настоящее изобретение не ограничено этим и область вспомогательной информации может быть расположена в любой другой части кадра, такой как подстрочная часть. Кроме того, в случае, когда области вспомогательной информации имеют фиксированный размер, как в представленном варианте осуществления, размеры кадров эквивалентны размерам областей данных кадров.[53] In addition, in the present embodiment, the auxiliary information area is located in the header of the frame. However, the present invention is not limited thereto, and the auxiliary information area may be located in any other part of the frame, such as the subscript. In addition, in the case where the auxiliary information areas are of a fixed size, as in the present embodiment, the frame sizes are equivalent to the sizes of the frame data areas.
[54] В блоке 16 хранения данных элемент информации заголовка сохраняется в области вспомогательной информации (см. фиг. 6) кадра, включающего в себя область данных, имеющую размер, обозначенный элементом данных «Тип кадра (идентификатор)», включенным в элемент информации заголовка, а сжатые сэмплы, получаемые извлечением сэмплов волновой формы (элементов Е данных об ошибках прогнозирования), основанные на элементе данных «Общая эффективная длина в битах», включенном в элемент информации заголовка, последовательно сохраняются в области данных, следующей за областью вспомогательных данных. Количество сжатых сэмплов, которые могут сохраняться в области данных, определяется на основании элементов данных «Тип кадра (идентификатор)» и «Общая эффективная длина в битах», и если количество сжатых сэмплов, сохраняемых в области данных, достигает количества сжатых сэмплов, которые могут быть сохранены, блок 13 определения повторяет действие по определению типа кадра (идентификатора) и общей эффективной длины в битах на основании последующих подаваемых сэмплов волновой формы, в результате чего начинается формирование нового кадра.[54] In the
[55] Теперь с обращением к фиг. 7 будет описан пример, в соответствии с которым исходные данные W о волновой форме звука фортепиано сжимаются и сохраняются в кадрах. Как показано на фиг. 7, исходные данные W о волновой форме, получаемые выполнением сэмплирования звука фортепиано, разделяются на отрезок «А», на котором волновая форма затухает от начального подъема до предварительно определенного уровня, и отрезок «В», следующий за отрезком «А». На отрезке «А», в том числе на отрезке атаки, который представляет собой вступление в звук, волновая форма изменяется быстро; тогда как на отрезке «В», который представляет собой отрезок поддержания, волновая форма изменяется медленно.[55] Now referring to FIG. 7, an example will be described in which the source data W of the waveform of a piano sound is compressed and stored in frames. As shown in FIG. 7, the initial waveform data W obtained by sampling the sound of the piano is divided into a segment “A”, in which the waveform decays from the initial rise to a predetermined level, and a segment “B” following segment “A”. On the segment "A", including the segment of the attack, which is the entry into the sound, the waveform changes rapidly; whereas on the segment "B", which is a segment of maintenance, the waveform changes slowly.
[56] Поскольку на отрезке «А», на котором волновая форма изменяется быстро, эффективные длины в битах индивидуальных сэмплов волновой формы (элементы Е данных об ошибках прогнозирования) изменяются, общая эффективная длина в битах первой половины кадра не совпадает с общей эффективной длиной в битах второй половины кадра. По этой причине описанный выше блок 13 определения определяет 256 байтов в качестве размера одного кадра для отрезка «А». В результате элемент информации заголовка сохраняется в блоке 16 хранения данных в области вспомогательной информации кадра, показанной на фиг. 6В, а сжатые сэмплы, получаемые при извлечении квантованных сэмплов волновой формы (элементов Е данных об ошибках прогнозирования), основанных на элементе данных «Общая эффективная длина в битах», включенном в элемент информации заголовка, последовательно сохраняются в области данных. При этом количество сохраняемых сэмплов определяется на основании элемента данных «Общая эффективная длина в битах». Например, в случае, когда общая эффективная длина в битах составляет 9 битов, 224 сэмпла сохраняются с области данных (252 байта).[56] Since in the “A” segment, where the waveform changes rapidly, the effective bit lengths of the individual waveform samples (prediction error data elements E) change, the total effective bit length of the first half of the frame does not coincide with the total effective length of bits of the second half of the frame. For this reason, the
[57] Между тем, поскольку на отрезке «В», на котором волновая форма изменяется медленно, эффективные длины в битах индивидуальных сэмплов волновой формы (элементы Е данных об ошибках прогнозирования) не изменяются, общая эффективная длина в битах первой половины кадра совпадает с общей эффективной длиной в битах второй половины кадра. По этой причине описанный выше блок 13 определения определяет 512 байтов в качестве размера одного кадра для отрезка «В».[57] Meanwhile, since on segment “B”, on which the waveform changes slowly, the effective bit lengths of the individual waveform samples (prediction error data elements E) do not change, the total effective bit length of the first half of the frame coincides with the total effective bit length of the second half of the frame. For this reason, the
[58] Вследствие этого, в описанном выше блоке 16 хранения данных элемент информации заголовка сохраняется в области вспомогательной информации кадра, показанной на фиг. 6А, а сжатые сэмплы, получаемые при извлечении квантованных сэмплов волновой формы (элементов Е данных об ошибках прогнозирования), основанных на элементе данных «Общая эффективная длина в битах», включенном в элемент информации заголовка, последовательно сохраняются в области данных. При этом количество сохраняемых сэмплов определяется на основании элемента данных «Общая эффективная длина в битах». Например, в случае, когда общая эффективная длина в битах составляет 10 битов, 406 сэмплов сохраняются в области данных (508 байтов).[58] Therefore, in the above-described
[59] Кадры, которые формируются описанным выше способом, выводятся в блоках кадров из блока 16 хранения данных и сохраняются в запоминающем устройстве 17 (см. фиг. 1). Кадры, сохраняемые в запоминающем устройстве 17, считываются устройством 150 для считывания данных о волновой форме, показанным на фиг. 8.[59] Frames that are formed as described above are output in blocks of frames from the
[60] Теперь с обращением к фиг. 8 конфигурация устройства 150 для извлечения данных о волновой форме будет описана в общих чертах. Устройство 150 для извлечения данных о волновой форме включает в себя блок 151 образования адресных данных, предназначенный для образования элементов адресных данных при использовании общей эффективной длины в битах, считываемой из области вспомогательной информации назначенного кадра, сохраняемого в запоминающем устройстве 17, в качестве повышения значения, блок 152 извлечения, предназначенный для извлечения сжатых сэмплов из области данных кадра, сохраняемых в запоминающем устройстве 17, на основании образованных элементов адресных данных, и блок 153 назначения кадра, предназначенный для назначения кадра после назначенного кадра из запоминающего устройства 17, если количество сжатых сэмплов, извлекаемых из области данных, сохраняемых в запоминающем устройстве 17, превышает размер кадра, обозначаемый типом кадра (идентификатором), сохраняемым в области вспомогательной информации.[60] Now referring to FIG. 8, the configuration of a
[61] Блок 151 образования адресных данных включает в себя регистр BITW, счетчик BITC, блок 151а определения, блок 151b определения и селектор, а блок 152 извлечения включает в себя счетчик ADRC_H адреса и счетчик ADRC адреса, а блок 153 назначения кадра включает в себя регистр заголовка (РЗ), преобразователь адреса и компаратор.[61] The address
[62] Блок 150 извлечения данных о волновой форме загружает адрес верхнего кадра из хоста (центрального процессора) (непоказанного) в счетчик ADRC_H адреса и загружает межкадровый адрес из хоста в счетчик ADRC адреса. Если «0» для обозначения заголовка кадра сохраняется в качестве считываемого начального адреса в счетчике ADRC адреса, устройство для извлечения данных о волновой форме считывает элемент информации заголовка, сохраняемый в области вспомогательной информации считываемого целевого кадра, из запоминающего устройства 17 и сохраняет считываемый элемент информации заголовка в регистре заголовка (РЗ).[62] The waveform
[63] Общая эффективная длина в битах, включенная в элемент информации заголовка, сохраняемая в регистре заголовка (РЗ), сохраняется в регистре BITW. Тип кадра (идентификатор), включенный в элемент информации заголовка, сохраняемый в регистре заголовка (РЗ), преобразуется в межкадровый адрес, соответствующий размеру одного кадра, а межкадровый адрес подводится к одному входу компаратора. Счетчик BITC предназначен для обозначения позиции бита одного сжатого сэмпла, подлежащего сохранению в области данных кадра. В случае, когда блок 151а определения определяет, что счетчик ADRC адреса (межкадрового адреса) имеет «0» или «1», представляющую элемент информации заголовка, счетчик BITC сбрасывается. Между тем, в случае, когда блок 151b определения также определяет, что счетчик ADRC имеет «0» или «1», представляющую элемент информации заголовка, со счетчика BITC подается «1» на селектор, в результате чего сильно повышается значение счетчика ADRC адреса. В случае, когда счетчик ADRC адреса имеет иное значение, кроме как «0» и «1» (значение, которым не представляется элемент информации заголовка), на селектор подается сигнал переноса со счетчика BITC.[63] The total effective bit length included in the header information element stored in the header register (P3) is stored in the BITW register. The type of frame (identifier) included in the header information element stored in the header register (PS) is converted to an inter-frame address corresponding to the size of one frame, and the inter-frame address is fed to one input of the comparator. The BITC counter is intended to indicate the bit position of one compressed sample to be stored in the frame data area. In the case where the determining
[64] В счетчик BITC добавляется значение регистра BITW, в результате чего значение счетчика ADRC адреса возрастает, вследствие чего образуется адрес считывания, предназначенный для считывания сжатого сэмпла, сохраняемого в области данных кадра. Адрес считывания выводится из счетчика ADRC адреса и подводится к другому входу компаратора. В случае, когда значение счетчика ADRC адреса (межкадровый адрес) становится значением, соответствующим размеру одного кадра, компаратор сбрасывает счетчик ADRC адреса.[64] The value of the BITW register is added to the BITC counter, as a result of which the value of the ADRC counter of the address increases, as a result of which a read address is created for reading the compressed sample stored in the frame data area. The read address is derived from the ADRC address counter and fed to the other input of the comparator. In the case where the value of the ADRC address counter (inter-frame address) becomes the value corresponding to the size of one frame, the comparator resets the ADRC address counter.
[65] Как описывалось выше, устройство 150 для извлечения данных о волновой форме образует адреса считывания индивидуальных сэмплов, сохраняемых в областях данных считываемых целевых кадров, с привязкой к типам кадров (идентификаторам) и общим эффективным длинам в битах, включенным в их элементы информации заголовка, и считывает сжатые сэмплы из индивидуальных кадров на основании образованных адресов считывания.[65] As described above, the
[66] Теперь с обращением к фиг. 9 будет описан электронный музыкальный инструмент 200, включающий в себя описанное выше запоминающее устройство 17 и описанное выше устройство 150 для извлечения данных о волновой форме. На фиг. 9 представлена структурная схема, иллюстрирующая общую конфигурацию электронного музыкального инструмента 200. Блок 20 ввода исполнительских характеристик музыкального инструмента из фиг. 9 образует информацию об исполнительских характеристиках музыкального инструмента в соответствии с операциями воспроизведения. Операционный блок 21 имеет различные операционные переключатели и создает переключаемые события в соответствии с видами переключателей, приводимых в действие пользователем. Центральный процессор (ЦП) 22 создает события, связанные с нажатием клавиши или отпусканием клавиши, в соответствии с информацией об исполнительских характеристиках музыкального инструмента, образуемой блоком 20 ввода исполнительских характеристик музыкального инструмента, и подает связанные с нажатием клавиши или отпусканием клавиши события в устройство 150 для извлечения данных о волновой форме и команды в устройство 150 для извлечения данных о волновой форме на считывание сжатых сэмплов (элементов сжатых данных о волновой форме), необходимых для образования музыки, из запоминающего устройства 17.[66] Now referring to FIG. 9, an electronic
[67] В постоянном запоминающем устройстве (ПЗУ) 23 сохраняются управляющие программы, загружаемые в центральный процессор 22. В оперативном запоминающем устройстве (ОЗУ) 24 временно сохраняются различные данные регистра/признака, используемые при обработке в центральном процессоре 22. В запоминающем устройстве 17 заблаговременно сохраняются сжатые сэмплы (элементы сжатых данных о волновой форме), имеющие определенные музыкальные звуки, и в ответ на команду на считывание с центрального процессора 22 устройство 150 для извлечения данных о волновой форме считывает сжатые сэмплы, необходимые для образования музыки, из запоминающего устройства 17.[67] In the read-only memory (ROM) 23, control programs stored in the
[68] Блок 25 декомпрессии выполняет процесс декомпрессии сжатых сэмплов, считываемых устройством 150 для извлечения данных о волновой форме, в результате чего он получает данные о волновой форме и подает данные о волновой форме на звукообразующий блок 26. Звукообразующий блок 26 образует музыкальные данные на основании данных о волновой форме, подаваемых с блока 25 декомпрессии, и преобразует образованные музыкальные данные в аналоговый музыкальный сигнал, и выполняет фильтрацию, чтобы отфильтровать ненужные составляющие, такие как шум, из музыкального сигнала, и повышает уровень музыкального сигнала, и выводит звук из громкоговорителя.[68] The
[69] Как описывалось выше, в соответствии с представленным вариантом осуществления, поскольку на отрезке, на котором волновая форма изменяется быстро, эффективные длины в битах отдельных сэмплов волновой формы (элементы Е данных об ошибках прогнозирования) изменяются и поэтому общая эффективная длина в битах первой половины кадра не совпадает с общей эффективной длиной в битах второй половины кадра, размер одного кадра полагают равным 256 байтам. Между тем, поскольку на отрезке, на котором волновая форма изменяется медленно, эффективные длины в битах отдельных сэмплов волновой формы (элементы Е данных об ошибках прогнозирования) не изменяются и поэтому общая эффективная длина в битах первой половины кадра совпадает с общей эффективной длиной в битах второй половины кадра, размер одного кадра полагают равным 512 байтам. Таким образом, различные размеры кадра можно задавать в зависимости от музыкальных звуков (видов волновой формы).[69] As described above, in accordance with the presented embodiment, since in the interval over which the waveform changes rapidly, the effective bit lengths of the individual waveform samples (prediction error data elements E) change and therefore the total effective bit length of the first half of the frame does not coincide with the total effective bit length of the second half of the frame; the size of one frame is assumed to be 256 bytes. Meanwhile, since in the interval in which the waveform changes slowly, the effective bit lengths of the individual waveform samples (prediction error data elements E) do not change and therefore the total effective bit length of the first half of the frame coincides with the total effective bit length of the second half frame, the size of one frame is assumed to be 512 bytes. Thus, different frame sizes can be set depending on musical sounds (types of waveform).
[70] Кроме того, поскольку размеры различных кадров задают в соответствии с описанным выше способом, то по сравнению со случаем использованием кадра фиксированного размера можно решить проблему, заключающуюся в том, что по мере увеличения числа кадров возрастает бесполезная избыточная информация заголовка или повышается количество кодовых бит в сэмплах волновой формы.[70] In addition, since the sizes of the various frames are set in accordance with the method described above, in comparison with the case of using a frame of a fixed size, it is possible to solve the problem that as the number of frames increases, useless redundant header information increases or the number of code bit in waveform samples.
[72] Кроме того, что касается, например, отрезка атаки из первой половины сэмплов волновой формы, то сохраняются данные о громкости звука, в которых громкость звука такая же, как громкость исходного звука, а что касается второй половины сэмплов волновой формы, то сохраняются данные о громкости звука, в которых громкость звука ниже, чем громкость исходного звука, поскольку в соответствии с описанным выше вариантом осуществления поправочный параметр уровня громкости сохраняется в качестве элемента информации заголовка в области вспомогательной информации кадра. Таким образом, можно сохранять отрезок атаки из первой половины сэмплов волновой формы с высоким качеством на основании низкого коэффициента сжатия и можно сохранять вторую половину сэмплов волновой формы на основании высокого коэффициента сжатия.[72] In addition, as regards, for example, the segment of attack from the first half of the waveform samples, the sound volume data is saved in which the sound volume is the same as the volume of the original sound, and as for the second half of the waveform samples, sound volume data in which the sound volume is lower than the volume of the original sound, because according to the embodiment described above, the volume level correction parameter is stored as a title information element in the sub area Noah frame information. Thus, it is possible to save the attack segment from the first half of the waveform samples with high quality based on the low compression ratio, and it is possible to save the second half of the waveform samples based on the high compression ratio.
[72] Кроме того, в случае, когда устройство 150 для извлечения данных о волновой форме извлекает из запоминающего устройства сжатые данные о волновой форме, при использовании поправочного параметра громкости звука можно возвращать громкость звука из данных о волновой форме к громкости исходного звука.[72] Furthermore, in the case where the waveform
[73] Кроме того, согласно представленному варианту осуществления, если общая эффективная длина в битах первой половины кадра не совпадает с общей эффективной длиной в битах второй половины кадра, размер одного кадра задается равным 256 байтам (кадра), включая 4 байта для области вспомогательной информации и 252 байта для области данных; тогда как если общая эффективная длина в битах первой половины кадра совпадает с общей эффективной длиной в битах второй половины кадра, размер одного кадра задается равным 512 байтам (кадра), включая 4 байта для области вспомогательной информации и 508 байтов для области данных. Однако настоящее изобретение не ограничено этим и также возможно, что в случае, когда предварительно определенное или большее количество последовательных сэмплов имеют одинаковую длину в битах, равную длине квантования в битах, определяемой блоком 13а определения длины квантования в битах, блок 13b определения размера определяет 512 байтов (кадра) как размер одного кадра; тогда как в случае, когда предварительно определенное или большее количество последовательных сэмплов не имеют одинаковой длины в битах, равной длине квантования в битах, определяемой блоком 13а определения длины квантования в битах, блок 13b определения размера определяет 256 байтов (кадра) как размер одного кадра.[73] Furthermore, according to the presented embodiment, if the total effective bit length of the first half of the frame does not match the total effective bit length of the second half of the frame, the size of one frame is set to 256 bytes (frame), including 4 bytes for the auxiliary information area and 252 bytes for the data area; whereas if the total effective bit length of the first half of the frame matches the total effective bit length of the second half of the frame, the size of one frame is set to 512 bytes (frames), including 4 bytes for the auxiliary information area and 508 bytes for the data area. However, the present invention is not limited to this, and it is also possible that in the case where a predetermined or more consecutive samples have the same bit length equal to the quantization length in bits determined by the quantization
[74] Иначе говоря, также можно использовать несложный способ, в котором на отрезке, на котором волновая форма изменяется быстро, блок 13b определения размера определяет 256 байтов (кадра) как размер одного кадра, поскольку предварительно определенное или большее количество последовательных сэмплов не имеют одинаковой длины в битах, равной длине квантования в битах, определяемой блоком 13а определения длины квантования в битах, а на отрезке, на котором волновая форма изменяется медленно, блок 13b определения размера определяет 512 байтов (кадра) как размер одного кадра, поскольку предварительно определенное или большее количество последовательных сэмплов имеют одинаковую в длину в битах, равную длине квантования в битах, определяемой блоком 13а определения длины квантования в битах.[74] In other words, it is also possible to use a simple method in which, in the interval in which the waveform changes rapidly, the
[75] Дополнительные преимущества и модификации без труда придут в голову специалистам в данной области техники. Поэтому изобретение в его широких аспектах не ограничено конкретными подробностями и характерными вариантами осуществления, показанными и описанными в этой заявке. В соответствии с этим различные модификации могут быть сделаны без отступления от сущности или объема общей идеи изобретения, обозначенной в прилагаемой формуле изобретения и эквивалентах ее.[75] Additional advantages and modifications will easily come to mind specialists in this field of technology. Therefore, the invention in its broad aspects is not limited to the specific details and characteristic embodiments shown and described in this application. In accordance with this, various modifications can be made without departing from the essence or scope of the general idea of the invention indicated in the attached claims and its equivalents.
Claims (78)
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015182212 | 2015-09-15 | ||
JP2015-182212 | 2015-09-15 | ||
JP2016152124A JP6146686B2 (en) | 2015-09-15 | 2016-08-02 | Data structure, data storage device, data retrieval device, and electronic musical instrument |
JP2016-152124 | 2016-08-02 |
Publications (3)
Publication Number | Publication Date |
---|---|
RU2016136820A RU2016136820A (en) | 2018-03-19 |
RU2016136820A3 RU2016136820A3 (en) | 2018-03-19 |
RU2662633C2 true RU2662633C2 (en) | 2018-07-26 |
Family
ID=58390130
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2016136820A RU2662633C2 (en) | 2015-09-15 | 2016-09-14 | Waveform data structure, waveform data storage device, waveform data storing method, waveform data extracting device, waveform data extracting method and electronic musical instrument |
Country Status (3)
Country | Link |
---|---|
JP (2) | JP6146686B2 (en) |
CN (1) | CN106875933B (en) |
RU (1) | RU2662633C2 (en) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5727085A (en) * | 1994-09-22 | 1998-03-10 | Nippon Precision Circuits Inc. | Waveform data compression apparatus |
EP1304680A2 (en) * | 2001-09-13 | 2003-04-23 | Yamaha Corporation | Apparatus and method for synthesizing a plurality of waveforms in synchronized manner |
US6721711B1 (en) * | 1999-10-18 | 2004-04-13 | Roland Corporation | Audio waveform reproduction apparatus |
JP3826870B2 (en) * | 2002-10-01 | 2006-09-27 | ヤマハ株式会社 | Compressed data structure, waveform generation device, and waveform storage device |
US7259315B2 (en) * | 2001-03-27 | 2007-08-21 | Yamaha Corporation | Waveform production method and apparatus |
RU68691U1 (en) * | 2007-06-15 | 2007-11-27 | Илларион Борисович Полумисков | VOICE TRANSFORMATION SYSTEM IN THE SOUND OF MUSICAL INSTRUMENTS |
RU2314502C2 (en) * | 2004-02-26 | 2008-01-10 | Эл Джи Электроникс Инк. | Method and device for processing sound |
US7378586B2 (en) * | 2002-10-01 | 2008-05-27 | Yamaha Corporation | Compressed data structure and apparatus and method related thereto |
EP1688909B1 (en) * | 1999-09-27 | 2014-06-25 | Yamaha Corporation | Method and apparatus for producing a waveform based on a style-of-rendition module |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2745866B2 (en) * | 1991-06-09 | 1998-04-28 | ヤマハ株式会社 | Digital data compression method for waveform data and tone control, and waveform data reproducing apparatus |
US5347478A (en) * | 1991-06-09 | 1994-09-13 | Yamaha Corporation | Method of and device for compressing and reproducing waveform data |
JPH06309895A (en) * | 1993-04-28 | 1994-11-04 | Mitsubishi Electric Corp | Semiconductor memory audio recording and reproducing device |
US7308406B2 (en) * | 2001-08-17 | 2007-12-11 | Broadcom Corporation | Method and system for a waveform attenuation technique for predictive speech coding based on extrapolation of speech waveform |
JP3826878B2 (en) * | 2002-11-19 | 2006-09-27 | コニカミノルタフォトイメージング株式会社 | Imaging device |
JP4639966B2 (en) * | 2005-05-31 | 2011-02-23 | ヤマハ株式会社 | Audio data compression method, audio data compression circuit, and audio data expansion circuit |
JP4454664B2 (en) * | 2005-09-05 | 2010-04-21 | 富士通株式会社 | Audio encoding apparatus and audio encoding method |
CN101594537B (en) * | 2009-06-04 | 2011-07-27 | 北京京北方信息技术有限公司 | Massive image data compression method |
US8183452B2 (en) * | 2010-03-23 | 2012-05-22 | Yamaha Corporation | Tone generation apparatus |
JP6021498B2 (en) * | 2012-08-01 | 2016-11-09 | 任天堂株式会社 | Data compression apparatus, data compression program, data compression system, data compression method, data decompression apparatus, data compression / decompression system, and data structure of compressed data |
-
2016
- 2016-08-02 JP JP2016152124A patent/JP6146686B2/en active Active
- 2016-09-14 CN CN201610825908.5A patent/CN106875933B/en active Active
- 2016-09-14 RU RU2016136820A patent/RU2662633C2/en active
-
2017
- 2017-05-18 JP JP2017098579A patent/JP6604486B2/en active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5727085A (en) * | 1994-09-22 | 1998-03-10 | Nippon Precision Circuits Inc. | Waveform data compression apparatus |
EP1688909B1 (en) * | 1999-09-27 | 2014-06-25 | Yamaha Corporation | Method and apparatus for producing a waveform based on a style-of-rendition module |
US6721711B1 (en) * | 1999-10-18 | 2004-04-13 | Roland Corporation | Audio waveform reproduction apparatus |
US7259315B2 (en) * | 2001-03-27 | 2007-08-21 | Yamaha Corporation | Waveform production method and apparatus |
EP1304680A2 (en) * | 2001-09-13 | 2003-04-23 | Yamaha Corporation | Apparatus and method for synthesizing a plurality of waveforms in synchronized manner |
US20090025537A1 (en) * | 2001-09-13 | 2009-01-29 | Yamaha Corporation | Apparatus and method for synthesizing a plurality of waveforms in synchronized manner |
JP3826870B2 (en) * | 2002-10-01 | 2006-09-27 | ヤマハ株式会社 | Compressed data structure, waveform generation device, and waveform storage device |
US7378586B2 (en) * | 2002-10-01 | 2008-05-27 | Yamaha Corporation | Compressed data structure and apparatus and method related thereto |
RU2314502C2 (en) * | 2004-02-26 | 2008-01-10 | Эл Джи Электроникс Инк. | Method and device for processing sound |
RU68691U1 (en) * | 2007-06-15 | 2007-11-27 | Илларион Борисович Полумисков | VOICE TRANSFORMATION SYSTEM IN THE SOUND OF MUSICAL INSTRUMENTS |
Also Published As
Publication number | Publication date |
---|---|
RU2016136820A (en) | 2018-03-19 |
CN106875933B (en) | 2020-12-18 |
JP2017138629A (en) | 2017-08-10 |
JP2017058663A (en) | 2017-03-23 |
JP6146686B2 (en) | 2017-06-14 |
JP6604486B2 (en) | 2019-11-13 |
RU2016136820A3 (en) | 2018-03-19 |
CN106875933A (en) | 2017-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7408487B2 (en) | Method and apparatus for CABAC-based encoding having high compression ratio using improved context model selection and method and apparatus for CABAC-based decoding | |
JP4786796B2 (en) | Entropy code mode switching for frequency domain audio coding | |
CN109255429B (en) | Parameter decompression method for sparse neural network model | |
US10515618B2 (en) | Waveform data structure, waveform data storage device, waveform data storing method, waveform data extracting device, waveform data extracting method and electronic musical instrument | |
JP2017073615A (en) | Encoding program, encoding method, encoder, decoding program, decoding method and decoder | |
RU2662633C2 (en) | Waveform data structure, waveform data storage device, waveform data storing method, waveform data extracting device, waveform data extracting method and electronic musical instrument | |
US9479195B2 (en) | Non-transitory computer-readable recording medium, compression method, decompression method, compression device, and decompression device | |
JP6962268B2 (en) | Pitch enhancer, its method, and program | |
US9165563B2 (en) | Coding device, coding method, decoding device, decoding method, and storage medium | |
JP2008170488A (en) | Waveform compressing apparatus, waveform decompressing apparatus, program and method for producing compressed data | |
CN115374305A (en) | Sound effect adjusting method and device of intelligent sound box | |
JP2008185701A (en) | Method of calculating parcor coefficient, and its device, its program and its recording medium | |
JP6911939B2 (en) | Pitch enhancer, its method, and program | |
JP4603429B2 (en) | Client / server speech recognition method, speech recognition method in server computer, speech feature extraction / transmission method, system, apparatus, program, and recording medium using these methods | |
CN113053336A (en) | Method, device and equipment for generating musical composition and storage medium | |
WO2019216192A1 (en) | Pitch enhancement device, method and program therefor | |
KR100745250B1 (en) | Computer recordable medium recording multimedia file for audio/video syncronization and syncronizing device of audio/video | |
JPH07170197A (en) | Automatic generating method for decoding table for variable length code | |
US11501782B2 (en) | Encoder, decoder, encoding method, decoding method, program, and recording medium | |
JP4462087B2 (en) | Encoding apparatus and encoding method | |
JP4109124B2 (en) | Time series signal encoding device | |
JP3912304B2 (en) | Compressed data structure, waveform generation device, and waveform storage device | |
JP2005242126A (en) | Reproducing device for sound signal | |
JP3787986B2 (en) | Recording medium storing sound waveform data compression / decompression method and program for executing the operation | |
WO2003098593A1 (en) | Musical performance information compression device, musical performance information decompression device, musical performance information compression program product, and musical performance information decompression program product |