Audio compression program, audio compression method, and information processing apparatus
The audio compression method enhances game device performance by optimizing audio data compression through section-based frequency conversion and selective bit allocation, reducing processing loads and preserving sound quality.
Patent Information
- Application Number
- JP2024116240
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-07-19
- Publication Date
- 2026-01-29
AI Technical Summary
Existing game devices face high processing loads due to inefficient audio data compression, limiting the number of sounds that can be produced.
An audio compression method that divides audio signals into sections, converts them into frequency information, and records maximum amplitude values using a high number of bits while lower amplitude values are recorded as ratios, utilizing frequency bands and masking effects to optimize data volume.
Improves audio data compression rates, reducing processing loads and maintaining sound quality by selectively preserving critical frequency information.
Smart Images

Figure 2026014802000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to an audio compression program, an audio compression method, and an information processing device. [Background technology]
[0002] In games, sound effects and other audio are output in accordance with the progress of the game to enhance the sense of realism. The audio is recorded as encoded audio data, and the audio data is read and decoded by an audio circuit built into the game device, etc., to play the audio.
[0003] For example, Patent Document 1 describes a game that uses ADPCM (Adaptive Differential Pulse Code Modulation), which is capable of compressing the amount of audio data, as an audio encoding method. [Prior art documents] [Patent documents]
[0004] [Patent Document 1] Japanese Patent Application Laid-Open No. 2000-156039 Summary of the Invention [Problem to be solved by the invention]
[0005] In order to reduce the processing load on game devices and the like and increase the number of sounds that can be produced, there has been a demand for improving the compression rate of the audio data volume.
[0006] The present invention has been made in consideration of these problems, and aims to provide an audio compression program, an audio compression method, and an information processing device that can improve the compression rate of the data volume of audio data used in games. [Means for solving the problem]
[0007] In order to achieve the above object, the audio compression program of the present invention causes an information processing device that generates audio data used in a game to function as a conversion unit that divides an audio signal into a plurality of sections and converts each section into frequency information representing discrete amplitude values for each frequency, and a generation unit that records a maximum first amplitude value within the section using a first number of bits based on the frequency information, and records each amplitude value within the section using a second number of bits that is lower than the first number of bits as a ratio to the first amplitude value, thereby generating the audio data.
[0008] In addition, in order to achieve the above-mentioned object, the present invention provides an audio compression method executed by an information processing device that generates audio data to be used in a game, comprising the steps of: dividing an audio signal into a plurality of sections; and converting each section into frequency information representing discrete amplitude values for each frequency; and, based on the frequency information, recording a maximum first amplitude value within the section with a first number of bits, and recording each amplitude value within the section with a second number of bits lower than the first number of bits as a ratio to the first amplitude value, thereby generating the audio data.
[0009] In addition, in order to achieve the above-mentioned object, the present invention is an information processing device that generates audio data to be used in a game, and includes: a conversion unit that divides an audio signal into a plurality of intervals and converts each interval into frequency information representing discrete amplitude values for each frequency; and a generation unit that, based on the frequency information, records a maximum first amplitude value within the interval using a first number of bits, and records each amplitude value within the interval using a second number of bits lower than the first number of bits as a ratio to the first amplitude value, thereby generating the audio data. [Effects of the Invention]
[0010] According to the audio compression program of the present invention, it is possible to improve the compression rate of the amount of audio data used in a game. [Brief explanation of the drawings]
[0011] [Figure 1]1 is a diagram illustrating an example of the overall configuration of a game system according to an embodiment. [Figure 2] FIG. 1 is a block diagram illustrating an example of a functional configuration of an audio compression device. [Figure 3] 1A and 1B are diagrams illustrating an example of a voice waveform and a section. [Figure 4] 10A and 10B are explanatory diagrams illustrating an example of a conversion process in which a partial waveform is converted into frequency information for each section. [Figure 5] FIG. 1 is a diagram illustrating an example of divided frequency bands. [Figure 6] FIG. 2 is a diagram illustrating an example of frequency band division applied in an embodiment. [Figure 7] FIG. 10 is a diagram illustrating an example of the number of frequency bins to be saved for each band set for each sound quality setting value. [Figure 8] FIG. 10 is an explanatory diagram illustrating an example of a frequency bin selection technique. [Figure 9] FIG. 2 is a diagram illustrating an example of a data structure of audio data for each section. [Figure 10] 10 is a flowchart illustrating an example of a processing procedure of an encoding process executed by an audio compression device. [Figure 11] 10 is a flowchart illustrating an example of a procedure for a decoding process executed by a terminal device. [Figure 12] FIG. 10 is a diagram showing an example of the definition of the number of saved bins in a modified example in which the second and subsequent bins in a band are recorded in 4 bits. [Figure 13] FIG. 10 is a diagram illustrating an example of the shift in the number of saved frequency bins for each sound quality setting value. [Figure 14] FIG. 1 is a block diagram illustrating an example of a hardware configuration of an audio compression device. DETAILED DESCRIPTION OF THE INVENTION
[0012] Hereinafter, an embodiment of the present invention will be described with reference to the drawings.
[0013] <1. Overall structure of the game system> An example of the overall configuration of a game system 1 according to an embodiment will be described with reference to Fig. 1. The game system 1 includes an audio compression device 3, a server device 5, and a terminal device 7. The audio compression device 3, the server device 5, and the terminal device 7 are communicably connected via a network NW such as the Internet, a mobile phone network, or a LAN. The network NW may be either wireless or wired. Although the server device 5 in Fig. 1 is configured as a single computer, it may be configured as multiple computers.
[0014] An audio compression device 3 (an example of an information processing device) generates audio data by compressing audio, such as sound effects, used in a game through encoding processing. The audio data generated by the audio compression device 3 is uploaded to a server device 5 together with game data including a game program. The audio compression device 3 is, for example, a computer of a party that provides the game.
[0015] The server device 5 accepts access from the player's terminal device 7 via the network NW and provides a game via the network NW to each terminal device 7. The server device 5 is, for example, a server computer of a party that provides a game.
[0016] An input device 9 and a display device 11 are communicably connected to the terminal device 7. A player uses the input device 9 to perform various operation inputs. The terminal device 7 downloads game data, including audio data, from the server device 5. The terminal device 7 decodes the audio data in real time while the game is being played, restores the audio, and outputs it. The terminal device 7 is, for example, a stationary game console. However, the terminal device 7 is not limited to this, and may be, for example, a portable game console that has an input unit, a display unit, and the like integrated into it. In addition to game consoles, the terminal device 7 may also be, for example, a computer device such as a server computer, a desktop computer, a notebook computer, or a tablet computer, or a device with a telephone function such as a smartphone, a mobile phone, or a phablet.
[0017] The game may be provided to the terminal device 7 by reading a recording medium on which game data including audio data is recorded. The recording medium may be, for example, an optical disc such as a CD-ROM or DVD, or a semiconductor memory.
[0018] <2. Functional configuration of the audio compression device> Next, an example of the functional configuration of the audio compression device 3 will be described with reference to FIG. 2 and FIGS.
[0019] As shown in FIG. 2, the audio compression device 3 includes a conversion unit 13 and a generation unit 15.
[0020] (2-1. Frequency Conversion) The converter 13 divides the audio signal into a plurality of sections and converts each section into frequency information representing discrete amplitude values for each frequency. At this time, the converter 13 divides the audio signal into a plurality of sections all of a common size. The conversion method is not particularly limited as long as it can convert the audio signal, which is an analog signal, into frequency information representing discrete amplitude values for each frequency. In this embodiment, the audio signal is irreversibly converted using a modified discrete cosine transform (MDCT, hereinafter referred to as "MDCT transform").
[0021] 3 and 4 show an example of the conversion process by the conversion unit 13. As shown in FIG. 3, the conversion unit 13 cuts out a section SN (first section S1, second section S2, ... in FIG. 3) of an audio waveform W (an example of an audio signal) having a predetermined length by multiplying it by a window function. In this embodiment, the window function used is, for example, a Kaiser-Bessel derived window (KBD) with α=4.0. Each section SN is sequentially cut out from the entire audio waveform W, shifted by half the length Ls. The length Ls (size) of the section SN is fixed and is the same for all sections SN.
[0022] The above value of α is just an example, and may be any value other than 4.0 as long as practical sound quality is obtained. The window function is also not particularly limited as long as it attenuates both ends of the S / N interval, and a window function other than a Kaiser-Bessel derived window may be used as long as practical sound quality is obtained.
[0023] As shown in Figure 4, the partial waveforms WN (in Figure 4, partial waveform W1 in the first interval S1, partial waveform W2 in the second interval S2, ...) extracted using the window function become mountain-shaped waveforms with both ends attenuated and fading in and out. The conversion unit 13 performs MDCT conversion on each partial waveform WN to generate frequency information FN (in Figure 4, frequency information F1 of partial waveform W1, frequency information F2 of partial waveform W2, ...). Each piece of frequency information FN is obtained as a data string with a length half the length Ls of the interval SN, and includes multiple frequency bins FB, which are discrete amplitude values for each frequency. In this way, the conversion unit 13 obtains the time transition of the frequency information for each overlapping time interval.
[0024] If the size (length Ls) of the section SN is too small, it will be impossible to obtain practical sound quality with a practical data size, while increasing the size will not only make it difficult to reproduce short sounds, but will also increase the load and reduce the responsiveness of audio playback. For this reason, it is preferable to set the size of the section SN to 1024 samples, which is a good balance between light load and responsiveness at a common sampling frequency of 48,000 Hz.
[0025] The frequency information FN converted for each interval SN is coded by a generator 15, which will be described later, to generate audio data for each interval SN. The audio data undergoes an inverse modified discrete cosine transform (IMDCT, hereinafter referred to as "IMDCT transform") in the terminal device 7, and is decoded for each interval SN to obtain an audio waveform of length Ls. This audio waveform is multiplied by the same window function as used during encoding to form a mountain-shaped waveform, and by adding the waveforms while shifting them by half the length Ls, just as during encoding, an audio waveform close to the original audio waveform W is restored.
[0026] (2-2. Frequency band) The generation unit 15 generates audio data based on the frequency information FN converted by the conversion unit 13. In this case, the generation unit 15 divides the frequency information FN into a plurality of frequency bands, and compresses the data volume of the audio data by deleting some of the frequency bins FB included in at least some of the frequency bands. Note that hereinafter, the frequency bands will be referred to as "frequency bands" or simply "bands" as appropriate.
[0027] An example of divided frequency bands is shown in Fig. 5. In the example shown in Fig. 5, the frequency information FN includes 38 frequency bins FB (FB0 to FB37), and the frequency information FN is divided into, for example, seven bands B (B0 to B6). Band B is a range for determining whether to keep or delete frequency bins FB included in that band B, and for each band B, settings are made as to whether to delete frequency bins FB, and how many of which frequency bins FB to keep. Band B can also be said to be a range where a masking effect is likely to occur, in which when there are multiple sounds with similar frequencies, some sounds become difficult to hear.
[0028] 5, band B0 includes frequency bins FB0 and FB1, band B1 includes frequency bins FB2 and FB3, band B2 includes frequency bins FB4 to FB6, band B3 includes frequency bins FB7 to FB9, band B4 includes frequency bins FB10 to FB13, band B5 includes frequency bins FB14 to FB19, and band B6 includes frequency bins FB20 to FB37. In this embodiment, for each band B, a frequency bin FB to be saved is selected based on the energy value of the frequency bin FB and the distance value from a predetermined frequency bin FB, and the remaining frequency bins FB are deleted. This will be described in detail later.
[0029] Fig. 6 shows an example of frequency band division applied in this embodiment. In this embodiment, of the 512 frequency bins FB obtained from the section SN of 1024 samples at the sampling frequency of 48000 Hz described above, for example, 500 frequency bins FB (FB0 to FB499) up to 20000 Hz are divided into 21 bands B (B0 to B20). In the example shown in Fig. 6, bands B0 to B7 each include 5 frequency bins FB, bands B8 to B11 each include 10 frequency bins FB, bands B12 to B14 each include 20 frequency bins FB, bands B15 to B16 each include 30 frequency bins FB, band B17 includes 40 frequency bins FB, band B18 includes 60 frequency bins FB, band B19 includes 90 frequency bins FB, and band B20 includes 110 frequency bins FB.
[0030] Note that the above-described frequency band divisions are merely examples, and other divisions may also be used. In this embodiment, the maximum value of the frequency region is set to 20,000 Hz, matching the human audible range. However, other values may also be used, such as half that value (24,000 Hz) when the sampling frequency is 48,000 Hz. In this embodiment, of the 512 frequency bins FB obtained from the 1,024-sample section SN, 12 bins in the high-frequency region, which have little effect on how the sound is heard even if they are cut, are cut to a total of 500 frequency bins FB, but other values may also be used. For example, all 512 bins may be used without cutting the high-frequency region, or other values, such as 450 bins or 400 bins, may be used as long as practical sound quality is obtained.
[0031] In this embodiment, the number of frequency bins FB to be saved is set in advance for each divided frequency band. The generation unit 15 selects frequency bins FB to be saved for each band based on this number to be saved. Furthermore, the number to be saved for each frequency band is set to a different number for each sound quality setting value, which is set in multiple stages. The generation unit 15 selects frequency bins FB to be saved based on the number to be saved that corresponds to the specified sound quality setting value. The sound quality setting value is specified when generating audio data.
[0032] (2-3. Definition of number of storage) FIG. 7 shows an example of the number of frequency bins FB to be saved for each band, which is set for each sound quality setting value. In the example shown in FIG. 7, the sound quality setting value is set to 11 levels, for example, from -5 to +5, and for each sound quality setting value, a number of 21 bands, B0 to B20, is set to be saved. As shown in FIG. 7, since the frequency bins FB of band B in the low frequency range (for example, bands B0 to B7) are the core of the harmonic structure, the number to be saved is set to a fixed value (for example, 5) regardless of the sound quality setting value. In other words, in bands B0 to B7, no frequency bins FB are deleted, and all frequency bins FB are saved. On the other hand, the number to be saved for band B in the mid to high frequency range (for example, bands B8 to B20) is set to gradually decrease as the sound quality setting value decreases.
[0033] Note that the number of frequency bins FB to be saved shown in FIG. 7 is an example, and a value other than that shown in FIG. 7 may be used. Also, the number of sound quality setting values may be other than 11. Also, it is possible to set only one type of number to be saved without providing sound quality setting values. Note that hereinafter, the setting value of the number to be saved shown in FIG. 7 will be referred to as "save number definition Q" as appropriate.
[0034] (2-4. Frequency bin selection) The generation unit 15 selects frequency bins FB to be saved from among the multiple frequency bins FB included in frequency band B and deletes the remaining frequency bins FB. At this time, for example, as shown in the upper part of FIG. 8, it is assumed that the frequency bins FB to be saved (bins surrounded by a frame 17 in FIG. 8) are selected from the multiple frequency bins FB included in frequency band B so as to preferentially retain portions with high energy values. In this case, if the frequency information contains characteristic frequency information (mountain-shaped portion 19 on the right side in FIG. 8) with low energy, this characteristic frequency information is lost, and the energy distribution shape is significantly distorted. As a result, for example, in complex sounds with a lot of frequency information (music, loud cheers, the murmuring of a river, etc.), noises such as hissing and rumbling are likely to appear, especially in the high-pitched range, resulting in degradation of the audio quality.
[0035] In this embodiment, frequency bins FB to be saved are selected based not only on the energy value of the frequency bin FB but also on the distance value from a frequency bin FB at a predetermined position in the frequency domain. This makes it easier to retain frequency bins FB with amplitude values farther away from a frequency bin FB with a large energy value than frequency bins FB with amplitude values closer to the frequency bin FB (frequency bins FB that have less impact on sound quality due to the masking effect in the frequency domain), as shown in the lower part of FIG. 8 . In this way, when the frequency information contains characteristic frequency information with low energy (the mountain-shaped portion 19 on the right side in FIG. 8 ), it is possible to maintain the characteristic frequency information without increasing the number of frequency bins FB to be saved, thereby suppressing distortion of the energy distribution shape. Therefore, it is possible to suppress degradation of sound quality while maintaining the compression rate of the data volume of audio data used in the game. This is described in detail below.
[0036] The generation unit 15 divides the frequency information into a plurality of frequency bands B, and for each frequency band B, selects a frequency bin FB to be saved from among the plurality of frequency bins FB included in the frequency band B based on the energy value of the frequency bin FB and a distance value from a frequency bin FB at a predetermined position in the frequency band B, and deletes the remaining frequency bins FB. Note that the energy value of the frequency bin FB (an example of a value based on an absolute value) is the square of the absolute value of the frequency bin FB. In this case, the generation unit 15 determines, for each frequency bin FB included in the frequency band B, a priority ranking of second and subsequent frequencies, with the frequency bin FB with the largest energy value in the frequency band B being given first priority, based on the energy value and the distance value. The generation unit 15 selects the frequency bin FB to be saved based on the determined priority and the aforementioned saving number definition Q.
[0037] Specifically, the generation unit 15 first determines the frequency bin FB having the largest energy value in the frequency band B as the first bin. Next, the generation unit 15 sorts the bins ranked second and below in descending order based on a judgment value calculated by the following formula, and selects the bins with the largest judgment value by the number defined by the storage number definition Q. Judgment value = Energy value × Distance value
[0038] When determining the nth (n is 2 or more) priority, the generation unit 15 uses the smallest distance value among the distance values from the 1st to (n-1)th frequency bins FB in frequency band B and the distance value from the 1st frequency bin FB in frequency band B that is located at least on the low frequency side and the high frequency side in the frequency domain. Note that the distance value is defined as 1 for the distance between adjacent frequency bins FB (for example, the distance between frequency bins FB0 and FB1 in FIG. 5), and 2 for the distance between frequency bins FB that are two bins apart (for example, the distance between frequency bins FB0 and FB2 in FIG. 5).
[0039] For example, when selecting the fourth-ranked frequency bin FB in band B15, the generation unit 15 determines the distance value as follows: That is, the generation unit 15 compares the distance to the first-ranked frequency bin FB in the same band B15, the distance to the second-ranked frequency bin FB in the same band B15, the distance to the third-ranked frequency bin FB in the same band B15, the distance to the first-ranked frequency bin FB in the lower frequency band B14, and the distance to the first-ranked frequency bin FB in the higher frequency band B16, and determines the smallest value as the distance value of the fourth-ranked frequency bin FB.
[0040] (2-5. Recording frequency bins) The generation unit 15 records the amplitude value of the frequency bin FB selected in each frequency band B as described above, and generates audio data. At this time, the generation unit 15 records the absolute value of the maximum frequency bin FB (an example of a first amplitude value) within the interval SN in 32 bits (an example of a first bit number) based on the frequency information FN, and records the amplitude value of each frequency bin FB within the interval SN in 8 bits (an example of a second bit number lower than the first bit number) as a ratio to the absolute value of the maximum frequency bin FB. The ratio is recorded as an 8-bit value in the range of -1.0 to +1.0. Note that hereinafter, the absolute value of the maximum frequency bin FB recorded in 32 bits will be referred to as a "scale value" where appropriate.
[0041] Generally, sound has a logarithmic property: when the volume doubles, the sound pressure increases tenfold, and when the volume quadruples, the sound pressure increases 100fold. For this reason, if values expressed in 8 bits were recorded using equally spaced scale values, the value of one scale division would be relatively smaller for higher volume levels than for lower volume levels, resulting in fluctuations in the value of one scale division. Therefore, in this embodiment, the amplitude value of each frequency bin FB within the interval SN is recorded using 8-bit values based on a logarithmic scale, making it possible to make the value of one scale division uniform regardless of volume. This improves the reproduction accuracy of frequency bins FB expressed in 8 bits, thereby improving sound quality.
[0042] Specifically, the generating unit 15 records the amplitude value of each frequency bin FB in the section SN as an 8-bit value based on a logarithmic scale with the 8th root of 2 (an example of a predetermined value) as the base. There are no particular limitations on the method for converting any real number value into the 8-bit integer value (-127 to +127) on the logarithmic scale, and for example, a table may be referenced or a program may be used for calculation.
[0043] For example, in the case of the frequency information FN shown in Fig. 5, the absolute value of the maximum frequency bin FB0 is recorded in 32 bits as a scale value, and then the amplitude values of all frequency bins FB0 to FB37 are recorded in 8 bits as ratios (-1.0 to +1.0) to the scale value. In this case, the amplitude value of the maximum frequency bin FB0 is recorded in 8 bits with a ratio of 1.0.
[0044] In this embodiment, the number of bits of the scale value is 32 bits, which is the data size of a single-precision floating-point number (32-bit float) that is commonly used in computer programs, but it is not limited to 32 bits and may be other numbers of bits.Furthermore, the number of bits of the ratio of the other frequency bin FB to the scale value is not limited to 8 bits and may be other numbers of bits as long as it is possible to obtain practical sound quality with a practical data size.
[0045] Furthermore, the base value of the logarithmic scale is not limited to the 8th root of 2, and may be other values. According to the verification of the inventors, sound quality is perceived as good when the base value is in the vicinity of approximately 1.09, which is the 8th root of 2. Therefore, the base value may be other than the 8th root of 2 as long as it is in the vicinity of 1.09. For example, the 9th root of 2 (approximately 1.08) or the 27th root of 10 (approximately 1.09) may be used, but the 8th root of 3 (approximately 1.15) is not preferable.
[0046] (2-6. Audio data structure) 9 shows an example of the data structure of the audio data generated for each section SN by the generation unit 15. As shown in FIG. 9, the generation unit 15 generates a scale value, The numbers of all frequency bins FB to be saved in the interval SN, followed by the amplitude values of all frequency bins FB to be saved in the interval SN are recorded in that order. The numbers of the frequency bins FB (an example of identification information) are not serial numbers counted from the end of the interval SN as shown in Fig. 5, but are serial numbers for each frequency band B. In other words, the numbers of the frequency bins FB are serial numbers counted from the frequency bin FB located at the end on the low frequency side of the frequency band B in which the frequency bin FB is included.
[0047] Furthermore, the generation unit 15 records the numbers of the remaining frequency bins FB in frequency bands B from which some of the frequency bins FB have been deleted, but does not record the numbers of the frequency bins FB in frequency bands B from which no frequency bins FB have been deleted. In this embodiment, as shown in Figs. 6 and 7, all of the frequency bins FB are always saved for bands B0 to B7, and therefore the numbers of the frequency bins FB are not recorded.
[0048] Furthermore, the generation unit 15 records the serial numbers of the frequency bins FB by packing them with the minimum number of bits that can represent the serial numbers. For example, as shown in Fig. 6, in bands B8 to B11, the frequency bin FB number is a maximum of 10, so each is represented by 4 bits, in bands B12 to B14, the frequency bin FB number is a maximum of 20, so each is represented by 5 bits, in bands B15 to B16, the frequency bin FB number is a maximum of 30, so each is represented by 5 bits, in band B17, the frequency bin FB number is a maximum of 40, so each is represented by 6 bits, in band B18, the frequency bin FB number is a maximum of 60, so each is represented by 6 bits, in band B19, the frequency bin FB number is a maximum of 90, so each is represented by 7 bits, and in band B20, the frequency bin FB number is a maximum of 110, so each is represented by 7 bits, and all bits are packed and recorded.
[0049] The generation unit 15 records one type of audio data based on the number of storages corresponding to the specified sound quality setting value among the storage number definition Q shown in Fig. 7. Furthermore, if the audio buffer has multiple channels (multi-channel), the generation unit 15 interleaves the channels for each section SN and records each channel as separate audio data.
[0050] With the above data structure, the terminal device 7 first reads the scale value during the decoding process, then reads the numbers of all frequency bins FB in the section SN to obtain the position of each frequency bin FB, then reads the ratio values of all frequency bins FB in the section SN, restores amplitude values using the scale value, and writes these values at the position of each frequency bin FB, thereby decoding the audio data. In this way, by reading the numbers of all frequency bins FB all at once and then reading all amplitude values all at once, the decoding process can be performed quickly. Therefore, the responsiveness of audio playback can be improved.
[0051] The processing in each processing unit described above is not limited to these examples of division of processing, and may be performed by, for example, further subdivided processing units. Furthermore, the functions of each processing unit described above are implemented by an audio compression program executed by a CPU 301 (see FIG. 14 described below), but some of them may be implemented by actual devices such as dedicated integrated circuits such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field Programmable Gate Array), or other electric circuits.
[0052] <3. Encoding process by audio compression device> Next, an example of the processing procedure of the encoding process executed by the audio compression device 3 will be described with reference to Fig. 10. The processing procedure shown in Fig. 10 is an example of an audio compression method executed by an information processing device.
[0053] In step S5, the audio compression device 3 resets the waveform position N, which indicates a position in the audio waveform W, to 0. The waveform position N is a value indicating the corresponding position, assuming that one position is half the length Ls of the aforementioned section SN. Here, the waveform position N ranges from 0 to Nmax.
[0054] In step S10, the audio compression device 3 resets the number of channels C, which indicates the number of channels in the audio buffer, to 1. Here, it is assumed that the number of channels C ranges from 1 to Cmax. For example, if there are two channels, left and right, Cmax is 2.
[0055] In step S15, the audio compression device 3 extracts a partial waveform WN from the waveform position N, the partial waveform WN being equal to the size of the section SN, by multiplying the partial waveform WN by a window function.
[0056] In step S20, the audio compression device 3 performs MDCT transformation on the partial waveform WN to generate frequency information FN.
[0057] In step S25, the audio compression device 3 divides the frequency information FN into a plurality of frequency bands.
[0058] In step S30, the audio compression device 3 resets the band ID indicating the position of frequency band B to 0. Here, it is assumed that band IDs range from 0 to IDmax. In the example shown in FIG.
[0059] In step S35, the audio compression device 3 acquires the start positions BS of the frequency bins FB in the frequency band B of the band ID and the number BNum of the frequency bins FB.
[0060] In step S40, the audio compression device 3 ranks BNum frequency bins FB included in the section SN, counting from the start position BS, in descending order based on the magnitude of their energy values, and stores the rank data RN. At this time, the number of the frequency bin FB is also recorded for each rank in the rank data RN.
[0061] In step S45, the audio compression device 3 rearranges the second and subsequent rankings of the ranking data RN in descending order based on the judgment value, which is the product of the energy value and the distance value.
[0062] In step S50, the audio compression device 3 adds 1 to the band ID.
[0063] In step S55, the audio compressor 3 determines whether the band ID is greater than IDmax. If the band ID is equal to or less than IDmax (step S55: NO), the audio compressor 3 returns to the previous step S35 and repeats the same processing from step S35 based on the band ID incremented by 1. On the other hand, if the band ID is greater than IDmax (step S55: YES), the audio compressor 3 proceeds to the next step S60.
[0064] In step S60, the audio compression device 3 records the absolute value of the maximum frequency bin FB in the frequency information FN as a scale value in 32 bits.
[0065] In step S65, the audio compression device 3 selects frequency bins FB from the top rankings as many as the number to be saved based on the ranking data RN and the number to be saved definition Q corresponding to the specified sound quality setting value, and records the numbers of the selected frequency bins FB by padding the bits.
[0066] In step S70, the audio compression device 3 selects frequency bins FB from the top rankings as many as the number to be saved based on the ranking data RN and the number to be saved definition Q corresponding to the specified sound quality setting value, converts the amplitude values of the selected frequency bins FB into ratios to the scale value, and records them in 8 bits.
[0067] In step S75, the audio compression device 3 adds one to the number of channels C.
[0068] In step S80, the audio compression device 3 determines whether the number of channels C has become greater than Cmax. If the number of channels C is equal to or less than Cmax (step S80: NO), the audio compression device 3 returns to the previous step S15 and repeats the same processing from step S15 based on the number of channels C incremented by 1. On the other hand, if the number of channels C has become greater than Cmax (step S80: YES), the audio compression device 3 proceeds to the next step S85.
[0069] In step S85, the audio compression device 3 adds 1 to the waveform position N.
[0070] In step S90, the audio compression device 3 determines whether or not the waveform position N has become greater than Nmax. If the waveform position N is equal to or less than Nmax (step S90: NO), the process returns to the previous step S10, and the same process is repeated from step S10 based on the waveform position N incremented by 1. On the other hand, if the waveform position N has become greater than Nmax (step S90: YES), the audio compression device 3 ends this flowchart. Through the above process, the audio waveform W is encoded and audio data is generated.
[0071] The above-described processing procedure is an example, and at least some of the procedures may be deleted or changed, or other procedures may be added. Furthermore, the order of at least some of the procedures may be changed, or multiple procedures may be combined into a single procedure.
[0072] <4. Decoding process by terminal device> Next, an example of the procedure of the decoding process executed by the terminal device 7 will be described with reference to FIG.
[0073] In step S105, the terminal device 7 resets the data position D, which indicates a position in the audio data, to 0. The data position D is a position in the audio data corresponding to the above-mentioned waveform position N. Here, it is assumed that the data position D ranges from 0 to Dmax.
[0074] In step S110, the terminal device 7 resets the number of channels C, which indicates the number of channels in the audio buffer, to 1. Here, it is assumed that the number of channels C ranges from 1 to Cmax.
[0075] In step S115, the terminal device 7 reads the scale value.
[0076] In step S120, the terminal device 7 reads the numbers of the recorded frequency bins FB, that is, the numbers of all frequency bins FB stored in the section SN corresponding to the data position D, based on the storage number definition Q.
[0077] In step S125, the terminal device 7 reads the ratio values of the recorded frequency bins FB, i.e., the ratio values of all frequency bins FB stored in the section SN corresponding to the data position D, based on the storage number definition Q, restores the amplitude value of each frequency bin FB using the scale value, and writes it to the position of the corresponding number in the frequency information FN.
[0078] In step S130, the terminal device 7 performs IMDCT transformation on the frequency information FN generated in step S125 to generate a partial waveform WN corresponding to the size of the section SN.
[0079] In step S135, the terminal device 7 multiplies the partial waveform WN generated in step S130 by a window function.
[0080] In step S140, the terminal device 7 adds the waveform subsequence WN to the data position D of channel C in the audio buffer.
[0081] In step S145, the terminal device 7 adds one to the number of channels C.
[0082] In step S150, the terminal device 7 determines whether the number of channels C has become greater than Cmax. If the number of channels C is equal to or less than Cmax (step S150: NO), the process returns to the previous step S115, and the same process is repeated from step S115 based on the number of channels C incremented by 1. On the other hand, if the number of channels C has become greater than Cmax (step S150: YES), the terminal device 7 proceeds to the next step S155.
[0083] In step S155, the terminal device 7 adds 1 to the data position D.
[0084] In step S160, the terminal device 7 determines whether the data position D has become greater than Dmax. If the data position D is equal to or less than Dmax (step S160: NO), the process returns to the previous step S110, and the same process is repeated from step S110 based on the data position D incremented by 1. On the other hand, if the data position D has become greater than Dmax (step S160: YES), the terminal device 7 ends this flowchart. Through the above process, the audio data is decoded and an audio waveform close to the original audio waveform W is restored.
[0085] The above-described processing procedure is an example, and at least some of the procedures may be deleted or changed, or other procedures may be added. Furthermore, the order of at least some of the procedures may be changed, or multiple procedures may be combined into a single procedure.
[0086] <5. Effects of the embodiment> As described above, in this embodiment, the absolute value of the largest frequency bin FB within the section SN is recorded as a scale value using a high number of bits (e.g., 32 bits), and the amplitude values of each frequency bin FB within the section SN are recorded as a ratio based on the scale value using a low number of bits (e.g., 8 bits). This allows for a significant reduction in data volume compared to recording the amplitude values of all frequency bins FB within the section SN using a high number of bits. Furthermore, by recording the scale value, which is the basis for the ratio of each amplitude value, with high accuracy, the accuracy of each amplitude value can be ensured. Therefore, the compression rate of the data volume of audio data can be improved while suppressing degradation in sound quality.
[0087] In particular, in this embodiment, the amplitude value of each frequency bin FB expressed in a low number of bits (e.g., 8 bits) is recorded as a value based on a logarithmic scale, so that the value of one division on the scale can be made uniform regardless of the volume. This improves the reproduction accuracy of amplitude values expressed in a low number of bits (e.g., 8 bits), and improves sound quality.
[0088] Generally, when there are multiple sounds with similar frequencies, some of the sounds become difficult to hear due to a masking effect. Therefore, in this embodiment, by deleting frequency bins FB in the frequency range that are difficult to hear due to the masking effect, it is possible to improve the compression rate of the data volume of the audio data while suppressing degradation of sound quality.
[0089] Furthermore, particularly in this embodiment, in frequency band B where some of the frequency bins FB have been deleted, the generation unit 15 records the numbers of the remaining frequency bins FB, and does not record the numbers of the frequency bins FB in frequency band B where no frequency bins FB have been deleted. In this way, by not recording unnecessary information, the amount of audio data can be further reduced.
[0090] Furthermore, in this embodiment, the identification information of the frequency bin FB is not a serial number counted from the end of the interval SN, but a serial number counted from the end of each frequency band B. This makes it possible to reduce the number of numbers and further reduce the amount of audio data.
[0091] In particular, in this embodiment, the serial number of each frequency bin FB is recorded packed with the minimum number of bits that can represent the number, thereby reducing unnecessary data and further reducing the amount of audio data.
[0092] Furthermore, particularly in this embodiment, the generation unit 15 records the scale value, the numbers of all frequency bins FB to be saved in the interval SN, and the amplitude values of all frequency bins FB to be saved in the interval SN in that order. By configuring the audio data to have such a data structure, in the decoding process, it is possible to read all frequency bin FB numbers for each interval SN all at once, and then read and restore all amplitude values all at once. This makes it possible to quickly execute the decoding process, improving the responsiveness of instantly reproducing audio.
[0093] In this embodiment, the audio waveform W is divided into sections SN of a common size. This allows the desired data position in the audio data to be identified with simple calculations during decoding, compared to when the size of the section SN is varied depending on the length of the sound, and playback can begin from that position. This improves responsiveness.
[0094] As described above, in this embodiment, frequency bins FB to be saved are selected based not only on the energy value of the frequency bin FB but also on the distance value from a frequency bin FB at a predetermined position in the frequency domain. This makes it easier to retain frequency bins FB that are farther away in frequency than frequency bins FB that are close in frequency to frequency bins FB that have a large impact on sound quality (frequency bins FB that have a small impact on sound quality due to the masking effect in the frequency domain). By doing this, when frequency information contains characteristic frequency information with low energy, it is possible to maintain that characteristic frequency information without increasing the number of frequency bins FB to be saved, thereby suppressing distortion of the energy distribution shape. Therefore, it is possible to suppress degradation of sound quality while maintaining the compression rate of the data volume of audio data used in the game.
[0095] In particular, in this embodiment, by dividing the frequency band B and setting the value of the storage number definition Q to a value based on the masking effect, the data volume of the audio data can be compressed while suppressing degradation in sound quality.
[0096] Furthermore, particularly in this embodiment, the generation unit 15 determines the second and subsequent priorities for each frequency bin FB included in the frequency band B, with the frequency bin FB having the largest energy value being the first, based on the energy value and the distance value. This makes it possible to select and store frequency bins FB from the top of the priority order, the number of which is based on the definition Q of the number to be stored. This makes it possible to maintain characteristic frequency information while being based on the definition Q of the number to be stored.
[0097] Furthermore, particularly in this embodiment, when determining the nth-order priority (n is 2 or more), the generation unit 15 uses the smallest distance value among the distance values from the 1st to (n-1)th-order frequency bins FB in the frequency band B and the distance value from the 1st-order frequency bin FB in the frequency band B located at least on the low-frequency side or the high-frequency side in the frequency domain. This makes it easier to leave frequency bins FB whose frequencies are farther away from the frequency bin FB that has a large impact on sound quality than those whose frequencies are close, while taking into consideration frequency bands B adjacent to the frequency band B to be processed. This makes it possible to further enhance the effect of suppressing distortion of the energy distribution shape.
[0098] In particular, in this embodiment, the number of frequency bins FB to be saved for each frequency band B is set to a different number for each sound quality setting value. As a result, by specifying the sound quality setting value, it is possible to save the number of frequency bins FB according to the specified sound quality. Therefore, it is possible to generate audio data at a compression rate according to the specified sound quality.
[0099] <6. Modifications, etc.> The present invention is not limited to the above-described embodiment, and various modifications are possible within the scope of the spirit and technical concept of the present invention.
[0100] (6-1. When recording the second and lower bins in a band in 4 bits) In the above embodiment, the amplitude values (ratio values to the scale value) of all frequency bins FB are recorded in 8 bits. However, to further reduce the amount of data, for example, only the maximum frequency bin FB in each frequency band B may be recorded in 8 bits, and the amplitude values of the second and subsequent frequency bins FB may be recorded in an even lower number of bits.
[0101] In this modification, for each frequency band B, the generation unit 15 records the absolute value of the largest frequency bin FB (an example of a second amplitude value) in frequency band B as a ratio to the scale value in 8 bits (an example of a second bit number), and records the amplitude values of each frequency bin FB other than the largest frequency bin FB in frequency band B as a ratio to the absolute value of the largest frequency bin FB in 4 bits (an example of a third bit number lower than the second bit number). The ratio is recorded as a 4-bit integer value obtained by dividing a range of -1.0 to +1.0 into 15 equal parts. Note that the number of bits for the ratio is not limited to 4 bits, and other bit numbers may be used as long as practical sound quality can be obtained with a practical data size.
[0102] In this modification, since the frequency bins FB of band B in the low frequency region (e.g., bands B0 to B7) are the basis of the harmonic structure, each frequency bin FB is recorded in 8 bits, as in the above embodiment. Therefore, in band B in the mid to high frequency region (e.g., bands B8 to B20), the second and subsequent frequency bins FB in each band B are recorded in 4 bits as described above. Note that the second and subsequent frequency bins FB are based on the first frequency bin FB, so in the data structure of the audio data, for each of bands B8 to B20, the amplitude value of the first frequency bin FB must be recorded at the beginning. Note that the amplitude values of the second and subsequent frequency bins FB may be recorded in any order.
[0103] Furthermore, as the bit rate increases, the disadvantages in terms of sound quality due to the reduction in the number of bits become more dominant than the advantages in terms of sound quality due to the increase in the frequency bins FB. For this reason, when the sound quality setting value is equal to or greater than a predetermined value (e.g., +1), all frequency bins FB may be recorded in 8 bits as in the above embodiment, and when the sound quality setting value is equal to or less than a predetermined value (e.g., 0), the second and lower frequency bins FB in each band B may be recorded in 4 bits as described above.
[0104] Fig. 12 shows an example of the definition Q of the number of saved files in this modified example. In the example shown in Fig. 12, in the area where the sound quality setting value in bands B8 to B20 is 0 or less, the second and lower frequency bins FB in each band B are recorded in 4 bits, thereby reducing the amount of data, and the number of saved files is increased compared to the definition Q of the number of saved files in the above embodiment. Note that, because 4-bit values are recorded in sets of two in an 8-bit frame, in the example shown in Fig. 12, in the area where the sound quality setting value in bands B8 to B20 is 0 or less, the number of saved files is limited to an odd number.
[0105] According to the modification described above, the amount of audio data can be further reduced compared to when the amplitude values of all frequency bins FB in frequency band B are recorded in 8 bits. In addition, the number of frequency bins FB that can be saved can be increased by the amount of data reduction.
[0106] (6-2. When saving energy for each band) Simply deleting some frequency bins FB in frequency band B may reduce the amount of energy contained in frequency band B, which may result in a deterioration in sound quality. Therefore, in frequency band B from which frequency bins FB have been deleted, the amplitude values of the remaining frequency bins FB may be increased so as to preserve the amount of energy.
[0107] In this modified example, for each frequency band B from which some of the frequency bins FB have been deleted, the generation unit 15 increases the amplitude values of the remaining frequency bins FB so that the sum of the energy values of all of the frequency bins FB in the frequency band B after the frequency bins FB have been deleted is equal to the sum of the energy values of all of the frequency bins FB in the frequency band B before the frequency bins FB have been deleted.
[0108] Specifically, for each of bands B8 to B20, the generation unit 15 calculates the ratio of the sum of energy values before deleting the frequency bin FB to the sum of energy values after deleting the frequency bin FB, and calculates the amplification factor by the square root of the ratio. For each of bands B8 to B20, the generation unit 15 increases the amplitude value of the remaining frequency bin FB by multiplying it by the amplification factor. Note that the scale value in this modification is not the maximum absolute value among the original frequency bins FB, but the maximum absolute value among the frequency bins FB after being increased by the amplification factor.
[0109] According to the modification described above, the amount of energy in the frequency band B from which some of the frequency bins FB have been deleted can be preserved, thereby suppressing degradation in sound quality.
[0110] (6-3. When the energy amount for each subband is also preserved) As described above, when characteristic frequency information is included in the frequency information FN, it may be difficult to maintain the energy distribution shape simply by storing the amount of energy for each frequency band B. Therefore, in addition to storing the amount of energy for each frequency band B, the frequency band B may be divided into a plurality of sub-bands SB, and the amount of energy may be stored for each sub-band SB.
[0111] In this modified example, the generation unit 15 divides the frequency band B from which some of the frequency bins FB have been deleted into a plurality of subbands SB (an example of a band section), and increases the remaining frequency bins FB for each subband SB so that the sum of the energy values of all the frequency bins FB in the subband SB after the frequency bins FB have been deleted is equal to the sum of the energy values of all the frequency bins FB in the subband SB before the frequency bins FB have been deleted.
[0112] Specifically, the generation unit 15 sets sub-bands SB by equally dividing each of bands B8 to B20 into a plurality of sub-bands (for example, 10). In each sub-band SB, the generation unit 15 calculates the ratio of the sum of energy values before deleting the frequency bins FB to the sum of energy values after deleting the frequency bins FB, and calculates an amplification factor by taking the square root of this ratio. In each sub-band SB, the generation unit 15 increases the amplitude value of the remaining frequency bins FB by multiplying them by the amplification factor. Note that the number of equal divisions is not limited to 10, and may be any other value within a range in which the energy distribution shape of the frequency information FN can be maintained.
[0113] Note that as a result of increasing the amplitude values as described above, there is a possibility that the increased amplitude values of the second-ranked and lower frequency bins FB within the frequency band B may exceed the increased amplitude value of the first-ranked frequency bin FB, but the order will not change. Furthermore, if there is a subband SB in which no frequency bin FB is to be retained, the amount of energy for each frequency band B will not be preserved. In this case, the generation unit 15 calculates the amplification factor for each subband SB and then corrects the amplification factor so that the amount of energy for each frequency band B is also preserved. Specifically, the generation unit 15 calculates the ratio of the sum of energy values before deleting the frequency bin FB to the sum of energy values resulting from the amplitude values after multiplying the frequency bin FB to be retained by the amplification factor of the subband SB, and then calculates a correction coefficient by taking the square root of this ratio. The generation unit 15 performs the correction by multiplying the amplification factor by the correction coefficient.
[0114] In this modified example, the scale value is not the maximum absolute value among the original frequency bins FB, but the maximum absolute value among the frequency bins FB after being increased by the amplification factor.
[0115] According to the modification described above, when characteristic frequency information is included in the frequency information FN, it is possible to preserve the amount of energy in the frequency band B while maintaining the shape of the energy distribution. This makes it possible to further suppress deterioration in sound quality.
[0116] (6-4. Selecting a frequency bin using the previous comparison value) In the above embodiment, the frequency bin FB to be saved is selected in accordance with the masking effect in the frequency domain by using the energy value and the distance value, but the frequency bin FB to be saved may also be selected in accordance with the masking effect on the time axis by using the previous comparison value.
[0117] In this modified example, the generation unit 15 selects a frequency bin FB to save based on the energy value of the frequency bin FB in a certain section SN, the distance value, and the energy value of the frequency bin FB with the same number (an example of a position in the same frequency domain) in the section SN immediately preceding the certain section SN.
[0118] Specifically, similarly to the above embodiment, the generation unit 15 first determines the frequency bin FB having the largest energy value in the frequency band B as the first bin. Next, the generation unit 15 sorts the bins ranked second and below in descending order based on a judgment value calculated by the following formula, and selects the bins with the largest judgment value by the number defined by the storage number definition Q. Judgment value = Energy value x Distance value x Previous comparison value
[0119] The generation unit 15 calculates the previous comparison value based on the following formula: The previous comparison value is a value in the range of 0 to 1. Previous comparison value = energy value of frequency bin FB to be processed / (energy value of frequency bin FB with the same number as the processing target in the previous section SN + energy value of frequency bin FB to be processed)
[0120] If the processing target is a frequency bin FB in the first section SN, the previous comparison value is set to 1. If both the energy value of the frequency bin FB to be processed and the energy value of the frequency bin FB with the same number as the processing target in the immediately preceding section SN are 0, the previous comparison value is set to 0. If the judgment values of multiple frequency bins FB are the same value, the frequency bin FB with the lower frequency is ranked higher.
[0121] The method of this modified example is effective when the number of frequency bins F B to be saved is relatively small. Therefore, when the sound quality setting value is equal to or greater than a predetermined value (for example, 0), the frequency bins F B to be saved may be selected based on the energy value and the distance value, as in the above embodiment, and when the sound quality setting value is equal to or less than a predetermined value (for example, -1), the frequency bins F B to be saved may be selected based on the energy value, the distance value, and the previous comparison value, as described above.
[0122] According to the above-described modification, it is possible to easily retain frequency bins FB that are farther away in time than frequency bins FB that are closer in time to frequency bins FB that have a large impact on sound quality (frequency bins FB that have less impact on sound quality due to the masking effect on the time axis). This makes it possible to maintain sound quality by effectively utilizing the small number of frequency bins FB to be saved. Therefore, it is possible to improve the compression rate of the data volume while suppressing degradation in sound quality.
[0123] (6-5. Changing the number of frequency bins to save) In the above embodiment, the storage number definition Q is a fixed value, but in order to further improve sound quality, the storage number definition Q may be changed so that the storage number moves from a specified frequency band B to another frequency band B when certain conditions are met.
[0124] In this modification, when a predetermined condition is satisfied, the generation unit 15 maintains the total value of the number of stored frequencies in the entire section SN, decreases the number of stored frequencies in a predetermined frequency band B, and increases the number of stored frequencies in other frequency bands B. When the predetermined condition is that the sum of the energy values of the frequency bins FB that is increased by increasing the number of stored frequencies is greater than a predetermined multiple of the sum of the energy values of the frequency bins FB that is decreased by decreasing the number of stored frequencies, the generation unit 15 changes the number of stored frequencies.
[0125] Specifically, the generation unit 15 decreases the number of saved bands B in the high frequency region (e.g., bands B17 to B20) and increases the number of saved bands B in the mid frequency region (e.g., bands B8 to B11). The generation unit 15 changes the number of saved bands when the sum of the energy values of the increasing frequency bins FB in bands B8 to B11 is greater than a predetermined multiple of the sum of the energy values of the decreasing frequency bins FB in bands B17 to B20. The predetermined multiple is set based on the ratio of the total number of frequency bins FB in each band B to be moved. For example, in this modification, the predetermined multiple is set to 7.5 based on the ratio between the total number of frequency bins FB in bands B8 to B11 (40) and the total number of frequency bins FB in bands B17 to B20 (200). Note that the predetermined multiple may be a value other than the above.
[0126] Fig. 13 shows an example of the shift in the number of stored frequency bins FB for each sound quality setting value. The shift numbers shown in Fig. 13 represent, for each sound quality setting value, how many bins to reduce for each of bands B17 to B20 and how many bins to increase for each of bands B8 to B11. For example, when the sound quality setting value is 0, the original numbers to reduce for each of bands B8 to B11 are 7, and the original numbers to reduce for each of bands B17 to B20 are also 7. However, since the shift number is 2, the post-shift numbers to reduce for each of bands B8 to B11 are 9, and the post-shift numbers to reduce for each of bands B17 to B20 are 5.
[0127] In addition, a flag may be recorded in the section SN in which the number of frequency bins FB to be saved is changed to distinguish it from the section SN in which the number of saved bins is not changed. For example, unused bits may be utilized, such as by recording a 32-bit scale value as a negative value in the section SN in which the number of saved bins is changed. Also, as described above, the frequency bin FB numbers in each of bands B17 to B20 are recorded using 6 to 7 bits, and the frequency bin FB numbers in each of bands B8 to B11 are recorded using 4 bits. For this reason, when the number of saved bins is changed, a difference byte may occur. In that case, zero padding may be performed to make the capacity uniform. This makes it easier to identify the desired data position in the audio data and improves responsiveness.
[0128] As another example of the predetermined condition, the number of saved data may be changed when the sum of the energy values of the frequency bins FB of bands B8 to B11 is greater than the sum of the energy values of the frequency bins FB of bands B17 to B20.
[0129] According to the modification described above, when a predetermined condition is satisfied, the number of stored frequency bins FB can be moved from a predetermined frequency band B to another frequency band B. This allows the number of stored frequency bins FB to be varied depending on the type (characteristics) of the original audio signal, etc., thereby further suppressing deterioration in sound quality. Furthermore, when the sound of the frequency band B to which the number of stored frequency bins FB is to be moved is dominant compared to the sound of the frequency band B from which the number is to be moved, the number of stored frequency bins FB can be moved. For example, when low frequencies are dominant, such as in the case of a human voice, the sound quality can be more easily maintained by moving the number of stored frequency bins from a high frequency band B to a low frequency band B.
[0130] Furthermore, in addition to what has already been described above, the methods according to the above-described embodiments and modifications may be used in appropriate combinations. Although not specifically illustrated, the above-described embodiments and modifications may be implemented with various modifications within the scope of their spirit.
[0131] The problems and effects that the above-described embodiments and modifications are intended to solve are not limited to those described above. The embodiments and modifications may solve problems or achieve effects that are not described above, or may solve only some of the problems or achieve only some of the effects that are described.
[0132] 7. Hardware configuration of audio compression device Next, an example of the hardware configuration of the audio compression device 3 will be described with reference to FIG.
[0133] 14, the audio compression device 3 includes, for example, a CPU 301, a ROM 303, a RAM 305, a dedicated integrated circuit 307 constructed for a specific application, such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field Programmable Gate Array), an input device 313, an output device 315, a recording device 317, a drive 319, a connection port 321, and a communication device 323. These components are connected via a bus 309, an input / output interface 311, etc. so that signals can be transmitted between them.
[0134] The audio compression program can be recorded in, for example, the ROM 303, the RAM 305, or the recording device 317 such as a hard disk.
[0135] The audio compression program may also be temporarily or permanently (non-temporarily) recorded on a removable recording medium 325, such as a magnetic disk such as a flexible disk, various optical disks such as CDs, MO disks, and DVDs, or a semiconductor memory. Such recording medium 325 may also be provided as a so-called package software. In this case, the audio compression program recorded on the recording medium 325 may be read by the drive 319 and recorded on the recording device 317 via the input / output interface 311, the bus 309, etc.
[0136] The audio compression program may also be recorded, for example, on a download site, another computer, or another recording device (not shown). In this case, the audio compression program is transferred via a network NW such as a LAN or the Internet, and the communication device 323 receives the program. The program received by the communication device 323 may then be recorded in the recording device 317 via the input / output interface 311, the bus 309, or the like.
[0137] The audio compression program may also be recorded in, for example, an appropriate externally connected device 327. In this case, the audio compression program may be transferred via an appropriate connection port 321 and recorded in the recording device 317 via the input / output interface 311, the bus 309, etc.
[0138] Then, the CPU 301 executes various processes in accordance with the programs recorded in the recording device 317, thereby realizing the processes of the conversion unit 13, generation unit 15, etc. In this case, the CPU 301 may, for example, directly read and execute the programs from the recording device 317, or may execute the programs after first loading them into the RAM 305. Furthermore, when the CPU 301 receives the programs via the communication device 323, the drive 319, or the connection port 321, for example, the CPU 301 may directly execute the received programs without recording them in the recording device 317.
[0139] Furthermore, the CPU 301 may perform various processes as necessary based on signals and information input from an input device 313 such as a microphone, mouse, keyboard, etc. (not shown).
[0140] Then, CPU 301 outputs the results of the above processing from output device 315. Furthermore, CPU 301 may transmit the processing results via communication device 323 or connection port 321, as necessary, or may record the results in recording device 317 or recording medium 325. [Explanation of symbols]
[0141] 1. Game System 3. Audio compression device (an example of an information processing device) 5. Server equipment 7 Terminal Equipment 13 Conversion unit 15 Generation part B Frequency band (example of frequency band) FB Frequency bin (example of amplitude value) FN Frequency Information SB Sub-band (an example of a band section) SN section W Audio waveform (an example of an audio signal)
Claims
1. An information processing device that generates audio data used in a game, a conversion unit that divides the audio signal into a plurality of sections and converts each section into frequency information representing discrete amplitude values for each frequency; a generation unit that records a maximum first amplitude value within the section using a first bit number based on the frequency information, and records each amplitude value within the section using a second bit number that is lower than the first bit number as a ratio to the first amplitude value, and generates the audio data; An audio compression program to function as a
2. The generation unit Each amplitude value within the interval is recorded using the second number of bits based on a logarithmic scale with a predetermined value as the base.
2. The audio compression program according to claim 1.
3. The generation unit the frequency information is divided into a plurality of frequency bands, and for each frequency band, a maximum second amplitude value within the frequency band is recorded using the second number of bits as a ratio to the first amplitude value, and each amplitude value within the frequency band other than the second amplitude value is recorded using a third number of bits which is lower than the second number of bits as a ratio to the second amplitude value; 2. The audio compression program according to claim 1.
4. The generation unit dividing the frequency information into a plurality of frequency bands, and deleting a part of the plurality of amplitude values included in at least a part of the frequency bands; 4. The audio compression program according to claim 1.
5. The generation unit increasing the remaining amplitude values for each of the frequency bands from which some of the amplitude values have been deleted so that a sum of values based on absolute values of all of the amplitude values in the frequency band after the deletion of the amplitude values is equal to a sum of values based on absolute values of all of the amplitude values in the frequency band before the deletion of the amplitude values; 5. The audio compression program according to claim 4.
6. The generation unit the frequency band from which some of the amplitude values have been deleted is divided into a plurality of band sections, and the remaining amplitude values are increased for each band section so that a sum of values based on absolute values of all of the amplitude values in the band section after the amplitude values have been deleted is equal to a sum of values based on absolute values of all of the amplitude values in the band section before the amplitude values have been deleted.
6. The audio compression program according to claim 5.
7. The generation unit In the frequency band from which some of the amplitude values have been deleted, identification information of the remaining amplitude values is recorded, and in the frequency band from which the amplitude values have not been deleted, identification information of the amplitude values is not recorded.
5. The audio compression program according to claim 4.
8. The generation unit a serial number counted from an amplitude value located at an end of the frequency band is recorded as identification information of the amplitude value; 8. The audio compression program according to claim 7.
9. The generation unit The serial number is recorded using the minimum number of bits capable of expressing the serial number.
9. The audio compression program according to claim 8.
10. The generation unit The first amplitude value, the identification information of all the amplitude values to be stored within the section, and all the amplitude values to be stored within the section are recorded in this order.
8. The audio compression program according to claim 7.
11. The conversion unit Dividing the audio signal into the plurality of intervals all of a common size; 2. The audio compression program according to claim 1.
12. 1. An audio compression method executed by an information processing device that generates audio data used in a game, comprising: Dividing the audio signal into a plurality of sections and converting each section into frequency information representing discrete amplitude values for each frequency; a step of recording a maximum first amplitude value within the section using a first bit number based on the frequency information, and recording each amplitude value within the section using a second bit number lower than the first bit number as a ratio to the first amplitude value, thereby generating the audio data; 1. An audio compression method comprising:
13. An information processing device that generates audio data used in a game, a conversion unit that divides the audio signal into a plurality of sections and converts each section into frequency information that represents a discrete amplitude value for each frequency; a generating unit that generates the audio data by recording a maximum first amplitude value within the section using a first bit number based on the frequency information and recording each amplitude value within the section using a second bit number that is lower than the first bit number as a ratio to the first amplitude value; An information processing device having the above.
Citation Information
Patent Citations
Multi-track recording and reproducing system and device
JP2000156039A